Files
2026-08-19 20:01:48 -04:00

58 lines
2.0 KiB
Markdown

# My Nix flake for cross-platform development environment
This is a local Nix flake configuration that sets up a development environment with:
- **tmux** - Terminal multiplexer (using local nixpkgs tmux package as fallback)
- **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
## Requirements
- Nix installed with flakes enabled
- Home Manager installed
## Installation Instructions
1. Make sure you have Nix installed with flakes enabled:
```bash
# Enable flakes in nix.conf or use --extra-experimental-features
```
2. Run:
```bash
nix run nixpkgs#home-manager -- switch --flake .
```
## Platform Support
- Windows via WSL
- Linux (non-NixOS)
- macOS with M1 chips
## Language Support
- **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
- Docker Compose
## Git Configuration
- **User Name**: Configurable during setup
- **User Email**: Configurable during setup
## Usage Notes
This configuration is designed to work with the Home Manager approach. The previous error about archive format occurred because the remote repository wasn't structured properly for use as a Nix flake input.
If you want to use the specific tmux package from jakehamilton/tmux, the repository at https://gitea.tylerbohrer.dev/tyler/my-default-nix-home needs to be set up to properly expose the tmux package through its flake structure.
The current configuration provides a fallback using the local nixpkgs tmux package to ensure reliability across different environments.