Files
my-default-nix-home/README.md
T
2026-08-19 18:07:44 -04:00

85 lines
2.5 KiB
Markdown

# 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:
1. Make sure you have Nix installed
2. Run `home-manager switch` to 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:
1. Edit `home-manager/home.nix`
2. Change `enable = false;` to `enable = true;` for desired languages
3. Run `home-manager switch` to apply changes
Example:
```nix
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.