This project is a practical, reproducible guide for:
- Installing Arch Linux using
archinstall - Bootstrapping a desktop setup with COSMIC DE components
- Keeping post-install steps scripted and versioned
docs/INSTALL.md: End-to-end install workflowdocs/COSMIC.md: COSMIC package and session setup notesscripts/postinstall-cosmic.sh: Post-install automation starterscripts/install-wizard.sh: Interactive section-by-section installer (recommended flow)scripts/install-core.sh: Core layer (kernel + core packages + microcode/GPU + boot + snapshots)scripts/setup-repos.sh: Repo layer (Chaotic-AUR + paru)scripts/install-services.sh: Service layer (system services + optional laptop extras)scripts/install-userland.sh: Userland layer (apps + dev + gaming + COSMIC)scripts/install-microcode.sh: CPU microcode installer (auto|intel|amd|both)scripts/install-gpu-drivers.sh: GPU driver installer (auto|intel|amdgpu|nvidia|nvidia-open|all-open)scripts/configure-systemd-boot.sh: Quiet boot + fallback entry generatorscripts/setup-btrfs-snapshots.sh: Snapper +snap-pacsetup for Btrfsscripts/setup-paru.sh: InstallparuAUR helperscripts/setup-system-extras.sh: Installreflector,flatpak,ufw,bluez; enable Bluetooth + TRIMscripts/setup-reflector-timer.sh: Configure and enable periodic reflector mirror refreshscripts/setup-maintenance.sh: Enable firmware updates (fwupd) + configure zramscripts/setup-ssh-hardening.sh: Apply SSH hardening with key-presence safety checksscripts/setup-chaotic-aur.sh: Configure Chaotic-AUR repositoryscripts/setup-gaming.sh: Install gaming packages (Steam/Lutris/GameMode/MangoHud)scripts/setup-dev.sh: Install Python + Rust developer baselinescripts/setup-apps.sh: Install requested desktop apps (browser/mail/editors/fonts/media/productivity)scripts/setup-cosmic.sh: Install COSMIC packages from repos/AUR when availablescripts/setup-laptop.sh: Laptop extras (fingerprint + power profile tools)
- Boot Arch ISO and connect to the internet.
- Run
archinstallwith the profile choices documented indocs/INSTALL.md. - Reboot into your new system.
- Clone this repo.
- Run
scripts/install-wizard.shas your user (with sudo available), review detected hardware profile, then answer prompts section-by-section. - In the wizard, enable COSMIC package install (or install manually after checking
pacman -Ss cosmic).
Optional preview mode:
./scripts/install-wizard.sh --dry-run./scripts/postinstall-cosmic.sh zen-lts --dry-run
- Repeatable setup process
- Minimal manual steps
- Easy to customize for your hardware and preferences
- Layered installer model:
core,repos,services,userland(ordered to satisfy dependencies) - Kernel profile
zen-lts(recommended default) - Kernel profile
mainline-zen(RC/mainline primary + zen fallback) - Kernel profile
zen-stable(zen primary + stable fallback) - Shell and terminal:
fish,ghostty(if available in enabled repos) - CLI extras:
fastfetch,starship - AUR helper:
paru - Additional repo:
chaotic-aur - Core extras:
reflector,flatpak,ufw, Bluetooth stack,fstrim.timer - Maintenance:
fwupd, zram swap profile, reflector timer automation - Security: SSH hardening profile (
PermitRootLogin no, key-first policy) - Gaming baseline: Steam, Lutris, GameMode, MangoHud, Wine
- Dev baseline: Python (
pipx,uv) and Rust (rustup, stable toolchain) - Requested apps/services:
sshd,tailscale,protonplus,topgrade,loupe,amberol,showtime,onlyoffice,zed,thunderbird,firefox,fluent-reader-bin,helix,papers,sgdboop-bin,lsfg-vk-git, Nerd Fonts,gnome-disk-utility,power-profiles-daemon - COSMIC packages install step integrated in wizard/userland layer
- Laptop setup: fingerprint stack (
fprintd) and battery profile tooling - Bootloader setup:
systemd-bootwithtimeout 0, quiet default entry, and verbose fallback entry - Snapshots:
snapper+snap-pac+ timers on Btrfs root
scripts/postflight-check.sh: checks expected commands/services/config files after install
- Wizard logs:
logs/install-wizard-YYYYMMDD-HHMMSS.log - Non-interactive logs:
logs/install-YYYYMMDD-HHMMSS.log
- If root is Btrfs and Snapper root config exists, installers create:
pre-install-wizard/post-install-wizardpre-postinstall-cosmic/post-postinstall-cosmic