55 lines
1.3 KiB
Nix
55 lines
1.3 KiB
Nix
{
|
|
pkgs,
|
|
lib,
|
|
inputs,
|
|
mainUser,
|
|
getPkgs,
|
|
getFlakePkg',
|
|
...
|
|
}:
|
|
let
|
|
inherit (lib) getExe getExe';
|
|
in
|
|
{
|
|
# quickshell stuff
|
|
user.packages = getPkgs {
|
|
inherit (pkgs.kdePackages) qtbase qtdeclarative;
|
|
inherit (pkgs) wl-clipboard quickshell;
|
|
};
|
|
|
|
systemd.user.services.quickshell = {
|
|
environment.PATH = lib.mkForce "/run/current-system/sw/bin:/run/current-system/sw/sbin:/etc/profiles/per-user/bolt/bin:/etc/profiles/per-user/bolt/sbin";
|
|
unitConfig = {
|
|
Description = "Quickshell";
|
|
Requires = [
|
|
"graphical-session.target"
|
|
];
|
|
After = [
|
|
"graphical-session.target"
|
|
"niri.target"
|
|
];
|
|
};
|
|
wantedBy = [ "graphical-session.target" ];
|
|
serviceConfig.ExecStart = "${getExe pkgs.quickshell}";
|
|
};
|
|
|
|
quick.services = {
|
|
swaync = "${getExe pkgs.swaynotificationcenter}";
|
|
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;
|
|
};
|
|
}
|