I3 Auto-Generate Keybindings, and Post OS Installation Setup

A dual purpose repo to A) augmenent i3wm integration in Qubes; and B) automate my personal setup after a fresh Qubes installation

i3wm

Qubes + i3wm is a powerful combo, as daily driving with xfce GUI or the terminal can be cumbersome when VM count grows. Hot-key workflow is a huge boost. However, I found the d-menu cumbersome with 40+ qubes, and wanted keybindings for operations common to most VMs: start ; shutdown ; terminal ; file manager ; libreoffice ; browser ; screenshot ; launch dispvm. Just those 8 commands * 40 VMs = 320 keybindings

So I wrote a script to generate keybindings with a simple config file. List the VM with the commands it should have, and run i3gen.sh to automatically generate a supplemental i3 config.

Post Install Qubes-OS Configs

Whether newb or vet, there’s there’s a list of items to configure post install. The repo is my personal list along with handy terminal commands; and recently I automated this list with a single script that:

  • installs i3 to dom0 (if not already installed)
  • transfers my i3wm scripts and sample config files to dom0
  • in the templates: copies ~/.bashrc to /root for color coded terminal
  • creates named_disposable qubes: Dispvm1 ~ Disvpm4 and TorDVM
  • creates a new template called fed-40-full , adds repos , installs programs
        - rpmfusion-free and nonfree
        - librewolf and ungoogled-chromium repos
        - Installs: libreoffice librewolf ungoogled-chromium transmission git

Important security note: You should always be careful about transferring files to dom0, and especially executing them. The scripts are straightforward and well commented, but never hurts to review it yourself.

Hope some of you find my repo useful!

1 Like