Dotfiles
Full setup and dotfiles configuration for Hyprland on Arch linux
Install / Use
/learn @Maciejonos/DotfilesREADME
⚠️ Not maintained anymore as I moved to niri
Dotfiles for Hyprland on Arch Linux
Dotfiles setup with static and dynamic themes and plenty of useful scripts.
<table> <tr> <td><img src="demo/1.png" width="400"/></td> <td><img src="demo/8.png" width="400"/></td> </tr> <tr> <td><img src="demo/4.png" width="400"/></td> <td><img src="demo/2.png" width="400"/></td> </tr> <tr> <td><img src="demo/6.png" width="400"/></td> <td><img src="demo/3.png" width="400"/></td> </tr> </table>Quick info:
- bin - all scripts live here, it is added to path in uwsm config
- install - main installation script
- pkgs.txt - packages to be installed
- setup-applications - hides some annoying applications from launcher
- setup-by-hardware - sets up monitors, keybindings, hypr enviroments
- setup-config - copies full config into ~/.config
- setup-lazyvim - lazyvim setup
- setup-nvidia - nvidia specific setup
- setup-system - ufw, pacman.conf, triggers nvidia-setup if on nvidia gpu, git, ly login manager (if exists), enables gcr agent for ssh, disables systemd-networkd-wait-online.service that causes extremly long boot time
- setup-theme - theming setup and symlinks
- setup-zsh - full zsh config with oh-my-zsh, plugins, nice features
Table of Contents
Features
- Dynamic Theming System - Switch between static themes or use dynamic theming with Matugen and Pywal
- Utility Scripts - Interactive package management; theming; setup of Postgres & database backup and restoration, Docker, Node.js; video download (with yt-dlp), video and image transcoding (using handbrakecli and imagemagick), interactive backups with fzf
- Modular ZSH Config - Zsh setup with some nice custom functions like
cp2c(copy file content to clipboard - c2pc <file_path>) andc2f(clipboard content to file c2f <file_path>) - Application Configs - Configs for Ghostty, Waybar, Walker, Elephant, lazyvim and more
Installation
Automatic installer
curl -fsSL https://raw.githubusercontent.com/Maciejonos/dotfiles/master/setup.sh | bash
⚠️ Important Notes:
- This is specifically for Arch Linux with Hyprland
- I've tested the installer on both fresh installs and configured desktops, but ideally you should know what you're doing, make sure to backup manually just in case
- Everything that will be changed is backed up first
What the installer does:
<details> <summary><b>Backup</b></summary>- Backs up everything that will be changed (backup script)
- Files in
~/.config pacman.conf- Ly display manager configuration (if installed)
- ZSH and LazyVim configs
- Everything else that gets modified
- Files in
- Creates a backup folder in your Home directory with:
- A text file listing all changed files
- Commands to quickly revert everything
- A rollback script for easy restoration
- Installs packages from official repos and AUR
The installer detects your hardware:
- Laptop/Desktop - Uses brightnessctl or ddcutil respectively, applies proper Hyprland keybinding profiles
- Monitor Configuration - Checks your monitor's highest resolution and refresh rate with
hyprctl monitorsand creates appropriatemonitors.conf - Nvidia GPUs - Detects Nvidia cards and applies Nvidia-specific setup with proper Hyprland env configs
- Replaces configuration files in
~/.configwith the config directory contents - Sets up static and dynamic themes via theme setup
- Configures symlinks for theme management
- Some files live in the default directory - these are git synced and will get overwritten with updates
A big collection of scripts, mainly used with Walker & Elephant. If installing manually make sure to add the scripts folder to path:
- Theme Management - Switch themes, cycle backgrounds, apply dynamic theming
- Development - PostgreSQL setup/backup/restore, Docker setup, Node.js setup
- Package Management - Install/remove packages interactively
- Media Tools - Video downloads (yt-dlp), transcoding (ffmpeg, handbrake-cli)
- System Utils - Backup/restore files, keybinds, screenshots menu and video recording
- Most scripts are accessible interactively through Walker or Elephant
- System setup configures:
- Git configuration
- Ly display manager (if installed)
- Pacman configuration
- UFW firewall
- Full ZSH setup with modular configuration
Manual installation
You can manually use the dotfiles without the installer:
- Clone the repository
- Copy desired configs from
config/to~/.config/(some configs live in default directory. Also everything relies on the scripts folder being in path) - Copy scripts from
bin/to your preferred location - You can use some install scripts for partial setup if you want
Screenshots & videos
Waybar themes
Omarchy waybar
Eli dotfiles waybar
Modern waybar config

Lazyvim

Menu overview
https://github.com/user-attachments/assets/9b9cb437-a3e4-4cd7-90f1-80175036e196
Dynamic Theming
https://github.com/user-attachments/assets/044216d5-44a6-4b56-99d0-a820ceef3a68
Application Launcher - Walker

Desktop Overview
<table> <tr> <td><img src="demo/1.png" width="400"/></td> <td><img src="demo/6.png" width="400"/></td> </tr> <tr> <td><img src="demo/4.png" width="400"/></td> <td><img src="demo/2.png" width="400"/></td> </tr> <tr> <td><img src="demo/7.png" width="400"/></td> <td><img src="demo/3.png" width="400"/></td> </tr> </table>Keybinds
Just press SUPER + ALT + Space -> keybindings - all bindings nicely sorted here
Most important ones:
- SUPER + Q = Open Terminal
- SUPER + W = Close window
- SUPER + R = Open Walker
- SUPER + E = File manager
- SUPER + V = Clipboard
- SUPER + ALT + Space = Menu
- SUPER + CTRL + W = Open Waypaper (to trigger dynamic color update - theme must be set to Matugen or Pywal)
Walker bindings - ctrl + x to go back from submenu
Theming & Customization
Changing Themes
The setup includes both static and dynamic theming:
- Open walker and select a theme you like, you can pick between static ones or Matugen/Pywal
- Also, you can pick 3 different waybar themes and 2 fastfetch presets
Customizing Configs
- You can modify everything in config easily, it is not git synced and will not get overwritten
- Configs in default are git synced and will get overwritten with updates
Credits
Related Skills
node-connect
335.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
82.5kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
335.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
82.5kCommit, push, and open a PR
