Skip to content

dsalaza4/env

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

126 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

env

Declarative macOS configuration using nix-darwin and Home Manager.

Machines

Name Description
personal Personal machine (default)
work Work machine
test CI test configuration

Install

curl -fsSL https://raw.githubusercontent.com/dsalaza4/env/main/install.sh | zsh -s -- <machine>

Omit <machine> to default to personal. The script installs Determinate Nix if needed, clones this repo, and applies the configuration.

Usage

just build          # Rebuild personal (default)
just build work     # Rebuild work machine
just update         # Update all flake inputs

What's configured

  • Shell: zsh with Oh My Zsh, autosuggestions, syntax highlighting, and Starship prompt
  • Terminal: Ghostty with FiraCode Nerd Font, GitHub Dark theme, and custom keybindings
  • Editor: Zed set as default for plain text and source code
  • System: macOS defaults (Dock, Finder, key repeat), Cloudflare DNS, Touch ID for sudo
  • Security: 1Password GUI
  • Dev tools: direnv + nix-direnv, git with per-machine identity

Structure

machines/
  personal/
    system/        # macOS system defaults
    users/         # Home Manager user config
    package-managers/
  work/            # Same layout, work identity
  test/            # Minimal CI config
flake.nix          # Flake inputs and darwinConfigurations
justfile           # Build commands
install.sh         # Bootstrap script

Known gaps

  • Docker Desktop: not managed as code

About

My NixOS machine as code

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors