Home - Ankow99/dotfiles GitHub Wiki

Ankow's Arch Linux System Configuration

This wiki documents the configurations, optimizations, and customizations applied to my Arch Linux system, with an emphasis on performance, minimalism, and functionality. The system is managed with chezmoi for dotfile version control and reproducibility.

Note: This wiki assumes a working knowledge of Arch Linux, shell usage, and package management via pacman and yay. It is not a step-by-step beginner’s guide but explains the rationale and impact of each configuration.

Table of Contents

  1. System Configuration
  2. User Interface and Desktop Environment
  3. Gaming and Performance Optimization
  4. Networking and Communication
  5. System Services and Security
  6. Power Management
  7. Useful Packages
  8. Repository Structure
  9. Philosophy

1. System Configuration

See: System Configuration

  • AUR helper and makepkg configuration: yay, /etc/makepkg.conf configuration
  • Package manager configuration: /etc/pacman.conf configuration
  • Cache hooks: paccache-hook, yaycache-hook
  • Compressed RAM block device configuration: zram-generator
  • Additional kernel installation: linux-zen, linux-cachyos
  • Shell and prompt configuration: zsh, bash, powerlevel10k

2. User Interface and Desktop Environment

See: User Interface and Desktop Environment

  • System info: fastfetch
  • Editor setup: neovim with NVChad, Wayland fix, environment variable config
  • RGB and peripheral control: openrazer-daemon, polychromatic
  • Wayland/Electron/Brave Ozone compatibility flags

3. Gaming and Performance Optimization

See: Gaming and Performance Optimization

  • Graphics stack: mesa, lib32-mesa, vulkan-radeon, xf86-video-amdgpu
  • HUD: MangoHud, custom presets, environment variable config
  • GameMode setup: gamemode, lib32-gamemode, GPU policy
  • CPU scheduling: ananicy-cpp (exclusive from GameMode)
  • Binaural audio with OpenAL: openal
  • Compatibility layers: protontricks, lib32-fontconfig
  • Fixes: lib32-libcanberra for Steam Remote Play

4. Networking and Communication

See: Networking and Communication

  • SSH configuration: openssh
  • VPN: zerotier-one
  • Communication: discord, update-skip override in settings.json

5. System Services and Security

See: System Services and Security

  • Firewall daemon: firewalld with persistent enablement
  • Bluetooth service enablement via systemd

6. Power Management

See: Power Management

  • Audio chipset: disables autosuspend on snd_hda_intel
  • USB autosuspend rule for selected device (e.g., Razer)
  • Global autosuspend kernel parameter: usbcore.autosuspend=-1

7. Useful Packages

See: Useful Packages

  • Screenshot utility: flameshot
  • Archiving: 7zip, unrar
  • Java runtime: jdk21-temurin
  • Diff utility: kompare
  • Miscellaneous CLI tools and helpers

8. Repository Structure

Path Description
~/.alsoftrc OpenAL Soft configuration for binaural audio
~/.bashrc Bash shell configuration
~/.p10k.zsh Powerlevel10k prompt theme configuration
~/.zshrc Zsh shell configuration
~/.config/discord/settings.json Discord settings with update override
~/.config/gtk-2.0/ GTK 2.0 theme and settings directory
~/.config/gtk-3.0/ GTK 3.0 theme and settings directory
~/.config/gtk-4.0/ GTK 4.0 theme and settings directory
~/.config/fastfetch/config.conf Fastfetch customized system info display (256 color)
~/.config/fastfetch/config-simple.conf Fastfetch customized system info display (TTY)
~/.config/nvim/ Neovim configuration using NVChad
~/.config/MangoHud/MangoHud.conf MangoHud main configuration file
~/.config/MangoHud/presets.conf MangoHud presets for performance overlays
~/.config/auroraerc Aurorae window decoration settings
~/.config/brave-flags.conf Brave browser Wayland-specific flags
~/.config/dolphinrc Dolphin file manager settings
~/.config/electron-flags.conf Electron applications Wayland flags
~/.config/katerc Kate editor configuration
~/.config/kcminputrc Input device settings
~/.config/kdeglobals Global KDE settings
~/.config/kgammarc Gamma correction settings
~/.config/kglobalshortcutsrc Global shortcuts configuration
~/.config/khotkeysrc Custom user-defined hotkeys
~/.config/konsolerc Konsole general settings
~/.config/krunnerrc KRunner (launcher) settings
~/.config/ksmserverrc Session management settings
~/.config/ksplashrc Splash screen settings
~/.config/kwinrc KWin window manager configuration
~/.config/kwinrulesrc KWin custom window rules
~/.config/okularrc Okular document viewer settings
~/.config/plasma-localerc Localization and language settings
~/.config/plasma-org.kde.plasma.desktop-appletsrc Plasma desktop layout configuration
~/.config/plasmanotifyrc Plasma notification settings
~/.config/plasmarc Plasma shell configuration
~/.config/systemmonitorrc Plasma System Monitor configuration
~/.config/systemsettingsrc KDE System Settings application config
~/.local/share/aurorae/ User Aurorae themes
~/.local/share/color-schemes/ KDE color schemes
~/.local/share/icons/ Icon themes
~/.local/share/plasma/ Plasma shell data (themes, layouts, panels)
~/.local/share/kwin/ KWin scripts and window effects
~/.local/share/user-places.xbel User-saved locations in file dialogs
~/.local/share/fonts/ User-installed fonts
~/.local/share/sddm/ SDDM login manager themes
/etc/pacman.conf Pacman package manager configuration
/etc/makepkg.conf Makepkg configuration with debug options disabled
/etc/environment Environment variables, including MangoHud activation
/etc/gamemode.ini GameMode configuration for performance tuning
/etc/modprobe.d/audio_disable_powersave.conf Audio power-saving settings for snd_hda_intel
/etc/udev/rules.d/50-usb_power_save.rules Udev rules to disable USB autosuspend for specific devices
/boot/loader/entries/*.conf systemd-boot kernel entries with kernel parameters

9. Philosophy

This system configuration adheres to the following principles:

  • Minimalist system footprint with no redundant daemons or services
  • Performance-conscious settings tailored for gaming and multimedia workloads
  • Full reproducibility of configuration via chezmoi
  • Explicit documentation of changes for ease of future maintenance

For complete configuration files, visit the main dotfiles repository.