From 60271a2359db305a82d8924f8a6fcd267b16460f Mon Sep 17 00:00:00 2001 From: Christoph Hollizeck Date: Mon, 20 Apr 2026 17:12:57 +0200 Subject: [PATCH] dms: use greeter to login --- flake.lock | 21 +++++++++++++++ flake.nix | 5 ++++ modules/desktop/addons/dms/default.nix | 3 +++ modules/desktop/addons/dms/settings.json | 2 +- modules/desktop/default.nix | 33 ++++++++++++++++-------- modules/desktop/niri.nix | 21 +++++++++++++++ modules/users/cholli/default.nix | 8 ++++++ 7 files changed, 81 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index dc8d382..1375df3 100644 --- a/flake.lock +++ b/flake.lock @@ -255,6 +255,26 @@ "type": "github" } }, + "danksearch": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1775400666, + "narHash": "sha256-R0Eh0KeaclBb5tIs8hQg6+DjqENn7SBlZkJKZCt3NYg=", + "owner": "AvengeMedia", + "repo": "danksearch", + "rev": "53663c86805edd79c9c17fa0adf14f54b8edfc24", + "type": "github" + }, + "original": { + "owner": "AvengeMedia", + "repo": "danksearch", + "type": "github" + } + }, "devenv": { "inputs": { "cachix": "cachix", @@ -2466,6 +2486,7 @@ "inputs": { "catppuccin": "catppuccin", "dankMaterialShell": "dankMaterialShell", + "danksearch": "danksearch", "devenv": "devenv", "dgop": "dgop", "disko": "disko", diff --git a/flake.nix b/flake.nix index 4503fca..785aefa 100644 --- a/flake.nix +++ b/flake.nix @@ -101,6 +101,11 @@ }; }; + danksearch = { + url = "github:AvengeMedia/danksearch"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + dgop = { url = "github:AvengeMedia/dgop"; inputs.nixpkgs.follows = "nixpkgs-unstable"; diff --git a/modules/desktop/addons/dms/default.nix b/modules/desktop/addons/dms/default.nix index 2c39347..b2e5b84 100644 --- a/modules/desktop/addons/dms/default.nix +++ b/modules/desktop/addons/dms/default.nix @@ -11,6 +11,7 @@ imports = [ inputs.dankMaterialShell.homeModules.dank-material-shell inputs.dankMaterialShell.homeModules.niri + inputs.danksearch.homeModules.dsearch ]; config = lib.mkIf osConfig.programs.niri.enable { @@ -40,6 +41,8 @@ enableAudioWavelength = false; enableCalendarEvents = false; }; + + programs.dsearch.enable = true; }; }; } diff --git a/modules/desktop/addons/dms/settings.json b/modules/desktop/addons/dms/settings.json index 5b1b5cb..056932d 100644 --- a/modules/desktop/addons/dms/settings.json +++ b/modules/desktop/addons/dms/settings.json @@ -214,7 +214,7 @@ "greeterRememberLastUser": true, "greeterEnableFprint": false, "greeterEnableU2f": false, - "greeterWallpaperPath": "", + "greeterWallpaperPath": "/home/cholli/Pictures/horizon-zero-dawn-aloy.jpg", "greeterUse24HourClock": true, "greeterShowSeconds": false, "greeterPadHours12Hour": false, diff --git a/modules/desktop/default.nix b/modules/desktop/default.nix index 02d600e..42a4668 100644 --- a/modules/desktop/default.nix +++ b/modules/desktop/default.nix @@ -13,22 +13,25 @@ in { - security.pam.services.gdm.enableGnomeKeyring = true; - services.displayManager.gdm = { - enable = true; - wayland = true; - }; - environment = { systemPackages = with pkgs; [ zenbrowser sourcegit + + (pkgs.catppuccin-kvantum.override { + accent = "lavender"; + variant = "mocha"; + }) + pkgs.adwaita-icon-theme ]; sessionVariables = { DEFAULT_BROWSER = "${zenbrowser}/bin/zen-beta"; BROWSER = "zen-beta"; + + QT_QPA_PLATFORMTHEME = "kvantum"; + QS_ICON_THEME = "adwaita"; }; etc = lib.mkIf config.programs._1password.enable { @@ -57,11 +60,19 @@ # }; # }; - # qt = { - # enable = true; - # platformTheme.name = "gnome"; - # style.name = "adwaita-dark"; - # }; + qt = { + enable = true; + platformTheme = "qtct"; + style = { + package = ( + pkgs.catppuccin-kvantum.override { + accent = "lavender"; + variant = "mocha"; + } + ); + name = "kvantum"; + }; + }; systemd.user.sessionVariables = osConfig.home-manager.users.cholli.home.sessionVariables; diff --git a/modules/desktop/niri.nix b/modules/desktop/niri.nix index bea3f1b..3a9c73d 100644 --- a/modules/desktop/niri.nix +++ b/modules/desktop/niri.nix @@ -3,11 +3,32 @@ nixos.niri = { inputs, pkgs, ... }: { + imports = [ + inputs.dankMaterialShell.nixosModules.greeter + ]; + programs.niri = { enable = true; package = inputs.niri-flake.packages.${pkgs.stdenv.hostPlatform.system}.niri-unstable; }; + programs.dank-material-shell = { + greeter = { + enable = true; + compositor.name = "niri"; + + configHome = "/home/cholli"; + }; + }; + + security = { + pam = { + services.greetd.enableGnomeKeyring = true; + }; + }; + + services.accounts-daemon.enable = true; + environment.systemPackages = with pkgs; [ kitty diff --git a/modules/users/cholli/default.nix b/modules/users/cholli/default.nix index 7d8da18..4e630e4 100644 --- a/modules/users/cholli/default.nix +++ b/modules/users/cholli/default.nix @@ -68,6 +68,14 @@ topLevel: { nix.settings.trusted-users = [ topLevel.config.flake.meta.users.cholli.username ]; + systemd.tmpfiles.rules = + let + username = "cholli"; + in + [ + "f+ /var/lib/AccountsService/users/${username} 0600 root root - [User]\\nIcon=/var/lib/AccountsService/icons/${username}\\n" # notice the "\\n" we don't want nix to insert a new line in our string, just pass it as \n to systemd + "L+ /var/lib/AccountsService/icons/${username} - - - - ${./profile.png}" + ]; }; homeManager.cholli =