Modules Reference¶
The setup system is modular — core components are installed first, then any combination of optional apps can be added. All module scripts are idempotent (safe to re-run).
Core Modules¶
These are selected during the initial tui-install.sh run.
pkg — Package Managers¶
Installs the AUR helper, language runtimes, and build toolchains:
- yay — AUR helper (built from source via
makepkg)
- Rust / Cargo — via
rustup with the stable toolchain
- nvm — Node Version Manager; installs Node.js v22 LTS by default
core — Core Packages¶
~100 packages including:
7zip · base-devel · bluez · bluez-utils · btop · fastfetch · fdupes · ffmpeg · git · greetd-tuigreet · htop · jq · less · lynx · neovim · networkmanager · openssh · pipewire · pipewire-alsa · pipewire-pulse · ripgrep · rsync · tmux · udiskie · yazi · zram-generator
Also installs pamtester from the AUR.
svc — Core Services¶
Enables and starts these systemd units:
| Service |
Purpose |
NetworkManager |
Network connectivity |
cronie |
Cron daemon |
fail2ban |
Brute-force protection |
greetd |
Login session manager |
udisks2 |
Removable media |
Also deploys greetd-tuigreet config from the dotfiles.
shell — Shell Setup¶
- zsh with Oh My Zsh and plugins (zsh-syntax-highlighting, zsh-autosuggestions)
- Starship shell prompt
- Neovim with Vim-Plug (see Editors)
- Micro editor
- Yazi file manager
- Deploys
.bashrc, .zshrc, starship.toml, Micro config, Neovim config
Desktop Environments¶
| ID |
Name |
Notes |
hyprland |
Hyprland |
Primary DE — see Hyprland |
sway |
Sway |
Wayland tiling WM, lighter |
kde-plasma |
KDE Plasma |
Full-featured with sddm |
gnome |
GNOME |
Modern Wayland DE with gdm |
cosmic |
COSMIC |
Rust-based DE from System76 |
xfce |
XFCE |
Lightweight X11 with lightdm |
lxqt |
LXQt |
Lightweight Qt X11 with sddm |
Optional Applications¶
Install via tui-install.sh at first install, or add later:
bash ~/Dotfiles/setup/install-modules.sh
AI & Machine Learning¶
| ID |
Package |
Description |
ollama |
ollama |
Local LLM runner with REST API server |
llama-cpp |
llama.cpp |
Standalone inference CLI + server |
open-webui |
open-webui |
Browser UI for Ollama / OpenAI-compatible backends |
claude |
claude (npm) |
Anthropic Claude Code CLI |
Networking & Security¶
| ID |
Packages |
Description |
networking-cli |
nmap · nethogs · mitmproxy · httpie |
Network analysis and HTTP tooling |
disk-recovery |
ddrescue · f3 |
Disk imaging and flash drive testing |
ssh-server |
openssh |
SSH daemon with key-auth enforcement |
wireshark |
wireshark-qt |
Packet capture and analysis GUI |
Development¶
| ID |
Packages |
Description |
python |
pyright · pipx · pynvim |
Python LSP, isolated tool runner, Neovim integration |
docker |
docker · docker-compose |
Container runtime |
podman |
podman · buildah · podman-compose |
Rootless containers |
cockpit |
cockpit · machines · podman |
Web-based system management UI |
k8s |
kubectl · podman-desktop |
Kubernetes CLI and desktop client |
db-clients |
pgcli · mycli |
Enhanced interactive database CLIs |
mysql |
mariadb |
MariaDB server with initial setup |
IDEs & Editors¶
| ID |
Package |
Description |
vscodium |
vscodium-bin (AUR) |
VS Code without telemetry |
zed-ide |
zed |
High-performance Rust IDE |
geany |
geany · geany-plugins |
Lightweight IDE |
codeblocks |
codeblocks |
C/C++ IDE |
kate |
kate |
KDE advanced text editor |
Browsers¶
| ID |
Package |
Description |
chromium |
chromium |
Open-source Chromium |
firefox-browser |
firefox |
Mozilla Firefox |
zen-browser |
zen-browser-bin (AUR) |
Privacy-focused Firefox fork |
nyxt |
nyxt (AUR) |
Keyboard-driven, hackable browser |
librewolf |
librewolf-bin (AUR) |
Hardened Firefox fork |
min-browser |
min (AUR) |
Minimal Electron browser |
Gaming¶
| ID |
Package |
Description |
steam |
steam |
Steam gaming platform |
vesktop |
vesktop (AUR) |
Discord client with Vencord built-in |
spotify |
spotify (AUR) + spicetify |
Music player with CyberQueer theme |
prism |
prismlauncher (Flatpak) |
Minecraft launcher |
vintagestory |
vintagestory (AUR) |
Survival / voxel game |
| ID |
Packages |
Description |
ffmpeg |
gst-plugin-pipewire · gst-plugins-good · ffmpegthumbnailer |
GStreamer codecs + thumbnailer |
sox |
sox |
Command-line audio processing |
imagemagick |
imagemagick |
Image manipulation suite |
yt-dlp |
yt-dlp |
YouTube / media downloader |
blender |
blender |
3D creation suite |
gnuplot |
gnuplot |
Scientific plotting |
povray |
povray |
Ray-tracing renderer |
Productivity¶
| ID |
Packages |
Description |
productivity |
taskwarrior · watson · jrnl |
Task management, time tracking, journaling |
himalaya |
himalaya (AUR) |
Terminal email client |
toot |
toot (AUR) |
Mastodon CLI client |
System Utilities¶
| ID |
Packages |
Description |
tlp |
tlp · tlp-rdw |
Laptop battery optimisation |
zfs |
zfs-dkms |
ZFS kernel module |
wprs |
wprs-git (AUR) |
Wayland proxy for remote sessions |
butter |
butter (AUR) |
Btrfs snapshot backup manager |
localsend |
localsend (AUR) |
LAN file transfer (AirDrop-like) |
croc |
croc |
Cross-platform encrypted file transfer |
localtunnel |
localtunnel (npm) |
Expose localhost over a public URL |
onlyoffice |
onlyoffice-bin (AUR) |
Office suite (Docs, Sheets, Slides) |
Identity & Infrastructure¶
| ID |
Description |
freeipa-client |
sssd + ipa-client-install + auto-enrollment (see FreeIPA) |
freeipa-server |
Interactive FreeIPA server setup + client generator |
freeipa-image |
OCI / LXC / Proxmox LXC image builder + Keycloak |
Container Shell Setups¶
Scripts in setup/Setup-shell-4-containers/ configure a minimal shell environment inside containers or chroots for each major distribution:
| Script |
Target |
alpine.sh |
Alpine Linux |
arch.sh |
Arch Linux |
debian.sh |
Debian |
fedora.sh |
Fedora |
suse.sh |
openSUSE |
ubuntu.sh |
Ubuntu |
void.sh |
Void Linux |
other.sh |
Generic fallback |