# Fedora Sway workstation ## Target - Native Fedora 44 on x86_64 - Sway with SDDM, Waybar, PipeWire, printing, SSH, and NetworkManager - Faroese keyboard layout, Danish regional formats, and Atlantic/Faroe time - Foot as the terminal, opening the persistent `tmux` session - Zen as the default browser, installed from Zen's official release tarball - Development tools, formatters, and Fedora-packaged language servers from NixOS ## Run Install Ansible as the normal desktop user: ```bash sudo dnf install -y ansible git clone https://codeberg.org/bartal-lsn/fedora-provisioning.git cd fedora-provisioning ansible-playbook setup.yml -K ``` ## Desktop keys | Key | Action | |---|---| | `Super+t` | Foot attached to tmux session `main` | | `Super+b` | Zen Browser | | `Super+d` | Rofi application launcher | | `Super+q` | Close window | | `Super+h/j/k/l` | Move focus | | `Super+Shift+h/j/k/l` | Move window | | `Super+1..0` | Switch workspace | | `Super+Shift+1..0` | Move window to workspace | | `Super+f` | Toggle fullscreen | | `Super+Shift+Space` | Toggle floating | | `Super+-` | Show scratchpad | | `Super+Shift+-` | Move window to scratchpad | ## Optional behavior The main switches live near the top of `vars.yml`: - `upgrade_system`: upgrade packages before provisioning - `install_virtualization`: install Fedora's libvirt virtualization group - `install_sqlcmd`: retain the Fedora repository's existing SQL Server CLI ## Re-running The playbook is designed to be repeatable. Zen, Bun, Rust, Starship, npm tools, services, and configuration files are checked before changes are made. Zen handles browser updates itself after the initial binary installation.