Skip to content

chore: stop using nixpkgs for macOS#351

Merged
himkt merged 4 commits intomainfrom
cleanup-macos
May 4, 2026
Merged

chore: stop using nixpkgs for macOS#351
himkt merged 4 commits intomainfrom
cleanup-macos

Conversation

@himkt
Copy link
Copy Markdown
Owner

@himkt himkt commented May 4, 2026

Building packages on macOS + Nix is consuming a lot of time.
(e.g. 6m vs 27m even though there are much less packages to be installed on macOS)

Given the observation, I'm now thinking it's reasonable to use homebrew entirely on macOS (it would be much more faster thanks to the bottle).

@himkt himkt self-assigned this May 4, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR shifts macOS user-level package provisioning away from Home Manager/Nix packages toward Homebrew, while keeping shared dotfile modules in place and moving Linux-specific package ownership into the NixOS entrypoint.

Changes:

  • Removes the macOS home.packages list and migrates CLI/custom tools into Homebrew Brewfiles.
  • Moves package ownership for shared modules like ghostty and mise out of the modules and into platform-specific package lists.
  • Re-enables tmux auto-attach in zshrc and renames the base Homebrew Make target.

Reviewed changes

Copilot reviewed 16 out of 16 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
home/pkgs/default.nix Formatting-only change to the custom package set entrypoint.
home/nixos.nix Adds Linux package ownership for ghostty, bubblewrap, and unstable.mise.
home/modules/zsh/files/zshrc Re-enables automatic tmux attach for interactive shells.
home/modules/zsh/default.nix Formatting-only module wrapper cleanup.
home/modules/uv/default.nix Formatting-only module wrapper cleanup.
home/modules/tmux/default.nix Formatting-only module wrapper cleanup.
home/modules/sheldon/default.nix Removes unused module arguments.
home/modules/nvim/default.nix Formatting-only module wrapper cleanup.
home/modules/mise/default.nix Stops installing mise in the shared module; leaves config-file management only.
home/modules/gpg/default.nix Formatting-only function/body split.
home/modules/git/default.nix Removes unused module arguments.
home/modules/ghostty/default.nix Stops installing ghostty in the shared module; keeps config-file management only.
home/macos.nix Removes macOS Home Manager package provisioning.
brew/config.d/himkt/Brewfile Adds pathfinder to the personal Homebrew bundle.
brew/config.d/base/Brewfile Adds core CLI tools to the base Homebrew bundle.
Makefile Renames the base Homebrew bundle target from brew to brew-base.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@@ -1,3 +1,4 @@
tap 'himkt/tap'
brew 'himkt/tap/pathfinder'
Comment on lines +11 to +13
if command -v tmux > /dev/null && [ -z "$TMUX" ] && [ -z "$VSCODE_INJECTION" ] && [[ $- == *i* ]]; then
tmux attach-session 2>/dev/null || tmux new-session
fi
brew 'libpq'
brew 'python3'
brew 'rustup'
brew 'sheldon'
Comment thread home/nixos.nix
@@ -83,6 +85,7 @@ in
sheldon
Comment thread home/macos.nix
Comment on lines 21 to 24
home = {
homeDirectory = "/Users/himkt";
stateVersion = "25.11";
username = "himkt";
Comment thread Makefile
$(PWD)/brew/bin/setup.sh

brew:
brew-base:
Comment thread Makefile
@@ -28,7 +28,7 @@ gc:
brew-install:
$(PWD)/brew/bin/setup.sh

@himkt himkt merged commit b61d5ef into main May 4, 2026
3 of 4 checks passed
@himkt himkt deleted the cleanup-macos branch May 4, 2026 01:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants