117 lines
3.4 KiB
Markdown
117 lines
3.4 KiB
Markdown
<h1>Daniel's Dotfiles</h1>
|
|
|
|
My personal Linux dotfiles.
|
|
|
|
I use Arch btw.
|
|
|
|
The root of this repo is equivalent to my `$HOME` directory.
|
|
|
|
<!--toc:start-->
|
|
|
|
- [This Repository](#this-repository)
|
|
- [Note On Keybindings](#note-on-keybindings)
|
|
- [Configuration Notes](#configuration-notes)
|
|
- [Fish](#fish)
|
|
- [Kakoune](#kakoune)
|
|
- [Helix](#helix)
|
|
- [Niri](#niri)
|
|
- [Foot](#foot)
|
|
- [Fuzzel](#fuzzel)
|
|
- [gomi](#gomi)
|
|
- [lazy git](#lazygit)
|
|
- [aerc](#aerc)
|
|
- [Waybar](#waybar)
|
|
- [senpai](#senpai)
|
|
- [Starship](#starship)
|
|
|
|
<!--toc:end-->
|
|
|
|
## This Repository
|
|
|
|
I use this repository to sync and backup my dotfiles. I use the excellent [yadm]
|
|
to manage the repo, and [autoyadm](https://git.sr.ht/~ficd/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](./.config/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](https://sr.ht/~ficd/utils).
|
|
|
|
### 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.
|