Personal Arch Linux dotfiles featuring Hyprland, Tokyo Night theming, and extensive Rofi integration. Automated bootstrap script handles everything from base system setup to desktop environment configuration. It was intended to be installed on a bare system, but will probably run just fine on top of existing configuration as backups are enabled.
| Audio Visualizer | Notifications (WIP) |
|---|---|
|
|
| Neovim | Qutebrowser |
|---|---|
|
|
| Beeper | Fzf |
|---|---|
|
|
| Btop | MPV |
|---|---|
|
|
| Launcher | Powermenu |
|---|---|
|
|
Not all features can be showcased normally, will try in a sandboxed environment when possible.
Hardware:
- CPU: AMD Ryzen 7 7435HS
- GPU: NVIDIA GeForce RTX 3050 Mobile
- RAM: 16GB DDR5
- Display: 1920x1080 @ 144Hz (scaled 1.2x)
- Automated Setup: Single script installs packages, configures system, and symlinks dotfiles with backup protection
- Hyprland-First: Wayland-native workflow optimized for laptop usage
with NVIDIA support(Nvidia is a b*ch) - Extensive Rofi Integration: 20+ custom menus for everything from screenshots to password management (Will be converted to quickshell, I like it's extensibility)
- Vim-Centric Keybindings: Ergonomic keyboard-first workflow -
hjkljkl; (see keyd config, hyprland keybinds) - Smart Symlinking: Idempotent with numbered backups (.bak, .bakN)
- Partial Installation: Granular flags for selective setup steps
git clone https://github.com/knownasnaffy/dotfiles.git
cd dotfiles
./setup.shThe script will:
- Configure network (systemd-networkd + iwd)
- Install base tooling (pacman + paru AUR helper)
- Install 60+ packages (Hyprland stack, CLI tools, fonts, apps)
- Setup Homebrew, fnm, pipx
- Configure Latest Oh My Zsh with plugins
- Clone Neovim config
- Symlink all dotfiles (user + system configs)
- Run post-install tasks (bat cache, xdg defaults, enable services)
Hyprland Ecosystem:
- hyprland, hyprlock, hyprpicker, hyprpolkitagent, hyprshade, hyprshutdown-git, hyprquickframe-git, quicksnip-git
- waybar, swaync, swayosd, uwsm
- grim, slurp, satty, wf-recorder, cliphist
CLI Tools:
- Shell: zsh, omz, fzf, ripgrep, bat, eza, zoxide, btop, eva, jq
- File Management: yazi, 7zip
- Dev: github-cli, aichat, task, pass (+ pass-otp)
- Media: playerctl, imagemagick
Desktop Apps:
- Terminal: Foot
- Editor: Neovim (custom config)
- Browser: qutebrowser
- PDF: zathura (+ poppler)
- Image: swayimg
- Communication: beeper-v4-bin
Audio: pipewire
System:
- OS: Arch Linux
- Display Manager: ly (currently using sddm, but not yet configured into dotfiles)
- Keyboard Remapping: keyd
Others
- Bar: Waybar
- Notifications: SwayNC
- Launcher/Menus: Rofi
- Theme: Tokyo Night
- And many more - check the config files ;)
Run specific setup steps with flags:
./setup.sh -nw # Network setup only
./setup.sh -progs # Install programs only
./setup.sh -ln # Link dotfiles only
./setup.sh -pi # Post-install scripts only
./setup.sh -zsh # Setup Zsh only
./setup.sh -plugins # Install Oh My Zsh plugins only
./setup.sh -dirs # Create directories onlyCombine flags as needed: ./setup.sh -ln -pi
Located in .local/bin/:
qutebrowser- Qutebrowser wrapper with fixesslurp- Slurp wrapper for screenshotscrypt- Encryption utilitygit-status- Enhanced git statusstart-hotspot/stop-hotspot- Mobile hotspot managementpass-push- Password store sync
Other useful menu utilities are located in .config/rofi/applets/bin/
The following require manual configuration (documentation pending):
- ydotool: Some input groups and other configurations
- SDDM: Theme and stuff not yet added to dotfiles (ly is configured if you want)
- NVIDIA quirks: Requires specific env vars (configured in hyprland.conf). Resume doesn't work (hibernate & sleep)
If ~/.config/nvim exists and points to knownasnaffy/nvim, it's preserved. Otherwise, the directory is removed and the config is cloned fresh. (NOT BACKING UP OLD CONF)
- Rofi themes: Customized from various sources including @adi1090x and rofi-desktop
- Inspiration: Wallpaper depth effect clock - NibrasShell
- Neovim config: Fork of kickstart.nvim
- Theme variables: Folke's tokyonight.nvim
- Snipping Utilities: Ronin-CK
As the nature of dotfiles, I'm not sure adding a license of my own would be a suitable thing to do. Ping me about it if someone has any suggestions for this.
Note: This configuration is actively used and evolving. Expect frequent updates as workflows are refined.










