This repository stores my personal configuration for macOS and Linux (Arch + Hyprland/Niri).
git clone https://github.com/ronak/dots.git ~/dots
cd ~/dots && ./setup-mac.shThe script installs everything: Homebrew, packages, Oh My Zsh, plugins, symlinks, Neovim plugins, services, and macOS defaults.
git clone https://github.com/ronak/dots.git ~/dots
cd ~/dots && ./setup-linux.shThe script installs everything: yay packages, Oh My Zsh, plugins, symlinks, Neovim plugins, and Wayland session config.
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,vimrcare symlinked into~/.
| 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 |
| App | Source |
|---|---|
| Mofi | Latest release — Spotlight replacement with theming |
| 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 |
- 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
lsreplacement with icons
| 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/ |
- 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
| 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 |
| Package | Description |
|---|---|
| visual-studio-code-bin | VS Code |
| zed | Zed editor |
| spotify | Spotify client |
| 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
- Vim motions
- Catppuccin Theme
- vim.pack - Built-in plugin manager
- UI & Appearance
- Alpha - Startup dashboard
- Catppuccin - Colorscheme
- Highlight-Colors - Inline color previews
- Lualine - Status bar
- Dropbar - Breadcrumb winbar
- Fidget - LSP progress spinner
- Snacks - Image rendering & utilities
- Which-Key - Keymap popup
- Rainbow Delimiters - Rainbow brackets
- Zen Mode - Distraction-free mode
- Editing
- Navigation
- Telescope - Fuzzy finder
- telescope-ui-select - Use Telescope for code actions
- telescope-fzf-native - FZF sorter
- Oil - File manager as a buffer
- Telescope - Fuzzy finder
- LSP & Completion
- LSPConfig - LSP server configs
- Lazydev - Lua dev type hints
- lsp_lines - Virtual line diagnostics
- nvim-cmp - Completion engine
- cmp-nvim-lsp - LSP completions
- cmp-buffer - Buffer completions
- cmp-path - Path completions
- cmp-cmdline - Command-line completions
- cmp_luasnip - Snippet completions
- LuaSnip - Snippet engine
- friendly-snippets - Snippet collection
- luasnip-latex-snippets - LaTeX snippets
- Conform - Formatting (stylua, prettier, latexindent, rustfmt, clang-format)
- Git
- Debugging
- DAP - Debug adapter protocol
- nvim-dap-ui - Debug UI
- nvim-nio - Async IO for DAP
- Markdown & LaTeX
- render-markdown - Rendered Markdown previews
- mdmath - LaTeX math rendering
- markdown-plus - Markdown utilities
- Treesitter
- nvim-treesitter - Syntax highlighting & parsing
- Misc
- Teamtype - Collaborative editing
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
- Catppuccin Theme
- Vimium - Vim motions in firefox
- Dark Reader - Turn any website into catppuccin
- Stylus - Userstyles = catppuccin for many common websites
- UBlock Origin - Adblocker that works
- Spotlight replacement with theming
- (it's mine)
Tiling Wayland compositor for Linux — see keybinds.md for full reference.
- Catppuccin themed borders and styling
- Animated wallpaper via awww
- hyprlock for screen locking
- hyprpaper for wallpaper management
Scrollable tiling Wayland compositor — see keybinds.md for full reference.
- Wallpaper via swaybg
Status bar for Wayland (used with both Hyprland and Niri)
- Catppuccin themed styling
Application launcher for Wayland
- Catppuccin Mocha theme
