cleanup/config-refactor #3

Merged
tylercritchlow merged 20 commits from cleanup/config-refactor into main 2026-06-16 05:17:30 +00:00
No description provided.
Replace the stale hash-pinned builtins.fetchurl (which broke pure eval on
key rotation) with a flake=false input. Rotation now only needs
`nix flake update`; eval stays pure and reproducible.
nix-spotlight and claude-code-nix now follow the top-level nixpkgs,
removing duplicate nixpkgs nodes from flake.lock. nix-homebrew has no
nixpkgs input so it is left as-is.
tailscale is already installed via environment.systemPackages and
services.tailscale.enable in the darwin host; the homebrew brew was a
duplicate install.
Add modules/common/nix-settings.nix imported by both hosts, replacing the
divergent per-host declarations (darwin used a space-separated string,
desktop used extra-experimental-features). CachyOS substituter settings
stay host-specific on desktop.
Define username once in flake.nix and thread it through specialArgs and
home-manager.extraSpecialArgs, replacing hardcoded "tyler" and
/Users|/home/tyler paths across both host configs, the homebrew module,
and the tdarr-node module. Also drops the now-unused lib arg in the
darwin host.
Collapse the duplicated darwinConfigurations/nixosConfigurations blocks
into a single mkSystem helper that shares the overlay stack and
home-manager wiring. Per-host differences (builder, system, hmModule,
extra overlays/modules) come in as args; darwin's backupCommand is passed
as an extra module. Behavior-preserving: derivations are identical modulo
a benign reordering of one idempotent activation snippet.
Move the steamless-controller flake package into the overlay alongside
helium/drop-app, so gaming.nix just references pkgs.steamless-controller.
Removes the bespoke import-with-args indirection file and the now-unused
inputs arg in gaming.nix.
Move the KDE Plasma, regional (locale/timezone/keyboard), and NVIDIA+
graphics config out of hosts/desktop into reusable modules/nixos/*.nix.
The host file now holds only machine-specific glue (boot, hostname,
hardware). Drops the now-unused config arg.
Break the home.nix monolith into focused modules: packages, shell
(zsh/zoxide/direnv/tmux), terminal (alacritty), git (+ssh), editors
(zed), and ai-tools (claude-code/opencode/cursor). The tmux status-bar
config moves to a standalone tmux.conf (preserving the Nerd Font
powerline glyphs verbatim) loaded via readFile. The mono font name is
shared via _module.args.monoFont, and stdenv.isDarwin/isLinux are
inherited. Behavior-preserving: identical package set and tmux config;
only buildEnv path ordering shifts.
tylercritchlow force-pushed cleanup/config-refactor from 78468e964d to 172c6c72b2 2026-06-15 07:08:32 +00:00 Compare
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
tylercritchlow/nix-config!3
No description provided.