Personal dotfiles and setup scripts for a desktop environment that uses tmux for window management, 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- Reload your shell so the aliases/functions are available:
source ~/.bashrcGet Ghostty here: https://ghostty.org (install on the laptop). It's a GPU-accelerated terminal that matches your OS light/dark theme. Kitty configs are also available.
After install, link the config from this repo:
./ghostty/install_ghostty.shInstall Vim:
./vim/install_vim.shInstall the shared Rust, Go, Node, and Python toolchains 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-e
go to definition: gd
undo go to definition: Ctrl-o
save: :w
copy: \\c
Install tmux:
./tmux/install_tmux.shThe install script sets up these aliases to start or resume a tmux session:
# init a new session named "moo"
newmoo
# resume the session
mooKey shortcuts:
move between windows: Shift-Left/Right
new window: Ctrl-b c
close window: Ctrl-d
The install script sets up these aliases:
g='git'
ga='git add .'
st='git status && git diff --stat'
gd='git diff'
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'Recommended to reduce wrist strain: map Right Cmd/Alt to Control, and Caps Lock to Escape.
Linux (keyd):
./keyd/install_keyd.shmacOS (Karabiner-Elements): https://karabiner-elements.pqrs.org
./karabiner/install_karabiner.shInstall and link the Codex config from this repo:
./codex/install_codex.shThen run codex and log in with ChatGPT, not an API key.
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 macOS, install fuse-t and sshfs:
./ssh/install_sshfs.shThen use vm <alias> to mount:
vmfs devserverUse 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.
Use 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.