{ pkgs, lib, inputs, mainUser, getPkgs, config, ... }: let inherit (lib) getExe; in { user.packages = getPkgs { # quickshell stuff inherit (pkgs.kdePackages) qtbase qtdeclarative; inherit (pkgs) wl-clipboard quickshell; }; imports = [ inputs.stasis.nixosModules.default inputs.stash.nixosModules.default ]; services.stasis = { enable = false; extraPathPackages = [ (config.programs.niri.package) ]; extraConfig = '' default: dpms_off: timeout 300 command "niri msg action power-off-monitors" end suspend: timeout 600 command "systemctl suspend" end end ''; }; services.stash-clipboard = { enable = true; excludedApps = [ "Bitwarden" ]; }; quick.services = { noti.cmd = "${getExe pkgs.swaynotificationcenter}"; shell = { cmd = "${getExe pkgs.quickshell}"; restart = true; }; # pwManager.cmd = "${getExe config.apps.passwordManager}"; # music = "${getExe config.apps.streamPlayer}"; }; # user.systemd.services.music = { # environment.PATH = lib.mkForce "/run/current-system/sw/bin:/run/current-system/sw/sbin:/etc/profiles/per-user/${mainUser}/bin:/etc/profiles/per-user/${mainUser}/sbin"; # unitConfig = { # Description = "airdrome"; # Requires = [ # "graphical-session.target" # ]; # After = [ # "graphical-session.target" # "niri.target" # ]; # PartOf = [ "graphical-session.target" ]; # }; # serviceConfig = { # ExecStart = "${getExe config.apps.streamPlayer}"; # Type = "forking"; # }; # wantedBy = [ "graphical-session.target" ]; # }; environment.files."/home/${mainUser}/.config/quickshell" = { source = "/home/${mainUser}/.nix/graphical/desktop/quickshell"; uid = 1000; gid = 100; }; }