mirror of
https://github.com/nmasur/dotfiles
synced 2026-08-30 10:17:33 +00:00
a72e81fcce8b8f264b01f89b39d817622a5f902c
Root cause (proven via live lag-triage capture + deterministic PTY repro): fish latches feature flags from its startup env before config.fish runs, so the existing no-query-term settings never applied to zellij-spawned shells. With query-term on, fish queries the terminal after every command; one reply zellij fails to relay permanently degrades that fish process's reader. Subshells were immune (inherited the exported var), which is why the lag always 'disappeared' when tested in a new shell. Also adds the lag-triage/unlag/term-probe diagnostic toolkit used to find this, and upstream_repro.py for filing the fish-shell bug.
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 | 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 |
macOS Features
| Feature | Program | Configuration |
|---|---|---|
| Keybinds | Hammerspoon | Link |
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
Languages
Nix
88%
Lua
3.3%
Shell
3.2%
HCL
2.4%
Python
2.1%
Other
0.7%