SSH clones need a registered key even for a public repo, so a fresh machine got "Permission denied (publickey)". HTTPS works anonymously. Document switching the push URL to SSH for machines that push.
Personal dotfiles
These are my config files for macOS and KDE, managed with GNU Stow. You need stow and zsh installed.
Installation
git clone https://git.trivk.dev/tri/.dotfiles.git "$HOME/.dotfiles"
cd "$HOME/.dotfiles"
The HTTPS clone works without an account. To push from this machine, add its SSH key on git.trivk.dev and point the push URL at SSH:
git remote set-url --push origin git@ssh.trivk.dev:tri/.dotfiles.git
The packages are split into three groups:
- common/ has Fastfetch, Git, Micro, mpv, npm, Starship and Zsh.
- mac/ has Ghostty.
- kde/ has the Darwin Breeze theme, Helium, Spectacle and tray icons.
Install all of common, then the group for your platform:
(cd common && stow -t "$HOME" */)
(cd mac && stow -t "$HOME" */) # macOS
(cd kde && stow -t "$HOME" */) # KDE
*/ matches every package in the group. Each line runs in a subshell, so you stay in the repo root and can run them one after another. KDE needs a few more steps after this. They're in kde/README.md.
Picking packages
You don't have to install everything. List only the packages you want:
stow -d common -t "$HOME" git zsh starship
stow -d mac -t "$HOME" ghostty
stow -d kde -t "$HOME" spectacle
-d tells Stow which group to read from. -t puts the symlinks in your home directory. You can mix packages from different groups.
Previewing and removing
-n -v prints what Stow would do and changes nothing. -D removes the symlinks. Pass the same -d and -t you used to install:
stow -n -v -d kde -t "$HOME" spectacle
stow -D -d kde -t "$HOME" spectacle
Once the Zsh config is linked, run exec zsh to reload the shell.