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.
Some screenshots are outdated. Scrolling layout has been adapted. Audio visualizer has changed. Check Quickshell Section for more info.
| 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
Automated Setup: Single script installs packages, configures system, and symlinks dotfiles with backup protectionI think I broke a lot of stuff while trying quickshell and others- 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,hyprshade,hyprshutdown-git(custom utillity),hyprquickframe,quicksnip, hyprpolkitagentswaync,swayosd, uwsmwf-recorder,cliphist, satty
CLI Tools:
- Shell: zsh,
omz,fzf,bat,zoxide,btop - File Management:
yazi - Dev:
aichat,pass(+ pass-otp)
Desktop Apps:
- Terminal:
foot - Editor:
neovim(custom config) - Browser:
vivaldi - PDF:
zathura - Image:
swayimg - Communication:
beeper
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 fixes (Needed because of GPU thingy on wayland doesn't work)slurp- Slurp wrapper with custom theme (Why does this not support a config file?)crypt- Encryption utility (Kinda like an alias, maybe alias would've been better)git-status- git status accross an entire directory treestart-hotspot/stop-hotspot- Mobile hotspot management when ethernet is connected, breaks wifi (Ik, but I use iwd only)pass-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)
baris under construction with quickshell.timeanddateworkspaceindicatorbatteryindicatorspeakervolume,micvolume,brightness,bluetoothindicators with native Quickshell modules + OSD-like popup text when a value changes for volumes and brightness.wifi indicatorwith my custom utility wrapper around iwdrs - ryth. I plan to use it for a full wifi menu as iwd support doesn't seem like a priority thing for quickshell.
custom menuis under work.custom low battery indicator(fullscreen) that forces you to plug in the charger (not very cruel, you do have a way out if you want to save your work)wallpaper switcherthat supports images, videos and custom qml components (The depth effect wallpaper in the showcase is an example)notification systemis under work - I'm too lazy to understand how ListView and animations work, will work on this once I do that.powermenuwith only keyboard support (Maybe mouse works too, I think I used button click functionality initially)- Some stale components are currently tracked in the repo, they were copied from other sources like tpaau's config, but I didn't yet get the time to adapt them to my needs
- 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.










