Skip to content

ronakpjain/dots

Repository files navigation

Dotfiles

This repository stores my personal configuration for macOS and Linux (Arch + Hyprland/Niri).

Screenshot

Quick Setup

macOS

git clone https://github.com/ronak/dots.git ~/dots
cd ~/dots && ./setup-mac.sh

The script installs everything: Homebrew, packages, Oh My Zsh, plugins, symlinks, Neovim plugins, services, and macOS defaults.

Linux (Arch)

git clone https://github.com/ronak/dots.git ~/dots
cd ~/dots && ./setup-linux.sh

The script installs everything: yay packages, Oh My Zsh, plugins, symlinks, Neovim plugins, and Wayland session config.

Repository layout

  • macconfig/ – macOS services, keybindings, and status bar configs.
  • linuxconfig/ – Linux Hyprland, Niri, Kitty, Waybar, Rofi, and Neovim configs.
  • vim/ – Vim/Neovim configuration, plugins, and runtime files.
  • setup-mac.sh – Full Mac bootstrap script.
  • setup-linux.sh – Full Linux (Arch) bootstrap script.
  • Top-level files such as maczshrc, linuxzshrc, vimrc are symlinked into ~/.

What gets installed

macOS — Homebrew Formulae

Category Packages
Tiling WM yabai, skhd, sketchybar, borders
Terminal & Shell eza, fzf, fd, ripgrep, zoxide, vivid, tree
Editors neovim
Languages python@3.13, node, go, rust, bun, lua, luajit
LSP & Formatters stylua, prettier, latexindent, gopls, rust-analyzer, lua-language-server, texlab, verible, neocmakelsp, tree-sitter
Build Tools cmake, make, gcc, ninja, meson, pkgconf
CLI Utilities gh, git, jq, wget, btop, fastfetch, ncdu, pstree, htop
Media ffmpeg, yt-dlp, mpv, imagemagick
Misc spicetify-cli, mactop, deno, uv

macOS — GitHub Releases

App Source
Mofi Latest release — Spotlight replacement with theming

macOS — Homebrew Casks

Category Packages
Fonts font-hack-nerd-font, font-jetbrains-mono-nerd-font
Window Mgmt hammerspoon, alt-tab
Browsers firefox@nightly, google-chrome
Terminals kitty, ghostty, wezterm
Editors visual-studio-code@insiders, zed, codex
Media iina, spotify, sioyek, skim
Dev Tools docker-desktop
Productivity tailscale-app, slack@beta, thunderbird, transmission

Shell Setup (both macOS & Linux)

  • Oh My Zsh with plugins: git, zsh-autosuggestions, zsh-syntax-highlighting
  • Catppuccin Mocha syntax highlighting theme
  • fzf fuzzy finder with Catppuccin colors
  • vivid LS_COLORS with Catppuccin Mocha
  • eza as ls replacement with icons

macOS — Symlinks

Source Target
dots/maczshrc ~/.zshrc
dots/vimrc ~/.vimrc
dots/vim/ ~/.vim/
dots/macconfig/nvim/ ~/.config/nvim/
dots/macconfig/kitty/ ~/.config/kitty/
dots/macconfig/yabai/ ~/.config/yabai/
dots/macconfig/skhd/ ~/.config/skhd/
dots/macconfig/sketchybar/ ~/.config/sketchybar/
dots/macconfig/hammerspoon/ ~/.hammerspoon/
dots/macconfig/borders/ ~/.config/borders/
dots/macconfig/opencode/ ~/.config/opencode/
dots/macconfig/mofi/ ~/.config/mofi/

macOS — Defaults Applied

  • Fast key repeat (KeyRepeat=2, InitialKeyRepeat=15)
  • Disable press-and-hold (key repeat instead)
  • Show hidden files and extensions in Finder
  • Disable .DS_Store on network volumes
  • Disable quarantine dialog for downloaded apps
  • Expand save/print panels by default

Linux — yay Packages

Category Packages
Tiling WM hyprland, niri, waybar, rofi, hyprlock, hyprpaper, awww-bin, uwsm
Terminal & Shell kitty, zsh, eza, fzf, fd, ripgrep, zoxide, vivid, tree
Editors neovim
Languages python, nodejs, go, rust, lua, luajit
LSP & Formatters stylua, prettier, gopls, rust-analyzer, lua-language-server
Build Tools cmake, make, gcc, ninja, meson, pkgconf
CLI Utilities gh, git, jq, wget, btop, fastfetch, ncdu, pstree, htop
Wayland Utilities grim, slurp, wl-clipboard, playerctl, brightnessctl, wireplumber, pipewire, pipewire-alsa, pipewire-pulse, pavucontrol, swaybg, wl-kbptr
Media ffmpeg, yt-dlp, mpv, imagemagick
Fonts ttf-hack, ttf-jetbrains-mono, noto-fonts, noto-fonts-cjk

Linux — AUR Packages

Package Description
visual-studio-code-bin VS Code
zed Zed editor
spotify Spotify client

Linux — Symlinks

Source Target
dots/linuxzshrc ~/.zshrc
dots/vimrc ~/.vimrc
dots/vim/ ~/.vim/
dots/linuxconfig/nvim/ ~/.config/nvim/
dots/linuxconfig/kitty/ ~/.config/kitty/
dots/linuxconfig/hypr/ ~/.config/hypr/
dots/linuxconfig/waybar/ ~/.config/waybar/
dots/linuxconfig/niri/ ~/.config/niri/
dots/linuxconfig/rofi/ ~/.config/rofi/
dots/linuxconfig/opencode/ ~/.config/opencode/

Text Editor of choice

Terminal emulator of choice

Shell of choice

  • Oh-my-zsh for configuration
  • Git, syntax highlighting, autosuggestions, and interactive cd plugins.
  • alanpeabody prompt

Tiling window manager for MacOS

  • I have disabled SIP which allows for workspaces
  • Inactive windows are slightly transparent

OS that comes with the best laptops

  • Command -> Option (Alt in windowsland)
  • Option -> Control (Ctrl in windowsland)
  • Control -> Command (Windows key(?) in windowsland)
  • Caps Lock -> Esc

Keybindings for yabai — see keybinds.md for full reference.

Status bar to take up awkward notch space

Borders around windows

  • Orange - active windows
  • Gray - inactive windows

Browser of choice

Mofi

  • Spotlight replacement with theming
  • (it's mine)

Tiling Wayland compositor for Linux — see keybinds.md for full reference.

Scrollable tiling Wayland compositor — see keybinds.md for full reference.

Status bar for Wayland (used with both Hyprland and Niri)

Application launcher for Wayland

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors