| 29 april 2023 | |
| catdeer haven - DIY Desktop Environment | |
| I have a pretty severe case of DE-Hopper-itis, and I blame my | |
| younger self discovering i3 for that. Ever since then, I again and | |
| again get fed up with having to configure everything myself in WMs | |
| like i3 (or even dwm a few years back), I switch to a DE like xfce | |
| or gnome so things "just work", I miss the workflow of a tiling | |
| window manager, repeat. | |
| I've tried to fix that by stuffing all of my configs into a | |
| dotfiles repo, but that wasn't enough. I wanted to automatically | |
| install dependencies and configs. So, this time, I've decided to | |
| write my own Arch PKGBUILD package. I have no plans to upload it to | |
| the AUR or port it to any other package managers, as it's a very | |
| simple package and I don't expect anyone else to use it. | |
| It's available [on my gitea][ekkie-de] (not tildegit, as I felt | |
| that it has nothing to do with the tildeverse). It includes an | |
| xsessions .desktop file, a few config files, and, most importantly, | |
| a startup script (think, like, startxfce4). | |
| ekkie-de | |
| # Startup script | |
| This is probably the most important part. You need a good startup | |
| script in order for window managers like i3 to interface nicely | |
| with Display Managers. The very first thing ekkie-de's startup | |
| script does is setup gnome-keyring. Not because it's the best | |
| keyring, but because it's... the best SSH-Agent, at least for X11. | |
| Unlike OpenSSH's ssh-agent, gnome-keyring automatically adds all | |
| SSH-Keys it can find that also have a public key in ~/.ssh. | |
| However, it doesn't decrypt them, which means you don't need to | |
| type in all of your SSH-Key passphrases at login. When you then try | |
| to SSH to some server, the gnome-keyring will present all public | |
| keys it knows, and will only ask you to decrypt a fitting SSH-Key | |
| if it hasn't already been decrypted this session. | |
| Apart from that, the startup script will choose which config file | |
| to use for a few of ekkie-de's apps: If | |
| `$XDG_CONFIG_HOME/ekkie-db/configfile` exist, that one will be | |
| used. If it doesn't, `/etc/ekkie-db/configfile` will be used as | |
| fallback. That allows me to ship default configs that I like, while | |
| still allowing further per-user configuration. | |