Home Manager Modules¶
The lowcache user environment is assembled in
home/.
home/default.nix is the entry
point and imports the rest:
| Module | Responsibility |
|---|---|
default.nix |
Session variables (Qt6/QML paths, Wayland backends, portals), GTK theme, cursor, Antigravity desktop entries |
pkgs.nix |
User packages, grouped (dev, Qt6/Quickshell, Hyprland stack, fonts, terminal, AI CLIs) |
persist.nix |
Impermanence /persist mappings + out-of-store dotfile symlinks |
scripts.nix |
memd derivation, agent-tool ~/.local/bin symlinks, memd-sweep timer |
shell.nix |
Fish (init/aliases/functions), git (SSH signing), starship, direnv, micro, ssh-agent |
Session variables (default.nix)¶
A single sessionVariables set is applied to both home.sessionVariables and
systemd.user.sessionVariables. It composes Qt6 import/plugin paths from a curated dependency list and
sets the Wayland session (XDG_CURRENT_DESKTOP=Hyprland, QT_QPA_PLATFORM=wayland,
NIXOS_OZONE_WL=1, GTK_USE_PORTAL=1, …). The QML paths also append the live
~/.config/quickshell/ii tree so the shell loads custom modules.
Packages (pkgs.nix)¶
home.packages concatenates themed groups:
| Group | Highlights |
|---|---|
basedevel |
gcc, cmake, gnumake, go, python3, nodejs, dart-sass |
quickshell |
Quickshell + Qt6 modules + KDE Frameworks (Kirigami, Breeze) + Dolphin |
hyprland |
hypridle, hyprlock, fuzzel, kitty, floorp-bin, spotify, vscodium, file-roller, grim/slurp/swappy, matugen |
typography |
material-symbols + a large Nerd Fonts selection |
terminal |
fish, git, gh, eza, bat, ripgrep, fd, jq, sops, micro, nil, volinit |
nixified-ai |
claude-code, gemini-cli, rtk, MCP servers, llm-agents packages |
Krita wrapper
Krita is repackaged with symlinkJoin + makeWrapper to force QT_QPA_PLATFORM=xcb, avoiding a
Qt6-Wayland canvas-freeze on the hybrid GPU.
Browsers¶
Brave is installed through the programs.chromium Home Manager module (in shell.nix), which both
provides the package (package = pkgs.brave) and applies Wayland/GPU command-line flags. Floorp
(floorp-bin) is the backup browser, added to home.packages in pkgs.nix.
Persistence & symlinks (persist.nix)¶
See Impermanence. This module declares the /persist directory and
file lists, the mkOutOfStoreSymlink dotfile mappings, the ~/volnix alias, and the ~/.gemini
mapping.
Agent tooling (scripts.nix)¶
Builds memd as a derivation, symlinks memd / tether / agent-scaffold into ~/.local/bin
(out-of-store, live-editable), and defines the memd-sweep user timer (~30 min). See
Agent Toolchain.