No description
  • Shell 83.1%
  • Lua 14.1%
  • CSS 2.8%
Find a file
2026-05-24 21:31:37 -04:00
dunst/.config/dunst back to catppuccin 2026-04-14 16:59:49 -04:00
emacs/.config/emacs the great gentoo migration 2026-05-20 17:57:15 -04:00
fish/.config/fish idk, fish just randomly does stuff like this every now and then 2026-03-30 18:44:59 -04:00
foot/.config/foot the great gentoo migration 2026-05-20 17:57:15 -04:00
git/.config/git fix ssh key in git config 2026-05-20 18:39:18 -04:00
gtk/.config Nextcloud gtk bookmark 2025-05-12 09:27:01 -07:00
keyd initial commit 2024-08-12 17:39:56 -07:00
mako/.config/mako the great gentoo migration 2026-05-20 17:57:15 -04:00
mango/.config fixed some keybindings in mango that conflict bad with emacs 2026-05-24 21:31:15 -04:00
mpd/.config setting up mpd stuff 2026-04-05 11:36:13 -04:00
niri/.config/niri the great gentoo migration 2026-05-20 17:57:15 -04:00
nvim/.config/nvim silent bindings 2026-05-20 19:26:32 -04:00
pianobar/.config/pianobar back to bemenu 2026-05-20 19:26:14 -04:00
river-classic/.config/river delete unused keyboard layout stuff 2026-05-04 08:07:10 -04:00
screenshots added screenshots to README 2026-05-20 19:26:24 -04:00
scripts/.local/bin put scripts i keep reusing in scripts module 2026-05-24 21:31:37 -04:00
sioyek/.config/sioyek back to catppuccin 2026-04-14 16:59:49 -04:00
ssh/.ssh the great gentoo migration 2026-05-20 17:57:15 -04:00
starship/.config reorganized misc 2024-09-02 21:53:58 -07:00
sway/.config the great gentoo migration 2026-05-20 17:57:15 -04:00
swayimg/.config/swayimg swayimg 2025-03-05 12:18:11 -08:00
swaylock/.config/swaylock the great gentoo migration 2026-05-20 17:57:15 -04:00
tmux/.config/tmux simplified tmux config 2026-03-29 00:46:42 -04:00
wob/.config/wob the great gentoo migration 2026-05-20 17:57:15 -04:00
zathura/.config/zathura the great gentoo migration 2026-05-20 17:57:15 -04:00
zsh hide aspell config 2026-05-24 21:31:29 -04:00
.gitignore ignore ssh stuff i don't want 2026-04-05 19:49:45 -04:00
.stow-local-ignore initial commit 2024-08-12 17:39:56 -07:00
LICENSE Initial commit 2024-08-12 17:36:15 -07:00
README.org added screenshots to README 2026-05-20 19:26:24 -04:00

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

/wball/dotfiles/media/branch/main/screenshots/empty.png

/wball/dotfiles/media/branch/main/screenshots/emacs.png

/wball/dotfiles/media/branch/main/screenshots/emerge.png

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.

Zsh

I use zsh as my shell without any frameworks like ohmyzsh or anything like that. Most of the config is just setting the path, and tweaking some environment variables to make things better for wayland or force programs to follow the XDG spec.

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

I use mako as my notification daemon of choice. I started off on X11 using dunst, but switched to mako before dunst got Wayland support, since mako's almost the same thing.

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

I use wob to show my volume and brightness when I change them. It's just a wayland version of the excellent xob.

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

My pdf viewer of choice is zathura, which is simply excellent. Configurable, uses vim keybindings, does exactly what I need it to out of the box and nothing more. I've tried to get into sioyek in the past, but never quite figured it out.

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).