From 2e790a171a3a76cd6d4f8ab7ce94a486933ff6e1 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 3 Oct 2026 09:04:16 +0000 Subject: [PATCH] Add superfile TUI file manager to the desktop profiles Stacked on the new-tool issue template as a worked example of filling it in. Package only, no module: superfile writes its own config and state at runtime, so there is nothing for home-manager to own (CLAUDE.md, "Runtime- mutable config must stay unmanaged"), and one package does not justify a bespoke module (PR #44). Placement: - home.nix: desktop-only profile, plain `packages` entry - work.nix: inside the darwin-gated list, since this profile is also alyssa@work-dev on aarch64-linux and a file manager earns nothing in a headless devcontainer. Not lib/core-packages.nix for the same reason. Version: the locked nixpkgs carries 1.3.3, while nixos-unstable and master carry 1.6.0. That is a stale flake.lock, not a lagging nixpkgs, so the fix is `nix flake update` (the weekly workflow does it), not a pin-forward in lib/ like weave. Deliberately not bumping the lock here: it would move every input under a one-package change. Two things found while checking, not fixed here: - the binary is `superfile`, not `spf` as the upstream docs write it - `auto_check_update` defaults to true: a once-a-day network call on exit Verified: statix and deadnix clean, both profile files parse, the locked nixpkgs' superfile builds on x86_64-linux and reports v1.3.3. NOT verified: full flake evaluation of the home configurations; the sandbox proxy blocks the github: flake inputs. CI's eval-configurations.sh covers that. Co-Authored-By: Claude Sonnet 5.5 Claude-Session: https://claude.ai/code/session_014ctTM9ShmZvCpEmMKEdHvP --- home-manager/profiles/home.nix | 6 ++++++ home-manager/profiles/work.nix | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/home-manager/profiles/home.nix b/home-manager/profiles/home.nix index 15433862..070b4db5 100644 --- a/home-manager/profiles/home.nix +++ b/home-manager/profiles/home.nix @@ -23,6 +23,12 @@ packages = with pkgs; [ taskbook # interim CLI task manager; desktop-only (Node closure, not for containers) + # TUI file manager. Package only: it writes its own config and state at + # runtime, so no module and nothing under xdg.configFile. Its + # `auto_check_update` defaults to true (a network call on exit, once a + # day), which is meaningless for a nix-managed binary; turn it off in + # config.toml by hand if the call matters. + superfile # VM management, for verifying a switch on a clean macOS image. Was a # cirruslabs/cli brew until that tap's formula stopped loading under # Homebrew 6.0 and took activation down with it; pinned below current diff --git a/home-manager/profiles/work.nix b/home-manager/profiles/work.nix index 2ab1044f..533ed9b8 100644 --- a/home-manager/profiles/work.nix +++ b/home-manager/profiles/work.nix @@ -50,6 +50,10 @@ # taskbook's Node closure is why it isn't in lib/core-packages.nix; the # same reasoning keeps it out of the aarch64-linux devcontainer. taskbook # interim CLI task manager + # TUI file manager; see home.nix for the unmanaged-config reasoning. + # Builds for aarch64-linux too, but a file manager earns nothing in a + # headless devcontainer. + superfile # VM management, for verifying a switch on a clean macOS image. Moved # off the cirruslabs/cli tap, whose tart.rb no longer loads under # Homebrew 6.0 and aborted the whole activation; version-pinned for