diff --git a/modules/wms/wayland/niri/config.kdl b/modules/wms/wayland/niri/config.kdl new file mode 100644 index 0000000..3bbf88a --- /dev/null +++ b/modules/wms/wayland/niri/config.kdl @@ -0,0 +1,18 @@ +// Laptop +output "eDP-1" { + mode "1920x1080@59.999" + scale 1 + position x=0 y=0 +} + +// PC +output "DP-2" { + mode "1920x1080@59.999" + scale 1 + position x=0 y=0 +} +output "HDMI-A-1" { + mode "1920x1080@59.999" + scale 1 + position x=1920 y=0 +} diff --git a/modules/wms/wayland/niri/module.nix b/modules/wms/wayland/niri/module.nix new file mode 100644 index 0000000..5754e76 --- /dev/null +++ b/modules/wms/wayland/niri/module.nix @@ -0,0 +1,30 @@ +{ + config, + lib, + pkgs, + ... +}: let + inherit (lib.modules) mkForce mkIf; + inherit (lib.options) mkEnableOption; + + cfg = config.modules.desktops.niri; + + niri-config = { + }; + + toKDL = import ./toKDL.nix lib; +in { + options.modules.desktops.niri.enable = mkEnableOption "Niri, a scolling tiling wayland compositor"; + config = mkIf cfg.enable { + programs.niri = { + enable = true; + package = pkgs.niri; + }; + # The niri module auto enables the gnome keyring, + # which is something I direly want to avoid. + services.gnome.gnome-keyring.enable = mkForce false; + + # set niri's config location to /etc/niri/config.kdl. + environment.etc."niri/config.kdl".source = ./config.kdl; + }; +}