this repo has no description
Lua 75.9%
Nix 12.5%
Shell 7.1%
Other 4.5%
2 1 0

Clone this repository

https://tangled.org/zzstoatzz.io/dotfiles https://tangled.org/did:plc:xbtmt2zjwlrfegqvch7fboei/dotfiles
git@tangled.org:zzstoatzz.io/dotfiles git@tangled.org:did:plc:xbtmt2zjwlrfegqvch7fboei/dotfiles

For self-hosted knots, clone URLs may differ based on your setup.

Download tar.gz
README.md

dotfiles#

nix flakes + home-manager. portable across mac and linux.

bootstrap#

# 1. install nix (if not present)
curl -L https://nixos.org/nix/install | sh

# 2. clone (the repo path matters — nvim config uses mkOutOfStoreSymlink)
git clone https://tangled.sh/@zzstoatzz/dotfiles ~/tangled.sh/@zzstoatzz/dotfiles
cd ~/tangled.sh/@zzstoatzz/dotfiles

# 3. apply (detects system automatically)
SYSTEM=$(nix eval --raw nixpkgs#system)
nix run home-manager -- switch --flake ".#nate@${SYSTEM}"

# 4. set zsh as default shell
chsh -s $(which zsh)

what's included#

shell: zsh, oh-my-posh (zen theme), tmux, neovim (kickstart.nvim) search/nav: ripgrep, fd, fzf, jq, bat, eza, autojump dev: git, gh, curl, wget, tree, dust languages: uv (python), rustup (rust), go, node 22, deno, bun terminal: wezterm (linux only — on mac install via .dmg) fonts: fira code nerd font

how it works#

home-manager generates ~/.zshrc and ~/.gitconfig from nix declarations in home.nix — aliases, history, completions, git user/editor are all configured there. shell functions live in config/zsh/utils and get symlinked to ~/.utils.

neovim config uses mkOutOfStoreSymlink so ~/.config/nvim points directly at this repo's config/nvim/ — edits take effect immediately and lazy-lock.json stays writable.

layout#

flake.nix           — nix entry point
home.nix            — programs.zsh, programs.git, packages, file symlinks
config/
  zsh/utils         — shell functions (gbre, git_exclude, ghistory, etc.)
  nvim/             — kickstart.nvim config (mutable symlink)
  tmux/             — tmux.conf (prefix: ctrl-a)
  wezterm/          — wezterm.lua
  ohmyposh/         — zen.toml prompt theme
  atuin/            — shell history config
bin/
  disk-breakdown    — disk usage visualizer (macOS)

updating#

edit config in this repo, then:

home-manager switch --flake .

for changes to config/nvim/ — no rebuild needed, it's a direct symlink.