Skip to content

New beginnings

Interviewing for an Engineering Manager at an interesting FinTech company.

The journey into Hyprland continues its never ending (?) journey. I recently discovered HyDE which provides a rich desktop environment on top of Hyprland. Initially the install script was used but it does seem that 🌐 HyDE-CLI tool is a newer and seemingly more effective approach.

Continued to manage my digitised music, including Megadeth, Ozzy Osbourne, Bryan Adams and The Offspring.

Hyperlandλ︎

Some valuable fixes and updates were recently added to the HyDE project which improves the rich desktop environment that HyDE configures on top of Hyprland.

Pulling updated commits and rerunning the Scripts/install.sh script did update all the Hyprland related configs but left the desktop in a broken state.

The HyDE Git Org also includes the 🌐 HyDE-CLI tool which seems a newer and seemingly more effective approach. HyDE-CLI provides a terminal UI (TUI) allowing a simple way to select themes and other options.

As HyDE-CLI is a TUI it can be run on a pure terminal session, e.g. Ctrl+Alt F3, especially useful as I could not run a terminal after logging into Hyprland session.

I did have to removed .config/hypr directory and reran Hyde-install so that the install ran correctly and provided a working desktop environment.

Hyprland with HyDE using Catpuchinno theme

Touchpadλ︎

The vertical scrolling of the touchpad does not use natural scrolling, so the page scrolls as if moving the scroll bar rather than moving the page.

In the Input section of the Hyperland config generated by HyDE sets natural_scroll = no. Change to yes to have natural scrolling.

I assume this setting would be overwritten with a HyDE update.

TODO: test if natural_scroll can be set in a user config that is not overwritten, e.g. ~/.config/hypr/userprefs.conf

Enable natrual scrolling for touchpad

~/.config/hypr/hyprland.conf
# █ █▄░█ █▀█ █░█ ▀█▀
# █ █░▀█ █▀▀ █▄█ ░█░

# See https://wiki.hyprland.org/Configuring/Variables/

input {
    kb_layout = us
    follow_mouse = 1

    touchpad {
        # natural_scroll = no
        natural_scroll = yes
    }

    sensitivity = 0
    force_no_accel = 1
    numlock_by_default = true
}

Kittyλ︎

HyDE provides a kitty configuration which overrode my kitty config. My kitty config was in version control, so easy to restore.

HyDE includes a userprefs.conf file into which I copied my Kitty config fieles, except those configs related to themes.

Example

~/.config/kitty/kitty.conf
# Set your personal kitty configuration here

# ---------------------------------------------------------
# Key bindings

# Open new tab in current window
map ctrl+shift+t launch --cwd=current --type=tab
# ---------------------------------------------------------

# ---------------------------------------------------------
# Tab styles
# fade slant separator powerline custom hidden
tab_bar_style powerline
tab_bar_align left
tab_powerline_style angled

# --------------------------------------------------------

# ---------------------------------------------------------
# Fonts

# BEGIN_KITTY_FONTS
font_family      family="FiraCode Nerd Font"
bold_font        auto
italic_font      auto
bold_italic_font auto
# END_KITTY_FONTS

font_size 12

# adjust_line_height  0
# adjust_column_width 0
# adjust_baseline 0
# ---------------------------------------------------------

My Kitty config uses FirCode font which needed to be installed for Arch Linux

Instal Firacode font on Arch Linux

sudo pacman -S ttf-fira-code

Zshλ︎

The ~/.zshrc file added by HyDE can be used to add personal configurations which should not be overwritten by HyDE updates.

HyDE contains its specific configuration in ~/.hyde.zshrc and ~/.zshenv which shouldnt be used for personal configuration as they would be overwritten by HyDE updates.

.zshrc user configuration

# Add user configurations here
# For HyDE not to touch your beloved configurations,
# we added 2 files to the project structure:
# 1. ~/.hyde.zshrc - for customizing the shell related hyde configurations
# 2. ~/.zshenv - for updating the zsh environment variables handled by HyDE // this will be modified across updates

#  Plugins 
# oh-my-zsh plugins are loaded  in ~/.hyde.zshrc file, see the file for more information

#  Aliases 
# Add aliases here
[[ ! -f ~/.config/shell-aliases ]] || source ~/.config/shell-aliases # (1)!

#  This is your file 
# Add your configurations here
  1. Practicalli aliases included by loading ~/.config/shell-aliases

Screencastsλ︎

OBS is an advanced tool for screen-casts and live broadcasts and supports Wayland when using Pipedrive.

HyDE mentions these Wayland based recording packages:

  • wl-screenrec a high performance recorder making use of the GPU.
  • wf-recorder basic recording tool
  • kooha

Kooha is a simple screen recorder with a minimal interface. You can simply click the record button without having to configure a bunch of settings.

The main features of Kooha include the following:

  • 🎙️ Record microphone, desktop audio, or both at the same time
  • 📼 Support for WebM, MP4, GIF, and Matroska formats
  • 🖥️ Select a monitor or a portion of the screen to record
  • 🛠️ Configurable saving location, pointer visibility, frame rate, and delay
  • 🚀 Experimental hardware-accelerated encoding

Install Kooha screen recorder in Arch Linux

sudo pacman -Sy kooha

Kooha saves the recording using the WebM video container format. This format is not supported without installing ... packages.

I assume Opus tools is required and I use Opus format for music and audiobooks.

Kooha generates error

An error occurred each time using the default WebM container (2 attempts) although a .webm video was created both times. The error occurred even after insatlling the WebM package.

The error did not occur when using the Matroska format.

An error occurred while recording

Caused by:
    0: ../pipewire/src/gst/gstpipewiresrc.c(704): on_state_changed (): /GstPipeline:pipeline0/GstBin:kooha-pipewiresrc-bin/GstPipeWireSrc:pipewiresrc0
    1: stream error: unhandled format

There does not seem to be a webm package in the Arch Linux repositories:

 sudo pacman -Sy webm
:: Synchronizing package databases...
 core is up to date
 extra is up to date
 multilib is up to date
 chaotic-aur is up to date
error: target not found: webm

Searching packages does not seem to show relevant a package

 sudo pacman -Ss webm
extra/firefox-extension-mailvelope 5.2.0-1 (firefox-addons)
    Browser extension for OpenPGP encryption with Webmail
extra/ruby-webmock 3.24.0-1
    Allows stubbing HTTP requests and setting expectations on HTTP requests.
extra/texlive-plaingeneric 2024.2-4 (texlive)
    TeX Live - Plain (La)TeX packages
extra/webp-pixbuf-loader 0.2.7-1
    WebM GDK Pixbuf Loader library
chaotic-aur/webmin 2.202-1
    A web-based administration interface for Unix systems

AUR fails and not sure why as there is a webm package

 yay -Sy webm-git
:: Synchronizing package databases...
 core is up to date
 extra is up to date
 multilib is up to date
 chaotic-aur is up to date
 -> No AUR package found for webm-git
 there is nothing to do

The package name was incorrect

Details of installing WebM from Arch Linux User Repository
 yay -Sy webm
[sudo] password for practicalli:
:: Synchronizing package databases...
 core is up to date
 extra is up to date
 multilib is up to date
 chaotic-aur                                                                651.0 KiB   295 KiB/s 00:02 [-------------------------------------------------------------] 100%
AUR Explicit (1): webm-0.12.1-1
:: (1/1) Downloaded PKGBUILD: webm
  1 webm                             (Build Files Exist)
==> Packages to cleanBuild?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==> a
:: Deleting (1/1): /home/practicalli/.cache/yay/webm
HEAD is now at a4962ce bikeshedding
  1 webm                             (Build Files Exist)
==> Diffs to show?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==> A
diff --git /home/practicalli/.cache/yay/webm/PKGBUILD /home/practicalli/.cache/yay/webm/PKGBUILD
new file mode 100644
index 0000000..cc8d166
--- /dev/null
+++ /home/practicalli/.cache/yay/webm/PKGBUILD
@@ -0,0 +1,34 @@
+# Maintainer: neeshy <neeshy@tfwno.gf>
+pkgname=webm
+pkgver=0.12.1
+pkgrel=1
+pkgdesc="Cross-platform command-line WebM converter"
+arch=('any')
+url="https://github.com/Kagami/webm.py"
+license=('custom:CC0')
+depends=('python' 'ffmpeg')
+optdepends=('mpv: for interactive mode')
+makedepends=('python-setuptools')
+source=("https://github.com/Kagami/webm.py/archive/v$pkgver.tar.gz"
+        "mpv-options.patch"
+        "drop-python2-support.patch")
+sha256sums=('786244edc928583a49e210cbb5533d192bf9ad31bc82eb0a66d393964db119c8'
+            'ddaf7c409fb7e0d6a50c638338b1d18fb2df3f7555503d6c9d0e5054703ad958'
+            '70308ed9a2f0a3d9fc445fec5a8cebf8f8e7fb51686af2a9fcc77953094bce0d')
+
+prepare() {
+  cd "$srcdir/webm.py-$pkgver"
+  patch -Np1 -i "$srcdir/mpv-options.patch"
+  patch -Np1 -i "$srcdir/drop-python2-support.patch"
+}
+
+build() {
+  cd "$srcdir/webm.py-$pkgver"
+  python setup.py build
+}
+
+package() {
+  cd "$srcdir/webm.py-$pkgver"
+  python setup.py install --root="$pkgdir/" --optimize=1 --skip-build
+  install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
diff --git /home/practicalli/.cache/yay/webm/drop-python2-support.patch /home/practicalli/.cache/yay/webm/drop-python2-support.patch

:: Proceed with install? [Y/n] y
==> Making package: webm 0.12.1-1 (Sun 02 Feb 2025 01:04:30 AM UTC)
==> Retrieving sources...
  -> Downloading v0.12.1.tar.gz...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 19489    0 19489    0     0  30446      0 --:--:-- --:--:-- --:--:-- 30446
  -> Found mpv-options.patch
  -> Found drop-python2-support.patch
==> WARNING: Skipping verification of source file PGP signatures.
==> Validating source files with sha256sums...
 yay -Sy webm
[sudo] password for practicalli:
:: Synchronizing package databases...
 core is up to date
 extra is up to date
 multilib is up to date
 chaotic-aur                                                                651.0 KiB   295 KiB/s 00:02 [-------------------------------------------------------------] 100%
AUR Explicit (1): webm-0.12.1-1
:: (1/1) Downloaded PKGBUILD: webm
  1 webm                             (Build Files Exist)
==> Packages to cleanBuild?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==> a
:: Deleting (1/1): /home/practicalli/.cache/yay/webm
HEAD is now at a4962ce bikeshedding
  1 webm                             (Build Files Exist)
==> Diffs to show?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==> A
diff --git /home/practicalli/.cache/yay/webm/PKGBUILD /home/practicalli/.cache/yay/webm/PKGBUILD
new file mode 100644
index 0000000..cc8d166
--- /dev/null
+++ /home/practicalli/.cache/yay/webm/PKGBUILD
@@ -0,0 +1,34 @@
+# Maintainer: neeshy <neeshy@tfwno.gf>
+pkgname=webm
+pkgver=0.12.1
+pkgrel=1
+pkgdesc="Cross-platform command-line WebM converter"
+arch=('any')
+url="https://github.com/Kagami/webm.py"
+license=('custom:CC0')
+depends=('python' 'ffmpeg')
+optdepends=('mpv: for interactive mode')
+makedepends=('python-setuptools')
+source=("https://github.com/Kagami/webm.py/archive/v$pkgver.tar.gz"
+        "mpv-options.patch"
+        "drop-python2-support.patch")
+sha256sums=('786244edc928583a49e210cbb5533d192bf9ad31bc82eb0a66d393964db119c8'
+            'ddaf7c409fb7e0d6a50c638338b1d18fb2df3f7555503d6c9d0e5054703ad958'
+            '70308ed9a2f0a3d9fc445fec5a8cebf8f8e7fb51686af2a9fcc77953094bce0d')
+
+prepare() {
+  cd "$srcdir/webm.py-$pkgver"
+  patch -Np1 -i "$srcdir/mpv-options.patch"
+  patch -Np1 -i "$srcdir/drop-python2-support.patch"
+}
+
+build() {
+  cd "$srcdir/webm.py-$pkgver"
+  python setup.py build
+}
+
+package() {
+  cd "$srcdir/webm.py-$pkgver"
+  python setup.py install --root="$pkgdir/" --optimize=1 --skip-build
+  install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
diff --git /home/practicalli/.cache/yay/webm/drop-python2-support.patch /home/practicalli/.cache/yay/webm/drop-python2-support.patch

:: Proceed with install? [Y/n] y
==> Making package: webm 0.12.1-1 (Sun 02 Feb 2025 01:04:30 AM UTC)
==> Retrieving sources...
  -> Downloading v0.12.1.tar.gz...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 19489    0 19489    0     0  30446      0 --:--:-- --:--:-- --:--:-- 30446
  -> Found mpv-options.patch
  -> Found drop-python2-support.patch
==> WARNING: Skipping verification of source file PGP signatures.
==> Validating source files with sha256sums...
    v0.12.1.tar.gz ... Passed
    mpv-options.patch ... Passed
    drop-python2-support.patch ... Passed
:: (1/1) Parsing SRCINFO: webm
==> Making package: webm 0.12.1-1 (Sun 02 Feb 2025 01:04:32 AM UTC)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found v0.12.1.tar.gz
  -> Found mpv-options.patch
  -> Found drop-python2-support.patch
==> Validating source files with sha256sums...
    v0.12.1.tar.gz ... Passed
    mpv-options.patch ... Passed
    drop-python2-support.patch ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Extracting v0.12.1.tar.gz with bsdtar
==> Starting prepare()...
patching file webm.py
patching file webm.py
==> Sources are ready.
==> Making package: webm 0.12.1-1 (Sun 02 Feb 2025 01:04:34 AM UTC)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> WARNING: Using existing $srcdir/ tree
==> Starting build()...
running build
running build_py
creating build/lib
copying webm.py -> build/lib
==> Entering fakeroot environment...
==> Starting package()...
running install
/usr/lib/python3.13/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
!!

        ********************************************************************************
        Please avoid running ``setup.py`` directly.
        Instead, use pypa/build, pypa/installer or other
        standards-based tools.

        See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
        ********************************************************************************

!!
  self.initialize_options()
running install_lib
creating /home/practicalli/.cache/yay/webm/pkg/webm/usr/lib/python3.13/site-packages
copying build/lib/webm.py -> /home/practicalli/.cache/yay/webm/pkg/webm/usr/lib/python3.13/site-packages
byte-compiling /home/practicalli/.cache/yay/webm/pkg/webm/usr/lib/python3.13/site-packages/webm.py to webm.cpython-313.pyc
writing byte-compilation script '/tmp/tmpjtdo_3jw.py'
/usr/bin/python /tmp/tmpjtdo_3jw.py
removing /tmp/tmpjtdo_3jw.py
running install_egg_info
running egg_info
creating webm.egg-info
writing webm.egg-info/PKG-INFO
writing dependency_links to webm.egg-info/dependency_links.txt
writing entry points to webm.egg-info/entry_points.txt
writing top-level names to webm.egg-info/top_level.txt
writing manifest file 'webm.egg-info/SOURCES.txt'
reading manifest file 'webm.egg-info/SOURCES.txt'
adding license file 'COPYING'
writing manifest file 'webm.egg-info/SOURCES.txt'
Copying webm.egg-info to /home/practicalli/.cache/yay/webm/pkg/webm/usr/lib/python3.13/site-packages/webm-0.12.1-py3.13.egg-info
running install_scripts
Installing webm script to /home/practicalli/.cache/yay/webm/pkg/webm/usr/bin
==> Tidying install...
  -> Removing libtool files...
  -> Purging unwanted files...
  -> Removing static library files...
  -> Stripping unneeded symbols from binaries and libraries...
  -> Compressing man and info pages...
==> Checking for packaging issues...
==> Creating package "webm"...
  -> Generating .PKGINFO file...
  -> Generating .BUILDINFO file...
  -> Generating .MTREE file...
  -> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: webm 0.12.1-1 (Sun 02 Feb 2025 01:04:36 AM UTC)
==> Cleaning up...
loading packages...
resolving dependencies...
looking for conflicting packages...

Package (1)  New Version  Net Change

webm         0.12.1-1       0.18 MiB

Total Installed Size:  0.18 MiB

:: Proceed with installation? [Y/n]
(1/1) checking keys in keyring                                                                          [-------------------------------------------------------------] 100%
(1/1) checking package integrity                                                                        [-------------------------------------------------------------] 100%
(1/1) loading package files                                                                             [-------------------------------------------------------------] 100%
(1/1) checking for file conflicts                                                                       [-------------------------------------------------------------] 100%
(1/1) checking available disk space                                                                     [-------------------------------------------------------------] 100%
:: Processing package changes...
(1/1) installing webm                                                                                   [-------------------------------------------------------------] 100%
Optional dependencies for webm
    mpv: for interactive mode
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...
    v0.12.1.tar.gz ... Passed
    mpv-options.patch ... Passed
    drop-python2-support.patch ... Passed
:: (1/1) Parsing SRCINFO: webm
==> Making package: webm 0.12.1-1 (Sun 02 Feb 2025 01:04:32 AM UTC)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found v0.12.1.tar.gz
  -> Found mpv-options.patch
  -> Found drop-python2-support.patch
==> Validating source files with sha256sums...
    v0.12.1.tar.gz ... Passed
    mpv-options.patch ... Passed
    drop-python2-support.patch ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Extracting v0.12.1.tar.gz with bsdtar
==> Starting prepare()...
patching file webm.py
patching file webm.py
==> Sources are ready.
==> Making package: webm 0.12.1-1 (Sun 02 Feb 2025 01:04:34 AM UTC)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> WARNING: Using existing $srcdir/ tree
==> Starting build()...
running build
running build_py
creating build/lib
copying webm.py -> build/lib
==> Entering fakeroot environment...
==> Starting package()...
running install
/usr/lib/python3.13/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
!!

        ********************************************************************************
        Please avoid running ``setup.py`` directly.
        Instead, use pypa/build, pypa/installer or other
        standards-based tools.

        See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
        ********************************************************************************

!!
  self.initialize_options()
running install_lib
creating /home/practicalli/.cache/yay/webm/pkg/webm/usr/lib/python3.13/site-packages
copying build/lib/webm.py -> /home/practicalli/.cache/yay/webm/pkg/webm/usr/lib/python3.13/site-packages
byte-compiling /home/practicalli/.cache/yay/webm/pkg/webm/usr/lib/python3.13/site-packages/webm.py to webm.cpython-313.pyc
writing byte-compilation script '/tmp/tmpjtdo_3jw.py'
/usr/bin/python /tmp/tmpjtdo_3jw.py
removing /tmp/tmpjtdo_3jw.py
running install_egg_info
running egg_info
creating webm.egg-info
writing webm.egg-info/PKG-INFO
writing dependency_links to webm.egg-info/dependency_links.txt
writing entry points to webm.egg-info/entry_points.txt
writing top-level names to webm.egg-info/top_level.txt
writing manifest file 'webm.egg-info/SOURCES.txt'
reading manifest file 'webm.egg-info/SOURCES.txt'
adding license file 'COPYING'
writing manifest file 'webm.egg-info/SOURCES.txt'
Copying webm.egg-info to /home/practicalli/.cache/yay/webm/pkg/webm/usr/lib/python3.13/site-packages/webm-0.12.1-py3.13.egg-info
running install_scripts
Installing webm script to /home/practicalli/.cache/yay/webm/pkg/webm/usr/bin
==> Tidying install...
  -> Removing libtool files...
  -> Purging unwanted files...
  -> Removing static library files...
  -> Stripping unneeded symbols from binaries and libraries...
  -> Compressing man and info pages...
==> Checking for packaging issues...
==> Creating package "webm"...
  -> Generating .PKGINFO file...
  -> Generating .BUILDINFO file...
  -> Generating .MTREE file...
  -> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: webm 0.12.1-1 (Sun 02 Feb 2025 01:04:36 AM UTC)
==> Cleaning up...
loading packages...
resolving dependencies...
looking for conflicting packages...

Package (1)  New Version  Net Change

webm         0.12.1-1       0.18 MiB

Total Installed Size:  0.18 MiB

:: Proceed with installation? [Y/n]
(1/1) checking keys in keyring                                                                          [-------------------------------------------------------------] 100%
(1/1) checking package integrity                                                                        [-------------------------------------------------------------] 100%
(1/1) loading package files                                                                             [-------------------------------------------------------------] 100%
(1/1) checking for file conflicts                                                                       [-------------------------------------------------------------] 100%
(1/1) checking available disk space                                                                     [-------------------------------------------------------------] 100%
:: Processing package changes...
(1/1) installing webm                                                                                   [-------------------------------------------------------------] 100%
Optional dependencies for webm
    mpv: for interactive mode
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...

Opus tools package provides encoder and decoder tools for the Opus audio format.

Something installed the opus codec already.

 sudo pacman -Ss opus
extra/libopusenc 0.2.1-5
    High-level API for encoding .opus files
extra/opus 1.5.2-1 [installed]
    Totally open, royalty-free, highly versatile audio codec
extra/opus-docs 1.5.2-1
    Totally open, royalty-free, highly versatile audio codec (documentation)
extra/opus-tools 0.2-6
    Collection of tools for Opus audio codec
extra/opusfile 0.12-4
    Library for opening, seeking, and decoding .opus files
multilib/lib32-opus 1.5.2-1
    Totally open, royalty-free, highly versatile audio codec (32-bit)

I installed Opus tools as that I what I add in a Debian system.

NFS and NASλ︎

I have several Network Attached Storage devices to hold work and entertainment.

I use NFS shares on the NAS devices which feels the most reliable way to connect laptops and computers to share files.

Arch Linux requires the nfs-utils package to connect to NFS shares.

Install NFS client support on Arch Linux

sudo pacman -Sy nfs-utils

/etc/hosts was updated to define local network names and IP addresses for each NAS device.

Host entries for NAS devices

/etc/hosts
# Network attached storage
192.168.0.247   nas
192.168.0.250   qnap

Configure 'static' network address for NAS devices

Configure the local network DHCP service to always issue the same IP address lease. Update the local network router network settings and assign the Ethernet adapter MAC address of each NAS device to a specific IP address)

Alternativelyc, configure each NAS device to have a static IP address (and ensure the local DHCP server does not try and alocate the NAS static IP addresses to any other network device by setting the DHCP lease IP address range).

Create directories that will be the mount points for each NFS share.

Install NFS client support on Arch Linux

sudo mkdir /media/ents && \
sudo mkdir /media/archive

/etc/fstab was updated to add each NFS share connection.

Host entries for NAS devices

/etc/fstab
# Network attached storage
nas:/raid0/data/Ents    /media/ents     nfs     defaults,user,noauto,nfsvers=3,rsize=8192,wsize=8192,timeo=14,intr
qnap:/Multimedia        /media/qnts     nfs     defaults,user,noauto,rsize=8192,wsize=8192,timeo=14,intr

The NFS share can now be mounted using the directory name, e.g. /media/ents

Install NFS client support on Arch Linux

mount -t nfs /media/archive

Nautilus file explorer shows mount points

NFS shares defined in /etc/fstab automatically show in the Gnome Nautilus file explorer, sudo -Sy nautilus

Click on the NFS share name in Nautilus to mount the share and access the files it contains.


Thank you.

🌐 Practical.li Website

Practical.li GitHub Org practicalli-johnny profile

@practicalli@clj.social @practical_li