Minimal Setups
A lightweight NixOS configuration for new machines that need only essential CLI tools and system utilities.
What’s Included
Section titled “What’s Included”Hjem Profile (hjem/profiles/base.nix or a trimmed import list)
Section titled “Hjem Profile (hjem/profiles/base.nix or a trimmed import list)”For a truly minimal host, start with base.nix alone or cherry-pick modules. Typical essentials:
| Category | Packages |
|---|---|
| Shells | bash, fish, nushell |
| Search | ripgrep, fd |
| Core tools | curl, wget, jq, htop, git, tmux, neovim |
| System utils | ncdu, lsof, rsync |
| Nix dev | direnv |
System Module
Section titled “System Module”Use modules/nixos/common.nix for the standard system baseline (caches, overlays,
shells, locale). For a lighter machine, import only essential Hjem modules
and skip optional system modules.
In your machine’s configuration.nix:
imports = [ ../../modules/nixos/common.nix ./hardware-configuration.nix inputs.hjem.nixosModules.default ../../modules/shared/hjem.nix
(mkHjemUser { inherit pkgs; machine = "<machine>"; keys = envMatrix.<machine>; extraModules = [ ../../hjem/profiles/base.nix ../../hjem/shell/zsh.nix ]; })];Upgrading to Full
Section titled “Upgrading to Full”For common.nix (full NixOS system with caches, overlays, terminfo):
imports = [ ../../modules/nixos/common.nix ...];For Hjem, add profiles incrementally:
extraModules = [ ../../hjem/profiles/base.nix ../../hjem/profiles/development.nix # IDEs, languages, dev tools];Desktop sessions (Plasma / kwin-noctalia) are wired via the @luxus/desktop clan service — see services/desktop/default.nix.
Prerequisites
Section titled “Prerequisites”- NixOS installed with flakes enabled
- Machine registered in
flake.nixinventory.machineswith appropriate tags hardware-configuration.nixand optionaldisko.nixfor the machine
Darwin Variant (minimal-darwin)
Section titled “Darwin Variant (minimal-darwin)”A lightweight Darwin configuration (used by zoe) for machines needing only essential CLI tools.
What’s Included
Section titled “What’s Included”| Category | Packages |
|---|---|
| Shells | bash, fish, nushell |
| Search | ripgrep, fd |
| Core tools | curl, wget, rsync, age, jq, htop, git, neovim, fzf |
| Nix dev | direnv |
Usage on Darwin
Section titled “Usage on Darwin”In the machine config via mkHjemUser:
(mkHjemUser { inherit pkgs; machine = "<machine>"; keys = envMatrix.<machine>; extraModules = [ ../../hjem/profiles/minimal-darwin.nix ../../hjem/shell/zsh.nix ];})Upgrading to Full
Section titled “Upgrading to Full”Add profiles incrementally:
extraModules = [ ../../hjem/profiles/minimal-darwin.nix ../../hjem/profiles/development.nix ../../hjem/profiles/darwin.nix];See modules/clan/hjem-users.nix and hjem/profiles/minimal-darwin.nix for the exact current definition (base + minimal-darwin on zoe).