Skip to main content
Version: 2.1

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.

Native NixOS module Available

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
];
note

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"
};
info

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).

warning

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