Add Noctalia shell with Quickshell overview
- 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.
This commit is contained in:
28
modules/home/noctalia.nix
Normal file
28
modules/home/noctalia.nix
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
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
|
||||
'';
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user