Commit 1cae0ac

HPCesia <me@hpcesia.com>
2025-12-07 08:05:35
feat: use nixpkgs' niri nixos module instead
1 parent c9d8792
Changed files (3)
modules
desktop
desktop-environment
modules/desktop/desktop-environment/discrete/wm/niri/default.nix
@@ -4,14 +4,10 @@
   ...
 }: {
   flake.modules.nixos.wm-niri = {pkgs, ...}: {
-    imports = [inputs.niri-flake.nixosModules.niri];
-
     nixpkgs.overlays = [
       inputs.niri-flake.overlays.niri
     ];
 
-    niri-flake.cache.enable = false;
-
     programs.niri = {
       enable = true;
       package = pkgs.niri-unstable;
@@ -19,10 +15,14 @@
   };
 
   flake.modules.homeManager.wm-niri = {
+    osConfig,
     config,
     pkgs,
     ...
   }: {
+    imports = [inputs.niri-flake.homeModules.niri];
+
+    programs.niri.package = osConfig.programs.niri.package;
     programs.niri.settings = {
       screenshot-path = "${config.xdg.userDirs.pictures}/Screenshots/Screenshot_%Y-%m-%d_%H-%M-%S.png";
       xwayland-satellite = {
modules/desktop/desktop-environment/discrete/wm/niri/xdg-portal.nix
@@ -1,19 +1,12 @@
 {lib, ...}: {
-  flake.modules.nixos.wm-niri = {pkgs, ...}: {
+  flake.modules.nixos.wm-niri = _: {
     xdg.portal = {
       enable = lib.mkDefault true;
-      extraPortals = [
-        pkgs.xdg-desktop-portal-gnome # Recommanded by Niri, default enabled by nixpkgs' option, but not enabled in niri-flake.
-        pkgs.xdg-desktop-portal-wlr # Use wlr portal for screencast
-      ];
       config.niri = {
         default = ["gnome"];
         "org.freedesktop.impl.portal.Access" = "gtk";
         "org.freedesktop.impl.portal.Notification" = "gtk";
-        "org.freedesktop.impl.portal.ScreenCast" = "wlr";
       };
     };
-
-    services.dbus.packages = [pkgs.nautilus]; # Required by xdg-desktop-portal-gnome
   };
 }
modules/desktop/desktop-environment/discrete/polkit.nix
@@ -2,6 +2,11 @@
   flake.modules.nixos.de-discrete = _: {
     security.polkit = {
       enable = true;
+      adminIdentities = ["unix-group:wheel"];
     };
   };
+
+  flake.modules.homeManager.de-discrete = _: {
+    services.polkit-gnome.enable = true;
+  };
 }