285779868b28868ddc9d1017b8f30548bfbc92ce
Home Manager Nix Configuration
This repository contains a Nix flake configuration for setting up a development environment with:
Supported Platforms
- Windows via WSL
- Linux (non-NixOS)
- macOS with M1 chips
Installed Tools
- tmux - Terminal multiplexer (using jakehamilton/tmux package)
- helix - Modern editor with language server support
- zsh - Enhanced shell
- starship - Minimal, fast prompt
- alacritty - Fast terminal emulator
- git - Version control system
- ssh - Secure shell client
- htop - Interactive process viewer
Programming Languages & Language Servers
- Odin - With OLS (Odin Language Server) - always included
- Harper - With Harper Language Server - always included
- Rust - With rust-analyzer - optional
- Python - With Pyright - optional
- JavaScript/TypeScript - With TypeScript Language Server - optional
- Go - With gopls - optional
- Java - With JDT Language Server - optional
Docker Support
- Docker Client - For container management
- Docker Compose - For multi-container applications
Usage
To use this configuration with Home Manager:
- Make sure you have Nix installed
- Run
home-manager switchto apply the configuration
The configuration will set up:
- Default shell to zsh
- Editor to helix
- Prompt to use starship
- Terminal to use alacritty
- All language servers properly configured
- Docker support for containerized development
Customization
To enable additional programming languages:
- Edit
home-manager/home.nix - Change
enable = false;toenable = true;for desired languages - Run
home-manager switchto apply changes
Example:
rust = {
enable = true;
package = pkgs.rustc;
languageServer = pkgs.rust-analyzer;
lspName = "rust-analyzer";
};
Available Optional Languages
- Rust: For systems programming
- Python: For data science and scripting
- JavaScript/TypeScript: For web development
- Go: For backend services
- Java: For enterprise applications
Development Features
Docker Integration
Docker client and compose support are included for containerized development workflows.
Language Server Protocol
All supported languages include their respective language servers for enhanced IDE-like experience in Helix.
System Monitoring
htop is included for process monitoring and system resource tracking.
tmux Integration
Uses the tmux package from jakehamilton/tmux repository for enhanced tmux functionality.
Description
Languages
Nix
86.6%
Shell
13.4%