dms: use greeter to login

This commit is contained in:
Christoph Hollizeck 2026-04-20 17:12:57 +02:00
parent 479dad5cb4
commit 60271a2359
7 changed files with 81 additions and 12 deletions

21
flake.lock generated
View file

@ -255,6 +255,26 @@
"type": "github" "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": { "devenv": {
"inputs": { "inputs": {
"cachix": "cachix", "cachix": "cachix",
@ -2466,6 +2486,7 @@
"inputs": { "inputs": {
"catppuccin": "catppuccin", "catppuccin": "catppuccin",
"dankMaterialShell": "dankMaterialShell", "dankMaterialShell": "dankMaterialShell",
"danksearch": "danksearch",
"devenv": "devenv", "devenv": "devenv",
"dgop": "dgop", "dgop": "dgop",
"disko": "disko", "disko": "disko",

View file

@ -101,6 +101,11 @@
}; };
}; };
danksearch = {
url = "github:AvengeMedia/danksearch";
inputs.nixpkgs.follows = "nixpkgs";
};
dgop = { dgop = {
url = "github:AvengeMedia/dgop"; url = "github:AvengeMedia/dgop";
inputs.nixpkgs.follows = "nixpkgs-unstable"; inputs.nixpkgs.follows = "nixpkgs-unstable";

View file

@ -11,6 +11,7 @@
imports = [ imports = [
inputs.dankMaterialShell.homeModules.dank-material-shell inputs.dankMaterialShell.homeModules.dank-material-shell
inputs.dankMaterialShell.homeModules.niri inputs.dankMaterialShell.homeModules.niri
inputs.danksearch.homeModules.dsearch
]; ];
config = lib.mkIf osConfig.programs.niri.enable { config = lib.mkIf osConfig.programs.niri.enable {
@ -40,6 +41,8 @@
enableAudioWavelength = false; enableAudioWavelength = false;
enableCalendarEvents = false; enableCalendarEvents = false;
}; };
programs.dsearch.enable = true;
}; };
}; };
} }

View file

@ -214,7 +214,7 @@
"greeterRememberLastUser": true, "greeterRememberLastUser": true,
"greeterEnableFprint": false, "greeterEnableFprint": false,
"greeterEnableU2f": false, "greeterEnableU2f": false,
"greeterWallpaperPath": "", "greeterWallpaperPath": "/home/cholli/Pictures/horizon-zero-dawn-aloy.jpg",
"greeterUse24HourClock": true, "greeterUse24HourClock": true,
"greeterShowSeconds": false, "greeterShowSeconds": false,
"greeterPadHours12Hour": false, "greeterPadHours12Hour": false,

View file

@ -13,22 +13,25 @@
in in
{ {
security.pam.services.gdm.enableGnomeKeyring = true;
services.displayManager.gdm = {
enable = true;
wayland = true;
};
environment = { environment = {
systemPackages = with pkgs; [ systemPackages = with pkgs; [
zenbrowser zenbrowser
sourcegit sourcegit
(pkgs.catppuccin-kvantum.override {
accent = "lavender";
variant = "mocha";
})
pkgs.adwaita-icon-theme
]; ];
sessionVariables = { sessionVariables = {
DEFAULT_BROWSER = "${zenbrowser}/bin/zen-beta"; DEFAULT_BROWSER = "${zenbrowser}/bin/zen-beta";
BROWSER = "zen-beta"; BROWSER = "zen-beta";
QT_QPA_PLATFORMTHEME = "kvantum";
QS_ICON_THEME = "adwaita";
}; };
etc = lib.mkIf config.programs._1password.enable { etc = lib.mkIf config.programs._1password.enable {
@ -57,11 +60,19 @@
# }; # };
# }; # };
# qt = { qt = {
# enable = true; enable = true;
# platformTheme.name = "gnome"; platformTheme = "qtct";
# style.name = "adwaita-dark"; style = {
# }; package = (
pkgs.catppuccin-kvantum.override {
accent = "lavender";
variant = "mocha";
}
);
name = "kvantum";
};
};
systemd.user.sessionVariables = osConfig.home-manager.users.cholli.home.sessionVariables; systemd.user.sessionVariables = osConfig.home-manager.users.cholli.home.sessionVariables;

View file

@ -3,11 +3,32 @@
nixos.niri = nixos.niri =
{ inputs, pkgs, ... }: { inputs, pkgs, ... }:
{ {
imports = [
inputs.dankMaterialShell.nixosModules.greeter
];
programs.niri = { programs.niri = {
enable = true; enable = true;
package = inputs.niri-flake.packages.${pkgs.stdenv.hostPlatform.system}.niri-unstable; 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; [ environment.systemPackages = with pkgs; [
kitty kitty

View file

@ -68,6 +68,14 @@ topLevel: {
nix.settings.trusted-users = [ topLevel.config.flake.meta.users.cholli.username ]; 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 = homeManager.cholli =