From b357aa6b72661f4acebcdbfc81472f5d9cb4a244 Mon Sep 17 00:00:00 2001 From: Atridad Lahiji Date: Tue, 10 Feb 2026 15:11:59 -0700 Subject: [PATCH] niri experiment --- common.nix | 1 - configuration.nix | 1 - flake.nix | 11 ++++++++++- modules/desktop.nix | 28 ++++++++++++++++++++++++---- modules/home.nix | 6 +++--- modules/home/packages.nix | 4 ---- 6 files changed, 37 insertions(+), 14 deletions(-) diff --git a/common.nix b/common.nix index 46741fe..d47e498 100644 --- a/common.nix +++ b/common.nix @@ -16,7 +16,6 @@ ]; nix.settings.experimental-features = [ "nix-command" "flakes" ]; - # xdg.portal.config.common.default = [ "gnome" ]; system.stateVersion = "25.11"; } diff --git a/configuration.nix b/configuration.nix index b620dca..3698ae8 100644 --- a/configuration.nix +++ b/configuration.nix @@ -18,7 +18,6 @@ ]; nix.settings.experimental-features = [ "nix-command" "flakes" ]; - # xdg.portal.config.common.default = [ "gnome" ]; system.stateVersion = "25.11"; } diff --git a/flake.nix b/flake.nix index 7ded4ac..44ff2b5 100644 --- a/flake.nix +++ b/flake.nix @@ -7,9 +7,17 @@ url = "github:nix-community/home-manager/release-25.11"; inputs.nixpkgs.follows = "nixpkgs"; }; + dms = { + url = "github:AvengeMedia/DankMaterialShell/stable"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + dgop = { + url = "github:AvengeMedia/dgop"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; - outputs = { self, nixpkgs, home-manager, ... }@inputs: + outputs = { self, nixpkgs, home-manager, dms, dgop, ... }@inputs: let settings = import ./settings.nix; system = "x86_64-linux"; @@ -20,6 +28,7 @@ modules = [ ./configuration.nix home-manager.nixosModules.home-manager + dms.nixosModules.greeter ]; }; }; diff --git a/modules/desktop.nix b/modules/desktop.nix index 4177305..cb56e2e 100644 --- a/modules/desktop.nix +++ b/modules/desktop.nix @@ -1,10 +1,30 @@ -{ config, pkgs, ... }: +{ config, pkgs, inputs, ... }: +let + settings = import ../settings.nix; +in { - services.displayManager.gdm.enable = true; - services.desktopManager.gnome.enable = true; + # Niri compositor + programs.niri.enable = true; - environment.gnome.excludePackages = with pkgs; [ gnome-tour gnome-user-docs gnome-console epiphany ]; + # DankGreeter display manager + programs.dank-material-shell.greeter = { + enable = true; + compositor.name = "niri"; + configHome = "/home/${settings.username}"; + }; + # Polkit for authentication dialogs + security.polkit.enable = true; + + # GNOME Keyring for secret management + services.gnome.gnome-keyring.enable = true; + + # XWayland support + environment.systemPackages = with pkgs; [ + xwayland-satellite + ]; + + # Printing services.printing.enable = true; } diff --git a/modules/home.nix b/modules/home.nix index be5b245..92f790d 100644 --- a/modules/home.nix +++ b/modules/home.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ config, pkgs, inputs, ... }: let settings = import ../settings.nix; @@ -6,7 +6,7 @@ let ./home/session.nix ./home/packages.nix ./home/git.nix - ./home/gnome.nix + ./home/niri.nix ./home/cli.nix ./home/librewolf.nix ./home/zed.nix @@ -22,7 +22,7 @@ in home-manager.backupFileExtension = "backup"; home-manager.extraSpecialArgs = { - inherit settings; + inherit settings inputs; }; home-manager.users.${settings.username} = { ... }: { diff --git a/modules/home/packages.nix b/modules/home/packages.nix index 928cd34..bd7a08e 100644 --- a/modules/home/packages.nix +++ b/modules/home/packages.nix @@ -33,10 +33,6 @@ pinta discord signal-desktop - - # GNOME Extensions - gnomeExtensions.appindicator - gnomeExtensions.gamemode-shell-extension ]; programs.obs-studio.enable = true;