about summary refs log tree commit diff stats
path: root/home-manager/wms/river/default.nix
diff options
context:
space:
mode:
authorSoispha <soispha@vhack.eu>2023-04-23 14:05:55 +0200
committerSoispha <soispha@vhack.eu>2023-05-09 19:31:45 +0200
commite297665b04a08f8ffb1c0cf499534c8bedd762fc (patch)
tree2e99de607a26871f4b8d7b31a77b6c8d9cff5896 /home-manager/wms/river/default.nix
parentFeat(system/options): Add laptop options (diff)
downloadnixos-config-e297665b04a08f8ffb1c0cf499534c8bedd762fc.tar.gz
nixos-config-e297665b04a08f8ffb1c0cf499534c8bedd762fc.zip
Feat(hm/wms/river): Bump runtime error to compile time
Diffstat (limited to 'home-manager/wms/river/default.nix')
-rw-r--r--home-manager/wms/river/default.nix39
1 files changed, 37 insertions, 2 deletions
diff --git a/home-manager/wms/river/default.nix b/home-manager/wms/river/default.nix
index 79830487..1a43ef36 100644
--- a/home-manager/wms/river/default.nix
+++ b/home-manager/wms/river/default.nix
@@ -2,12 +2,47 @@
   pkgs,
   sysLib,
   river_init_lesser,
+  nixosConfig,
   ...
-}: {
+}: let
+  inherit (nixosConfig.networking) hostName;
+  mappings =
+    if hostName == "tiamat"
+    then ''
+      err_fail riverctl keyboard-layout 'us'
+      err_fail river_init_lesser ~/.config/river/res/moonlander.ron
+    ''
+    else if hostName == "lahmu" || hostName == "apzu" || hostName == "mammun"
+    then ''
+      err_fail riverctl keyboard-layout 'dvorak'
+      err_fail river_init_lesser ~/.config/river/res/keys.ron
+    ''
+    else builtins.throw "Host not covered in river mappings";
+  screen_setup =
+    if hostName == "lahmu"
+    then ''
+      err_fail wlr-randr --output Virtual-1 --mode 1920x1080
+    ''
+    else if hostName == "tiamat"
+    then ''
+      err_fail wlr-randr --output DP-2 --pos 2560,0
+      err_fail wlr-randr --output DP-1 --scale 1.5 --pos 0,0
+      err_fail gammastep &
+    ''
+    else if hostName == "apzu" || hostName == "mammun"
+    then ''
+      err_fail gammastep &
+    ''
+    else builtins.throw "Host not covered in river screen setup";
+  init_scr = pkgs.substituteAll {
+    src = ./init;
+    inherit mappings screen_setup;
+  };
+in {
   xdg.configFile."river/init".source =
     sysLib.makeShellScriptWithLibraryAndKeepPath {
       name = "river_init";
-      script = ./init;
+      script = init_scr;
       dependencies = builtins.attrValues {
         river_init_lesser = river_init_lesser.legacyPackages.x86_64-linux.default;
         inherit