NixOS Modules

asahi

Configures the system for Apple Silicon hardware. Disables kexec and fwupd, prevents EFI variable modification, configures lid switch behaviour, and installs utilities like asahi-bless and muvm.

aude

System-level user configuration for Aude. Defines user IDs, shell preferences, and supplementary groups (including wheel and la-famille), whilst enabling Tailscale and importing user-specific preservation and secret modules.

aude-preservation

Configures impermanence state persistence specifically for Aude.

bootloader

A core module that enables initrd systemd and allows the bootloader to touch EFI variables.

clementine

System-level user configuration for Clémentine. Defines user IDs, groups, and SSH keys. Enables pcscd, udev rules for YubiKey personalisation, and Tailscale.

clementine-preservation

Configures impermanence state persistence specifically for Clémentine.

ewan

System-level user configuration for Ewan. Defines user IDs and groups, enables Tailscale, and authorises ydotool usage.

ewan-preservation

Configures impermanence state persistence specifically for Ewan.

graphical

Inherits from headless but adds stuff required for graphical hosts, such as pipewire, oo7, flatpaks and steam.

headless

The foundational system profile. Defines baseline packages, fonts, Nix settings, SSH, XDG defaults, and system-wide secrets management. Disables NetworkManager in favour of explicit networking.

hyprland

Enables the Hyprland desktop environment at the system level, including XWayland support and UWSM integration.

imperm-btrfs

My prefered disk setup for impermanence, it uses btrfs subvolumes which resize dynamically.

imperm-f2fs

A setup that uses f2fs as the root drive for some performance benefits, less prefered by me. Has a fixed 8G partition.

kyla

System-level user configuration for Kyla. Defines user IDs and groups, and enables Tailscale routing features.

kyla-preservation

Configures impermanence state persistence specifically for Kyla.

laptops

Configures power management and networking for portable devices. Sets up iwd and dhcpcd, enables Bluetooth and power-profiles-daemon, and persists networking state.

leo

System-level user configuration for Leo. Defines user IDs, shell preferences, and supplementary groups.

limine

Configures Limine as the system bootloader, integrating with the base bootloader module and explicitly clearing default wallpapers.

mesa

Enables 32-bit and 64-bit hardware graphics acceleration via Mesa.

nvidia

Configures the system for Nvidia GPUs. Enables modesetting and the open-source drivers, forces the XServer video driver to nvidia, and configures CUDA binary caches.

oledppuccin

Configures system-level theming, setting specific virtual terminal (VT) colours and modifying the Limine bootloader interface branding.

preservation

The core impermanence module. Maps critical system directories (Flatpak, Tailscale, logs, SSH host keys) and standard user directories to a /persistent volume, ensuring data survives ephemeral root wipes.

secret-assertions

Validates nix-secrets configuration during evaluation. Ensures the host has a valid recipient alias and asserts that it can decrypt all assigned secrets, failing the build if unreadable secrets are present.

substituters

Configures global Nix binary caches (Cachix) and their trusted public keys for faster package fetching.