My Linux Desktop Setup

about 21 hours ago

Operating System

  • Linux

Distribution

Enable zswap

Add zswap.enabled=1 to kernel parameters

  • To enable zstd compression, over the default lzo, add zswap.compressor=zstd to kernel parameters

zswap works best with a SWAP partition (in my experience).

Enable NTSYNC

sudo zypper install ntsync-autoload

Enable Bookmarks in Konsole

sudo zypper install keditbookmarks

Enable dnsmasq

dnsmasq is network server. I use it as a local DNS cache, which connects to Cloudflare DNS

/etc/dnsmasq.conf :

no-resolv
server=1.1.1.1
server=1.0.0.1
server=2606:4700:4700::1111
server=2606:4700:4700::1001
cache-size=1000
  • Set Internet connection to use DNS servers 127.0.0.1 and ::1 , for IPv4 and IPv6 respectively, then set Method to Only Addresses

  • systemctl enable dnsmasq

Wifi Driver Optimization

  • power_save=0 — Power management off at the driver level

  • power_scheme=1 — sets the MVM layer to max performance mode

  • uapsd_disable=1 — disables Unscheduled Automatic Power Save Delivery

  • amsdu_size=3 — increases frame aggregation size

/etc/modprobe.d/iwlwifi.conf :

options iwlwifi power_save=0 uapsd_disable=1 amsdu_size=3
options iwlmvm power_scheme=1

Disable NetworkManager Power Management

/etc/NetworkManager/conf.d/wifi-powersave-off.conf :

[connection]
wifi.powersave = 2

Desktop Environment

Plasma Theme

  • Breeze Dark [ until March 2025 ]

  • Leaf Dark [ current ]

    • using custom Gruvbox color palette & Breeze Application Style

Color Scheme

This is my custom color scheme, based on Gruvbox and my preferences. These are stored in ~/.local/share/color-schemes

[ColorEffects:Disabled]
Color=56,56,56
ColorAmount=0
ColorEffect=0
ContrastAmount=0.65000000000000002
ContrastEffect=1
IntensityAmount=0.10000000000000001
IntensityEffect=2

[ColorEffects:Inactive]
ChangeSelectionColor=true
Color=112,111,110
ColorAmount=0.025000000000000001
ColorEffect=2
ContrastAmount=0.10000000000000001
ContrastEffect=2
Enable=true
IntensityAmount=0
IntensityEffect=0

[Colors:Button]
BackgroundAlternate=60,56,54
BackgroundNormal=40,40,40
DecorationFocus=104,157,106
DecorationHover=131,165,152
ForegroundActive=142,192,124
ForegroundInactive=55,115,117
ForegroundLink=184,187,38
ForegroundNegative=218,68,83
ForegroundNeutral=246,116,0
ForegroundNormal=235,219,178
ForegroundPositive=39,174,96
ForegroundVisited=127,140,141

[Colors:Selection]
BackgroundAlternate=142,192,124
BackgroundNormal=104,157,106
DecorationFocus=104,157,106
DecorationHover=131,165,152
ForegroundActive=252,252,252
ForegroundInactive=235,219,178
ForegroundLink=253,188,75
ForegroundNegative=218,68,83
ForegroundNeutral=246,116,0
ForegroundNormal=235,219,178
ForegroundPositive=39,174,96
ForegroundVisited=189,195,199

[Colors:Tooltip]
BackgroundAlternate=60,56,54
BackgroundNormal=40,40,40
DecorationFocus=104,157,106
DecorationHover=131,165,152
ForegroundActive=184,187,38
ForegroundInactive=55,115,117
ForegroundLink=142,192,124
ForegroundNegative=218,68,83
ForegroundNeutral=246,116,0
ForegroundNormal=235,219,178
ForegroundPositive=39,174,96
ForegroundVisited=127,140,141

[Colors:View]
BackgroundAlternate=60,56,54
BackgroundNormal=28,31,32
DecorationFocus=104,157,106
DecorationHover=131,165,152
ForegroundActive=184,187,38
ForegroundInactive=55,115,117
ForegroundLink=142,192,124
ForegroundNegative=218,68,83
ForegroundNeutral=246,116,0
ForegroundNormal=235,219,178
ForegroundPositive=39,174,96
ForegroundVisited=127,140,141

[Colors:Window]
BackgroundAlternate=60,56,54
BackgroundNormal=56,54,52
DecorationFocus=104,157,106
DecorationHover=131,165,152
ForegroundActive=184,187,38
ForegroundInactive=55,115,117
ForegroundLink=142,192,124
ForegroundNegative=218,68,83
ForegroundNeutral=246,116,0
ForegroundNormal=235,219,178
ForegroundPositive=39,174,96
ForegroundVisited=127,140,141

[General]
ColorScheme=GruvboxColors
Name=DeraeboxColors
TitlebarIsAccentColored=false
shadeSortColumn=true

[KDE]
contrast=4

[WM]
activeBackground=56,54,52
activeBlend=235,219,178
activeForeground=235,219,178
inactiveBackground=52,50,48
inactiveBlend=60,56,54
inactiveForeground=204,190,155

Super User Theme Setup

kdesu systemsettings

Note: This allows you to use the Super User mode in Dolphin using the same theme as your user

Icons

  • Papirus (Dark) - [ until March 2025 ]

  • Gradient-KDE-Story-Blue-Dark [ current ]

Autostart

Pre-startup Scripts

~/.config/plasma-workspace/env/startup.sh

SSH_ASKPASS=/usr/libexec/ssh/ksshaskpass
export SSH_ASKPASS
GIT_ASKPASS=/usr/libexec/ssh/ksshaskpass
export GIT_ASKPASS
[ -n "$SSH_AGENT_PID" ] || eval "$(ssh-agent -s)"

Note: Fix for Wayland KWallet

Logout Scripts

~/.config/plasma-workspace/shutdown/shutdown.sh

#!/bin/sh
[ -z "$SSH_AGENT_PID" ] || eval "$(ssh-agent -k)"

Note: Fix for Wayland KWallet

Bash

npm install -g without Sudo

Add these lines to .bashrc in Home

export NPM_CONFIG_PREFIX=~/.npm-global 
export PATH=$PATH:~/.npm-global/bin

Note: Create .npm-global in your home folder.

Custom Shortcuts

[code.desktop][Global Shortcuts]
_launch=Ctrl+Alt+V
new-empty-window=

[com.discordapp.Discord.desktop][Global Shortcuts]
_launch=Ctrl+Alt+D

[dev.zed.Zed.desktop][Global Shortcuts]
NewWorkspace=
_launch=Meta+Z

[firefox.desktop][Global Shortcuts]
PrivateBrowsing=Ctrl+Alt+P
ProfileManager=
_launch=
new-window=Ctrl+Alt+B

[git-gui.desktop][Global Shortcuts]
_launch=Ctrl+Alt+G

[io.dbeaver.DBeaverCommunity.desktop][Global Shortcuts]
_launch=Ctrl+Alt+Shift+D

[ktorrent][Global Shortcuts]
queue_suspend=Alt+Shift+P
show_kt=Alt+Shift+T

[org.kde.kcalc.desktop][Global Shortcuts]
_launch=Launch (1); Ctrl+Alt+K

[org.kde.plasma-systemmonitor.desktop][Global Shortcuts]
_launch=Meta+Esc

[steam.desktop][Global Shortcuts]
BigPicture=
Community=
Friends=
Library=
News=
Screenshots=
Servers=
Settings=
Store=
_launch=Meta+S

[systemsettings.desktop][Global Shortcuts]
_launch=Tools; Ctrl+Alt+S
kcm-kscreen=
kcm-lookandfeel=
kcm-powerdevilprofilesconfig=
kcm-screenlocker=
kcm-users=

Applications

Development

IDE

  1. Zed (Flatpak)

  2. VS Code

Database Tools

Git UI

Git GUI

Browser

  1. Firefox

  2. Zen Browser (Flatpak)

Chat

Games

Steam

  • Battlefield 4 (proton)

  • Civilization VI (proton > native)

  • Civilization: Beyond Earth (proton > native)

  • Counter-Strike (native)

  • Counter-Strike 2 (native)

  • Counter-Strike: Condition Zero (native)

  • Counter-Strike: Source (native)

  • Dota 2 (native)

  • Eve Online (proton)

  • Overwatch 2 (proton)

  • The Finals (proton)

  • Splitgate (native)

  • Splitgate Arena Reloaded (proton)

  • Valheim (native)

Tools

Repositories

  • Added Packman by running opi codecs

  • Added VideoLan.org, set Priority to 89, then run zypper dup --allow-vendor-change to replace Packman's VLC with VideoLan.org's

  • Replaced Packman with Packman Extra for only Mesa support (required for full AMD VA-API support)

  • Added Visual Studio Code by running opi code

Flatpaks


Change Log

3 May 2026

  • Added dnsmasq configuration

  • Added Wifi optimizations

2 May 2026

  • Updated Shortcuts

  • Moved Konsole Bookmarks package to be with other installed packages

  • Added zstd compress to zswap settings

22 Mar 2026

  • Added NTSYNC

  • Added GIT_ASKPASS to startup script - fix for GitGUI

13 Feb 2026

  • Added zswap

4 May 2025

  • Updated theme & icons

  • Added Zed to IDEs & Flatpaks

  • Updated shortcuts

  • Replaced Packman with Packman Extra for just Mesa

  • Added keditbookmarks to Extra Packages

  • Added my custom Gruvbox Color Scheme

David D.

David Dyess .com

Copyright © 1999 - 2025