Personal dotfiles and setup scripts for a desktop environment that uses Herdr for persistent sessions, Vim for code editing, and works well over SSH. Supports macOS and Linux.
Where to run each section: 💻 laptop, 🗄️ server
- Clone the repo:
mkdir -p ~/code
cd ~/code
git clone git@github.com:babymastodon/rc.git
cd rc- Install/link the files in this repo:
./install.sh- If you are on Mac OS, set your default shell to Bash and restart your shell:
./bash/install_bash_mac.sh- Reload your shell so the aliases/functions are available:
source ~/.bashrcInstall Ghostty and link the config:
./ghostty/install_ghostty.shInstall Vim:
./vim/install_vim.shInstall the shared runtimes, CLI tools, and language servers via mise:
./mise/install_mise.sh
source ~/.bashrcIf you want plugins, open vim and run:
:PlugInstallKey shortcuts:
move: hjkl
move a lot: Shift-hjkl
new tab: Ctrl-t
close tab: :q
open current directory: Ctrl-f
fuzzy find file: Ctrl-p
go to definition: gd
undo go to definition: Ctrl-o
save: :w
copy: \\c
Install herdr:
./herdr/install_herdr.shThe shell setup adds hoo as a shortcut for herdr:
hooWith one host argument, hoo attaches through Herdr's remote mode:
hoo workboxIt is very convenient to run Herdr on a remote VM, since agents can keep working in the background after you disconnect.
The install script sets up these aliases:
g='git'
ga='git add .'
st='git status && git diff --stat'
gd='git diff origin/master'
gs='git -c color.status=always status -s && ...'
cm='git-commit-all'
pl='git pull'
ph='git push --force-with-lease'
mg='git fetch && git merge origin/master --no-edit'
br='git log --graph --oneline --decorate --all'
lg='lazygit'Recommended to reduce wrist strain: map Right Cmd/Alt to Control, and Caps Lock to Escape.
Linux (keyd):
./keyd/install_keyd.shmacOS (Karabiner-Elements):
./karabiner/install_karabiner.shInstall Voxtype:
./voxtype/install_voxtype.shInstall and link the Codex config from this repo:
./codex/install_codex.shThen run codex and log in with ChatGPT, not an API key. When logging in on a remote VM, port-forward the Codex login port so the browser callback can reach the VM.
Read ssh/README.md first.
It covers how to install your SSH public key on the VM before first use.
After that, use vmadd to add a VM alias, then vm <alias> to start and connect:
vmadd
vm devserverYou can also forward ports while connecting:
vm devserver 8080 3000Use vmresize <alias> to change a VM size within the same instance family.
To mount a VM home directory on Linux or macOS, install sshfs first:
./ssh/install_sshfs.shThen use vmfs <alias> to mount:
vmfs devserverTo unmount it again:
vmfs devserver umountUse btop to monitor resource usage with a terminal UI.
./btop/install_btop.shIf the colors look odd, open the btop options menu and make sure the TTY theme is selected.
For motherboard temperatures, fan speeds, and MSI PSU telemetry:
./sensors/install_sensors.sh
mobo-watch --checkmobo-watch uses sensors/sensors.toml for labels, ordering, hidden sensors,
groups, and PSU display.
On the Gigabyte TRX50 AI TOP, the full temperature/fan set needs the
out-of-tree it87 DKMS install:
./sensors/install_gigabyte_trx50_it87_dkms.shUse yazi to easily navigate the filesystem and change directories with a TUI.
./yazi/install_yazi.shType the alias y to open the file explorer from anywhere.