Arch dotfiles
- Window Manager • Hyprland🎨 Tiles Manage!
- Status Bar • Waybar🧴 Highly customizable Wayland bar!
- Widget System • Eww🔔 ElKowars wacky widgets!
- Terminal • Kitty 💻 A powerful term with gpu support!
- Shell • Zsh with Theme Starship🐚 Cross Shell Platform!
- Application Launcher • Hyprlauncher 🚀 An application launcher for Hyprland!
- Notify Daemon • SwayNC📠 A simple GTK based notification daemon with modern UI!
- File Manager • Ranger📁 A VIM-inspired filemanager for the console!
- File Manager GUI • Nemo📂 File browser for Cinnamon!
- Code Editor • Neovim🗞️ My editor; configuration lives in EugeneVim.
- Music Player • Spicetify🎹 A Customize Spotify client!
- Audio Visualizer • Cava🎼 Cross-platform Audio Visualizer!
- Terminal Multiplexing • Tmux🎯 A Terminal multiplexer!
- Theme • Catppuccin🌿 My favourite Theme!
🐜 Screenshots
Load More (Click to expand)
🔨 Dependencies
This is a personal Arch Linux / Hyprland setup. Install the dependencies for
those modules you choose to use; it is not a complete system installer.
The Hyprland entry point is .config/hypr/hyprland.lua,
which uses the Lua configuration API. Check compatibility with your installed
Hyprland version before loading it; the former hyprland.conf is in Git history.
| Component | Dependencies used by this configuration |
|---|---|
| Desktop session | Hyprland, Waybar, Eww, SwayNC, Kitty |
| Wallpaper, lock and idle | Hyprpaper, Hyprlock, Hypridle |
| Application launcher | Hyprlauncher |
| Music widgets | Playerctl (including playerctld), Python, PyGObject (python-gobject on Arch); the Eww adapters target Spotify |
| Region screenshots | Grim, Slurp, Swappy, wl-clipboard, libnotify (notify-send) |
| Volume shortcuts | Pamixer, libnotify, a working PulseAudio-compatible audio service |
| Appearance | Nerd Fonts and the catppuccin-frappe-dark-cursors cursor theme |
The startup block also invokes Fcitx5, Mihomo, xrdb (Arch package
xorg-xrdb) and a hardware-specific OpenRGB script. Install and configure
these if you want them, or remove their startup entries before using the profile.
Optional applications and personal tools
- Shell and terminal tools: Zsh, Oh My Zsh, Starship, Ranger, lsd, fzf,
- Music: Spotify, Spicetify and Cava.
- Applications bound to shortcuts: Google Chrome, Neovim, QQ, WeChat,
- Input method: Fcitx5 and your preferred input-method engine.
- Proxy: Mihomo requires your own configuration.
- Hardware lighting and cooler display: OpenRGB and liquidctl. The startup
white and configures a Kraken LCD;
these settings are specific to my hardware.
- Additional widgets: Widgex must be installed separately; see
🛠️ Before you use
Review these settings before loading the full desktop configuration:
| Setting | Where to change it |
|---|---|
| Monitor names, resolution and rotation | The first hl.monitor entries in hyprland.lua. My setup uses HDMI-A-1 at 2560×1440 with transform 3, and DP-1 at 3840×2160. Use hyprctl monitors in a running session to find your output names. |
| DPI and cursor size | The startup block sets Xft.dpi: 192 and cursor size 48; adjust these for your display. |
| Wallpaper and lock-screen image | hyprpaper.conf and hyprlock.conf reference ~/myConfig/Arch-dotfiles/wallpaper/evening-sky.png. Update the paths if you clone elsewhere, and the wallpaper monitor name for your display. |
| Keyboard and mouse | kb_options = "caps:super" maps Caps Lock to Super. G304 side buttons paste/copy; Kitty uses Ctrl+Shift+V/C. Review the bindings if you prefer different behavior. |
| Autostart and application workspaces | The startup block and window rules in hyprland.lua launch personal tools and assign applications to workspaces. |
| Hardware scripts | Review scripts/ before enabling lighting or cooler controls. |
Hypridle locks after 10 minutes of inactivity and turns displays off after 15 minutes, without suspending the computer.
⌨️ Keybindings
Super is normally the Windows key; this configuration also maps Caps Lock to Super.
| Shortcut | Action | |---|---| | Super + K | Open Kitty | | Super + R | Open Ranger in Kitty | | Super + V | Open Neovim in Kitty | | Super + Space | Open Hyprlauncher | | Super + B | Toggle Waybar visibility | | Super + L | Lock the session | | Super + D | Close the active window | | Super + F | Toggle fullscreen | | Super + T | Toggle floating | | Super + 1–6 | Switch workspace | | Alt + Shift + 1–6 | Move the window to a workspace and follow it | | Super + Shift + H/J/K/L | Focus left/down/up/right | | Super + Ctrl + H/J/K/L | Move the window left/down/up/right | | Super + left/right mouse drag | Move/resize the window | | Alt + Shift + 0 | Select a screenshot region, edit in Swappy and copy it | | Super + M | Exit the Hyprland session |
See hyprland.lua for application and media bindings.
🚀 Manual installation
- Clone the repository and its plugin submodules:
git clone --recursive https://github.com/command-z-z/Arch-dotfiles.git ~/myConfig/Arch-dotfiles
- Choose the modules you want and install their dependencies. Review the
- Back up the existing configuration, then copy or symlink each chosen module.
mkdir -p "$HOME/.config"
if [ -e "$HOME/.config/kitty" ] || [ -L "$HOME/.config/kitty" ]; then
kitty_backup_dir=$(mktemp -d "$HOME/.config/kitty.backup.XXXXXX")
mv "$HOME/.config/kitty" "$kitty_backup_dir/kitty"
printf 'Previous Kitty config: %s/kitty\n' "$kitty_backup_dir"
fi
ln -s "$HOME/myConfig/Arch-dotfiles/.config/kitty" "$HOME/.config/kitty"
A symlink means edits under ~/.config/kitty also change this checkout.
To use an independent copy, replace the final ln -s command with:
cp -a "$HOME/myConfig/Arch-dotfiles/.config/kitty" "$HOME/.config/kitty"
- Install fonts. The bundled
.config/fontdirectory is a source collection;
mkdir -p "$HOME/.local/share/fonts"
cp -R "$HOME/myConfig/Arch-dotfiles/.config/font/." "$HOME/.local/share/fonts/"
fc-cache -f
The collection includes Hack and JetBrains Mono Nerd Fonts. Some configs
request other fonts: Kitty uses Operator Mono Lig, Waybar/SwayNC use
Liga SFMono Nerd Font, and Hyprlock uses Ubuntu Mono Nerd Font.
Install those separately or change the font settings to an installed family
shown by fc-list : family.
- Open a new Kitty window to check the theme and font. For the full desktop,
~/.config/, then validate the Hyprland
configuration before starting a new session:
Hyprland --verify-config -c "$HOME/.config/hypr/hyprland.lua"
In a running Hyprland session, use hyprctl configerrors to inspect reported
errors. Startup applications run when the compositor starts, not on reload;
configuration validation alone does not verify that those applications work.
Keep the backup path if you want to revert: move your newly installed config aside and restore the saved directory or symlink to its original location.
🧩 Optional widgets
The default Lua startup launches Waybar, Eww and SwayNC. The separate Widgex profile is started manually and includes a top bar, clock/date, music dashboard, lyrics overlay, weather, memo, system statistics, desktop pets and an agent monitor.
After installing Widgex and placing its configuration at ~/.config/widgex,
try a single widget:
widgex check
widgex daemon start
widgex open clock
Use widgex daemon stop to stop it. See the
profile README for the other commands and the
agent monitor README for its setup.
The screenshots above are not a dedicated preview of this optional profile.
Generated artwork, lyrics, Python bytecode and application state are excluded from version control; the Eww fallback cover remains a tracked resource.
🔒 Archive
neovim configuration has been removed from this repository, please refer to the my personal neovim repository here.
©️ Credits
Beauty community:r/unixporn
© repo:command-z-z/dotfile © repo:khaneliman/dotfile