Skip to content

poochwashere/dotFiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 

Repository files navigation

dotFiles

Personal dotfiles and declarative macOS configuration. The machine definition lives under jpuccinelli/ as a Nix flake: nix-darwin, Home Manager, and nix-homebrew. One darwin-rebuild switch applies CLI packages, Homebrew apps, macOS defaults, fonts, and symlinked editor/terminal configs.

Full install and maintenance steps: see jpuccinelli/README.md.


What the Nix config covers (high level)

Stack

Piece Role
flake.nix / flake.lock Pins nixpkgs, nix-darwin, Home Manager, nix-homebrew
configuration.nix Packages, Homebrew, macOS defaults, security, activation scripts, Home Manager user
jpuccinelli/dotfiles/ Source files for zsh (see repo layout), VS Code, Cursor, and Terminal.app plist

Nix-managed CLI (environment.systemPackages)

  • Core / shell: git, direnv, ripgrep, zsh, fd, htop, jq, yq, wget, tree, nmap, fzf, just, pure-prompt, dig, curl, openssh, vim
  • Python / tooling: uv, poetry, pyenv, nil, nixpkgs-fmt
  • Kubernetes / cloud: kubectl, kubecolor, argocd, argo-workflows, stern, kubernetes-helm, kubectx, krew, terraform, plus kubectl-related tools: kubectl-tree, kubectl-images, kubeconform, popeye
  • Krew plugins (activation): ai, deprecations (installed at rebuild); symlinks wire kubectx / kubens / kubectl-tree / popeye to kubectl-* names

Homebrew (GUI and a few brews)

  • Brews: azure-cli, node, openssl, kube-ps1, kubelogin (Azure tap), gh
  • Casks: Chrome, Docker Desktop, VS Code, iTerm2, ExpressVPN, Miniconda, Slack, Rectangle, Bitwarden, Copilot CLI, and Quick Look–related casks (suspicious-package, apparency, quicklookase, qlvideo)

macOS & security (declarative)

  • Dark mode, Finder/screen capture/dock/menu bar clock, trackpad (including three-finger drag), Control Center extras, startup chime off, quarantine prompts reduced
  • Touch ID for sudo (with reattach), application firewall (stealth + block incoming)
  • locate: activation loads the daemon and refreshes the database on rebuild
  • iTerm2: copy-on-select enabled via defaults

Fonts

  • Nerd Font: Meslo LG (for Pure prompt glyphs)

Shell (Home Manager + dotfiles)

  • zsh with oh-my-zsh (minimal plugins) and Pure prompt; kube-ps1 from Homebrew layered in; direnv, fzf, conda/miniconda hook, NVM (Homebrew node), Docker completions, kubectl completion, kubecolor aliases — see generated/init content in configuration.nix and jpuccinelli/dotfiles/zsh/.zshrc if you keep a copy there.

Editor / terminal configs (Home Manager home.file)

Symlinks from this repo’s jpuccinelli/dotfiles/ into:

  • Terminal.app: Library/Preferences/com.apple.Terminal.plist
  • VS Code: settings.json, keybindings.json under Application Support
  • Cursor: settings.json, keybindings.json under Application Support

One-off host setup (not in the flake)

  • Xcode: Command Line Tools before first Homebrew/Nix-driven install (xcode-select --install).
  • SSH: Generate keys, add to GitHub, use Keychain (ssh-add --apple-use-keychain, UseKeychain in ~/.ssh/config) — patterns referenced in the zsh init in configuration.nix.
  • Cluster tooling: Match kubectl client to cluster policy if your org requires a specific version (e.g. via az aks install-cli); the flake pins Nix’s kubectl but clusters may differ.

Legacy manual checklist

If you are not using the Nix flake, the older “install everything with Homebrew by hand” list is superseded by the declarative config above; prefer jpuccinelli/README.md and a flake rebuild.

About

Notes for setting up a new dev mac

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors