# Dotfiles My personal dotfiles for River/Sway on Arch Linux. They are designed to be used with [gnu stow](https://www.gnu.org/software/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 These are my configs that are most easily stealable. I have several more configs in this repo that you are absolutely welcome to steal or look through, but these are the most transferrable to other systems. ## Shell I use [fish](https://fishshell.com/) together with [starship](https://starship.rs). It's basic, but gets the job done. ## Editors ### Neovim I love [neovim](https://neovim.io), but it's a pain to configure. My config is a ~570 LOC lua monstrosity that works wonderfully for me but is kind of incomprehensible. If you are new to neovim, I would recommend checking out projects like [lunarvim](https://www.lunarvim.org/) or [nvchad](https://nvchad.com/), as they are much easier to set up, and probably better suited for your use case than my config. ### Emacs I love [emacs](https://www.gnu.org/software/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 mostly use [river](https://codeberg.org/river/river), though I do have a config for [sway](https://swaywm.org/) set up. To help keep the configs separate, I use [waybar](https://github.com/Alexays/Waybar) for sway and [yambar](https://codeberg.org/dnkl/yambar) for river. 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 [dwm](https://dwm.suckless.org/), whose default mod key is alt. You may want to change that, as it interferes pretty heavily in keybindings from other apps. ## 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 [keyd](https://github.com/rvaiya/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, [caps2esc](https://gitlab.com/interception/linux/plugins/caps2esc) probably is and is likewise pretty simple to get set up.