Personal repository for customizing EndeavourOS to my liking.
Since we need sudo that often, we're editing the configuration file to have passwordless access.
First switch to root.
su root # or sudo -sThen add your user to the wheel group (Normally it's the sudo group, but in EndeavourOS it's wheel).
usermod -aG wheel <your_username>Edit the /etc/sudoers.d/10-installer file to look like this (Added NOPASSWD: behind ALL at the end):
%wheel ALL=(ALL:ALL) NOPASSWD:ALLPackage xterm comes preinstalled, which we don't need.
We have KDE's Konsole already installed on the System (In case you did that on the installation)
Uninstall the package via this command:
sudo pacman -Rns xtermInstall oh-my-zsh and powerlevel10k via paru.
paru -S oh-my-zsh-git zsh-theme-powerlevel10kInstall zsh via pacman.
pacman -S zshNow get the files from this Repo (dotfiles/.{zshrc,p10k.zsh}) and copy it to it's corresponding path.
Enter your password and reboot the system (Konsole restart doesn't work).
chsh -s /usr/bin/zshDone. Konsole looks like this now (When launching it):
Get the .bashrc file for colorized terminal and start fastfetch when opening the terminal (See dotfiles/.config/fastfetch for a nice looking file!).
This will copied to ~/.bashrc (Your old one will be overwritten!!).
curl "https://raw.githubusercontent.com/wesa-it/linux-user-setup/refs/heads/master/dotfiles/.bashrc" -o ~/.bashrcTo get faster AUR package compilation (multi-threaded), use this: From here
sudo sed -i /etc/makepkg.conf -e 's/#MAKEFLAGS="-j2"/MAKEFLAGS="-j$(nproc)"/'This tutorial is from here. Everything changed for EndeavourOS.
Install the grub-silent package (This will take a while because it's build from source):
paru -S grub-silentAfter this, we need to install grub:
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi/ --bootloader-id=GRUBRegenerate the GRUB configuration file:
sudo grub-mkconfig -o /boot/grub/grub.cfgNow we are finally ready to install the EndeavourOS plymouth theme!
# Clone the repo
git clone git@github.com/killajoe/eos-bgrt /tmp/eos-bgrt
# Go into to the repos PKG dir
cd /tmp/eos-bgrt/PKG
# Install
makepkg -siFor example, a theme called Pling Link from this Repo.
Install example here
# Download theme files
git clone github.com/sandesh236/sleek--themes /tmp/sleek--themes
# Execute the installer script (dark)
cd /tmp/sleek--themes/Sleek\ theme-dark/
./install.sh
# Follow instructions, write your nameAnother theme called Catppuccin for Grub.
Install example here
- Clone this repository locally and enter the cloned folder:
git clone https://github.com/catppuccin/grub.git && cd grub- Copy all themes from
srcfolder to/usr/share/grub/themes/.
sudo cp -r src/* /usr/share/grub/themes/- Uncomment and edit following line in
/etc/default/grubto your selected theme:
GRUB_THEME="/usr/share/grub/themes/catppuccin-<flavor>-grub-theme/theme.txt"- Edit resolution (when using a FullHD monitor):
GRUB_GFXMODE=1920x1080- Update grub:
sudo grub-mkconfig -o /boot/grub/grub.cfg... or the theme called SilentSDDM.
Install example here
Install the stable version.
paru -S sddm-silent-themeEdit config file (with sudo):
/etc/sddm.conf
[General]
InputMethod=qtvirtualkeyboard
GreeterEnvironment=QML2_IMPORT_PATH=/usr/share/sddm/themes/silent/components/,QT_IM_MODULE=qtvirtualkeyboard
[Theme]
Current=silentOptional, use the catppuccin-mocha theme (with sudo again).
/usr/share/sddm/themes/silent/metadata.desktop
# Uncomment this and don't forgot to comment the current one.
ConfigFile=configs/catppuccin-mocha.confSave that script where you like (For example /home/user/Documents/scripts/zipline-script-file.sh).
#!/bin/bash
TOKEN="your-token"
URL="https://share.your-domain.de/api/upload"
spectacle -o /tmp/screenshot.png -ribn
curl \
-H "authorization: $TOKEN" $URL \
-F file=@/tmp/screenshot.png \
-H 'content-type: multipart/form-data' |
jq -r .files\[0].url |
tr -d '\n' |
wl-copy
Install from Official Repos:
pacman -S wl-clipboard jqGo to Shortcuts menu and add a new script

Select the script and add afterwards.
Now add a keyboard shortcut and you're done!
Install woeusb-ng from the AUR (via paru):
paru -S woeusb-ngSynchronize Windows & Linux RTC:
sudo timedatectl set-local-rtc 1Install easyeffects and some utils (AUR):
sudo pacman -S easyeffects
paru -S lsp-plugins calfAdd this effects:
Install pulsemeeter-git from the user repositories:
paru -S pulsemeeter-gitFrom Official Repositories:
sudo pacman -S vlc live-media vlc-plugin-ffmpeg Package live-media is needed to have working FRITZ!Box streams.
Package vlc-plugin-ffmpeg is needed to have working VIOFO videos (because of the h264 format).
Enable Numpad on boot
System Settings > Input Devices > Keyboard > Hardware Tab
NumLock on Plasma Startup → [Set behavior to enabled]
Don't start old applications on boot
System Settings > Session Management
Restore previous session → [Set to empty]
See hidden files in Dolphin
Press STRG+H in Dolphin
or
Dolphin Settings Menu > More > View
See hidden files → [Set behavior to enabled]
Enable clock seconds
Select Always and click on OK:

Install from AUR:
paru -S kde-material-you-colorsAfter this, enable auto start:
kde-material-you-colors -aReboot system or execute kde-material-you-colors manually to get Material You colors.
This is needed because Arch does not enable Bluetooth by default.
sudo systemctl enable bluetooth --nowInstall from Official Repositories and from the AUR (via paru):
VAAPI for AMD GPUs.
v4l2loopback-utils and v4l2loopback-dkms for working virtual camera. (Reboot system right after because of DKMS).
obs-plugin-browser for browser integration.
wireplumber for application only audio.
obs-vkcapture for record application only instead of complete monitor.
sudo pacman -S obs-studio qt6-wayland v4l2loopback-utils v4l2loopback-dkms wireplumber
paru -S obs-vaapi obs-plugin-browser obs-vkcaptureInstall from Official Repositories:
sudo pacman -S mesa-vdpau libva-mesa-driverFor having hardware acceleration when using parsec (Not working on my machine...?)
Instead of Parsec, try Looking Glass!
This one installs the looking-glass Client.
paru -S looking-glassIf it's asking, just use the default options.
Get aptpac from (here).
Add this to your ~/.bash_profile:
if [ -d "$HOME/bin" ]; then
PATH="$HOME/bin:$PATH"
fiSave aptpac script to ~/bin/aptpac and make it executable (use aptpac instead of apt, scripts are not working properly otherwise):
chmod +x ~/bin/aptpacPreinstalled - just enable it (when needed):
sudo systemctl enable sshd --nowInstall from Official Repositories:
sudo pacman -S linux-zen linux-zen-headersWhen using GRUB - regenerate:
sudo grub-mkconfig -o /boot/grub/grub.cfgWhen using systemd-boot, add -zen* to the end:
/efi/loader/loader.conf
default *your_kernel*-zen*
timeout 5
console-mode auto
reboot-for-bitlocker 1
Disable and recreate 16GB SWAP:
sudo swapoff /swapfile
sudo rm -f /swapfile
sudo dd if=/dev/zero of=/swapfile bs=1024 count=16777216 # 16 GB | 8 GB: 8388608
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfileAdd to /etc/fstab (if not exist):
/swapfile swap swap defaults 0 0
- Open Dolphin
- In address bar:
smb://<ip>/<sharename> - Right-click → “Add to Places”
CAUTION The UUID will no longer be the same if the hard drive has been formatted!
# Format to ext4 first (use gparted for example)
sudo mkdir -p /mnt/<diskname>
sudo blkid # Search for UUID="<uuid>" and copy the entryAdd to /etc/fstab:
# <diskname>
UUID=<uuid> /mnt/<diskname> ext4 defaults 0 2
Mount it right after:
sudo systemctl daemon-reload && mount -a
sudo chmod -R 700 /mnt/<diskname> && sudo chown -R <user>:<user> /mnt/<diskname>You need to block it entirely from the system to setup GPU passthrough.
Only the linux-zen or linux-vfio kernel works.
IOMMU groups needs to be seperated for the Virtual Machine
See [here](https://wiki.archlinux.org/title/PCI_passthrough_via_OVMF#Bypassing_the_IOMMU_groups_(ACS_override_patch):
Search for nvidia in lspci:
$ lspci -nnk | grep -iA 3 nvidia
04:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK208B [GeForce GT 710] [10de:128b] (rev a1)
Subsystem: Gigabyte Technology Co., Ltd Device [1458:36ed]
Kernel modules: nouveau
04:00.1 Audio device [0403]: NVIDIA Corporation GK208 HDMI/DP Audio Controller [10de:0e0f] (rev a1)
Subsystem: Gigabyte Technology Co., Ltd Device [1458:36ed]
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
Check IOMMU:
lspci -nnk | grep -iA 3 nvidia
# lspci -nn | grep -iE 'Audio|VGA|3D' # when using other gpu than nvidia
04:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP107 [GeForce GTX 1050 Ti] [10de:1c82] (rev a1)
04:00.1 Audio device [0403]: NVIDIA Corporation GP107GL High Definition Audio Controller [10de:0fb9] (rev a1)
2d:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 23 [Radeon RX 6650 XT / 6700S / 6800S] [1002:73ef] (rev c1)
2d:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21/23 HDMI/DP Audio Controller [1002:ab28]
2f:00.4 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse HD Audio Controller [1022:1487]Blacklist drivers:
/etc/modprobe.d/blacklist-nvidia.conf
blacklist nouveau
options nouveau modeset=0/etc/modprobe.d/vfio.conf
options vfio-pci ids=10de:1c82,10de:0fb9Modify EFI entry (when using systemd-boot):
/efi/loader/loader.conf
options ... amd_iommu=on pcie_acs_override=downstream,multifunction ...Modify EFI entry (when using GRUB):
/etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT='quiet splash amd_iommu=on rd.driver.pre=vfio-pci pcie_acs_override=downstream,multifunction ... 'sudo grub-mkconfig -o /boot/grub/grub.cfgAdd this additional line to /etc/dracut.conf.d/eos-defaults.conf:
omit_drivers+=" nouveau "
force_drivers+=" vfio-pci vfio vfio_iommu_type1 "Regenerate initramfs (systemd-boot):
sudo dracut -f --regenerate-allRegenerate initramfs (GRUB):
sudo dracut-rebuild[INFO] Windows Germany ISO is not working, use International English one.
This is not fully documented by me. Use looking-glass docs or Arch wiki for more help.
Install from Official Repo:
sudo pacman -S libvirt virt-manager qemu-desktop dnsmasq iptables-nft iproute2 dmidecodeAfter installing the packages, you need to update the firewall for libvirt:
# Enable and start libvirtd service
sudo firewall-cmd --reload
sudo systemctl enable libvirtd --now
# Enable and start virsh network service
sudo virsh net-autostart default
sudo virsh net-start default
# Add user to libvirt and kvm group to avoid errors
sudo usermod -aG libvirt <user>
sudo usermod -aG kvm <user>Looking Glass setup
Starting manually with the GPU - put an HDMI dummy plug into the GPU.
From the docs:
Install the looking-glass dkms-module:
paru -S looking-glass-module-dkms-git
sudo modprobe kvmfrSetting up the memory size:
sudo modprobe kvmfr static_size_mb=32Alternatively make this setting permanent by creating the file /etc/modprobe.d/kvmfr.conf:
options kvmfr static_size_mb=32Load the kvmfr module when starting the computer (using systemd-modules-load.service):
/etc/modules-load.d/kvmfr.conf
# KVMFR Looking Glass module
kvmfrSet permissions for the file /dev/kvmfr0 (user changed from <your user> to root because we're in the kvm group already):
sudo chown root:kvm /dev/kvmfr0To make this permanent write that in /etc/udev/rules.d/99-kvmfr.rules.
Changed default entries MODE="0660" to MODE="0666" and drop OWNER="<user>" because we're in the kvm group already.
SUBSYSTEM=="kvmfr", GROUP="kvm", MODE="0666"Libvirt changes
Configuring the Virtual CPU (virsh edit # e.g. win10`):
...
<cpu mode='host-passthrough' check='partial'>
...Hide the VM as well:
...
<kvm>
<hidden state='on'/>
</kvm>
...Disabling the Hypervisor CPUID Bit:
Inside the ` block of your virtual machine's configuration, add the following line to disable the hypervisor CPUID bit.
This line should completely hide the virtualization environment from the perspective of the guest operating system, thus causing any virtualization check to pass.
<feature policy='disable' name='hypervisor'/>Using the module in libvirt requires adding a <qemu:commandline> block to your libvirt XML configuration. That block, in turn, requires modifying the XML domain namespace. To modify the namespace edit the <domain> tag at the top of your XML config to:
<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>Starting with QEMU 6.2 and libvirt 7.9, JSON style QEMU configuration is the default syntax. Users running QEMU 6.2 or later and libvirt 7.9 or later, should use this XML block to configure their VM for kvmfr:
<qemu:commandline>
<qemu:arg value="-device"/>
<qemu:arg value="{'driver':'ivshmem-plain','id':'shmem0','memdev':'looking-glass'}"/>
<qemu:arg value="-object"/>
<qemu:arg value="{'qom-type':'memory-backend-file','id':'looking-glass','mem-path':'/dev/kvmfr0','size':33554432,'share':true}"/>
</qemu:commandline>
Edit the file /etc/libvirt/qemu.conf and uncomment the cgroup_device_acl block, adding /dev/kvmfr0 to the list. To make this change active you then must restart libvirtd
sudo systemctl restart libvirtd.service
Download a pre-built binary from https://looking-glass.io/downloads
Download and install as an administrator!
(Also don't forget to install GPU drivers!)
Wireless headsets
Install headsetcontrol and some additional software:
sudo pacman -S headsetcontrol # Base
paru -S headsetkontrol headsetcontrol-notificationd-bash-git # GUI and notifierAlso disable acoustic feedback when changing in sound settings (When using G533 or the Pro X headset (for example) and have doubled volume up audio).
Mouse software
sudo pacman -S piper# Lutris as main, wine for the compability layer (fixes wine prefix endless loading) and gamemode for optimization.
sudo pacman -S lutris wine gamemode lib32-gamemodeUse Rockstar Launcher version inside Faugus Launcher. (Anti Cheat won't work on Linux).
To get working Online mode block the BattlEye servers via DNS (Pi-hole or AdguardHome for example).
Only Friend party/Invite only is working.
0.0.0.0 paradise-s1.battleye.com
0.0.0.0 test-s1.battleye.com
0.0.0.0 paradiseenhanced-s1.battleye.comInstallation example from the osu-winello repository.
To get Mouse + Tablet working at the same time:
Search for Tablet, select All Monitors

After this, go to the OpenTabletDriver GUI and enable Artist Mode.

Just install OTD. At version starting with 6.0.1 We don't need to blacklist wacom anymore.
Only use Wacom, Huion is broken for unknown reasons.
paru -S opentabletdriver
systemctl --user enable opentabletdriver.service --nowsudo pacman -S jdk21-openjdk
sudo archlinux-java set java21-openjdk # Set JDK21 as defaultInstall wireguard from the official Repos and bringup the interface via:
wg-quick up /path/to/wg0.confImport your GPG/PGP with the following command.
gpg --import /path/to/gnupg/key.ascInstall Steam:
sudo pacman -S steamEnable Proton for all titles → Restart Steam.
Not needed anymore after a recent update made in mid 2025?
Hotfix to boost download speed from 25 MBit/s back to 1 GBit/s.
Create ~/.steam/steam/steam_dev.cfg:
@nClientDownloadEnableHTTP2PlatformLinux 0
@fDownloadRateImprovementToAddAnotherConnection 1.0
Heroic Games Launcher:
paru -S heroic-games-launcher-binLink GE-Proton from HeroicGamesLauncher (Download GE-Proton from HGL first):
ln -s ~/.config/heroic/tools/proton/Proton-GE-latest/ ~/.local/share/Steam/compatibilitytools.d/System & Utils
| Purpose | Package | Source |
|---|---|---|
| Partition Manager | gparted |
Official Repo |
| Fastfetch | fastfetch |
Official Repo |
| Tree | tree |
Official Repo |
| Htop | htop |
Official Repo |
| Speedtest | speedtest++ |
AUR |
| FFMPEG | ffmpeg |
Official Repo |
| LACT | lact |
AUR |
| Earlyoom | earlyoom |
AUR |
| NCDU | ncdu |
Official Repo |
| YT-DLP | yt-dlp |
Official Repo |
| Paru | paru |
Official Repo |
Development
| Purpose | Package | Source |
|---|---|---|
| Git | git |
Official Repo |
| IntelliJ IDEA Community Edition | intellij-idea-community-edition |
Official Repo |
| Zettlr | zettlr |
Official Repo |
Remote Desktop
| Purpose | Package | Source |
|---|---|---|
| Remmina | remmina |
Official Repo |
| FreeRDP | freerdp |
Official Repo |
| RDesktop | rdesktop |
Official Repo |
| Remmina Plugin RDesktop | remmina-plugin-rdesktop |
AUR |
| Parsec | parsec-bin |
AUR |
| RustDesk | rustdesk-bin |
AUR |
Chat software
| Purpose | Package | Source |
|---|---|---|
| Whatsie/Whatsapp | whatsie |
AUR |
| TeamSpeak6 | teamspeak |
AUR |
| Materialgram | materialgram-bin |
AUR |
| Discord | discord |
Official Repo |
| Vesktop | vesktop-bin |
AUR |
Games
| Purpose | Package | Source |
|---|---|---|
| Modrinth Launcher | modrinth-app-bin |
AUR |
| Hytale Launcher | hytale-launcher-bin |
AUR |
| Eden Emu | eden-bin |
AUR |
Music software
| Purpose | Package | Source |
|---|---|---|
| Spotify | spotify-launcher |
Official Repo |







