nmasur/dotfiles

Nix configuration and settings

Nix

262

2,122 commits

updated Sep 19, 2026

See the code

README

System Configurations

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.

System Features

FeatureProgramConfiguration
OSNixOSLink
Display ServerX11Link
CompositorPicomLink
Window Manageri3Link
PanelPolybarLink
FontVictor MonoLink
LauncherRofiLink

User Features

FeatureProgramConfiguration
DotfilesHome-ManagerLink
TerminalGhosttyLink
ShellFishLink
Shell PromptStarshipLink
ColorschemeGruvboxLink
WallpaperRoadLink
Text EditorNeovimLink
BrowserFirefoxLink
E-MailAercLink
File ManagerNautilusLink
PDF ReaderZathuraLink
Video PlayermpvLink

macOS Features

FeatureProgramConfiguration
KeybindsHammerspoonLink

Diagram

Diagram


Unique Configurations

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.

Installation

Click here for detailed installation instructions.

Neovim

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.

Flake Templates

You can also use the templates as flakes for starting new projects:

nix flake init --template github:nmasur/dotfiles#poetry
dotfiles
nix
nixos
nixos-configuration

Contributors

nmasur

2,028 commits

nmasur/dotfiles

Nix configuration and settings

Nix

262

2,122 commits

updated Sep 19, 2026

See the code

README

System Configurations

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.

System Features

FeatureProgramConfiguration
OSNixOSLink
Display ServerX11Link
CompositorPicomLink
Window Manageri3Link
PanelPolybarLink
FontVictor MonoLink
LauncherRofiLink

User Features

FeatureProgramConfiguration
DotfilesHome-ManagerLink
TerminalGhosttyLink
ShellFishLink
Shell PromptStarshipLink
ColorschemeGruvboxLink
WallpaperRoadLink
Text EditorNeovimLink
BrowserFirefoxLink
E-MailAercLink
File ManagerNautilusLink
PDF ReaderZathuraLink
Video PlayermpvLink

macOS Features

FeatureProgramConfiguration
KeybindsHammerspoonLink

Diagram

Diagram


Unique Configurations

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.

Installation

Click here for detailed installation instructions.

Neovim

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.

Flake Templates

You can also use the templates as flakes for starting new projects:

nix flake init --template github:nmasur/dotfiles#poetry
dotfiles
nix
nixos
nixos-configuration

Contributors

nmasur

2,028 commits

Languages

Nix

88.0%

Shell

3.4%

Lua

3.2%

HCL

2.4%

Python

2.1%