dotfiles icon indicating copy to clipboard operation
dotfiles copied to clipboard

Doom Emacs, a few-years old vim config, tmux, i3, zsh, polybar

#+title: dotfiles #+STARTUP: content

#+html:

Welcome to my dotfiles!

  • Clawe #+begin_src quote for clojure-y WM control #+end_src

Most of my development environment (keybindings, window management stuff) is managed through [[https://github.com/russmatney/clawe][russmatney/clawe]] - be sure to check that out if you're interested!

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

Quick links:

  • Doom modules: [[file:./emacs/.config/doom/init.el][.config/doom/init.el]]

  • Main config: [[file:./emacs/.config/doom/config.el][.config/doom/config.el]]

  • Packages: [[file:./emacs/.config/doom/packages.el][.config/doom/packages.el]]

  • Keybindings: [[file:./emacs/.config/doom/+bindings.el][.config/doom/+bindings.el]]

  • Hydra: [[file:./emacs/.config/doom/+hydra.el][.config/doom/+hydra.el]]

  • Org: [[file:./emacs/.config/doom/+org-custom.el][.config/doom/+org-custom.el]]

  • Langs: [[file:./emacs/.config/doom/+langs.el][.config/doom/+langs.el]]

  • Tmux Tmux allows terminal sessions to persist after Alacritty (or whatever terminal program) is closed/re-opened.
  • [[file:tmux/.tmux.conf][Tmux config]]
  • Zsh Plugins are handled via antibody.
  • [[file:zsh/.zshrc][Zsh config]]
  • 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:

#+BEGIN_SRC sh

~/.zshrc

yay -S stow #+END_SRC

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:

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

  • 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

#+BEGIN_SRC sh

~/.zshrc

setopt globdots #+END_SRC

*** Rip-grep (emacs) fix Create ~/.ignore file with .git (so that --hidden does not include .git). [[https://github.com/BurntSushi/ripgrep/issues/340][See this issue]].

#+BEGIN_SRC sh $ echo ".git" >> ~/.ignore #+END_SRC

Update rg command in emacs to use --hidden flag:

#+BEGIN_SRC emacs-lisp (setq counsel-rg-base-command "rg -zS --hidden --no-heading --line-number --color never %s .") #+END_SRC