nix/graphical/desktop/shell.nix

43 lines
982 B
Nix

{
pkgs,
lib,
inputs,
mainUser,
getPkgs,
getFlakePkg',
...
}:
let
inherit (lib) getExe getExe';
stable = inputs.nixpkgs-stable;
inherit (stable.legacyPackages.x86_64-linux) quickshell;
in
{
user.packages = getPkgs {
# quickshell stuff
inherit (pkgs.kdePackages) qtbase qtdeclarative;
inherit (pkgs) wl-clipboard;
inherit quickshell;
};
quick.services = {
swaync = "${getExe pkgs.swaynotificationcenter}";
quickshell = "${getExe quickshell}";
swayidle =
let
niri = getFlakePkg' inputs.niri "niri-unstable";
systemctl = getExe' pkgs.systemd "systemctl";
in
''
${lib.getExe pkgs.swayidle} -w \
timeout 1800 '${systemctl} suspend' \
timeout 600 '${niri} msg action power-off-monitors'
'';
};
environment.files."/home/${mainUser}/.config/quickshell" = {
source = "/home/${mainUser}/.nix/graphical/desktop/quickshell";
uid = 1000;
gid = 100;
};
}