nix/graphical/desktop/shell.nix
2026-03-09 13:58:20 +11:00

82 lines
1.9 KiB
Nix

{
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;
};
}