initial state
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user