aboutsummaryrefslogtreecommitdiffstats
path: root/modules/by-name/ri/river
diff options
context:
space:
mode:
Diffstat (limited to 'modules/by-name/ri/river')
-rw-r--r--modules/by-name/ri/river/keymap.nix2
-rw-r--r--modules/by-name/ri/river/module.nix39
2 files changed, 37 insertions, 4 deletions
diff --git a/modules/by-name/ri/river/keymap.nix b/modules/by-name/ri/river/keymap.nix
index 1d4b8c3e..897d11df 100644
--- a/modules/by-name/ri/river/keymap.nix
+++ b/modules/by-name/ri/river/keymap.nix
@@ -69,7 +69,7 @@ in {
"x" = {
"q" = ["exit"];
"l" = mkSpawn pkgs.lock "" {once = true;};
- "h" = mkSpawn' pkgs.procps "pkill" "--signal USR1 i3bar-river" {once = true;};
+ "h" = mkSpawn pkgs.systemd-toggle "--user i3bar-river.service" {once = true;};
};
# Media control
diff --git a/modules/by-name/ri/river/module.nix b/modules/by-name/ri/river/module.nix
index cbb7e3cc..7eb30014 100644
--- a/modules/by-name/ri/river/module.nix
+++ b/modules/by-name/ri/river/module.nix
@@ -239,15 +239,48 @@ in {
# ${text}
${other_stuff}
'';
+
+ sessionVars =
+ (builtins.attrNames config.environment.sessionVariables)
+ ++ (builtins.attrNames config.home-manager.users.soispha.home.sessionVariables)
+ ++ [
+ "WAYLAND_DISPLAY"
+ "DISPLAY"
+ "XDG_RUNTIME_DIR"
+ ];
+
+ part = acc: vars: let
+ firstTen = lib.lists.take 5 vars;
+ in
+ if firstTen == []
+ then acc
+ else part (acc ++ [firstTen]) (lib.lists.removePrefix firstTen vars);
+
+ partedSessionVars = part [] sessionVars;
+
+ mkEnvSet = prefix: vars: let
+ stringVars = builtins.concatStringsSep " " vars;
+ in ''err_fail ${riverctl} spawn "${prefix} ${stringVars}"'';
+
+ dbusEnvs =
+ builtins.map
+ (mkEnvSet "${lib.getExe' pkgs.dbus "dbus-update-activation-environment"} --verbose --systemd")
+ partedSessionVars;
+ systemdUserEnvs =
+ builtins.map
+ (mkEnvSet "systemctl --user --verbose import-environment")
+ partedSessionVars;
in
builtins.readFile ./init_base.sh
+
# bash
mkHeading "Environment variables" ''
- err_fail ${riverctl} spawn "${lib.getExe' pkgs.dbus "dbus-update-activation-environment"} --verbose --systemd SEATD_SOCK DISPLAY WAYLAND_DISPLAY DESKTOP_SESSION=river XDG_CURRENT_DESKTOP=river"
export XDG_CURRENT_DESKTOP=river DESKTOP_SESSION=river;
-
- systemctl --user start nixos-fake-graphical-session.target
+ ''
+ + mkHeading "Informing dbus about changed env-vars" (builtins.concatStringsSep "\n" dbusEnvs)
+ + mkHeading "Informing systemd user about changed env-vars" (builtins.concatStringsSep "\n" systemdUserEnvs)
+ + mkHeading "Starting graphical-session-target" ''
+ err_fail systemctl --user start nixos-fake-graphical-session.target
''
+ mkHeading "Key Mappings" keymappings
+ mkHeading "Rules" ruleSetup