Personal configuration files managed with Nix, home-manager, and nix-darwin.
| Host | OS | Flake output |
|---|---|---|
work-mbp |
macOS (aarch64-darwin) | darwinConfigurations — nix-darwin + home-manager |
mini |
macOS (aarch64-darwin) | darwinConfigurations — nix-darwin + home-manager |
no-mans-land |
macOS (aarch64-darwin) | darwinConfigurations — nix-darwin + home-manager |
home-laptop |
NixOS (x86_64-linux) | nixosConfigurations |
home/ — Home-manager modules for packages, shell (Zsh, Starship), git, kitty, direnv, and other user-level dotfiles. Shared config lives in common.nix; OS-specific overrides in darwin.nix and nixos.nix.
modules/ — OS-level system configurations. darwin.nix handles nix-darwin settings (Homebrew casks, macOS defaults like Dock, Finder, trackpad, Touch ID sudo). nixos.nix handles NixOS system config.
hosts/ — Per-host overrides layered on top of the shared modules.
nvim/, vim/ — Editor configurations (Neovim based on LazyVim, Vim). Currently top-level, may move into home/ in the future.
.
├── flake.nix # Nix flake — inputs and host outputs
├── home/ # Home-manager modules (dotfiles & programs)
│ ├── common.nix # Shared config (packages, shell, programs)
│ ├── darwin.nix # macOS-specific settings
│ ├── nixos.nix # NixOS-specific settings
│ ├── zsh.nix # Zsh configuration
│ ├── git.nix # Git configuration
│ ├── kitty.nix # Kitty terminal configuration
│ ├── direnv.nix # Direnv configuration
│ └── agents/ # AI agent configurations
├── modules/ # OS-level system configurations
│ ├── darwin.nix # nix-darwin (Homebrew casks, macOS defaults)
│ └── nixos.nix # NixOS system config
├── hosts/ # Per-host overrides
├── nvim/ # Neovim config (LazyVim)
├── vim/ # Vim config
├── bootstrap.sh # One-time setup (Nix, rustup, ghcup, SSH keys)
└── justfile # Common tasks (just switch, just update, ...)
git clone git://github.com/waveFrontSet/dotfiles.git
cd dotfiles
./bootstrap.sh # install Nix, rustup, ghcup, configure SSH signing
just switch # apply the nix configurationjust switch # rebuild and activate the current configuration
just update # update flake inputs and rebuild
just bootstrap # first-time nix-darwin bootstrap