Skip to content

citrusinesis/dotfiles

Repository files navigation

dotfiles

Personal Nix flake for managing personal devices with Home Manager, powered by nixos-unified.

New Machine Setup

# 1. Clone the repo
git clone <repo> ~/.config/dotfiles
cd ~/.config/dotfiles

# 2. Run setup (installs Lix + Homebrew on macOS)
./scripts/bootstrap.sh

# 3. Activate (first run uses nixos-unified app since `nh` is not yet on PATH)
nix run .#activate

Usage

After the first activation, nh and the shell aliases are available.

sw              # Rebuild current host (nh darwin/os switch, auto-detect)
up              # Flake update + rebuild current host
bump            # Just bump flake.lock
gc              # Safer GC (keeps last 5 generations + 3d)

nh search <pkg> # Fast nixpkgs search via nix-index

nix flake check # Validate evaluation and checks

These are fallback command.

nix run .#activate          # Match current hostname
nix run .#activate blender  # NixOS desktop
nix run .#activate mixer    # macOS default profile
nix run .#activate juicer   # macOS development profile
nix run .#update            # Just bump flake.lock

Container Runtime

Each darwin host selects exactly one container runtime in its configuration:

containerRuntime = "container"; # apple/container | "orbstack" | "podman"

container is packaged from the latest GitHub release (apple/container). up bumps it automatically on macOS; to bump it manually:

./scripts/update-apple-container.sh

Project Templates

Bootstrap a project from this flake's templates:

e.g. Rust project

mkdir example-rust-service && cd example-rust-service
nix flake init -t github:citrusinesis/dotfiles#rust

Template lockfiles are independent from the root flake; refresh them with:

./scripts/update-templates.sh

About

Configration files for nix machines

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors