- Shell 83.1%
- Lua 14.1%
- CSS 2.8%
| dunst/.config/dunst | ||
| emacs/.config/emacs | ||
| fish/.config/fish | ||
| foot/.config/foot | ||
| git/.config/git | ||
| gtk/.config | ||
| keyd | ||
| mako/.config/mako | ||
| mango/.config | ||
| mpd/.config | ||
| niri/.config/niri | ||
| nvim/.config/nvim | ||
| pianobar/.config/pianobar | ||
| river-classic/.config/river | ||
| screenshots | ||
| scripts/.local/bin | ||
| sioyek/.config/sioyek | ||
| ssh/.ssh | ||
| starship/.config | ||
| sway/.config | ||
| swayimg/.config/swayimg | ||
| swaylock/.config/swaylock | ||
| tmux/.config/tmux | ||
| wob/.config/wob | ||
| zathura/.config/zathura | ||
| zsh | ||
| .gitignore | ||
| .stow-local-ignore | ||
| LICENSE | ||
| README.org | ||
William's Dotfiles
Dotfiles
My personal dotfiles on Gentoo. These are designed to be used with gnu stow and are quite modular. I don't use all these configs at once. For instance, I keep configs around for river-classic, mangowm, sway, and niri since I like to try out loads of different compositors, but genenrally will only have one symlinked at a time. I'm currently using mangowm, but that is very likely to change.
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 use just my neovim configuration, you could run stow nvim, assuming this repo is located in your home directory, and my neovim configuration will automatically be symlinked to ~/.config/nvim.
Screenshots



Some Software I run
Terminal
Foot
I use foot as my terminal of choice, mostly because I like having a terminal and client. It makes launching the terminal practically instantaneous, and I don't really need any fancy multiplexing capabilities. I've also used and enjoyed alacritty, kitty, wezterm and st in the past and think they are all excellent terminals.
Editors
Neovim
I absolutely love neovim, though it is a pain to configure. My config is fairly clean as far as neovim configs go, but probably isn't a very good fit for your use case. I would recommend checking out projects like lunarvim, nvchad, or LazyVim to get started, or borrowing how my config is structured but changing the actual details.
Emacs
I love both emacs and vim, but use them for different purposes. In terms of editing experience, my extremely customized neovim is absolutely perfect for me, but there are some things that emacs can do that is just impossible to replicate in neovim. Emacs is fantastic for org-mode and writing LaTeX, though I usually leave writing code to neovim (emacs still being fundamentally single-threaded in <current-year> hurts).
Desktop
I have configs for a bunch of compositors, though I'm currently using mangowm.
River
The first tiling window manager I used (after a brief stint with i3) was dwm, and river strikes the best balance between maturity, usability, and similarity to dwm. The tag system is strictly superior to usual workspaces in my opinion. Since version 0.4.0, river has gotten very exciting, though it's not quite usable yet. There are several exciting window managers built using river (especially reka), but none are quite mature enough yet imho.
Mangowm
I don't use 90% of the features mangowm offers and really should at this point just make a custom fork of dwl, but a really stripped-down mangowm is quite nice and does everything I need it to.
Niri
I've started messing around with niri, and I totally get the hype. I use noctalia-shell with niri, rather than my hacked together custom stack, since it goes together quite well with niri. This setup is phenomenal, but unfortunately drains my battery very quickly, even without animations.
Mako
Swaylock/Swayidle
I use swaylock and swayidle to handle my screen locking needs. I also have a couple scripts (timeout.sh and toggle_caffeine.sh in my configs), to basically enable toggling swayidle. I usually want my computer to lock automatically if I've been idle long enough, but sometimes want to be able to turn that off.
Wob
Swaybg
I use swaybg as my wallpaper setter. There are a million of these, and it doesn't really matter which you pick.
Waybar
I don't really like really elaborate and fancy status bars. Whatever status bar I'm using, I like to have workspaces on the left, time and date in the middle, and volume, wifi, and battery on the right. I don't know where I picked up this habit (I think an ancient lemonbar script of mine, but I don't really remember), but it's what I'm used to now, and is very easy to emulate in waybar.
Keyd
As a heavy emacs/vim user, remapping caps lock to esc/control is absolutely necessary, and keyd is great for this. Note that stow keyd won't work properly. Instead you should copy keyd/default.conf to /etc/keyd/ and enable the keyd service. caps2esc is also great for this purpose, but I find keyd a little easier to use. It's capable of way more than just what I use it for, and kmonad is even fancier, but keyd works great.
Zathura
Pianobar
Pianobar is one of the most underrated pieces of software ever. It's an absolutely phenomenal cli pandora client (that skips ads btw). As just a cli, it's phenomenal, but it's also very easy to build on top of. I'm not much of a hacker, but I was easily able to throw together some scripts to let me pause, skip songs, etc. from keybinds from my window manager, change the station with a dmenu style menu, and send notifications upon song changes with the album art and everything. All with a couple tiny bash scripts. If you don't want to set this up manually, there are also several pieces of software built on top of pianobar, my favorite being pithos (though pianobar.el is also a ton of fun, it just doesn't work very well for me).