Nix-managed configuration for macOS, NixOS, and Red Hat.
Nix is the OS — no installation needed.
Clone this repo (have to use nix-shell because nix doesn't ship with git):
nix-shell -p git
git clone https://github.com/json-bateman/dotfiles ~/dotfiles
Apply the configuration:
sudo nixos-rebuild switch --flake ~/dotfiles/nix#webserver --impure
This configures both the system and the user environment (via home-manager) in one command.
git clone https://github.com/json-bateman/dotfiles ~/dotfiles
bash ~/dotfiles/bootstrap-mac.sh
Installs Homebrew, Nix, and applies home-manager. GUI apps (WezTerm, Spotify, Chrome, Telegram, Docker) are installed via Homebrew Cask.
sudo bash ~/dotfiles/bootstrap-redhat.sh
Sets up the system (packages, user, SSH hardening, mDNS), then prints next steps to install Nix and apply home-manager as your user.
| Machine | Command |
|---|---|
| NixOS webserver | sudo nixos-rebuild switch --flake ~/dotfiles/nix#webserver --impure |
| macOS | home-manager switch --flake ~/dotfiles/nix#mac |
| Red Hat | home-manager switch --flake ~/dotfiles/nix#redhat |