Dotfiles/docs/md/modules.md

8.5 KiB

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

Virtualisation & Remote Desktop

ID Packages Description
qemu qemu-full · libvirt · virt-manager · virt-viewer · dnsmasq · bridge-utils · edk2-ovmf · swtpm · vde2 Full QEMU/KVM stack with virt-manager GUI; enables libvirtd, auto-starts default NAT network, adds user to libvirt and kvm groups
rdp-client remmina · freerdp · libvncserver Remmina remote desktop client with RDP (FreeRDP) and VNC support
lamco-rdp-server lamco-rdp-server (AUR) Native Wayland RDP server written in Rust with H.264/VA-API encoding; runs as a systemd user service

lamco-rdp-server notes:

  • Enabled as a user service: systemctl --user enable lamco-rdp-server.service
  • Start manually: systemctl --user start lamco-rdp-server
  • Optional GUI tray: lamco-rdp-server-gui
  • Requires an xdg-desktop-portal matching your compositor (-hyprland, -wlr, -gnome, -kde)

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

Media & Creative

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

Graphic Design

ID Package Description
gimp gimp GNU Image Manipulation Program
inkscape inkscape Vector graphics editor
krita krita Digital painting and illustration

Video Editing

ID Package Description
kdenlive kdenlive KDE non-linear video editor
openshot openshot Cross-platform video editor
shotcut shotcut Cross-platform video editor

Audio Production

ID Package Description
audacity audacity Multi-track audio editor
lmms lmms Linux MultiMedia Studio (music production)
ardour ardour Professional DAW
mixxx mixxx DJ mixing software
cecilia cecilia (AUR) Audio synthesis and signal processing

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