macOS Home Manager dotfiles for aarch64-darwin.
- Home Manager for user environment management
flake-partsas the top-level flake composition layernvffor Neovim configuration and standalone.#neovim- Ghostty, Zsh, Gruvbox, MonoLisa
flake.nix: entrypoint only; declares inputs and imports the top-level modulehome.nix: top-level flake-parts module; definesdotfiles.*, assembles profiles, exportshomeConfigurationsmodules/: shared dendritic feature modules; each file contributes one concernprofiles/: profile declarations and per-profile Home Manager deltas
personalwith aliasal
home-manager switch --flake . resolves via the alias on each machine. The explicit form .#personal remains available.
Machine-specific profiles that do not belong in a public repository live in their own flake, which imports this one as a module:
inputs.dotfiles.url = "github:alDuncanson/dotfiles";
imports = [ inputs.dotfiles.flakeModules.default ./profiles/<name>.nix ];# format all Nix files via the flake formatter
nix fmt
# run the standard repo checks
nix flake check
# inspect exports
nix flake show --all-systems
# evaluate profiles
nix eval .#homeConfigurations.personal.activationPackage.drvPath
# build profiles without switching
nix run home-manager -- build --flake .#personal
# apply the current machine profile
nix run home-manager -- switch --flake .
# run the exported Neovim app
nix run .#neovim
nix run .#neovim -- --headless '+qa!'nix shell nixpkgs#git -c git clone <repo-url> ~/.config/home-manager
cd ~/.config/home-manager
nix run home-manager -- switch --flake .After bootstrap, updates are just git pull and nix run home-manager -- switch --flake ..