This repository provides an opinionated one-command installer for my Arch Linux Hyprland setup. It installs the packages I use, prepares the desktop environment, copies my dotfiles, wallpapers, fonts, and icons, and applies a few post-install system tweaks.
It is meant for Arch Linux and is designed around my personal workflow, software choices, and visual setup.
The install.sh script will:
- install required official Arch packages with
pacman - install
yayautomatically if it is missing - install selected AUR packages with
yay - install and configure
oh-my-zshand Zsh plugins - install bundled icons, fonts, wallpapers, and configuration files from this repository
- configure GRUB kernel parameters for my AMD setup
- configure
libvirtand enable the service - enable
sddm - back up existing files before replacing them
The installer copies these configs into ~/.config:
fastfetchgtk-3.0gtk-4.0hyprkittyKvantumnwg-lookquickshellqt6ctrofiwaypaperxsettingsd
This setup includes an active Quickshell configuration from config/quickshell and uses it as a core part of the desktop experience.
The current shell layout includes:
- a top bar
- a bottom dock
- desktop weather
- notification toasts
- volume OSD on supported screens
- startup helpers for monitor layout, mouse settings, and EQ bootstrap
The live bar layout from bar_config.json is:
- left:
Launcher,Calendar,RamModule,SysInfoGroup - center:
Workspaces,Notifications,Notepad - right:
Clipboard,Equalizer,Volume
Workspace behavior:
- Roman numeral workspace format
- underline style
- scroll switching enabled
- application icons shown and grouped
The dock is enabled and centered at the bottom with background and border enabled. The pinned apps from dock_config.json are:
- Brave
- Dolphin
- antigravity
- Telegram
- Lutris
- Virt Manager
- Discord
- IriunWebcam
- VS Code / Codex
- OBS Studio
The dock also exposes extra modules for:
- Weather
- Power
- Media
- Tray
From theme_config.json, the shell currently uses:
- Material You color generation enabled
- light mode
scheme-tokyo-nightmatugen preset- live wallpaper-based theme updates
- Kitty theme syncing enabled
From notification_config.json, notifications currently use:
- 7 second display duration
- top-center popup position
- compact mode disabled
- do not disturb disabled
- popup shadow enabled
- 5 minute history retention
This Quickshell setup is more than a simple bar theme. It includes custom modules and services such as:
- dynamic bar loading and screen-aware placement
- notification history and toast handling
- clipboard integration
- audio controls and equalizer support
- system info widgets
- wallpaper-aware theming
- monitor bootstrap via
scripts/apply_monitors.sh
It also installs:
~/.zshrc~/Pictures/wallpapersbrave-flags.confdolphinrckdeglobalsuser-dirs.dirsuser-dirs.locale
The script installs a full desktop and utility stack, including:
- Hyprland components:
hyprland,hypridle,hyprlock,hyprpolkitagent,hyprshot,xdg-desktop-portal-hyprland - shell and desktop tools:
kitty,rofi,quickshell,swww,wl-clipboard,fastfetchconfig support,qt5ct,qt5-wayland - file and media apps:
dolphin,ark,gwenview,mpv,ffmpegthumbs,kwrite,unzip,unarchiver - audio and desktop integration:
pipewire-pulse,pipewire-jack,wireplumber,playerctl,pavucontrol,network-manager-applet - virtualization tools:
qemu-full,virt-manager,virt-viewer,libvirt,libguestfs,dnsmasq,vde2,openbsd-netcat,nftables - extra desktop apps:
discord,telegram-desktop,obs-studio,keepassxc,rclone - fonts and theme support:
ttf-roboto,kvantum - build and kernel-related tools:
base-devel,bc,bison,cpio,flex,git,github-cli,kmod,libelf,linux-headers,pahole,perl,tar,xmlto,xz,zstd
The script also installs:
antigravitybrave-bincargocatppuccin-cursors-mochacatppuccin-gtk-theme-lattecodex-desktop-binfastfetchgoverlaylactlibxcrypt-compatmangohudmatugen-binnoto-fontsnwg-lookqt6ct-kdettf-hackttf-jetbrains-mono-nerdwaypaperzshzsh-autosuggestionszsh-syntax-highlightingiriunwebcam-bin
The installer also:
- installs
opencl-amdfrom a pinned AUR commit - runs
cargo install matugen - installs
oh-my-zsh - installs these Zsh plugins:
zsh-autosuggestionszsh-syntax-highlightingfast-syntax-highlightingzsh-autocomplete
- optionally runs
gh auth loginif GitHub CLI is installed and the script is running in an interactive terminal
Run the installer directly:
bash <(curl -fsSL https://raw.githubusercontent.com/ekremx25/Hyprland/main/install.sh)Or clone the repository and run it locally:
git clone https://github.com/ekremx25/Hyprland.git
cd Hyprland
./install.shIf a target file or directory already exists, the installer renames it to:
name.bak.YYYYMMDD-HHMMSSThis makes it easier to restore your previous setup if needed.
- This script is intended for
Arch Linuxonly. - It requires
sudo. - It makes system-level changes, including GRUB and
libvirtconfiguration. - It enables
sddm.service. - It is opinionated and may install more software than a minimal setup needs.
- After installation, log out and select the Hyprland session.
This is my personal setup shared publicly. Feel free to use it as a base, but you should review install.sh before running it on your own system.