A collection of my personal Nix/home-manager modules, built for reusability across machines.
Full-featured Neovim configuration with LSP, treesitter, and modern plugin setup.
Features:
- LSP support (TypeScript, Lua, Nix, Python, etc.) using native
vim.lsp.config(Neovim 0.11+) - Blink.cmp for completion
- Treesitter for syntax highlighting
- Telescope for fuzzy finding
- Neo-tree + Oil for file management
- Harpoon for quick file switching
- Git integration (fugitive, gitsigns, diffview)
- Claude Code integration
- Obsidian Aurora theme
Tmux configuration with vim-style navigation and Obsidian Aurora theme.
Features:
- Obsidian Aurora themed status bar
- Vim keybindings for pane navigation
- Auto-resize bindings (HJKL)
- Window swapping (Ctrl+Shift+H/L)
- Tmux-sessionizer integration (bound to
prefix + f) - Plugins: sensible, resurrect, continuum, yank
Git configuration with delta and sensible defaults.
Features:
- Delta for improved diffs
- Global gitignore (Linux, macOS, Emacs, Vim)
- Useful aliases (
log,show,blame) - LFS support
- Signing can be configured per-host
Zsh + prezto configuration with Obsidian Aurora prompt.
Features:
- Obsidian Aurora themed prompt with git status
- Prezto modules: environment, history, completion, syntax-highlighting
- McFly for fuzzy history search
- Auto-starts tmux on shell login
- Vim keybindings
- Directory shortcuts (
~dev,~myio,~hathor)
Ghostty terminal configuration with Obsidian Aurora theme.
Features:
- JetBrainsMono Nerd Font
- Obsidian Aurora color palette
- Window opacity and blur
- Clipboard integration
- Custom padding and window decorations
{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
nix-modules = {
url = "github:yourusername/nix-modules";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { nixpkgs, nix-modules, ... }: {
# Your config here
};
}{ inputs, ... }:
{
imports = [
inputs.nix-modules.homeManagerModules.neovim
inputs.nix-modules.homeManagerModules.tmux
inputs.nix-modules.homeManagerModules.git
inputs.nix-modules.homeManagerModules.shell
inputs.nix-modules.homeManagerModules.terminal
];
programs.andrevim.enable = true;
# Configure git signing per-host
programs.git.signing = {
key = "YOUR_GPG_KEY";
signByDefault = true;
};
}Run neovim directly without home-manager:
nix run github:yourusername/nix-modules#neovimnix-modules/
├── flake.nix # Flake definition
├── modules/
│ ├── default.nix # Module exports
│ ├── neovim/ # Neovim configuration
│ │ ├── default.nix
│ │ └── config/
│ ├── tmux/ # Tmux configuration
│ │ └── default.nix
│ ├── git/ # Git configuration
│ │ └── default.nix
│ ├── shell/ # Shell configuration
│ │ └── default.nix
│ └── terminal/ # Terminal configuration
│ └── default.nix
└── packages/
├── default.nix
└── neovim.nix # Standalone package
All modules share a consistent dark theme:
- Background:
#0d1117(deep obsidian) - Foreground:
#c9d1d9(soft silver) - Blue:
#58a6ff(electric blue) - Green:
#7ee787(aurora green) - Purple:
#bc8cff(lavender)
# Test the flake
nix flake check
# Build the neovim package
nix build .#neovim
# Update dependencies
nix flake updatePersonal configuration - use as reference or fork freely.