Skip to content

knownasnaffy/dotfiles

Repository files navigation

Dotfiles

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.

Desktop Showcase

Showcase

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.

System Info

Hardware:

  • CPU: AMD Ryzen 7 7435HS
  • GPU: NVIDIA GeForce RTX 3050 Mobile
  • RAM: 16GB DDR5
  • Display: 1920x1080 @ 144Hz (scaled 1.2x)

Features

  • 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 - hjkl jkl; (see keyd config, hyprland keybinds)
  • Smart Symlinking: Idempotent with numbered backups (.bak, .bakN)
  • Partial Installation: Granular flags for selective setup steps

Quick Start

git clone https://github.com/knownasnaffy/dotfiles.git
cd dotfiles
./setup.sh

The script will:

  1. Configure network (systemd-networkd + iwd)
  2. Install base tooling (pacman + paru AUR helper)
  3. Install 60+ packages (Hyprland stack, CLI tools, fonts, apps)
  4. Setup Homebrew, fnm, pipx
  5. Configure Latest Oh My Zsh with plugins
  6. Clone Neovim config
  7. Symlink all dotfiles (user + system configs)
  8. Run post-install tasks (bat cache, xdg defaults, enable services)

Package Highlights

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 ;)

Selective Installation

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 only

Combine flags as needed: ./setup.sh -ln -pi

Custom Scripts (quite helpful)

Located in .local/bin/:

  • qutebrowser - Qutebrowser wrapper with fixes
  • slurp - Slurp wrapper for screenshots
  • crypt - Encryption utility
  • git-status - Enhanced git status
  • start-hotspot / stop-hotspot - Mobile hotspot management
  • pass-push - Password store sync

Other useful menu utilities are located in .config/rofi/applets/bin/

Manual Setup Required

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)

Known Limitations

  • NVIDIA quirks: Requires specific env vars (configured in hyprland.conf). Resume doesn't work (hibernate & sleep)

Neovim Setup

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)

Credits

License

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.

About

Barinderpreet Singh's dotfiles

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors