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 | Kitty | 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#neovim
Or build it as a package:
nix build github:nmasur/dotfiles#neovim
If 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