This role will setup i3 and everything needed for a good user experience (IMHO). Current supported themes are:
- Win95
- Gruvbox
Note: I don't use the default keybindings for i3, also the default layout is tabbed mode in my config. I don't see the need for opening a window and not use all the space I can right away.
Make sure you have clean install of Debian or Arch. If you have a physical PC I would recommend Debian netinst for a minimal Debian install or just install ArchLinux. For a VM I would recommend a cloud image. Here are some links:
- Debian Network install from minimal CD
- Installing Arch Linux on Proxmox using cloud image
- Cloud images in Proxmox
- A Faster Way to Create Virtual Machines with Cloud Images and virt-manager (kvm)
- Quick provisioning of Linux VM using Hyper-V on Windows
- example of using Ubuntu cloud images with virtualbox
When you have a clean install you can go ahead and run the playbook.
If your install user has sudo access with nopasswd set:
ansible-playbook -i localhost --user <your user here> play-i3-bootstrap.yml
Otherwise install sshpass and run the playbook this way: (this doesn't currently work on Arch see todo)
ansible-playbook -i localhost --user <your user here> --ask-pass play-i3-bootstrap.yml
The install will prompt you for the following things:
Enter the IP address or resolvable DNS name for the machine you want to setup i3 on:
Choose system type (desktop/virtual_machine/laptop):
Choose theme (win95/gruvbox):
Choose keyboard layout, this is usually a two letter country code (see https://wiki.archlinux.org/title/Linux_console/Keyboard_configuration):
After the playbook has finished all you need to do is restart your machine and you should be greeted by the empttty login.
- WM: i3
- Bar: Polybar
- Terminal: XTerm
- Hotkey daemon: sxhkd
- Lockscreen: i3lock
- Application launcher: bemenu
- Application menu generator: j4-dmenu-desktop
- Notification daemon: dunst
- Login manager: LightDM
- Logout menu: Custom Python script based on ideas from i3 FAQ
- track_prev_focus script: i3 implement window back and forth
- Battery notification daemon: batsignal
- Tool for selecting Wifi networks: Networkmanager-dmenu
+ many more.
- i3 theme: Modified version of base16-windows-scheme
- GTK theme: Chicago95
- XTerm theme: Hyper from xresources-themes
- Polybar theme: Custom
- Wallpaper: Green and brown plant on brown woven basket by Toa Hefitba
- LightDM: Chicago95
- Lockscreen: Background image from the Win95 setup
- Grub theme: GRUB Windows 95 Theme
- Plymouth theme: Plymouth RetroTux Theme from Chicago95
- i3 theme: Modified version of Gruvbox material colorscheme for i3wm
- GTK theme: Gruvbox-GTK-Theme
- XTerm theme: Gruvbox dark from gruvbox-contrib
- Polybar theme: Custom
- Wallpaper: forest-3
- LightDM: Gruvbox-GTK-Theme
- Lockscreen: Minimalism 2
- wlogout: Cozy Grubox with GTK icons
- Grub theme: grub2-gruvbox
- Plymouth theme: Loader from adi1090x's plymouth-themes repo
Application | Issue | Workaround |
---|---|---|
yay (arch) | Cannot run yay without NOPASSWD sudo option | Use NOPASSWD sudo option |
QT6 (arch) | Some applications use QT6 now so need to add qt6ct for theming those | Install and configure qt6ct yourself |
N/A | Virtual machine option doesn't install guest tools for other than KVM hypervisor |