Skip to content

nmasur/dotfiles

Repository files navigation

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

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

User Features

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
E-Mail Aerc Link
File Manager Nautilus Link
PDF Reader Zathura Link
Video Player mpv Link

macOS Features

Feature Program Configuration
Keybinds Hammerspoon Link

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