No description
Find a file
2025-06-07 16:10:37 -04:00
.config AutoYADM commit: 2025-06-07 16:10:37 2025-06-07 16:10:37 -04:00
.git-crypt Add 1 git-crypt collaborator 2024-12-10 16:18:39 -05:00
.local/share/yadm AutoYADM commit: 2025-03-15 01:30:06 2025-03-15 01:30:06 -04:00
.w3m w3m config 2025-03-11 19:47:43 -04:00
.zsh AutoYADM commit: 2025-03-26 18:45:07 2025-03-26 18:45:07 -04:00
.bashrc AutoYADM commit: 2025-01-21 16:35:06 2025-01-21 16:35:06 -05:00
.dprint.jsonc AutoYADM commit: 2025-03-15 19:00:07 2025-03-15 19:00:07 -04:00
.editorconfig AutoYADM commit: 2025-06-01 15:14:18 2025-06-01 15:14:18 -04:00
.eget.toml added eget conf 2025-02-25 18:27:43 -05:00
.mbsyncrc AutoYADM commit: 2025-03-20 14:15:46 2025-03-20 14:15:46 -04:00
.notmuch-config AutoYADM commit: 2025-03-17 22:00:06 2025-03-17 22:00:06 -04:00
.zshrc AutoYADM commit: 2025-03-28 21:00:07 2025-03-28 21:00:07 -04:00
LICENSE added license 2025-05-13 20:57:48 -04:00
README.md AutoYADM commit: 2025-05-25 17:17:39 2025-05-25 17:17:39 -04:00

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.