- Add `noctalia` input to flake and lock it in `flake.lock`. - Include `noctalia` and `quickshell` modules in `flake.nix`. - Extend core packages to accept `inputs` and `system`; add `quickshell.nix` with required Qt6 packages and environment variables. - Enable `upower` service for battery handling. - Add home modules `noctalia.nix` and `overview.nix` (QML UI, README, assets, widgets, services) to provide a workspace overview. - Comment out unused rofi and web‑search binds; update `exec‑once` to start the overview daemon and `noctalia-shell`. - Provide `restart.noctalia` script and its Nix wrapper. - Enable `noctalia-shell` in `stylix` configuration.
29 lines
663 B
Nix
29 lines
663 B
Nix
{
|
|
pkgs,
|
|
inputs,
|
|
system,
|
|
lib,
|
|
...
|
|
}: let
|
|
noctalia = inputs.noctalia.packages.${system}.default;
|
|
configDir = "${noctalia}/share/noctalia-shell";
|
|
in {
|
|
home = {
|
|
packages = with pkgs; [
|
|
noctalia
|
|
quickshell # Ensure quickshell is available for the service
|
|
];
|
|
activation.seedNoctaliaShellCode = lib.hm.dag.entryAfter ["writeBoundary"] ''
|
|
set -eu
|
|
DEST="$HOME/.config/quickshell/noctalia-shell"
|
|
SRC="${configDir}"
|
|
|
|
if [ ! -d "$DEST" ]; then
|
|
$DRY_RUN_CMD mkdir -p "$HOME/.config/quickshell"
|
|
$DRY_RUN_CMD cp -R "$SRC" "$DEST"
|
|
$DRY_RUN_CMD chmod -R u+rwX "$DEST"
|
|
fi
|
|
'';
|
|
};
|
|
}
|