2026-08-19 20:39:39 -04:00
2026-08-19 20:39:39 -04:00
2026-08-19 20:15:09 -04:00
2026-08-19 20:39:39 -04:00
2026-08-19 20:01:48 -04:00

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:

    # Enable flakes in nix.conf or use --extra-experimental-features
    
  2. 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.

S
Description
No description provided
Readme 54 KiB
Languages
Nix 86.6%
Shell 13.4%