My stuff.
- GUI:
- i3wm
- primarily using the tabbed layout
- makeshift title bar icons for common apps (before it became a built-in feature)
- hassle-free keyboard layout switching using i3 modes, triggered via
$mod+Shift+Escape
- polybar
- feh
- Wallpapers are chosen randomly from
${HOME}/Pictures/Wallpapers/
- Wallpapers are chosen randomly from
- picom
- redshift, which keeps breaking for some reason
- custom screen brightness controls:
- minimum brightness goes as low as the hardware permits
- brightness steps are exponential, for greater control over the low brightness region
- can control laptop backlight (via ACPI) and external screens (via DDC/CI)
- can specify screen luminance to make sure effective luminance is homogenous in multi-screen setups
- tailscale polybar integration and rofi menu
- rofimoji emoji picker
- i3wm
- CLI:
zsh
with- powerlevel10k, lean style
- zsh-autosuggestions
- zsh-bd
- Deployment is automated through Ansible (with exceptions).
- To support multiple devices, there are device-specific tweaks that are also deployed automatically: setup.sh puts
/var/lib/dbus/machine-id
into an env var that Ansible picks up to trigger device-specific tasks and config file inclusions.
Steps:
- Have Debian/Ubuntu/Mint or Arch/Manjaro, and xfce4 desktop environment
- Run:
git clone https://github.com/mbugert/dotfiles ~/dotfiles cd ~/dotfiles ./setup.sh
- Things like VSCodium, MiKTeX, and Synology Drive need to be set up manually. There are Ansible tasks that print reminders for doing that.
- setup:
- only change/check login shell if necessary
- install all xfce4 desktop utilities
- more in-depth tests on Arch/Manjaro
Obscure things I need to document for myself.
By default, if one has VSCodium/VSCode instances open on multiple i3 workspaces and opens a file through thunar, the last VSCodium instance which received focus will open the file, not an instance on the same workspace. This way, files tend to open off-screen for no good reason. Video demonstration here.
This is fixed here by modifying the VSCodium .desktop entry by wrapping it with a script which tries to focus a VSCodium instance on the current workspace before opening a file.
When in a full-screen remote desktop session where the local and remote system use the same i3 config, control over the local system is lost because the remote system eats all i3 $mod+...
commands.
To resolve this, I like to use the menu key (the one between Alt Gr and right Ctrl) as an alternative mod key for i3. This key cannot be mapped in i3 out of the box (at least when I tried) so a custom keyboard layout definition is necessary, see X11/usr/share/X11/xkb/symbols/mb.
References:
- Creating a custom keyboard layout: https://gist.github.com/nh2/ff15f412881f35ab7730
- More information on
xkb
configuration (very helpful): https://www.charvolant.org/doug/xkb/html/node5.html
- exponential screen brightness: Konrad Strack
- using i3 modes for switching keyboard layouts: /u/grindhawk
- title bar icons: github.com/dmelliot
- for the idea of using Ansible for deployment: github.com/elnappo