SYSTEM ATLAS / NIXOS FLAKE

Under
the hood.

One configuration. Many moving parts.
Explore the files and connections behind the desktop.

system: x86_64-linux channel: nixos-unstable default host: #nixos default profile: dev stateVersion: 25.05
01 / SOURCE CONSTELLATION

Follow the connections.

Real references from the repository scan.
Select a node to trace its connections.

REPOSITORY / LIVE MAP
LOCAL REFERENCESLOADING
DRAG NODES / SELECT TO TRACE

A best-effort source scan, not a complete evaluated dependency graph. Computed paths may be absent. Open a file to see its source.

02 / ARCHITECTUREThe bigger picture.OPEN DIAGRAM +

Dependency graph

input evaluation / import module output special path
NixOS flake dependency graph Inputs on the left flow through flake evaluation into NixOS and Home Manager modules, then into system, desktop and development outputs. 1 · FLAKE INPUTS 2 · CONSTRUCTORS 3 · MODULES 4 · RESULT nixpkgs nixos-unstable resolving… grub-gtg Grand Theft Gentoo theme resolving… home-manager resolving… inputs.nixpkgs.follows = nixpkgs local.nix git-ignored / --impure user, email, secrets flake.lock exact revisions + hashes written by nix flake update import nixpkgs pkgs / allowUnfree standalone Home + devShell mkSystem nixpkgs.lib.nixosSystem specialArgs: local + grub-gtg merges NixOS modules homeManagerConfiguration explicit pkgs import standalone Home profiles pkgs.mkShell dotnet-sdk_10 csharp-ls / netcoredbg configuration.nix pkgs from nixosSystem local from specialArgs imports bootloader + desktop Home Manager NixOS module useGlobalPkgs = true system pkgs + selected profile bootloader.nix GRUB + grub-gtg keep the selected menu visible home/default.nix common + profile plasma + EasyEffects + Neovim desktop.nix imports plasma-customisation shared scene + Kickoff environment.systemPackages Firefox / Node.js / Git / KDE… + users.users.razero.packages NixOS system closure kernel / Plasma / SDDM / PipeWire Docker / libvirt / module graph shared login scene SDDM + lock + KSplash 24 px blur / 850 ms zoom #nixos / #nixos-dev mkSystem "dev" common + dev + ai-cli #nixos-lab / razero@lab mkSystem "lab" / standalone Home common + lab tools devShells.x86_64-linux.default nix develop explicit pkgs import

Current evaluation

Loading dependency-data.js…

What nix flake update changes

1. Resolve inputs Fetch the latest revision of nixpkgs and the other inputs.
→
2. Rewrite the lock Pin every revision and content hash in flake.lock.
→
3. Rebuild Re-evaluate the system closure against the new nixpkgs.

This updates more than explicit system packages: the kernel, desktop, services and transitive libraries are re-evaluated too. system.stateVersion is a compatibility marker, not a pin.

A normal rebuild

rebuild_n_switch targets .#nixos by default.

  • mkSystem "dev"
  • Evaluates NixOS and Home Manager together
  • Home Manager reuses the system pkgs

Two package sets

The system pkgs comes from nixosSystem. The explicitly imported pkgs at the flake root is for standalone Home Manager profiles and the dev shell.

Why local.nix is impure

local.nix is git-ignored, so it never enters the flake source tree. The flake reads it from NIXOS_FLAKE_DIR, which is why rebuild commands pass --impure. local.nix.example documents the expected shape without exposing values.