Go to file
2025-08-07 23:29:40 +02:00
.config chore: initial commit of all dotfiles, configs, and setup scripts 2025-08-07 23:05:28 +02:00
.github chore: initial commit of all dotfiles, configs, and setup scripts 2025-08-07 23:05:28 +02:00
.local/bin chore: initial commit of all dotfiles, configs, and setup scripts 2025-08-07 23:05:28 +02:00
.vscode chore: initial commit of all dotfiles, configs, and setup scripts 2025-08-07 23:05:28 +02:00
modules chore: initial commit of all dotfiles, configs, and setup scripts 2025-08-07 23:05:28 +02:00
.zshrc fix(zshrc): clean up prompt setup to use only Starship, remove Powerlevel10k, and clarify comments 2025-08-07 23:29:40 +02:00
AGENTS.md docs: add commit workflow instructions to AGENTS.md 2025-08-07 23:04:18 +02:00
README.md chore: initial commit of all dotfiles, configs, and setup scripts 2025-08-07 23:05:28 +02:00
setup.sh chore: initial commit of all dotfiles, configs, and setup scripts 2025-08-07 23:05:28 +02:00

Arch Linux Dotfiles & Hyprland Setup

This repository manages your personal dotfiles and a modular, Wayland-ready desktop environment for Arch Linux using paru.

Features

  • Modular setup: each aspect (packages, symlinks, shell, Neovim, Hyprland, sound, browsers, devtools, etc.) is handled by its own script in modules/.
  • All dotfiles and app configs are version-controlled and symlinked to your home directory.
  • Out-of-the-box integration for Hyprland, Waybar, Rofi, Mako, Alacritty, wlogout, and more.
  • Modern sound stack (PipeWire, WirePlumber, pavucontrol, etc.).
  • Volume notifications: see current volume as a Mako popup at the bottom center when changed.
  • Multi-monitor workspace rules: workspace 1 always on laptop, others on external (DP-1) if connected; all on laptop if standalone.
  • Brave browser always launches on workspace 10 and autostarts with Hyprland.
  • TTY/console uses German nodeadkeys layout (de-latin1-nodeadkeys).
  • Devtools module installs git, Python, Node.js, Docker, VS Code, opencode-bin, and more.
  • Easily extensible: add new modules or configs as needed.

Setup

  1. Clone this repository:
    git clone https://github.com/yourusername/dotfiles.git ~/git/dotfiles
    cd ~/git/dotfiles
    
  2. Run the setup script:
    ./setup.sh
    

When you run setup.sh, you will be prompted to select your device profile (laptop or desktop). This ensures that device-specific configs (e.g., battery, backlight, touchpad, monitor layout) are applied correctly for your hardware. You can also set the environment variable DOTFILES_DEVICE to skip the prompt:

DOTFILES_DEVICE=desktop ./setup.sh

The script will install all required packages and symlink dotfiles and configs (including everything in .config/) to your home directory, using the correct device-specific fragments for Hyprland and Waybar.

Customization

  • Add new dotfiles to the repo root (e.g., .zshrc, .tmux.conf).
  • Place app configs in .config/ (e.g., .config/hypr/hyprland.conf).
  • Add or edit modules in the modules/ directory to automate more setup steps.
  • To add custom scripts, place them in .local/bin/ in the repo; they will be symlinked to ~/.local/bin/.
  • To add browsers, edit modules/06-browsers.sh (Chrome, Firefox, Brave supported out of the box).
  • To add devtools, edit modules/50-devtools.sh (includes VS Code, opencode-bin, lazygit, etc.).

Requirements

  • Arch Linux
  • paru (will be installed automatically if missing)
  • For TTY keymap: kbd package (should be present on most systems)

Notable Integrations & Tips

  • Browsers: Chrome, Firefox, and Brave are installed via the browser module. Brave autostarts and is always on workspace 10.
  • Devtools: Includes VS Code (visual-studio-code-bin), opencode-bin, lazygit, and more.
  • Volume OSD: Volume changes show a notification at the bottom center of the screen (Mako).
  • Multi-monitor: Workspace 1 is always on the laptop display, others on DP-1 if connected.
  • TTY Keymap: Console uses German nodeadkeys layout for all users (system-wide via localectl).
  • No official Teams/Outlook client: Use the web app or AUR wrappers for best compatibility.
  • TortoiseGit alternative: Use GitKraken, Sublime Merge, SmartGit, or lazygit for graphical Git workflows.

License

MIT