Skip to content

russmatney/dotfiles

Repository files navigation

dotfiles

Hi there! I’m Russ!

Welcome to my dotfiles!

Clawe

for clojure-y WM control

Most of my development environment (keybindings, window management stuff) is managed through russmatney/clawe - be sure to check that out if you’re interested!

Emacs

Via Doom Emacs. See emacs/.doom.d/*.

Quick links:

Tmux

Tmux allows terminal sessions to persist after Alacritty (or whatever terminal program) is closed/re-opened.

Zsh

Plugins are handled via antibody.

Neovim

Recently I’m poking around in neovim a bit, out of curiosity. Things are farther along since I was last a full-time vim user, including lua (and fennel) support, and misc ui-improvements. Maybe Neovim can rival normal emacs usage someday!

Lately, I’m on an out-of-the-box AstroVim setup, to support random one-off vim moments.

stow-based dotfiles

These files are structured to take advantage of GNU Stow for installation and symlink handling. stow foo will create symlinks for everything in the ./foo directory exactly one relative directory above the current working directory.

To install:

# ~/.zshrc
yay -S stow

This works well for dotfile management - you can create feature-based directories in ~~/dotfiles~ for things like zsh, vim, and emacs, then call stow zsh within ~~/dotfiles~ to take care of linking it to home (~~/~). Treat your ~~/dotfiles/zsh~ directory as if it is literally the home directory, i.e. you should have a ~~/dotfiles/zsh/.zshrc~. Then, from your dotfiles repo, call stow zsh, and that’s it! Everything will have been symlinked properly.

Godot manual install

something like:

unzip Godot_v3.5-stable_x11.64.zip -d .
mv Godot_v3.5-stable_x11.64 ~/usr/bin/godot # install godot from unzip downloads

Misc

Enable Hidden Files where relevant

The `stow` style leads to many “hidden” files (dot-prefixed: `emacs/.doom.d/*`, `zsh/.zshrc`, etc) being used, which reveals that many tools ignore hidden files by default.

Zsh fix

# ~/.zshrc
setopt globdots

Rip-grep (emacs) fix

Create `~/.ignore` file with `.git` (so that –hidden does not include .git). See this issue.

$ echo ".git" >> ~/.ignore

Update `rg` command in emacs to use `–hidden` flag:

(setq counsel-rg-base-command
    "rg -zS --hidden --no-heading --line-number --color never %s .")