diff options
Diffstat (limited to 'os/wm')
| -rw-r--r-- | os/wm/niri.nix | 21 | ||||
| -rw-r--r-- | os/wm/wm.nix | 20 |
2 files changed, 41 insertions, 0 deletions
diff --git a/os/wm/niri.nix b/os/wm/niri.nix new file mode 100644 index 0000000..c92b068 --- /dev/null +++ b/os/wm/niri.nix @@ -0,0 +1,21 @@ +{ inputs, config, lib, pkgs, username, ... }: +let + cfg = config.sys.wm.niri; +in +{ + imports = [ inputs.niri.nixosModules.niri ]; + + options.sys.wm.niri.enable = lib.mkEnableOption "Niri"; + + config = lib.mkIf cfg.enable { + nixpkgs.overlays = [ inputs.niri.overlays.niri ]; + + programs.niri = { + enable = true; + package = pkgs.niri-unstable; + }; + + sys.srv.compat.enable = true; + home-manager.users.${username}.hm.env.niri.enable = true; + }; +} diff --git a/os/wm/wm.nix b/os/wm/wm.nix new file mode 100644 index 0000000..5374264 --- /dev/null +++ b/os/wm/wm.nix @@ -0,0 +1,20 @@ +{ config, lib, pkgs, ... }: +let + cfg = config.sys.wm; +in +{ + imports = [ + ./niri.nix + ]; + + options.sys.wm.enable = lib.mkEnableOption "enables shared wm features"; + config = lib.mkIf cfg.enable { + services.dbus.enable = true; + + xdg.portal = { + enable = true; + xdgOpenUsePortal = true; + extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; + }; + }; +} |
