Converting an install to Project Trident
Installing the Trident Repository
Project Trident hosts a small package repository for meta-packages and our base-system setup packages. This is an add-on repository without any architecture restrictions and does not replace the current Void repositories that you are already using.
Note: All of these commands need to be run with root permissions
Step 1 : Enable the repository
Project Trident provides a pre-assembled repository configuration file within the repository itself which can just be added to your local system.
cd /etc/xbps.d && wget https://project-trident.org/repo/conf/trident.conf
Step 1b : Set repo file permissions
In order to search the repositories with user permissions, you will need to set the new repository file as "readable" by everyone.
chmod 644 /etc/xbps.d/trident.conf
Step 2: Sync the repository
This will fetch all the information about the repository to your local system so that it can be used for browsing/installing packages later.
There will typically be a prompt about whether you want to accept/save the public key for the Project Trident repository. Just type "y" and hit enter to save the key. This key will automatically be used to verify the integrity of all the packages from the repository when you download them later.
Step 3: Install packages normally
The two primary packages are called "trident-core" and "trident-desktop". A quick description of these two packages is provided below for reference:
Description of Packages
This is the base-system setup and configuration package.
If you do not want to have a graphical desktop or if you want to build your own custom graphical environment for the system, then just install this package to get the basics of the system setup.
The trident-core packages sets up and/or enables the following subsystems:
- System clock synchronization (openntpd)
- System firewall (nftables)
- On-demand network/device mounting (autofs)
- System task scheduling (dcron)
- Bluetooth (bluez)
- Sudo access (with password) for users in the wheel group (https://github.com/project-trident/trident-core/blob/master/void-files/etc/sudoers.d/trident)
And installs the following utilities:
- jq (JSON object inspector)
- nano (lightweight text editor)
- Wireguard (secure VPN framework. Not enabled by default)
- Git (version control system)
- cifs-utils (everything needed for using Samba remote file shares)
- trident-update (ZFS-aware system update utility)
- trident-mkuser (ZFS-aware user creation utility)
- trident-sysinit (script which performs the system setup: automatically run after package is installed)
This is the full graphical-desktop system setup package. It will automatically include the trident-core package for the base system setup, and will add the following tools/subsystems for graphical desktop usage:
- Graphical subsystems (Xorg/X11)
- mesa-dri is installed for enhanced graphics (OpenGL support) out of box
- Custom graphics drivers will still need to be installed for your particular hardware.
- fbdev driver is included as a last-ditch fallback for graphics support until a better driver is installed.
- Common packages for graphics drivers: xf86-video-amdgpu, nvidia, nvidia390, nvidia340, bumblebee
- Graphical Login Manager (sddm)
- Desktop Environment (Lumina)
- Fonts (noto, xorg)
- Icons (trident-icons, hicolor-icon-theme)
- Audio system setup (pulseaudio is primary - alsa and others setup to forward to pulseaudio as needed)
- Graphical terminal (qterminal)
- Graphical sudo (qsudo)
- trident-login: Post-login, pre-desktop initialization framework with pre-logout hooks.
- Used for many desktop setup routines before the desktop itself launches: localization, standards support, highDPI support, audio setup
- trident-desktopinit (script which performs the system setup: automatically run after package is installed)