diff options
Diffstat (limited to 'home-manager/wms/river/default.nix')
-rw-r--r-- | home-manager/wms/river/default.nix | 39 |
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 |