Files
lnx-arch/README.md

371 lines
18 KiB
Markdown
Raw Normal View History

# fro's arch linux installation
2024-06-06 17:23:28 -05:00
## step one :: usb drive preparation
- download iso
2024-06-06 17:23:28 -05:00
- https://archlinux.org/download/
- download signature from main page:
- (https://archlinux.org/iso/2024.04.01/archlinux-2024.04.01-x86_64.iso.sig)
2024-06-06 17:23:28 -05:00
- this is also found on the mirror, but i prefer to use the signature from the main site.
- (https://archmirror1.octyl.net/iso/2024.04.01/archlinux-2024.04.01-x86_64.iso.sig)
- download iso from a mirror close by
- (https://archmirror1.octyl.net/iso/2024.04.01/)
- (https://archmirror1.octyl.net/iso/2024.04.01/archlinux-2024.04.01-x86_64.iso)
2024-06-06 17:23:28 -05:00
- verify iso
```
$ 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
2024-06-06 17:23:28 -05:00
## step two :: boot from the iso
2024-06-06 17:23:28 -05:00
- boot the target system using the arch iso, and prepare for a [guided install](https://archinstall.archlinux.page/installing/guided.html)
- tuxwarrior: `F2` for BIOS
- t470p: `Enter` for boot options (`F2` or `F10` or `F12` for other options)
2024-06-06 17:23:28 -05:00
- 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
2024-06-06 17:23:28 -05:00
## 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.
2024-06-06 17:23:28 -05:00
- 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`
2024-06-06 17:23:28 -05:00
- 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: `/tmp``yes` ➔ answer `no` when asked if you want to encrypt
- then `abort` to exit archinstall
2024-06-06 17:23:28 -05:00
- `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`)
2024-06-06 17:23:28 -05:00
- 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
2024-06-06 17:23:28 -05:00
- `ip link`
- `lo` (loopback - special device)
- `enp0s31f6` (ethernet)
- `wlan0` (wifi)
- `iwctl`
- `station wlan0 scan`
- `station wlan0 get-networks`
2026-02-21 13:39:57 +00:00
- `station wlan0 connect [NetworkName]`
2024-06-06 17:23:28 -05:00
- `exit`
- `cd /tmp`
2026-02-21 13:39:57 +00:00
- `curl -L -O https://gi.op.fo/fro/lnx-arch/raw/branch/master/scripts/archinstall_config_download.sh`
2024-06-06 17:23:28 -05:00
- (`-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]
2024-06-06 17:23:28 -05:00
- 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?]
2024-06-06 17:23:28 -05:00
- `archinstall --config user_configuration.json --creds user_credentials.json`
- Install
- takes about six minutes
2024-06-06 17:23:28 -05:00
- `reboot`
## step five :: setup dot files and install software
2024-06-06 17:23:28 -05:00
- 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`
2024-06-06 17:23:28 -05:00
- `nmtui` (activate internet connection)
- set up ct (caretaker - system management tool)
2024-06-06 17:23:28 -05:00
- `cd /tmp`
2026-02-21 13:39:57 +00:00
- `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)
2026-02-26 13:51:19 -05:00
- 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.)
2026-02-22 12:10:03 +00:00
- `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)
2024-06-06 17:23:28 -05:00
- `reboot` & re-login
2026-02-23 18:28:24 +00:00
- `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.
2026-02-22 11:19:03 +00:00
- `ct dots` (the re-run of dots will deploy librewolf settings)
- `ct services` (enable services)
2024-06-06 17:23:28 -05:00
- `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
2024-06-06 17:23:28 -05:00
- log in
- using the credentials found at <https://vault.bitwarden.com/#/vault?folderId=aab7655a-38a5-4a6d-92e6-acdc00ff63b6>
- otp found in "ente auth" and pwd manager
- server address: `https://nx.op.fo`
- (OBSOLETE: at this point the gnome keyring manager will pop up again, and ask for a password)
- (leave both (password and confirm) fields blank, and press continue, and chose to store passwords unencrypted)
2026-03-18 09:53:35 -05:00
- (_"To use automatic unlocking with automatic login, you can set a blank password for the default keyring. Note that the contents of the keyring are stored unencrypted in this case."_ | https://wiki.archlinux.org/title/GNOME/Keyring)
- 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
2026-02-24 18:35:15 -05:00
2026-03-18 09:53:35 -05:00
## step six :: post syncronisation tasks :: keys and such
2024-06-06 17:23:28 -05:00
- `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/`)
2025-06-16 20:12:18 -05:00
- `chmodAllSh.sh` (fixes mode change from 14001 to 217 errors in repo)
2024-06-06 17:23:28 -05:00
- `reboot` and re-login
2026-03-18 09:53:35 -05:00
## step eight :: post installation tasks :: software setup
2024-06-06 17:23:28 -05:00
- **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**
2026-03-18 09:53:35 -05:00
- sign in
- settings ➔ disk usage ➔
2026-03-18 09:53:35 -05:00
- 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
- set to 'activist bold'
- details:
- extensions icon ➔ manage extensions ➔ themes ➔ enable theme `xxxx`
- https://addons.mozilla.org/en-US/firefox/addon/activist-bold_/
- install dictionaries for
- [en-AU](https://addons.mozilla.org/en-US/firefox/addon/english-australian-dictionary/) and
- [no-NB](https://addons.mozilla.org/en-US/firefox/addon/norsk-bokm%C3%A5l-ordliste/)
2026-03-18 10:18:55 -05:00
- connect keepassxc
- open extension
- name client as `YYMM_hostname.browser`, like `2602_tuxwarrior.librewolf`
2026-03-18 14:04:59 -05:00
- [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'
2026-03-18 10:18:55 -05:00
- sidebery ➔ settings ➔
2026-03-18 10:51:00 -05:00
- help ➔ `import addon data``/home/poq/syncDir/gitRepos/gitlab.com/dotsplus/librewolf/sidebery-data-....json`
- or, download the settings from: <https://gitlab.com/pqq/dotsplus/-/tree/main/librewolf>
2026-03-18 09:53:35 -05:00
- manual adjustments ➔
2026-03-18 10:51:00 -05:00
- delete the default containers (`personal`, `work`, `banking`, and `shopping`)
2026-03-18 10:18:55 -05:00
- extensions logins
- web scrobbler ➔ log in (to last.fm)
- awesomescreenshots ➔ log in
- wallabagger ➔ log in
2026-03-18 10:51:00 -05:00
- enable 'indicate if page already saved'
2025-06-16 20:12:18 -05:00
- **KITTEN**
2026-02-25 08:23:35 -05:00
- `$ kitten themes 'cyberpunk neon'`
2024-08-28 16:41:10 -05:00
- to list all themes: `$ kitten themes`
2026-02-24 18:35:15 -05:00
- (search for `tropical` ➔ select `tropical neon` ➔ press `M` to modify kitten.conf and start using the theme)
- alternative themes (as of feb 26):
2026-02-24 18:35:15 -05:00
- dark background
2026-02-25 08:23:35 -05:00
- `kitten themes 'default'`
2026-02-24 18:35:15 -05:00
- `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'`
2026-02-25 08:23:35 -05:00
- `kitten themes '1984 dark'`
- `kitten themes 'copland os'`
2026-02-24 18:35:15 -05:00
- `kitten themes 'tropical neon'`
- `kitten themes 'ubuntu'`
2026-02-25 08:23:35 -05:00
- `kitten themes 'neowave'`
- `kitten themes 'box'`
- `kitten themes 'papercolor dark'`
2025-06-16 20:12:18 -05:00
- **VSCODIUM**
2026-03-18 11:32:47 -05:00
- **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`
2025-06-16 21:08:23 +00:00
- **local sync**
- open extensions and search for `local sync`
- install the extension
- open extension settings
2026-03-18 11:32:47 -05:00
- 1. disable 'Local-sync: Autobackup' (Auto Backup files on change)
- 2. set path to backup files:
2026-02-21 13:39:57 +00:00
- `/home/poq/syncDir/gitRepos/gi.op.fo/fiodb/db/vscodium/syncBackup`
2026-03-18 11:32:47 -05:00
- 3. run `local sync: restore` (ctrl + shift + p)
- 4. re-enable 'Local-sync: Autobackup'
2024-08-26 19:24:13 -05:00
- **open workspace :: open all active projects**
2026-03-18 11:32:47 -05:00
- 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`.
2025-06-16 20:12:18 -05:00
- **GITKRAKEN**
- preferences ➔ ui customization ➔ theme: `gitkraken dark - high contrast`
- preferences ➔ integrations ➔ connect to gitlab
2026-03-18 14:04:59 -05:00
- [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`
2025-06-16 20:12:18 -05:00
- **PCMAN**
- edit ➔ preferences >
- layout ➔ show in places ➔ unselect all but "trash can"
2026-03-18 14:04:59 -05:00
- **AZURE VPN CLIENT**
- run `sudo azurevpnclient_GLib-GIO-CRITICAL_fix.sh`
- run `azurevpnclient`
- import profile from
- `~/syncDir/quick/swas/configFiles/azureVpnConfig/azurevpnconfig_v2.xml`
2026-03-18 09:53:35 -05:00
- **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/`
2024-08-26 19:24:13 -05:00
- 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`
2024-08-26 19:24:13 -05:00
- 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"
2024-08-26 19:24:13 -05:00
- https://bertomaudio.com/denoiser-pro.html
- login with: `231114_lemonsqueezycom@468910.xyz` (pwd is sent to email)
2024-08-26 19:24:13 -05:00
- `/mnt/nas/cb/software/denoiserPro_bertonAudio`
- [download](https://app.lemonsqueezy.com/my-orders/38cd233c-cd39-4b21-b2fa-6c2a38b702d4?signature=ca7157d7b412ef40f58354d6d6233089e8d0facfdec28246d7fe7b1e4450563f)
- `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: ?
2026-03-18 09:53:35 -05:00
- **PRINTING** (tuxwarrior only)
- ! AN UPDATE OF THIS SECTION IS NEEDED !
2024-08-26 19:24:13 -05:00
- remove services cups.socket and cups.path
- `$ sudo systemctl disable cups.path`
- `$ sudo systemctl disable cups.socket`
- `$ system-config-printer`
- if usb printer, and turned on, the printer should show up
- useful: https://kb.adamsdesk.com/operating_system/arch_linux_install_network_printer/
# OBSOLETE : error solving
2024-06-06 17:23:28 -05:00
2024-09-17 05:30:31 -05:00
- the keyring is reset on each reboot
2024-09-16 18:47:03 -05:00
- symptoms: you're asked to re-login to nextcloud and protonvpn on each reboot
- open seahorse
- delete existing keyring (named `default`?)
- create new password keyring
- name: `oneRingToHoldThemAll`
- password: leave blank (no password)
- set new keyring as default
- reboot
- verify, using seahorse, that the new keyring is used when saving credentials
- ref: https://forum.manjaro.org/t/gnome-keyring-keeps-being-reset/147118
- misc
- for info on miscellaneous issues, please see <https://gitlab.com/pqq/pIssues.2/-/issues/254>.