Compare commits
7 Commits
41f25e2231
...
ad3b187150
| Author | SHA256 | Date | |
|---|---|---|---|
| ad3b187150 | |||
| 3b239476f9 | |||
| 92da54bf4d | |||
| 4c93174a96 | |||
| fde124b8da | |||
| 2e3bf7607f | |||
| e8aa6c812f |
7
LICENSE
Normal file
7
LICENSE
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
Copyright (c) <year> <copyright holders>
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
183
README.md
183
README.md
@@ -1,3 +1,182 @@
|
|||||||
# Workstation_Arch_Hyprland
|
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.
|
||||||
|
|
||||||
Opsætning af mine workstations med Arch linux og hyprland window manager
|
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/
|
||||||
|
|||||||
Reference in New Issue
Block a user