183 lines
5.3 KiB
Markdown
183 lines
5.3 KiB
Markdown
Arch Linux + Hyprland :: Stargate Atlantis Edition
|
|
En Ansible playbook til fuldautomatisk opsætning af en Arch Linux desktop med Hyprland, stylet med et Stargate: Atlantis tema.
|
|
Playbook'en bruger en ansible-pull tilgang, hvilket betyder, at du kan køre et enkelt script på en ny-installeret Arch-maskine for at udrulle hele skrivebordsmiljøet.
|
|
|
|
Kernekomponenter
|
|
Denne playbook installerer og konfigurerer følgende:
|
|
Window Manager: Hyprland (en dynamisk tiling Wayland compositor)
|
|
Terminal: Kitty
|
|
Statuslinje: Waybar
|
|
Applikations-starter: Wofi
|
|
Notifikationer: Mako
|
|
Firewall: UFW (med en simpel, sikker standard)
|
|
Tema: Et Stargate: Atlantis-inspireret tema med specifikke farver, fonte og baggrundsbillede.
|
|
Automatisering: Hele processen drives af et ansible-pull script.
|
|
Trin 0: Installation af Arch Linux Basis System
|
|
Dette er en forkortet guide. For en komplet og mere detaljeret vejledning, se den officielle Arch Wiki Installation Guide.
|
|
1. Forberedelse
|
|
Download den seneste Arch Linux ISO fra den officielle hjemmeside.
|
|
Opret et bootbart USB-drev med et værktøj som Rufus eller Etcher.
|
|
2. Start og Internetforbindelse
|
|
Start computeren fra dit USB-drev.
|
|
Forbind til Wi-Fi med iwctl:
|
|
Bash
|
|
# Start iwctl
|
|
iwctl
|
|
# Find din enhed (f.eks. wlan0)
|
|
[iwd]# device list
|
|
# Scan efter netværk
|
|
[iwd]# station wlan0 scan
|
|
# Se netværk
|
|
[iwd]# station wlan0 get-networks
|
|
# Forbind (erstat "SSID" med dit netværksnavn)
|
|
[iwd]# station wlan0 connect "SSID"
|
|
# Afslut iwctl
|
|
[iwd]# exit
|
|
# Test forbindelsen
|
|
ping archlinux.org
|
|
|
|
|
|
3. Partitionering og Formatering
|
|
Identificer din harddisk med lsblk.
|
|
Brug fdisk /dev/sdx eller cfdisk /dev/sdx til at oprette mindst to partitioner:
|
|
En EFI System Partition (ca. 512MB, type EFI System).
|
|
En Root partition (resten af pladsen, type Linux root (x86-64)).
|
|
Formater partitionerne:
|
|
Bash
|
|
# Erstat sdx1 med din EFI-partition
|
|
mkfs.fat -F32 /dev/sdx1
|
|
# Erstat sdx2 med din root-partition
|
|
mkfs.ext4 /dev/sdx2
|
|
|
|
|
|
Monter partitionerne:
|
|
Bash
|
|
mount /dev/sdx2 /mnt
|
|
mkdir /mnt/boot
|
|
mount /dev/sdx1 /mnt/boot
|
|
|
|
|
|
4. Kerneinstallation
|
|
Installer basissystemet samt nødvendige værktøjer med pacstrap:
|
|
Bash
|
|
pacstrap /mnt base linux linux-firmware networkmanager sudo git
|
|
|
|
|
|
5. Systemkonfiguration
|
|
Generer fstab-filen:
|
|
Bash
|
|
genfstab -U /mnt >> /mnt/etc/fstab
|
|
|
|
|
|
Gå ind i dit nye system med arch-chroot:
|
|
Bash
|
|
arch-chroot /mnt
|
|
|
|
|
|
Sæt tidszone (eksempel for Danmark):
|
|
Bash
|
|
ln -sf /usr/share/zoneinfo/Europe/Copenhagen /etc/localtime
|
|
hwclock --systohc
|
|
|
|
|
|
Konfigurer sprog (locale):
|
|
Åbn /etc/locale.gen og fjern # foran en_US.UTF-8 UTF-8 og da_DK.UTF-8 UTF-8.
|
|
Kør locale-gen.
|
|
Opret locale.conf: echo "LANG=en_US.UTF-8" > /etc/locale.conf
|
|
Sæt værtsnavn: echo "dit-hostname" > /etc/hostname
|
|
Sæt root-adgangskode: passwd
|
|
6. Bootloader (GRUB)
|
|
|
|
Bash
|
|
|
|
|
|
pacman -S grub efibootmgr
|
|
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
|
|
grub-mkconfig -o /boot/grub/grub.cfg
|
|
|
|
|
|
7. Opret Bruger og Sudo
|
|
Vigtigt: Denne bruger er den, din Ansible playbook vil konfigurere.
|
|
Bash
|
|
# Opret brugeren og tilføj til 'wheel'-gruppen
|
|
useradd -m -G wheel din-bruger
|
|
# Sæt adgangskode for din nye bruger
|
|
passwd din-bruger
|
|
# Tillad 'wheel'-gruppen at bruge sudo
|
|
pacman -S sudo
|
|
EDITOR=nano visudo
|
|
# Find linjen `%wheel ALL=(ALL:ALL) ALL` og fjern `#` foran den. Gem og afslut.
|
|
|
|
|
|
8. Netværk
|
|
Aktiver NetworkManager, så du har internet efter genstart:
|
|
Bash
|
|
systemctl enable NetworkManager
|
|
|
|
|
|
9. Afslut og Genstart
|
|
|
|
Bash
|
|
|
|
|
|
exit # Forlad chroot
|
|
umount -R /mnt
|
|
reboot # Husk at fjerne USB-drevet
|
|
|
|
|
|
Dit basissystem er nu klar!
|
|
Trin 1: Installation med Ansible
|
|
Efter genstart, log ind som den bruger du lige har oprettet. Følg disse trin for at udrulle skrivebordsmiljøet.
|
|
Giv dig selv root-privilegier.
|
|
Bash
|
|
sudo su
|
|
|
|
|
|
Download installationsscriptet.
|
|
Bash
|
|
curl -O https://raw.githubusercontent.com/dit-brugernavn/dit-repo/main/pull.sh
|
|
|
|
(Husk at erstatte med din egen repository-URL)
|
|
Gør scriptet kørbart.
|
|
Bash
|
|
chmod +x pull.sh
|
|
|
|
|
|
Kør scriptet.
|
|
Bash
|
|
sudo ./pull.sh
|
|
|
|
|
|
Indtast Vault Adgangskode.
|
|
Under kørslen vil scriptet stoppe op og bede dig om din Ansible Vault adgangskode. Indtast den i terminalen for at fortsætte.
|
|
Vault password:
|
|
|
|
|
|
Læn dig tilbage.
|
|
Efter du har indtastet adgangskoden, vil scriptet køre færdigt og installere alt. Dette kan tage 5-15 minutter.
|
|
Genstart.
|
|
Når scriptet melder, at det er færdigt, genstart systemet.
|
|
Bash
|
|
reboot
|
|
|
|
|
|
Log ind som din bruger, skriv Hyprland i terminalen, og dit Stargate: Atlantis skrivebord er nu klar!
|
|
Konfiguration & Tilpasning
|
|
Du kan nemt tilpasse denne opsætning til dine egne behov.
|
|
Brugernavn
|
|
Brugernavnet er krypteret i local.yml. For at ændre det skal du bruge ansible-vault.
|
|
Først skal du dekryptere den eksisterende variabel for at se formatet eller blot oprette en ny.
|
|
Krypter dit nye brugernavn med følgende kommando og erstat den krypterede streng i local.yml:
|
|
Bash
|
|
ansible-vault encrypt_string 'nyt-brugernavn' --name 'vault_username'
|
|
|
|
|
|
Tema og indstillinger
|
|
Programindstillinger: Rediger filerne i templates/-mappen (kitty.conf.j2, waybar-config.j2 osv.) for at ændre udseendet.
|
|
Baggrundsbillede og fonte: Udskift filerne i files/-mappen.
|
|
Installerede pakker: Tilføj eller fjern pakker fra listen i local.yml under opgaven PAKKER :: Installer alle nødvendige pakker....
|
|
Licens
|
|
Dette projekt er licenseret under MIT Licensen. Se LICENSE-filen for yderligere detaljer.
|
|
Sources
|
|
1. https://orcuslc.github.io/dev/2018/09/14/Install-Arch-Linux/
|