about summary refs log tree commit diff stats
path: root/modules/by-name/ri/river
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xmodules/by-name/ri/river/init_base.sh10
-rw-r--r--modules/by-name/ri/river/module.nix53
2 files changed, 36 insertions, 27 deletions
diff --git a/modules/by-name/ri/river/init_base.sh b/modules/by-name/ri/river/init_base.sh
index 5ed1d00a..938b46b1 100755
--- a/modules/by-name/ri/river/init_base.sh
+++ b/modules/by-name/ri/river/init_base.sh
@@ -1,5 +1,8 @@
 #!/usr/bin/env sh
 
+# NOTE: Keep this in sync with the file from `river-start` <2025-02-03>
+RIVER_LOG_FILE="$HOME/.local/share/river/log"
+
 err_fail() {
     if ! "$@"; then
         output=""
@@ -10,11 +13,10 @@ err_fail() {
                 output="$output '$arg'"
             fi
         done
-        printf "%s failed!\n" "$output" >>~/river_log
+        printf "%s failed!\n" "$output" >>"$RIVER_LOG_FILE"
     fi
 }
-err_fail rm ~/river_log
-exec 1>>"$HOME"/river_log
-exec 2>>"$HOME"/river_log
+exec 1>>"$RIVER_LOG_FILE"
+exec 2>>"$RIVER_LOG_FILE"
 
 # Start of the generated stuff.
diff --git a/modules/by-name/ri/river/module.nix b/modules/by-name/ri/river/module.nix
index 1f1f2cae..c8fb973c 100644
--- a/modules/by-name/ri/river/module.nix
+++ b/modules/by-name/ri/river/module.nix
@@ -183,29 +183,36 @@ in {
         # }}}
       };
 
-      xdg.configFile."river/init".text = let
-        mkHeading = text: other_stuff: ''
-          # ${text}
-          ${other_stuff}
-        '';
-      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 "Key Mappings" keymappings
-        + mkHeading "Rules" ruleSetup
-        + mkHeading "General Settings" generalSettings
-        + mkHeading "Input Section" inputs
-        + mkHeading "Screen setup code" screenSetupCode
-        + mkHeading "Background services" longRunningPrograms
-        + mkHeading "Layout Setup" ''
-          err_fail ${riverctl} default-layout rivertile
-          ${lib.getExe' pkgs.river "rivertile"} -main-ratio 0.5 -view-padding 1 -outer-padding 0
-        '';
+      home.packages = [
+        pkgs.river-start
+      ];
+
+      xdg.configFile."river/init" = {
+        executable = true;
+        text = let
+          mkHeading = text: other_stuff: ''
+            # ${text}
+            ${other_stuff}
+          '';
+        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 "Key Mappings" keymappings
+          + mkHeading "Rules" ruleSetup
+          + mkHeading "General Settings" generalSettings
+          + mkHeading "Input Section" inputs
+          + mkHeading "Screen setup code" screenSetupCode
+          + mkHeading "Background services" longRunningPrograms
+          + mkHeading "Layout Setup" ''
+            err_fail ${riverctl} default-layout rivertile
+            ${lib.getExe' pkgs.river "rivertile"} -main-ratio 0.5 -view-padding 1 -outer-padding 0
+          '';
+      };
     };
   };
 }