This role will setup sway and everything needed for a good user experience (IMHO). Current supported themes are:
- Win95
- Gruvbox
Note: I don't use the default keybindings for Sway, check out the reference card to see what keybindings I use. 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-sway-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-sway-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 sway 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: Sway
- Bar: Waybar
- Terminal: Alacritty
- Hotkey daemon: SWHKD
- Lockscreen: swaylock
- Application launcher: bemenu
- Application menu generator: j4-dmenu-desktop
- Notification daemon: dunst
- Login manager: emptty
- Logout menu: wlogout
- track_prev_focus script: Sway implement window back and forth
- Battery notification daemon: batsignal
- GUI for configuring displays: wdisplays
- Tool for selecting Wifi networks: Networkmanager-dmenu
+ many more.
- Sway theme: Modified version of base16-windows-scheme
- GTK theme: Chicago95
- Alacritty theme: Hyper from alacritty-theme
- Waybar theme: Modified version of Waybar Win95
- Wallpaper: Green and brown plant on brown woven basket by Toa Hefitba
- emptty: Custom with ASCII art from Ascii Art Dictionary
- Lockscreen: Background image from the Win95 setup
- wlogout: Custom
- Grub theme: GRUB Windows 95 Theme
- Plymouth theme: Plymouth RetroTux Theme from Chicago95
- Sway theme: Modified version of Gruvbox material colorscheme for i3wm
- GTK theme: Gruvbox-GTK-Theme
- Alacritty theme: Gruvbox material from alacritty-theme
- Waybar theme: Modified version of gruvy gruvbox
- Wallpaper: forest-3
- emptty: Custom with ASCII art from Ascii Art Dictionary
- 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 |