committer@tuxwarrior 01bb0d19cb + proton vpn
2026-03-03 08:05:47 -05:00
2026-03-03 08:05:47 -05:00
2026-02-27 13:15:58 -05:00
2026-02-27 20:42:41 -05:00

fro's arch linux installation

step one :: usb drive preparation

$ gpg --keyserver-options auto-key-retrieve --verify archlinux-2024.04.01-x86_64.iso.sig
gpg: assuming signed data in 'archlinux-2024.04.01-x86_64.iso'
gpg: Signature made 2024-04-01T13:00:16 EST
gpg:                using EDDSA key 3E80CA1A8B89F69CBA57D98A76A5EF9054449A5C
gpg:                issuer "pierre@archlinux.org"
gpg: key 76A5EF9054449A5C: public key "Pierre Schmitz <pierre@archlinux.org>" imported
gpg: Total number processed: 1
gpg:               imported: 1
gpg: Good signature from "Pierre Schmitz <pierre@archlinux.org>" [unknown]
gpg:                 aka "Pierre Schmitz <pierre@archlinux.de>" [unknown]
gpg: WARNING: The key's User ID is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 3E80 CA1A 8B89 F69C BA57  D98A 76A5 EF90 5444 9A5C
  • install to usb
    • insert usb
    • lsblk (alt: df)
      • ➔ usb = sda
    • sudo dd bs=4M if=archlinux-2024.04.01-x86_64.iso of=/dev/sda status=progress oflag=sync
      • troubleshooting
        • error: dd: failed to open '/dev/sda': Device or resource busy
        • solution: using gparted, you can reformat the drive (from fat32) to ext4, then try again

step two :: boot from the iso

  • boot the target system using the arch iso, and prepare for a guided install
    • tuxwarrior: F2 for BIOS
    • thinkpad: F12 for boot options (F1 for BIOS)
  • select ArchLinux install medium (x86_64, x64 UEFI)
    • troubleshooting
      • grub error
        • error: you need to load the kernel first
        • error start_image() returned 0x800000000000001
        • solution
          • reinstall iso on usb
      • arch iso error
        • squashfs error unable to read
        • solution
          • re-install the ISO on another USB device

step three :: generate config files for new host

please note, this step is only needed when arch is to be installed on a new host.

  • on new host:
  • archinstall --dry-run
    • install language ➔ english (default)
    • locales ➔
      • keyboard us
      • loc lang en_AU.UTF-8
      • loc enc UTF-8
    • mirrors and repositories ➔ colombia, united states, worldwide
    • (Optional repositories ➔ leave blank (default)) [obsolete?]
    • disk config ➔ partitioning ➔ use a best-effort default partition layout ➔ pick main hd ➔ ext4 ➔ separate partition for /home: no
    • bootloader ➔ systemd-boot (default) [might not be in the right order]
    • (disk encryption ➔ no (default)) [obsolete?]
    • swap: True (default)
    • unified kernel image: Disabled (default)
    • hostname: tuxwarrior
    • root password: leave blank (default)
    • user account: leave empty (default)
    • profile ➔ type ➔ minimal
    • audio ➔ pipewire
    • kernels ➔ linux (default)
    • network configuration ➔ Use NetworkManager
    • additional packages ➔ git nano tree wget
      • / to search
    • timezone ➔ America/Panama
    • automatic time sync ➔ True (default)
    • ➔ Save configuration
      • ➔ Save user configuration (inc disk layout)
      • Save directory: /tmpyes ➔ answer no when asked if you want to encrypt
      • then abort to exit archinstall
  • curl -F'file=@user_configuration.json' https://0x0.st
  • on existing host / alternative host:
  • for this repo, inside dots/archinstall create folder for new host (use hostname as folder name)
    • open page given above, like https://0x0.st/Xbov.json
    • save raw content as user_configuration.json
    • save file
  • from a pre-existing host directory, copy over and modify (if needed) options.sh, packages.txt and services.txt. this should be copied to new host directory
    • example: copied from dots/archinstall/t470p to dots/archinstall/tuxwarrior
  • commit changes to this repo, adding the new host files

step four :: install arch

  • ip link
    • lo (loopback - special device)
    • enp0s31f6 (ethernet)
    • wlan0 (wifi)
  • iwctl
    • station wlan0 scan
    • station wlan0 get-networks
    • station wlan0 connect [NetworkName]
    • exit
  • cd /tmp
  • curl -L -O https://gi.op.fo/fro/lnx-arch/raw/branch/master/scripts/archinstall_config_download.sh
    • (-L to follow redirects, -O to save to disk)
  • chmod 755 archinstall_config_download.sh
  • cat archinstall_config_download.sh
  • ./archinstall_config_download.sh
    • hostname: tuxwarrior
    • password: [poq.L1]
    • make sure both user .json files have been downloaded and updated
      • two files should be listed: user_configuration.json and user_credentials.json
      • check datestamp shown at the end when running the script [260225_comment: why?]
  • archinstall --config user_configuration.json --creds user_credentials.json
    • Install
    • ➔ Would you like to chroot into ... perform post-installation config?
      • no
    • reboot

step five :: setup dot files and install software

  • note: it might be handy to comment out ALL packages in packages.txt, and only be installing one package at a time. this way obsolete packages, no longer needed, will not be installed on the new system
  • log in as poq
  • nmtui (activate internet connection)
  • set up ct (caretaker - system management tool)
    • cd /tmp
    • wget https://gi.op.fo/fro/lnx-arch/raw/branch/master/scripts/ctsetup.sh
    • cat ctsetup.sh ➔ verify the file content
    • chmod 755 ctsetup.sh
    • sudo ./ctsetup.sh
  • sudo ct yay (install yay, which is used to install aur packages)
  • sudo ct uf (full update, install packages)
    • same as running the two commands sudo ct s (software) and sudo ct d h (dots inc hyprland cfg)
  • sudo ct dots+ (download wallpapers, fonts++)
  • loop install - until all programs are successfully installed, as i have experiences not all being installed at once
    • note that some packages (in packages.txt) might have to be removed, as they might no longer be active / be working
    • sudo ct s
  • sudo ufw enable (enable firewall)
  • reboot & re-login
  • hypr.sh (start hyperland)
  • several windows will start
    • in the background there might will be a window where you are asked to set password for the gnome keyring
      • the gnome keyring window will always be in focus, and there is no way to close the other windows while this is happening
      • press escape to close the keyring window
    • ignore the pCloudDrive, Nextcloud and other windows
  • run firstBoot.sh
    • this will start and close librewolf, for having the browser's profile directory being created, as well as creating a directory for nextcloud
  • ct dots (the re-run of dots will deploy librewolf settings)
  • ct services (enable services)
  • reboot & re-login
  • once again, press esc to close the gnome keyring window
    • leave the other windows open
  • set up nextcloud
    • log in
    • pick local folder /home/poq/nextcloud and
    • choose Synchronize everything from server and
      • disable the two options Ask before syncing folders larger than xxx and Ask before syncing external storages
    • click Connect
  • wait for nextcloud to complete syncronisation
    • this will likely take some time. how long depends on the internet speed and the amount of data stored with nextcloud.
  • when the sync is complete, continue with the next step

step six :: post syncronisation tasks

  • syncDirSetup.sh (will set up ~/syncDir)
  • deploySshKeys.sh (deployment of ssh keys)
  • importGnupgKeys.sh (deployment of gpg keys)
  • gitReposSoftlinker.sh (create softlinks to all repos at ~/syncDir/gitRepos/)
  • chmodAllSh.sh (fixes mode change from 14001 to 217 errors in repo)
  • reboot and re-login

step eight :: post installation tasks

  • KEEPASSXC
    • open keepassxc
    • open the password vault at:
      • /home/poq/syncDir/secrets/keePassXC/passwordVaultA.kdbx
    • enable browser integration @ settings ➔ browser integration
      • name client as YYMM_hostname.browser, like 2602_tuxwarrior.librewolf
      • view clients @ database settings ➔ browser integration
  • PCLOUD
    • log in
    • settings ➔ disk usage ➔
      • disk space: 2048 ➔ 10240
      • cache size: 5120 ➔ 51200 (~51 gb)
  • SYNOLOGY DRIVE CLIENT
    • log in
    • select backup task
    • backup source: /home/poq/pCloudDrive
    • backup destination: /home/Drive/Backup/[hostname] (default)
      • backup rules:
        • backup up files and folders with the prefix "."
        • keep locally deleted files on the remote backup destination folder
    • backup mode: continous backup
  • KITTEN
    • $ kitten themes 'cyberpunk neon'
      • to list all themes: $ kitten themes
        • (search for tropical ➔ select tropical neon ➔ press M to modify kitten.conf and start using the theme)
      • alternative themes (as of feb 26):
        • dark background
          • kitten themes 'default'
          • kitten themes 'adwaita darker'
          • kitten themes 'encom'
          • kitten themes 'hachiko'
          • kitten themes 'paul millr'
          • kitten themes 'vibrant ink'
          • kitten themes 'wez'
        • other dark themes
          • kitten themes 'cyberpunk neon'
          • kitten themes 'falcon'
          • kitten themes '1984 dark'
          • kitten themes 'copland os'
          • kitten themes 'tropical neon'
          • kitten themes 'ubuntu'
          • kitten themes 'neowave'
          • kitten themes 'box'
          • kitten themes 'papercolor dark'
  • VSCODIUM
    • local sync
    • open extensions and search for local sync
    • install the extension
    • open extension settings
        1. set path to backup files:
        • /home/poq/syncDir/gitRepos/gi.op.fo/fiodb/db/vscodium/syncBackup
        1. run local sync: restore (ctrl + shift + p)
    • open workspace :: open all active projects
    • file ➔ open workspace from file ➔ /home/poq/syncDir/gitRepos/gi.op.fo/fiodb/db/workspaces/vscodium/workspace/one.code-workspace
    • several .sh files might be flagged as modified (in gitkraken they will show up as file mode changes from 14001 to 217, which means from chmod 755 to 644). you can fix this running the command chmodAllSh.sh.
  • GITKRAKEN
    • preferences ➔ ui customization ➔ theme: gitkraken dark - high contrast
    • preferences ➔ integrations ➔ connect to gitlab
    • currently not needed, as gi.op.fo is not using ssh
      • preferences ➔ ssh ➔ uncheck use local ssh agent
        • select keys to use
      • register fingerprint for ssh key(s)
        • if the ssh key for a git repo has never been used, the ssh connection will fail as the key is not yet registered.
        • $ ssh git@gi.op.fo -p 2002
        • Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
  • LIBREWOLF
    • settings ➔ change device name ➔ YYMM_username@host (example: 2602_poq@tuxwarrior)
    • settings ➔ enable and log into firefox sync
    • search engine:
      • this should be set automatically
    • theme
    • install dictionaries for
    • update singlefile
      • name format (extension icon ➔ manage extensions ➔ extensions ➔ singlefile ➔ preferences ➔ file format):
        • old: %if-empty<{page-title}|No title> ({date-locale} {time-locale}).{filename-extension}
        • new: {year-locale}{month-locale}{day-locale}_{url-href-flat}_.{filename-extension}
      • open "save as" dialog (… ➔ file format):
        • check 'open the "Save as" dialog to confirm the file name'
    • open the web scrobbler extension and log in to last.fm
    • extension: sidebery ➔ settings ➔
  • PCMAN
    • edit ➔ preferences >
      • layout ➔ show in places ➔ unselect all but "trash can"
  • REAPER
    • ! UPDATE OF THIS SECTION IS NEEDED !
    • NOTE: much of this can very likey be omitted, as the settings can be imported from:
      • /home/poq/syncDir/gitRepos/gitlab.com/dotsplus/reaper/config/

    • open reaper, and uncheck check for new versions
    • import licence
      • located in protonmail under the 'licence' label, and on the nas server:
        • /mnt/nas/cb/software/licences/reaper.txt
      • import from file, or:
        • copy the licence key to the clipboard ➔ help ➔ about reaper ➔ import license key ➔ (licence is automatically loaded)
    • options ➔ preferences
      • general ➔ paths >
        • default path to save new projects: /home/poq/syncDir/0_inProgress/mixing/
        • default render path: /home/poq/syncDir/0_downloads/
      • audio ➔ device ➔ audio system: pulseaudio
        • sample rate: 48000
      • appearance ➔ enable don't animate any toolbar button
      • appearance ➔ track meters ➔ enable reset peak indicators on play/seek
      • media ➔ import ➔ disable copy imported media to project media directory
    • actions >
      • show action list ➔
        • new action ➔ new custom action ➔
          • custom action name: fk: cycle ripple editing mode
          • options: cycle ripple editing mode
          • press ok
          • assign shortcut: by clicking the add button, and typing ```
            • override mapping view: toggle track zoom to minimum height
        • search for Unselect (clear selection of) all tracks/items/envelope points
          • assign shortcut: "Alt + Shift + Up"
    • https://bertomaudio.com/denoiser-pro.html
      • login with: 231114_lemonsqueezycom@468910.xyz (pwd is sent to email)

      • /mnt/nas/cb/software/denoiserPro_bertonAudio

        • download
          • Bertom_DenoiserPro_3.0.7_GNU-LINUX.tar.xz
      • mkdir ~/.vst3 (verify folder in Reaper ➔ options ➔ preferences ➔ plug-ins ➔ vst)

      • tar -xf /mnt/nas/cb/software/denoiserPro_bertonAudio/latest/Bertom_DenoiserPro_3.0.9_LINUX.tar.xz -C ~/syncDir/0_downloads/

      • cp -r ~/syncDir/0_downloads/Bertom_DenoiserPro_3.0.9_LINUX/.avx2/Bertom_DenoiserPro.vst3/ ~/.vst3/

      • restart reaper ➔ add a new track ➔ select the fx button ➔ open vxt3: denoiser pro and load the licence file

        • /mnt/nas/cb/software/licences/bertom-denoiser-pro-license.lic
        • /mnt/nas/cb/software/denoiserPro_bertonAudio/bertom-denoiser-pro-license.lic
          • also located in protonmail under the 'licence' label
      • extra: ?

  • PRINTING

OBSOLETE : error solving

Description
arch linux
Readme 6.6 MiB
Languages
Shell 85.7%
CSS 14.3%