this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

at main 66 lines 2.0 kB view raw view rendered
1# dotfiles 2 3nix flakes + home-manager. portable across mac and linux. 4 5## bootstrap 6 7```bash 8# 1. install nix (if not present) 9curl -L https://nixos.org/nix/install | sh 10 11# 2. clone (the repo path matters — nvim config uses mkOutOfStoreSymlink) 12git clone https://tangled.sh/@zzstoatzz/dotfiles ~/tangled.sh/@zzstoatzz/dotfiles 13cd ~/tangled.sh/@zzstoatzz/dotfiles 14 15# 3. apply (detects system automatically) 16SYSTEM=$(nix eval --raw nixpkgs#system) 17nix run home-manager -- switch --flake ".#nate@${SYSTEM}" 18 19# 4. set zsh as default shell 20chsh -s $(which zsh) 21``` 22 23## what's included 24 25**shell**: zsh, oh-my-posh (zen theme), tmux, neovim (kickstart.nvim) 26**search/nav**: ripgrep, fd, fzf, jq, bat, eza, autojump 27**dev**: git, gh, curl, wget, tree, dust 28**languages**: uv (python), rustup (rust), go, node 22, deno, bun 29**terminal**: wezterm (linux only — on mac install via .dmg) 30**fonts**: fira code nerd font 31 32## how it works 33 34home-manager generates `~/.zshrc` and `~/.gitconfig` from nix declarations in 35`home.nix` — aliases, history, completions, git user/editor are all configured 36there. shell functions live in `config/zsh/utils` and get symlinked to `~/.utils`. 37 38neovim config uses `mkOutOfStoreSymlink` so `~/.config/nvim` points directly at 39this repo's `config/nvim/` — edits take effect immediately and lazy-lock.json 40stays writable. 41 42## layout 43 44``` 45flake.nix — nix entry point 46home.nix — programs.zsh, programs.git, packages, file symlinks 47config/ 48 zsh/utils — shell functions (gbre, git_exclude, ghistory, etc.) 49 nvim/ — kickstart.nvim config (mutable symlink) 50 tmux/ — tmux.conf (prefix: ctrl-a) 51 wezterm/ — wezterm.lua 52 ohmyposh/ — zen.toml prompt theme 53 atuin/ — shell history config 54bin/ 55 disk-breakdown — disk usage visualizer (macOS) 56``` 57 58## updating 59 60edit config in this repo, then: 61 62```bash 63home-manager switch --flake . 64``` 65 66for changes to `config/nvim/` — no rebuild needed, it's a direct symlink.