58 lines
2.0 KiB
Markdown
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. |