x86_64-linux and aarch64-linux. The module handles daemon startup, PAM/NSS wiring, and package installation automatically.
Cachix binary cache
Himmelblau builds and signs packages in CI and uploads them to Cachix. Use the cache to avoid compiling Himmelblau from source on every update:cachix use command configures Nix to trust the Himmelblau signing key and adds the cache as a substituter.
Configuration
Choose the style that matches your NixOS setup:- Flake-based
- NPINS / classic
Add the Himmelblau repository to your flake inputs, then import the module and enable the service:
Module settings
Theservices.himmelblau module accepts the following top-level options:
| Option | Type | Description |
|---|---|---|
enable | bool | Enable the Himmelblau daemon and configure PAM/NSS. |
settings.domain | string | Your Entra ID tenant domain (e.g. contoso.onmicrosoft.com). |
settings.pam_allow_groups | list of strings | Entra group GUIDs whose members are permitted to log in. |
settings.local_groups | list of strings | Local groups to add Entra users to (e.g. wheel, docker). |
Available packages
The following packages are available underhimmelblau.packages.<arch>:
| Package | Description |
|---|---|
daemon | The core himmelblaud authentication daemon. |
pam | PAM module (pam_himmelblau.so) required for login integration. |
nss | NSS module required for user/group resolution. |
broker | Userspace broker that responds to SSO token requests. |
sso | SSO helper for browsers other than Firefox and Chrome. Optional. |
aad-tool | CLI tool for managing cache, credentials, and idmap. Recommended. |
o365 | Installs teams-for-linux with O365 suite shortcuts. Optional. |
x86_64-linux and aarch64-linux.
When you set
services.himmelblau.enable = true, the module automatically installs the daemon, pam, nss, and broker packages. You only need to add aad-tool, sso, or o365 to environment.systemPackages manually if you want them.