# Dotfiles My personal dotfiles for Sway/River on Arch Linux. They are designed to be used with [[https://www.gnu.org/software/stow/][gnu stow]]. Each directory is a kind of 'module' that can be individually symlinked. You are welcome to do whatever you would like with these configs (they are licensed under the 0 clause BSD license); be inspired by them, copy them, whatever, no attribution necessary. I would encourage you to fork this repo, then use `stow` to install whatever modules you would like, changing whatever you want as you go. For example, if you want to steal my neovim configuration, you could run `stow nvim`, assuming this repo is located in your home directory. # Some Software I run ## Shell I use [[https://fishshell.com/][fish]] together with [[https://starship.rs][starship]]. It's basic, but gets the job done. ## Editors ### Neovim I love [[https://neovim.io][neovim]]. I have two different neovim configurations, (`nvim` and `nvim-vimscript`). `nvim` is a ~500 LOC lua monstrosity that works wonderfully but is a bit of a pain to maintain. If you are new to neovim, I would recommend borrowing more from `nvim-vimscript` which is a ~100 LOC vimscript config that is much simpler and does 95% of what the other config does. ### Emacs I love [[https://www.gnu.org/software/emacs/][emacs]] as well. My configuration is a literate `org` file that gets tangled into `init.el`. As far as Emacs configurations go, it's pretty clean, but still is a several hundred line mess. ## Compositors I'm on Wayland now, and use either [[https://swaywm.org/][sway]] or [[https://codeberg.org/river/river][river]] depending on how I'm feeling, and have configurations for both. I generally use [[https://github.com/Alexays/Waybar][waybar]] for sway and [[https://codeberg.org/dnkl/yambar][yambar]] for river for no particular reason. All the other configs (swaylock, fuzzel, etc.) are compositor agnostic. Note, in both my sway and river configs I swap meta and left-alt. That's just a habit from starting on [[https://dwm.suckless.org/][dwm]], whose default mod key is alt. You may want to change that. ## Keyd Since I use vim and emacs, I like to map caps lock to act as control when held and escape when tapped. I use a simple [[https://github.com/rvaiya/keyd][keyd]] config for this. However, note that `keyd/default.conf` should be copied to `/etc/keyd/` and the `keyd` service should be enabled and started. If `keyd` isn't in your distro's repos, it is very easy to build and install from source. Otherwise, [[https://gitlab.com/interception/linux/plugins/caps2esc][caps2esc]] probably is and is likewise pretty simple to get set up.