/dotfiles

My personal dotfiles, delivered by nix

Primary LanguageNixMIT LicenseMIT

System Configurations

Forked from nmasur/dotfiles

This configuration repository was forked from nmasur/dotfiles and modified to suit my needs. The original MIT license is included in the repository.

The contents of this and other README files may be outdated for this fork. Check git blame before trusting any information.


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
Shell Fish Link
Shell Prompt Starship Link
Colorscheme Gruvbox Link
Wallpaper Road Link
Text Editor Neovim Link
Video Player mpv Link

macOS Features

Feature Program Configuration
Keybinds Hammerspoon Link

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