From 40b6cd8bb55f8a36777ce42228fa3dbd7c15b7b1 Mon Sep 17 00:00:00 2001 From: Frank Zechert Date: Thu, 23 Jul 2026 22:01:03 +0200 Subject: [PATCH] update documentation --- _nav.qd | 7 +- _setup.qd | 2 +- hardware/001-firmware-updates.qd | 60 +++++++++++++ ...{001-thunderbolt.qd => 002-thunderbolt.qd} | 0 software/001-librewolf.qd | 87 +++++++++++++++++++ .../004-graphical-environment.qd | 36 ++++++++ 6 files changed, 190 insertions(+), 2 deletions(-) create mode 100644 hardware/001-firmware-updates.qd rename hardware/{001-thunderbolt.qd => 002-thunderbolt.qd} (100%) create mode 100644 software/001-librewolf.qd diff --git a/_nav.qd b/_nav.qd index 69cc1ff..c62fb02 100644 --- a/_nav.qd +++ b/_nav.qd @@ -7,4 +7,9 @@ ###! Hardware Configuration -- [Thunderbolt](hardware/001-thunderbolt.qd) +- [Firmware Updates](hardware/001-firmware-updates.qd) +- [Thunderbolt](hardware/002-thunderbolt.qd) + +###! Software Configuration + +- [Librewolf Browser](software/001-librewolf.qd) diff --git a/_setup.qd b/_setup.qd index 457d683..e4dee8f 100644 --- a/_setup.qd +++ b/_setup.qd @@ -36,7 +36,7 @@ .docname {.pagetitle} .numbering - - footnotes: i + - footnotes: 1 .function {example} title? content: diff --git a/hardware/001-firmware-updates.qd b/hardware/001-firmware-updates.qd new file mode 100644 index 0000000..fb574c0 --- /dev/null +++ b/hardware/001-firmware-updates.qd @@ -0,0 +1,60 @@ +.docname {Firmware Udpates} +.include {docs} + +## Missing Firmware + +During the initramfs generation with command `mkinitcpio -P` you might see warnings about potentially +missing firmware. + +Some of the warnings can be fixed by installing additional software packages. Others can be ignored. + +Run `mkinitcpio -P` to see the current list of warnings. Then install missing firmware if available. + +- missing `xhci_pie`: Install `yay -S upd72020x-fw` from the AUR +- missing `qat_6xxx`: This is a Intel Encryption Accelerator firmware. Its use is possible on + Linux, but is discouraged because it is buggy and slow[^1]. + +## Firmware Updates + +`fwupd` is a daemon to simply update firmware of your device - if it is supported by the vendor of +the firmware and hardware. + +Install `sudo pacman -S fwupd udisks2`. Enable and start the `udisk` service with +`systemctl enable --now udisks2`. Then restart `fwupd` with `systemctl restart fwupd`. + +Run the following commands for firmware upgrades + +- `sudo fwupdmgr get-devices`: list all devices detected by the firmware update tool +- `sudo fwupdmgr refresh`: download the latest metadata available from the Linux Vendor firmware service +- `sudo fwupdmgr get-updates`: list available updates for your system +- `sudo fwupdmgr update`: perform the update + +> Important: If you use secure boot, follow the next section before running `sudo fwupdmgr update` + +### Secure Boot + +`fwupd` relies on shim to chainload the `fwupd` EFI binary on systems with Secure Boot enabled. +Since we do not use shim for Secure Boot, this will not work on our system. We need to sign the +firmware update binaries with our own keys. + +List binaries for UEFI firmware updates with `ls /usr/lib/fwupd/efi/fwupdx64.efi`. +Then sign it and store it at `/usr/lib/fwupd/efi/fwupdx64.efi.signed`: + +```sh +sbctl sign /usr/lib/fwupd/efi/fwupdx64.efi -o /usr/lib/fwupd/efi/fwupdx64.efi.signed -s +``` + +Once this is done, it will be automatically executed when there are future updates thanks to a `sbctl` +hook in pacman. + +Finally disable the unushed shim mechanism. Create or modify `/etc/fwupd/fwupd.conf` + +```ini +[uefi_capsule] +DisableShimForSecureBoot=true +``` + +Restart `systemctl restart fwupd.service`. +You can now run `fwupdmgr update` to update firmware on your device. + +[^1]: diff --git a/hardware/001-thunderbolt.qd b/hardware/002-thunderbolt.qd similarity index 100% rename from hardware/001-thunderbolt.qd rename to hardware/002-thunderbolt.qd diff --git a/software/001-librewolf.qd b/software/001-librewolf.qd new file mode 100644 index 0000000..87656c0 --- /dev/null +++ b/software/001-librewolf.qd @@ -0,0 +1,87 @@ +.docname {Librewolf Browser} +.include {docs} + +Install the librewolf browser with `yay -S librewolf-bin`. + +## Configuration + +### Account and Synchronisation + +- Name the Profile +- Enable backup of non-sensitive data + +### Home and Startup + +- Set start page for new windows to `http://zechert.net` +- Set start page for new tabs to `Firefox Home` + +### Search + +- Use DuckDuckGo as search engine + +### Privacy and Security + +- Enable `Limit cross-origin referers` +- Disable `Enable ResistFingerprinting` (required to apply a theme) +- Disable `Remember browsing and download history` + +Some websites should be able to store some cookies, e.g. to keep logins alive. +Add them to the Exceptions in `Browsing Data -> Manage Exceptions` + +- `https://accounts.google.com` +- `https://www.youtube.com` +- `https://github.com` +- `https://copilot.microsoft.com` +- `https://login.microsoftonline.com` +- `https://login.live.com` +- `https://git.zechert.net` + +### Appearance + +- Set `Web site appearance` to `Dark` + +### Tabs and browsing + +- Enable `Ctrl+Tab cycles through tabs in recently used order` +- Enable `Search for text when you start typing` +- Disable `Enable picture-in-picture video controls` +- Enable `Play DRM-controlled content` +- Disable `Enable middle click paste` + +### Accessibility + +- Enable `Use autoscrolling` +- Enable `Always show scrollbars` + +### Languages + +- Disable `Prompt to translate pages` +- Spellcheck: Download dictionaries for en-GB, en-US and de-DE + +### Other settings + +Open the advanced settings by typing `about:config` in the address bar and set the following + +- `browser.sessionstore.resume_from_crash: false` + +## Themes + +Install the Extension [Firefox Color](https://addons.mozilla.org/en-GB/firefox/addon/firefox-color/). Select the accent color from +. E.g. Macchiato-Lavender. + +## Extensions + +Download and Install the following extensions + +- `Bitwarden` +- `uBlock origin`: + - Enable `I am an advanced user`. + - Activate the following global blocks: + - `3rd party frames` + - `3rd party scripts` + - Configure Filter Lists as required +- `Dark Reader` +- `Stylus`: Custom themes for websites + Check . + Usage guide: + diff --git a/system-installation/004-graphical-environment.qd b/system-installation/004-graphical-environment.qd index 5757972..eeb0ae7 100644 --- a/system-installation/004-graphical-environment.qd +++ b/system-installation/004-graphical-environment.qd @@ -121,5 +121,41 @@ uwsm libnewt You can now start hyprland with `uwsm start hyprland.desktop`. +## Automatic Configuration + +A lot of the paage installation and configuration in the `$HOME` and `$HOME/.config` folders can be automated +with `chezmoi`. + +1. Make sure that `chezmoi` is installed on the system with `pacman -S chezmoi`. +2. Then run the following command to clone and apply configuration files from the `fz-stack` dotfiles repository. + You can modify the path you want to checkout the dotfiles to by modifying the `-S ...` argument. + + ```sh + chezmoi -S $HOME/Projects/fz-stack/dotfiles init ssh://git@zechert.net:fz-stack/dotfiles.git + ``` + +> Tip: The applied `~/.bashrc` will set up an alias to call `chezmoi` without the need to specify the `-S ...` +> argument everytime. If you install the dotfiles to a different place than the `$HOME/Projects/fz-stack/dotfiles` +> mentioned here, you will need to change this alias in the `.bashrc` configuration file. + +## Automatic Login on TTY1 + +If the system is used by a single user, and the disk encryption password is known only to this user, it might be +desirable to automatically log in this user when the computer starts. + +Create a drop-in file for `getty@tty1.service` with the following contents in `/etc/systemd/system/getty@tty1.service.d/autologin.conf`. + +```ini +[Service] +ExecStart= +ExecStart=-/sbin/agetty -o '-p -f -- \\u' --noclear --autologin %I $TERM +``` + +After the automatic login of the user, Hyprland will be started on TTY1 by the `uwsm` commands +in the `~/.bash_profile` file. On other TTYs, Hyprland will not be started automatically. + +## Create Default User Directories + +Execute the command `xdg-user-dirs-update` to create or update the default user directories. [arch-wiki-graphics]: https://wiki.archlinux.org/title/Category:Graphics