nushell, helium + pwas, niri session management
This commit is contained in:
parent
cb72b47661
commit
3b3bfb6b39
21 changed files with 816 additions and 464 deletions
|
|
@ -57,10 +57,10 @@ spawn-at-startup "systemctl" "--user" "start" "startup-sound.service"
|
|||
window-rule {
|
||||
match app-id="Bitwarden"
|
||||
open-floating true
|
||||
default-column-width { proportion 0.16667; }
|
||||
default-column-width { proportion 0.2; }
|
||||
}
|
||||
window-rule {
|
||||
match app-id="feishin"
|
||||
match app-id="chrome-listen.lobotomise.me__-Default"
|
||||
open-floating true
|
||||
default-column-width { proportion 0.16667; }
|
||||
default-column-width { proportion 0.2; }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,14 +17,58 @@ in
|
|||
inherit (pkgs) wl-clipboard quickshell;
|
||||
};
|
||||
|
||||
imports = [ inputs.stasis.nixosModules.default ];
|
||||
services.stasis.enable = true;
|
||||
imports = [
|
||||
inputs.stasis.nixosModules.default
|
||||
inputs.stash.nixosModules.default
|
||||
];
|
||||
services.stasis = {
|
||||
enable = true;
|
||||
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 = "${getExe pkgs.swaynotificationcenter}";
|
||||
shell = "${getExe pkgs.quickshell}";
|
||||
pwManager = "${getExe config.apps.passwordManager}";
|
||||
music = "${getExe config.apps.streamPlayer}";
|
||||
# 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" = {
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
inputs,
|
||||
getFlakePkg',
|
||||
lib,
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
|
|
@ -61,7 +62,15 @@ in
|
|||
settings =
|
||||
let
|
||||
session = {
|
||||
command = "niri-session";
|
||||
command =
|
||||
let
|
||||
niri-session-direct = pkgs.writeShellScript "niri-session-direct" ''
|
||||
systemctl --user import-environment
|
||||
dbus-update-activation-environment --all
|
||||
exec ${lib.getExe niri} --session
|
||||
'';
|
||||
in
|
||||
"${niri-session-direct}";
|
||||
user = "${mainUser}";
|
||||
};
|
||||
in
|
||||
|
|
@ -78,13 +87,18 @@ in
|
|||
|
||||
services.niri-tag = {
|
||||
enable = true;
|
||||
prepopulate = 10;
|
||||
strict = true;
|
||||
scratchpads = {
|
||||
# TODO FIXME these could use the getExe ?
|
||||
"feishin" = 99;
|
||||
"chrome-listen.lobotomise.me__-Default" = 99;
|
||||
"Bitwarden" = 101;
|
||||
};
|
||||
};
|
||||
|
||||
services.niri-s76-bridge.enable = true;
|
||||
|
||||
# niri runs directly from greetd (session-1.scope), not as a user service
|
||||
systemd.user.services.niri.wantedBy = lib.mkForce [ ];
|
||||
systemd.user.services.niri.enable = lib.mkForce false;
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue