From e8aa6c812fee0a9844b11c5396ad7b790c055ad3084c6083a562ed06b15e0a13 Mon Sep 17 00:00:00 2001 From: Mikkel Harboe Arp Henriksen Date: Fri, 13 Jun 2025 17:57:26 +0000 Subject: [PATCH 1/5] Opdaterede README.md --- README.md | 180 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 178 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5f7e0d3..4b777e4 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,179 @@ -# 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. -Opsætning af mine workstations med Arch linux og hyprland window manager \ No newline at end of file +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. + +!http://googleusercontent.com/image_generation_content/1 + +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 +Opsæt Ansible Vault adgangskode. +Playbook'en bruger Ansible Vault. Du skal levere adgangskoden via en environment variabel. + +Bash + +export ANSIBLE_VAULT_PASSWORD="din-hemmelige-vault-adgangskode" +Kør scriptet med sudo -E. +-E flaget er vigtigt for at bevare den environment variabel, du lige har sat. + +Bash + +sudo -E ./pull.sh +Læn dig tilbage. +Scriptet vil nu køre og installere alt. Dette kan tage 5-15 minutter. + +Genstart. +Når scriptet er færdigt, genstart systemet. + +Bash + +reboot +Log ind som din bruger, skriv Hyprland i terminalen, og dit Stargate: Atlantis skrivebord er 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. \ No newline at end of file From 2e3bf7607f0c1df08cc48e1186a22c6e7f2142f249e5fd5b48d164e4887d161a Mon Sep 17 00:00:00 2001 From: Mikkel Harboe Arp Henriksen Date: Fri, 13 Jun 2025 18:10:48 +0000 Subject: [PATCH 2/5] Update README.md --- README.md | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 4b777e4..b88c601 100644 --- a/README.md +++ b/README.md @@ -138,17 +138,9 @@ Bash chmod +x pull.sh Opsæt Ansible Vault adgangskode. -Playbook'en bruger Ansible Vault. Du skal levere adgangskoden via en environment variabel. +Playbook'en bruger Ansible Vault. Du skal levere adgangskoden via terminalen. -Bash - -export ANSIBLE_VAULT_PASSWORD="din-hemmelige-vault-adgangskode" -Kør scriptet med sudo -E. --E flaget er vigtigt for at bevare den environment variabel, du lige har sat. - -Bash - -sudo -E ./pull.sh +sudo ./pull.sh Læn dig tilbage. Scriptet vil nu køre og installere alt. Dette kan tage 5-15 minutter. From fde124b8da53be2240105bb267f3037d6cf31eab427cec34f7e142bb3d717d4c Mon Sep 17 00:00:00 2001 From: Mikkel Harboe Arp Henriksen Date: Fri, 13 Jun 2025 18:29:58 +0000 Subject: [PATCH 3/5] Update README.md --- README.md | 87 +++++++++++++++++++++++++++++++------------------------ 1 file changed, 49 insertions(+), 38 deletions(-) diff --git a/README.md b/README.md index b88c601..7cb02fb 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,9 @@ 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. - !http://googleusercontent.com/image_generation_content/1 - Kernekomponenter Denne playbook installerer og konfigurerer følgende: - Window Manager: Hyprland (en dynamisk tiling Wayland compositor) Terminal: Kitty Statuslinje: Waybar @@ -18,7 +14,6 @@ Tema: Et Stargate: Atlantis-inspireret tema med specifikke farver, fonte og bagg 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. @@ -26,7 +21,6 @@ Opret et bootbart USB-drev med et værktøj som Rufus eller Etcher. Start computeren fra dit USB-drev. Forbind til Wi-Fi med iwctl: Bash - # Start iwctl iwctl # Find din enhed (f.eks. wlan0) @@ -41,6 +35,8 @@ 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: @@ -48,36 +44,42 @@ 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. @@ -85,17 +87,18 @@ 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 @@ -104,68 +107,76 @@ passwd din-bruger 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! + +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 -Opsæt Ansible Vault adgangskode. -Playbook'en bruger Ansible Vault. Du skal levere adgangskoden via terminalen. -sudo ./pull.sh -Læn dig tilbage. -Scriptet vil nu køre og installere alt. Dette kan tage 5-15 minutter. - -Genstart. -Når scriptet er færdigt, genstart systemet. +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 klar! + +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. \ No newline at end of file +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/ From 4c93174a964c85282749321d14f016e9b919028f17560d68b496cd1fd46c684e Mon Sep 17 00:00:00 2001 From: Mikkel Harboe Arp Henriksen Date: Fri, 13 Jun 2025 18:30:52 +0000 Subject: [PATCH 4/5] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7cb02fb..77eff96 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ 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. -!http://googleusercontent.com/image_generation_content/1 + Kernekomponenter Denne playbook installerer og konfigurerer følgende: Window Manager: Hyprland (en dynamisk tiling Wayland compositor) From 92da54bf4dcba903f850e8ca17201c003f4015e906db1fc61e474d22cb69553e Mon Sep 17 00:00:00 2001 From: Mikkel Harboe Arp Henriksen Date: Fri, 13 Jun 2025 18:36:10 +0000 Subject: [PATCH 5/5] Add LICENSE --- LICENSE | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..2920616 --- /dev/null +++ b/LICENSE @@ -0,0 +1,7 @@ +Copyright (c) + +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. \ No newline at end of file