This repository contains configuration files for my NixOS, macOS, and WSL hosts.
They are organized and managed by Nix, so some of the configuration may be difficult to translate to a non-Nix system.
| Feature | Program | Configuration |
|---|---|---|
| OS | NixOS | Link |
| Display Server | X11 | Link |
| Compositor | Picom | Link |
| Window Manager | i3 | Link |
| Panel | Polybar | Link |
| Font | Victor Mono | Link |
| Launcher | Rofi | Link |
| Feature | Program | Configuration |
|---|---|---|
| Dotfiles | Home-Manager | Link |
| Terminal | Ghostty | Link |
| Shell | Fish | Link |
| Shell Prompt | Starship | Link |
| Colorscheme | Gruvbox | Link |
| Wallpaper | Road | Link |
| Text Editor | Neovim | Link |
| Browser | Firefox | Link |
| Aerc | Link | |
| File Manager | Nautilus | Link |
| PDF Reader | Zathura | Link |
| Video Player | mpv | Link |
| Feature | Program | Configuration |
|---|---|---|
| Keybinds | Hammerspoon | Link |
This repo contains a few more elaborate elements of configuration.
- Neovim config generated with Nix2Vim and source-controlled plugins, differing based on installed LSPs, for example. - Caddy JSON file (routes, etc.) based dynamically on enabled services rendered with Nix. - Grafana config rendered with Nix. - Custom secrets deployment similar to agenix. - Base16 colorschemes applied to multiple applications, including Firefox userChrome.
Click here for detailed installation instructions.
Try out my Neovim config with nix:
nix run github:nmasur/dotfiles#neovimOr build it as a package:
nix build github:nmasur/dotfiles#neovimIf you already have a Neovim configuration, you may need to move it out of
~/.config/nvim or set XDG_CONFIG_HOME to another value; otherwise both
configs might conflict with each other.
You can also use the templates as flakes for starting new projects:
nix flake init --template github:nmasur/dotfiles#poetry