aboutsummaryrefslogtreecommitdiffstats
path: root/modules/by-name/ri
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--modules/by-name/ri/river/keymap.nix2
-rw-r--r--modules/by-name/ri/river/module.nix51
2 files changed, 46 insertions, 7 deletions
diff --git a/modules/by-name/ri/river/keymap.nix b/modules/by-name/ri/river/keymap.nix
index eacfd75b..1d4b8c3e 100644
--- a/modules/by-name/ri/river/keymap.nix
+++ b/modules/by-name/ri/river/keymap.nix
@@ -44,7 +44,7 @@ in {
"<LEFT_SUPER>" = {
# Spawn standard programs
"r" = {
- "a" = mkSpawn pkgs.alacritty "" {};
+ "a" = mkSpawn' pkgs.foot "footclient" "" {};
"b" = mkSpawn pkgs.tskm "open select" {once = true;};
"k" = mkSpawn pkgs.keepassxc "" {once = true;};
# "s" = mkSpawn pkgs.signal-desktop "" {once = true;};
diff --git a/modules/by-name/ri/river/module.nix b/modules/by-name/ri/river/module.nix
index bafaf0a3..7eb30014 100644
--- a/modules/by-name/ri/river/module.nix
+++ b/modules/by-name/ri/river/module.nix
@@ -35,7 +35,9 @@
else builtins.map esa input
);
in "err_fail ${program} &";
- longRunningPrograms = builtins.concatStringsSep "\n" (builtins.map mkLrProgram cfg.init.backgroundStart);
+ longRunningPrograms =
+ builtins.concatStringsSep "\n" (builtins.map mkLrProgram
+ cfg.init.autoStart);
keymapFormat = pkgs.formats.json {};
keymapGenerate = name: value:
@@ -163,12 +165,14 @@ in {
'';
};
- backgroundStart = lib.mkOption {
- type = lib.types.listOf (lib.types.either lib.types.package (lib.types.listOf lib.types.str));
- description = "List of programs to start in the background";
+ autoStart = lib.mkOption {
+ type =
+ lib.types.listOf (lib.types.either lib.types.package (lib.types.listOf
+ lib.types.str));
+ description = "List of programs to be started at river start";
example = ''
[
- pkgs.gammastep
+ ''${lib.getExe pkgs.foot}
]
'';
};
@@ -235,14 +239,49 @@ 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;
''
+ + 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
+ mkHeading "General Settings" generalSettings