Skip to content
Linux (Debian)

Linux (Debian)

The Linux kernel has become one of the most popular open source alternative. This guide will mostly focus on the Debian distribution together with the GNOME desktop environment. Together they provide a consistent and reliable desktop experience.

User Interface

Desktop

Enable dark mode.

gsettings set org.gnome.desktop.interface color-scheme prefer-dark

Disable hot corners.

gsettings set org.gnome.desktop.interface enable-hot-corners false

Enable maximize and minimize buttons.

gsettings set org.gnome.desktop.wm.preferences button-layout ":minimize,maximize,close"

Dock

Install Extension

Install the Dash to Dock extension.

sudo apt -y install gnome-shell-extension-dashtodock

After install, log out and back in before enabling the extension.

Enable Extension

Enable the Dash to Dock extension.

gnome-extensions enable dash-to-dock@micxgx.gmail.com

Configure Extension

Do not intelligently hide and show the dock.

gsettings set org.gnome.shell.extensions.dash-to-dock intellihide false

Move the Show Apps button to the left.

gsettings set org.gnome.shell.extensions.dash-to-dock show-apps-at-top true

Disable overview on startup.

gsettings set org.gnome.shell.extensions.dash-to-dock disable-overview-on-startup true

Disable shortcuts for Dash to Dock extension.

gsettings set org.gnome.shell.extensions.dash-to-dock hot-keys false

Disable <Super><Number> shortcuts for GNOME shell.

for i in $(seq 1 9); do 
    gsettings set org.gnome.shell.keybindings switch-to-application-$i []
done

Fonts

Install Fonts

Install the fonts.

sudo apt -y install fonts-inter fonts-hack

Change Fonts

Change the default font.

gsettings set org.gnome.desktop.interface font-name "Inter 11"

Change the monospace font.

gsettings set org.gnome.desktop.interface monospace-font-name "Hack 11"

Keyboard

Enable the additional keyboard layouts.

gsettings set org.gnome.desktop.input-sources show-all-sources true

Change the keyboard layout to the EurKEY layout.

gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'eu')]"

Use the following command to remap Caps Lock to the Escape key.

gsettings set org.gnome.desktop.input-sources xkb-options "['caps:escape']"

Allow us to use the <Super>q shortcut for closing windows.

gsettings set org.gnome.desktop.wm.keybindings close "['<Super>q']"

Allow us to use the <Super><Control>q shortcut for locking the screen.

gsettings set org.gnome.settings-daemon.plugins.media-keys screensaver "['<Control><Super>q']"

Tiling

Install Extension

Install the Tiling Assistant extension.

sudo apt -y install gnome-shell-extension-tiling-assistant

After install, log out and back in before enabling the extension.

Enable Extension

Enable the Tiling Assistant extension.

gnome-extensions enable tiling-assistant@leleat-on-github

System Configuration

Clipboard

Install the wl-clipboard package.

sudo apt -y install wl-clipboard

Once installed, and assuming the dotfiles have been pulled, the pbcopy and pbpaste commands will be available.

Dotfiles

Keep shell, editor, and terminal configuration aligned across systems by installing the shared dotfiles archive.

git archive --remote="git@codeberg.org:domi-p/core-config.git" HEAD | tar -xf - -C ~

DNS

Install the dnscrypt-proxy package.

sudo apt -y install dnscrypt-proxy

Create the configuration file. See the official documentation.

sudo tee /etc/dnscrypt-proxy/dnscrypt-proxy.toml <<'EOF'
listen_addresses = []
server_names = ['cleanbrowsing-adult']

[query_log]
  file = '/var/log/dnscrypt-proxy/query.log'

[nx_log]
  file = '/var/log/dnscrypt-proxy/nx.log'

[sources]
  [sources.'public-resolvers']
  url = 'https://dnscrypt.info'
  cache_file = '/var/cache/dnscrypt-proxy/public-resolvers.md'
  minisign_key = 'RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3'
  refresh_delay = 72
  prefix = ''

[static.'cleanbrowsing-adult']
stamp = 'sdns://AQMAAAAAAAAAEzE4NS4yMjguMTY4LjEwOjg0NDMgvKwy-tVDaRcfCDLWB1AnwyCM7vDo6Z-UGNx3YGXUjykRY2xlYW5icm93c2luZy5vcmc'
EOF

Enable the dnscrypt-proxy service.

sudo systemctl enable --now dnscrypt-proxy

Time

Install chrony for automatic time synchronization.

sudo apt -y install chrony

chrony will be automatically started after installation.