924cdb2e08fb1bf0e093a1dbfb36da46c981a100
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
-
Make sure you have Nix installed with flakes enabled:
# Enable flakes in nix.conf or use --extra-experimental-features -
Run:
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.
Description
Languages
Nix
86.6%
Shell
13.4%