3 Host Layout
Fynn Mahringer edited this page 2026-07-28 15:01:36 +02:00

Host layout

Each host uses this shape:

hosts/<name>/
├── default.nix
├── configuration.nix
├── home.nix
└── hardware-configuration.nix

What each file does

  • default.nix: wires the host into NixOS and Home Manager by importing configuration.nix, hardware-configuration.nix, and home.nix.
  • configuration.nix: holds host and system-facing settings such as hostname, desktop, Stylix, firewall, SSH, bootloader, and storage.
  • home.nix: holds user and workflow-facing settings such as browser, editor, terminal, shell, launcher, bar, notifications, and file manager.
  • hardware-configuration.nix: holds machine-specific hardware state generated by NixOS.

Settings style

  • Keep always-needed identity and bootstrap values flat.
  • Prefer nested feature blocks with '.enable' for optional features.
  • For a single selected tool like launcher or bar, prefer a plain string.
  • Themes belong only in modules/themes.