Overview
Manzil is an independent way to manage $HOME with
Nix.
Current scope
- per-user home-file management through
manzil.users.<name>
- direct home files and XDG files
- generated text, source-backed files, or generator/value output
- file actions including
symlink, copy,
delete, directory, and
modify
- per-user package installation through the host user
configuration
- generated session environment exports via
environment.loadEnv
- XDG
mimeapps.list generation
- generated user systemd units on supported platforms
- opt-in restart/reload trigger handling for generated user units on
NixOS
- manifest contracts that constrain allowed target and source
roots
Supported module entrypoints
manzil.nixosModules.default
manzil.darwinModules.default
default.nix for non-flake imports
Activation modes
- Default: bundled
manzil linker for manifest-based
activation
- Linux-only fallback:
manzil.linker = null for
systemd-tmpfiles mode
Tmpfiles mode has a narrower behavior surface than manifest mode.
Manifest mode is where Manzil's contracts, cleanup semantics, and
trigger-aware unit reloads live.