--- title: Archlinux date: 2023-11-29T20:33:48+0100 lastmod: 2024-04-28T09:15:17+0000 tags: - archlinux #showDate: false showReadingTime: false showWordCount: false showPagination: false #showAuthor: false showBreadcrumbs: true feed_exclude: true # site_exclude: true --- ## Predictable network interfaces Get back the "old" interface names like `eth0` or `wlan0` with {{< man systemd.link 5 >}}. ### Ethernet This makes my ethernet interface be called **eth0** again. Create `/usr/lib/systemd/network/80-ether.link` with this content: ~~~systemd [Match] Type=ether [Link] NamePolicy=keep kernel ~~~ Reboot. ### Wireless This makes my wireless interface be called **wlan0** again. Create `/usr/lib/systemd/network/80-wlan.link` with this content: ~~~systemd [Match] Type=wlan [Link] NamePolicy=keep kernel ~~~ Reboot. ## Setup WiFi networks ### Using **iwctl** ~~~console $ iwctl device list $ iwctl station wlan0 scan $ iwctl station wlan0 get-networks $ iwctl station wlan0 connect {ssid} ~~~ ### Using **nmcli** (NetworkManager) ~~~console $ nmcli device wifi list $ nmcli device wifi rescan $ nmcli device wifi connect {ssid} --ask $ nmcli device wifi show-password ~~~ Last command shows the connected SSID and a QR-code within the terminal. ## Using NetworkManager We create some files in `/etc/NetworkManager/conf.d`: ## Using `iwd` as the WiFi backend `wifi_backend.conf`: ~~~ini [device] wifi.backend=iwd ~~~ ## Using `dhcpcd` as DHCP client `dhcp-client.conf`: ~~~ini [main] dhcp=dhcpcd ~~~ ## Do not manage one specific USB dongle `99-unmanaged-devices.conf`: ~~~ini [keyfile] unmanaged-devices=mac:xx:xx:xx:xx:xx:xx ~~~ ## Prefer local DNS instead of systemd-resolved defaults ## CPU frequency scaling ## YubiKeys ## LunarVim custom key mappings I know, this is an Arch Linux post but hey, I don't care. ## Mounting nfs shares with systemd ### Arch Linux ARM installation on a Raspberry Pi 2 The wiki page is for Raspberry Pi 4. ## Create a 32-bit Wine prefix I create my wine prefixes usually like this: ~~~console $ export WINEPREFIX=/home/dominic/.wine-winlink $ export WINEARCH=win32 $ wine wineboot ~~~ ## Installing multiple ruby versions I came to the point to test an older website from me and it was made with Jekyll which I had to install quickly. Problems occured with OpenSSL and I finally managed to install ruby version 2.7.1 and 3.0.0 in my home directory. ~~~console $ rvm pkg install openssl $ rvm install "ruby-3.0.0" --with-openssl-dir=$HOME/.rvm/usr $ rvm install "ruby-2.7.1" --with-openssl-dir=$HOME/.rvm/usr ~~~ Later in the desired directory, I re-installed the gems because with ruby 2.7.1 I got another "Directory not found" error. I had to do this because I used ruby 2.7.1 on one website. ~~~console $ bundle install --force ~~~ ## Bigger font for systemd-boot Edit `/boot/loader/loader.conf`: ~~~ console-mode 0 ~~~ Possible settings are: | Value | Description | | :--- | :--- | | 0 | Standard UEFI 80x25 mode | | 1 | 80x50 mode, not supported by all devices | | 2 | the first non-standard mode provided by the device firmware, if any | | auto | Pick a suitable mode automatically using heuristics | | max | Pick the highest-numbered available mode | | keep | Keep the mode selected by firmware (the default) | More details can be found in {{< man loader.conf 5 >}}.