$ brew install fish chezmoi git neovim ghostty
$ vim /etc/shells # add /opt/homebrew/bin/fish
$ chsh -s /opt/homebrew/bin/fishQuit Terminal, and open Ghostty:
$ chezmoi init --apply z0mbix$ sudo apt install fish git neovim
$ BINDIR=~/bin sh -c "$(curl -fsLS get.chezmoi.io)" -- init --apply z0mbix
$ sudo chsh -s /usr/bin/fish$ sudo pkg install chezmoi fish git neovim
$ sudo chsh -s /usr/local/bin/fish
$ chezmoi init --apply z0mbix$ chezmoi diff
$ chezmoi apply --verbose
$ chezmoi apply --dry-run$ ./scripts/install --list
$ ./scripts/install nvim
$ ./scripts/install --dry-run --verbose nvim fish tmuxRun this from the chezmoi source directory. Component names come from their
target paths without the leading dot, the .config/ prefix, a trailing rc
or _profile, or a file extension. Any other flag goes straight to
chezmoi apply. Scripts in .chezmoiscripts are not run, so on a new machine
run chezmoi init z0mbix first, then this script, and install tmux plugins
yourself with prefix + I.
Run these from the chezmoi source directory:
./scripts/show-modified
./scripts/show-modified --diff
./scripts/import-modified --dry-run
./scripts/import-modified
git diffThe diff shows rendered source → home, so added lines are home-directory
changes. Import makes home the source of truth for differing managed regular
files, including when both copies were edited. It does not apply to home or
stage or commit changes. Templates are reported and skipped: merge their edits
manually with chezmoi merge <path>. New unmanaged files need an explicit
chezmoi add <path>; deletions and symlink changes are not imported.
Use show-modified --skip-templates to filter templates, or
show-modified --paths-only --null for NUL-separated paths.
Add the following host to ~/.ssh/config.user:
Host github-personal
User git
PreferredAuthentications publickey
PasswordAuthentication no
RequestTTY no
HostName github.com
IdentityFile ~/path/to/private/key
IdentitiesOnly yes
ForwardAgent nothen add the following to .git/config:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
[submodule]
active = .
[remote "origin"]
url = ssh://git@github-personal/z0mbix/dotfiles.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "main"]
remote = origin
merge = refs/heads/main
[user]
name = z0mbix
email = zombie@zombix.org