- Shell 81.2%
- CSS 10.7%
- Lua 7.9%
- JavaScript 0.2%
| config | ||
| data | ||
| iso | ||
| .gitignore | ||
| createiso | ||
| LICENSE | ||
| README.md | ||
| swaying | ||
Swaying (Arch Sway Installer)
Script to install Arch Linux with Sway (AMD setup, with the option for Intel setup).
Keep in mind, these scripts are meant to work for my hardware setups. Also the configuration is tailored to my liking. I don't take any responsibility if the script does harm to your system.
Follow this link to take a look inside the installer script and see how everything works.
How To Install
Download the arch iso and boot into the live environment.
Git usually is not installed inside the live iso, so you have to install it manually before downloading and starting the installer script from this repo. Also consider updating the mirror package list and archlinux-keyring first.
The following commands will start the TUI installer for swaying.
pacman --needed --noconfirm -Sy archlinux-keyring
pacman --needed --noconfirm -S git
git clone https://codeberg.org/i0f/swaying
cd swaying
./swaying
The installer features a TUI using the dialog package.
Custom ISO
If you want to create the iso provided by this repo, change into the swaying
directory, while inside a existing arch installation, and run the
script createiso. If you boot the iso, you can simply use the command
swaying-installer to start the installer. If no internet access is
available you have the option to connect to WLAN.
The swaying iso also features the commands mount-swaying and umount-swaying that
mount and unmount everything according to the install script.
Packages
This Sway flavour uses the following packages (just naming the "important" ones) with my custom config (some are optional):
- sway - An i3-compatible Wayland compositor (optional)
- greetd - is used as the login manager with tuigreet as a console greeter
- pipewire - Low-latency audio/video router and processor
- waybar - Highly customizable Wayland bar for Sway
- rofi - A window switcher, Application launcher and dmenu replacement
- foot - Fast, lightweight, and minimalistic Wayland terminal emulator
- mpv - a free, open source, and cross-platform media player
- firefox - Internet browser
- neovim - Vim-based text editor with lazyvim (lazyvim is optional)
- fish - Shell (optional, interactive shell when using sway and foot terminal)
- rust - install latest stable rust via rustup and add rust-analyzer (optional)
- paru - feature packed AUR helper (optional)
- mpd - complete mpd, ncmpcpp, mpc, waybar and sway hotkey setup (optional)
Installer options
Partitioning
This installer does use a fixed partition scheme:
- 2GB EFI (boot)
- 8GB swap
- remaining drive space for root (ext4)
Base options
- user name
- user password
- root password
- install drive (sda, nvme0n1, ...)
- hostname
- language
- locale
- timezone
- keymap
- git user
- git email
General options
- paru - feature packed AUR helper
- ucode - amd-ucode or intel-ucode
- multilib - enable multilib in pacman.conf
- fstrim - enable fstrim for SSD
- paccache - enable paccache.timer
- fish - install/enable fish
- lazyvim - install neovim with lazyvim
- rust - install latest rust with rust-analyzer
- minfirmware - only install linux-firmware-amdgpu and linux-firmware-realtek
Sway options
If you deselected sway, the installer will create a basic arch system containing the settings from base options and general options.
- sway - install sway with the config files inside this repo
- mpd - install mpd (ncmpcpp, waybar and sway hotkeys included)
- vulkan - install vulkan-intel or vulkan-radeon for sway vulkan support
Encrypt root
Encrypt the root directory according to the arch wiki. Just provide a password.
Plymouth will be installed for a nicer looking password screen at boot.
Additional packages
Define additional packages that you want pacman to install. Keep in mind AUR packages won't be found and some packages (like steam for example) need multilib enabled!
Sway config
View sway config for hotkeys.
XWayland is disabled by default. Look into this file, if you want to change that.

