Flake inputs and overlays
The external projects the flake pins, and the local package fixes applied on top of nixpkgs.
flake.nix pins every external dependency in flake.lock. Builds use exactly
these revisions until the lock file is updated deliberately.
Inputs
| Input | Purpose |
|---|---|
nixpkgs | nixos-unstable, the package set for every output |
home-manager | User environment management; follows nixpkgs |
nur | Nix User Repository, mainly for Firefox add-ons and a Sass language server |
noctalia, noctalia-greeter | The Noctalia desktop shell and its login greeter |
affinity-nix | Affinity creative applications, with its own binary cache |
brave-origin | The upstream Brave browser build |
serena | The Serena MCP server used by AI coding tools |
zshcs | A Zsh language server for the editors |
rtk-src | Source for RTK, built locally (not a flake) |
meowsoot, kanagawa | Theme sources for Neovim and Ghostty (not flakes) |
Inputs that are flakes and take nixpkgs follow the repository's nixpkgs, so
the whole configuration builds against one package set.
The flake's nixConfig adds the cache.forall.systems binary cache, which
serves the Affinity packages. Asgard also lists it in nix.settings so the
system's Nix daemon uses it.
Local packages
packages/ contains
derivations that nixpkgs does not provide:
- RTK (
packages/rtk): "Rust Token Killer", which compresses command output for AI agents. It is built from the pinnedrtk-srcinput. Its test suite is skipped because the crate denies warnings that only appear in the test build; the release binary builds normally. - Kanagawa GTK theme (
packages/kanagawa-gtk-theme): installed when the theme family iskanagawa.
Overlays
flake.nix exports overlays.typescript-language-server-pnpm-hash-fix. The
pinned nixpkgs records a stale pnpmDeps hash for typescript-language-server,
so every build of it failed with a hash mismatch. The overlay pins the hash
that the fetch actually produces. It is applied in configLib.mkHome and should
be removed once nixpkgs is fixed upstream.
NixOS hosts add the NUR overlay through the desktop profile, and Asgard adds the Affinity overlay itself.
Last updated on