aboutsummaryrefslogtreecommitdiffstats
path: root/modules
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2026-06-23 00:06:09 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2026-06-23 00:06:09 +0200
commitfb1fdc95e35233278580724b26395ae7307caa65 (patch)
tree78a06464e4f8f1e60b7ea945f92df8537f6fda81 /modules
parentmodules/common: Enable steam again (diff)
downloadnixos-config-fb1fdc95e35233278580724b26395ae7307caa65.zip
modules/{river,foot,i3bar-river}: Use systemd services for background stuff
Diffstat (limited to 'modules')
-rw-r--r--modules/by-name/fo/foot/module.nix25
-rw-r--r--modules/by-name/i3/i3bar-river/module.nix15
-rw-r--r--modules/by-name/ri/river/module.nix12
3 files changed, 23 insertions, 29 deletions
diff --git a/modules/by-name/fo/foot/module.nix b/modules/by-name/fo/foot/module.nix
index d818aac0..2c56fa07 100644
--- a/modules/by-name/fo/foot/module.nix
+++ b/modules/by-name/fo/foot/module.nix
@@ -55,28 +55,9 @@ in {
};
};
- systemd.user.services = let
- footCfg = config.home-manager.users.soispha.programs.foot;
- inherit (footCfg.server) systemdTarget;
- in {
- foot-initial-term = {
- Unit = {
- Description = "Fast, lightweight and minimalistic Wayland terminal emulator.";
- Documentation = "man:foot(1)";
- PartOf = [systemdTarget];
- After = [systemdTarget];
- ConditionEnvironment = "WAYLAND_DISPLAY";
- };
-
- Service = {
- ExecStart = "${lib.getExe' footCfg.package "footclient"}";
- };
-
- Install = {
- WantedBy = [systemdTarget];
- };
- };
- };
+ soispha.river.autostart = [
+ "${lib.getExe' config.home-manager.users.soispha.programs.foot.package "footclient"}"
+ ];
};
};
}
diff --git a/modules/by-name/i3/i3bar-river/module.nix b/modules/by-name/i3/i3bar-river/module.nix
index 8a2203aa..2b9150d3 100644
--- a/modules/by-name/i3/i3bar-river/module.nix
+++ b/modules/by-name/i3/i3bar-river/module.nix
@@ -110,9 +110,20 @@ in {
};
config = lib.mkIf cfg.enable {
- soispha.programs.river.init.backgroundStart = [cfg.package];
-
home-manager.users.soispha = {
+ systemd.user.services."i3bar-river" = {
+ description = "Highly customizable Wayland bar for river";
+ partOf = "graphical-session.target";
+ after = "graphical-session.target";
+ requisite = "graphical-session.target";
+ serviceConfig = {
+ ExecStart = "${lib.getExe cfg.package}";
+ ExecReload = "kill -SIGUSR2 $MAINPID";
+ Restart = "on-failure";
+ };
+ wantedBy = "graphical-session.target";
+ };
+
programs.i3bar-river = {
enable = true;
inherit (cfg) package;
diff --git a/modules/by-name/ri/river/module.nix b/modules/by-name/ri/river/module.nix
index bafaf0a3..bc747c9d 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,12 @@ 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.package;
+ description = "List of programs to be started at river start";
example = ''
[
- pkgs.gammastep
+ ''${lib.getExe pkgs.foot}
]
'';
};