A curated collection of dotfiles to create a beautiful and productive development environment on macOS, focusing on keyboard-driven workflows and minimalism.

This setup is built around a collection of powerful and customizable tools:
| Type | Tool | Description |
|---|---|---|
| Window Manager | Rift | A modern, dynamic tiling window manager for macOS, configured declaratively via nix-darwin. |
| Terminal | Kitty | A fast, feature-rich, GPU-based terminal emulator. |
| Shell | Zsh + 10kpowerlevel | A powerful shell configured with plugins, themes, and environment variables via nix-darwin, combined with a feature-rich prompt. |
| Code Editor | Neovim | A highly extensible, Vim-based text editor, configured for a modern IDE experience with Blink.cmp. |
| Terminal Multiplexer | Tmux | Manages multiple terminal sessions, making it easy to switch between projects and preserve layouts. |
| Menu Bar | SketchyBar | A highly customizable status bar that displays system information and workspaces. |
| Web Browsers | Zen & Qutebrowser | Keyboard-driven and minimalist web browsers designed for efficiency and security. |
| Package Manager | Nix (with nix-darwin) | Declarative package and system management for macOS, ensuring reproducible environments. |
| File Manager | Yazi | A blazing-fast terminal file manager written in Rust, with a rich feature set and plugin support. |
My environment is managed declaratively using Nix and nix-darwin. The system configuration is maintained in a separate repository.
- nix-config repo: x0d7x/nix-config
- Contains: Zsh config, Rift window manager config, Home Manager, system packages, and more
To update packages or settings, clone the nix-config repo and run:
darwin-rebuild switch --flake .#doxThis environment is enhanced by a suite of modern command-line tools for a more efficient workflow:
- FZF: A general-purpose command-line fuzzy finder.
- Eza: A modern, feature-rich replacement for
lscommand. - Bat: A
catclone with syntax highlighting and Git integration. - fd: A simple, fast, and user-friendly alternative to
find. - Ripgrep: A line-oriented search tool that recursively searches for a regex pattern.
- Fastfetch: A system information fetch tool with image support.
- Clone the repository:
git clone https://github.com/x0d7x/dot.git ~/dot cd ~/dot
- Install Nix (if not already present):
Follow the official Nix installation guide for multi-user installation:
Restart your shell or source the Nix environment as instructed.
sh <(curl -L https://nixos.org/nix/install) --daemon - Enable Nix flakes:
If not already enabled, add the following to
~/.config/nix/nix.conf(create the file if needed):experimental-features = nix-command flakes - Clone and apply nix-config:
git clone https://github.com/x0d7x/nix-config.git ~/.config/nix cd ~/.config/nix darwin-rebuild switch --flake .#dox
- Symlink dotfiles with GNU Stow:
cd ~/dot && stow -v -t ~ .config
A collection of scripts to automate common tasks:
| Script | Description |
|---|---|
tmux-sessionizer |
A script to easily find, create, and switch between tmux sessions. |
tmux-session-switch |
Quickly switch between existing tmux sessions. |
github_open |
Opens the GitHub repository for the current directory in your browser. |
notes |
Quick note-taking script. |
sticky |
Create floating sticky notes on macOS. |
rename_files_with_fd |
Batch rename files using fd and fzf. |
obs_switch.lua |
OBS scene switcher for streaming/recording. |
chbg |
Change desktop wallpaper. |
brewls |
Lists installed Homebrew packages (legacy, for reference). |
install |
Legacy installation script (deprecated). |