NixOS Installation (Flake)
Dux Greeter
NixOS Installation (Flake)
Dux Greeter can be installed on NixOS using the NixOS module. This guide covers the flake-based installation method.
Dux Greeter is available in nixpkgs stable (26.05). If you're on NixOS 26.05+, the Installation - NixOS method is recommended and doesn't require flakes. Use the Flake option if you want quicker updates.
Installation
1. Add Flake Inputs
Add the required flake inputs to your flake.nix if you haven't yet:
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
dank-greeter = {
url = "github:duxlabs-dev/dux-greeter";
inputs.nixpkgs.follows = "nixpkgs";
};
};
}
2. Import the NixOS Module
Add the Dux Greeter module to your NixOS configuration imports:
imports = [
inputs.dank-greeter.nixosModules.default
];
Dux Greeter is only available as a NixOS module (not as a home-manager module), since it needs to run at the system level for login management.
3. Enable Dux Greeter
Enable and configure the greeter in your NixOS configuration:
programs.dms-greeter = {
enable = true;
compositor.name = "niri"; # Or "hyprland" or "sway"
};
Unlike Dux Shell which can be installed via either the NixOS module or home-manager module, Dux Greeter must be configured in your NixOS system configuration (not in home-manager).
Compositors must be installed via NixOS configuration to appear in Dux Greeter, not via home-manager.
Configuration Options
programs.dms-greeter = {
compositor = {
name = "niri"; # Required. Can be also "hyprland" or "sway"
customConfig = ''
# Optional custom compositor configuration
'';
};
# Sync your user's Dux Shell theme with the greeter. You'll probably want this
configHome = "/home/yourusername";
# Custom config files for non-standard config locations
configFiles = [
"/home/yourusername/.config/DankMaterialShell/settings.json"
];
# Save the logs to a file
logs = {
save = true;
path = "/tmp/dms-greeter.log";
};
# Custom Quickshell Package
quickshell.package = pkgs.quickshell;
};
Rebuilding
After making configuration changes, don't forget to rebuild your configuration:
sudo nixos-rebuild switch