committer@tuxwarrior 408bfdab72 upd bookmark
new git repo path
2026-04-05 20:07:33 -05:00
u
2026-04-01 07:59:42 -05:00
2026-04-05 20:07:33 -05:00
2026-03-04 12:08:11 -05:00
2026-03-04 12:27:36 -05:00
2026-04-04 12:29:03 -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
    • t470p: Enter for boot options (F2 or F10 or F12 for other options)
  • 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 ➔ select regions ➔ 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
    • swap: True (default)
    • bootloader ➔ systemd-boot (default)
    • kernels: Linux (default)
    • hostname: tuxwarrior / t470p
    • authentication: do nothing
    • profile: do nothing (previously ➔ type ➔ minimal`)
    • applications: do nothing
    • network configuration ➔ Use NetworkManager (default backend)
    • additional packages ➔ git nano tree wget
      • / to search
    • timezone ➔ America/Panama
    • automatic time sync ➔ Enabled (default)

    • ➔ Save configuration
      • ➔ Save user configuration (including 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 an alternative computer:
  • for this (lnx-arch) repo, inside dots/archinstall create folder for new host (use hostname as folder name)
    • open page given as a result from the above curl commend (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
      • takes about six minutes
    • 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 packages no longer needed will not be installed on the "fresh host"
  • 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)
    • note that depending on your internet speed this operation can take a lot of time. often longer than an hour (two-three hours at skogro).
  • sudo ct dots+ (download wallpapers, fonts++)
  • loop install - until all programs are successfully installed (unfortuantely, all packages does not get install the first time around. reason unknown.)
    • sudo ct s
    • note: normally two loops / extra installs (in addition to the main ct uf) is needed
    • note that some packages (in packages.txt) might have to be removed, as they might no longer be active / be working
  • sudo ufw enable (enable firewall)
  • reboot & re-login
  • hypr.sh (start hyperland)
  • several windows will start
    • (SEEMS OBSOLETE: if it pops up 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
  • switch to a new workspace, like workspace 2, and start a terminal
  • 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
    • error "Exiting due to channel error" will occure.
  • ct dots (the re-run of dots will deploy librewolf settings)
  • ct services (enable services)
  • reboot & re-login
  • (SEEMS OBSOLETE: once again, press esc to close the gnome keyring window, if it pops up)
  • several programs start, that at this stage can be ignored
  • set up nextcloud
    • log in
    • pick local folder /home/poq/nextcloud (notice: all lowercase letters!) 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 several hours. exactly 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 :: keys and such

  • syncDirSetup.sh (will set up ~/syncDir)
  • deploySshKeys.sh (deployment of ssh keys)
  • deployGnupgKeys.sh (deployment of gpg keys)
  • deployRcloneCfg.sh (deployment of rclone config)
  • 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 :: software setup

  • KEEPASSXC
    • open keepassxc
    • open the password vault at:
      • /home/poq/syncDir/secrets/keePassXC/passwordVaultA.kdbx
    • enable browser integration @ settings ➔ browser integration
      • view clients @ database settings ➔ browser integration
  • PCLOUD
    • sign in
    • settings ➔ disk usage ➔
      • tuxwarrior:
        • disk space: 2048 ➔ 10240
        • cache size: 5120 ➔ 51200 (~51 gb)
      • t470p:
        • use defaults
  • LIBREWOLF
    • settings ➔
      • 'enable firefox sync' ➔ sign in to sync
      • 'device name' ➔ 'change device name' ➔ YYMM_username@host (example: 2602_poq@tuxwarrior)
      • 'default search engine' ➔ 'brave'
        • disable option to use separate search engine in private windows
    • theme
    • install dictionaries for
    • connect keepassxc
      • open extension
        • name client as YYMM_hostname.browser, like 2602_tuxwarrior.librewolf
    • [OBSOLETE | option settings should be synced]
      • 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'
    • sidebery ➔ settings ➔
      • help ➔ import addon data/home/poq/syncDir/gitRepos/gitlab.com/dotsplus/librewolf/sidebery-data-....json
      • manual adjustments ➔
        • delete the default containers (personal, work, banking, and shopping)
    • extensions logins
      • web scrobbler ➔ log in (to last.fm)
      • awesomescreenshots ➔ log in
      • wallabagger ➔ log in
        • enable 'indicate if page already saved'
  • 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
    • unable to write program user data
      • if "EACCESS: permission denied, mkdir '/home/poq/.locale/state'" occurs:
        • sudo mkdir ~/.locale/state & sudo chown -R $USER:$USER ~/.locale/state
    • local sync
    • open extensions and search for local sync
    • install the extension
    • open extension settings
        1. disable 'Local-sync: Autobackup' (Auto Backup files on change)
        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)
        1. re-enable 'Local-sync: Autobackup'
    • open workspace :: open all active projects
    • file ➔ open workspace from file ➔ /home/poq/syncDir/gitRepos/gi.op.fo/fiodb/db/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
    • [OBSOLETE | 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
  • PCMAN
    • edit ➔ preferences >
      • layout ➔ show in places ➔ unselect all but "trash can"
  • AZURE VPN CLIENT
    • run sudo azurevpnclient_GLib-GIO-CRITICAL_fix.sh
    • run azurevpnclient
      • import profile from
        • ~/syncDir/quick/swas/configFiles/azureVpnConfig/azurevpnconfig_v2.xml
  • SYNOLOGY DRIVE CLIENT (tuxwarrior only)
    • 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
  • REAPER (tuxwarrior only)
    • ! AN 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 (tuxwarrior only)

OBSOLETE : error solving

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