feat: convert dotfiles to nix-darwin + home-manager#55
Open
radiosilence wants to merge 3 commits intomainfrom
Open
feat: convert dotfiles to nix-darwin + home-manager#55radiosilence wants to merge 3 commits intomainfrom
radiosilence wants to merge 3 commits intomainfrom
Conversation
Replace scattered zsh conf.d files and brew-managed CLI tools with declarative nix configuration. Brew retained only for system-integration packages (zsh, mise, pam-reattach), casks, and libs needed by mise runtimes. - flake.nix: nix-darwin + home-manager entrypoint - nix/: modular config (darwin, home, packages, programs, git, ssh, zsh, files) - Taskfile.yml: updated converge pipeline — nix:switch as primary, removed old link tasks - brewfiles.d/core.rb: trimmed to system-only packages - config.d/zsh/conf.d/: deleted 29 files (inlined into nix/zsh.nix) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- flake.nix: add homeConfigurations for standalone home-manager on Linux alongside existing darwinConfigurations for macOS - home.nix: HOMEBREW_BUNDLE_FILE only set on darwin - git.nix: 1Password SSH signing path conditional on darwin (Linux uses agent or local gitconfig) - zsh.nix: brew paths, completions fpath, libpq, OrbStack guarded behind lib.optionalString isDarwin — clean no-ops on Linux - Taskfile nix:switch: auto-detects platform (darwin-rebuild vs home-manager) Shared modules (packages, programs, ssh, files) are fully portable. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
flake.nixentrypoint +nix/modules for darwin, home, packages, programs, git, ssh, zsh, and file symlinksnix:switchauto-detects platformKnown TODOs
claude-code-completionzsh plugin has placeholder sha256 — needs real hash or removaldarwin-rebuild switch --flake .end-to-end on clean macOS systemhome-manager switch --flake .on a Linux boxflake.lockgeneration (not committed yet)Testing from scratch (zero nix)
macOS
Linux
Ongoing updates
Eject: full revert to pre-nix dotfiles
macOS
Linux
Architecture
Test plan
darwin-rebuild switch --flake ~/.dotfileson macOS — verify shell, git, sshhome-manager switch --flake ~/.dotfileson Linux — verify shell, git, sshtask convergeworks as bootstrap entrypoint on both platforms🤖 Generated with Claude Code