3.4 KiB
Daniel's Dotfiles
My personal Linux dotfiles.
I use Arch btw.
The root of this repo is equivalent to my $HOME
directory.
This Repository
I use this repository to sync and backup my dotfiles. I use the excellent [yadm] to manage the repo, and autoyadm to automate committing & pushing on a timer.
Therefore, these configs are:
- Always up to date.
- But potentially broken on any given commit (due to incomplete configs being pushed).
If you see a file with a weird name, like config##hostname.dbox
, it's
leveraging yadm
's alternate files feature; the program will automatically
symlink the appropriate file to its destination depending on what comes after
the ##
. This is also how templates are handled (see niri)
for an example of this.
Note On Keybindings
I use Colemak-DH, which is a non-qwerty keyboard layout. Because I came up using
Vim, I'm used to hjkl
for movement. However, on this layout, mnei
occupies
the hjkl
position. Thus, in most applications, I change the bindings so
they're more comfortable for me to use. Please keep this in mind when copying my
configs.
Configuration Notes
Fish
Fish is my shell of choice. It provides unparalleled interactive UX OOTB, and is a joy to configure and extend. The Fish programming language is also a joy to use.
Kakoune
I've been configuring and enjoying Kakoune as my text editor lately. It's highly personalized, so I don't recommend copying it, but feel free to peruse for inspiration.
Helix
I used Helix for quite a few months. I had implemented some cool functionality using calls to external scripts; these may be of interest to you.
Niri
I use Niri as my Window manager. I've written quite a few custom scripts that work with Niri; you'll find references to them in the configuration, and the code for most is available in my utils collection.
Foot
Foot is my terminal of choice. Not much to say here, since it's pretty light.
Fuzzel
I use fuzzel as my GUI picker. The config is pretty light, but I invoke fuzzel
in a lot of other scripts.
gomi
The excellent gomi
is aliased to rm
in my shell config.
lazygit
My Git workflow involves a mix of raw git commands and liberal use of the lazygit TUI. It's a lovely tool and I highly recommend checking it out.
aerc
This is a TUI email client. Not every necessary aspect is in this repository, namely the scripts used to authenticate with my providers, for obvious reasons.
Waybar
Like most Wayland users, Waybar is my... bar. My setup may seem a bit visually unusual due to there being both a top and bottom bar, but it works for me. I've written a couple of custom modules that provide better integration with Niri.
senpai
I use Senpai as a TUI IRC client. I'm not much of an IRC fiend, so I was drawn to Senpai because it works well OOTB without needing much configuration. It covers my needs perfectly.
Starship
My favourite shell prompt. Super fast and highly configurable.