working almost

This commit is contained in:
Tyler Mac
2026-08-20 08:47:54 -04:00
parent 86120dcd8d
commit 924cdb2e08
8 changed files with 249 additions and 364 deletions
+92 -29
View File
@@ -3,41 +3,104 @@
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager/release-23.11";
snowfall-lib = {
url = "github:snowfallorg/lib";
inputs.nixpkgs.follows = "nixpkgs";
};
tmux-flake = {
tmux = {
url = "github:jakehamilton/tmux";
};
};
outputs = { self, nixpkgs, home-manager, tmux-flake }:
let
system = "aarch64-darwin";
pkgs = import nixpkgs {
inherit system;
config = {
allowUnfree = true;
outputs = inputs:
inputs.snowfall-lib.mkFlake {
inherit inputs;
src = ./.;
overlays = with inputs; [
tmux.overlay
tmux.overlays."nixpkgs/plusultra"
];
# Build the package set for the homies environment
packages = {
homies = let
pkgs = import inputs.nixpkgs {
system = "x86_64-linux"; # Default, will be overridden by system-specific builds
};
in
pkgs.buildEnv {
name = "homies";
paths = with pkgs; [
# Core tools
tmux
helix
zsh
git
openssh
# Terminal applications
alacritty
starship
htop
# Docker support
docker-client
docker-compose
# Programming languages and language servers (default always included)
odin
ols # Odin Language Server
harper # Harper Language Server
# Additional dev tools
gcc
gnumake
curl
wget
jq
ripgrep
findutils
# Language support packages (optional ones you can enable conditionally)
rustc # For enabling Rust support
rust-analyzer # For Rust LSP
python3 # For Python support
python3Packages.pyright # For Python LSP
nodejs # For JavaScript/TypeScript support
nodePackages.typescript-language-server # For TS LSP
go # For Go support
gopls # For Go LSP
openjdk # For Java support
jdt.ls # For Java LSP
];
};
};
# System-specific configuration
systemConfigs = {
# x86_64-linux system config
"x86_64-linux" = { pkgs, ... }: {
# This is where you'd define system-specific configurations
# But in pure Nix, packages are handled through the packages attribute above
};
# aarch64-linux system config (ARM Mac/Linux)
"aarch64-linux" = { pkgs, ... }: {
};
# darwin (MacOS) system config
"aarch64-darwin" = { pkgs, ... }: {
};
# x86_64-darwin (Intel Mac) system config
"x86_64-darwin" = { pkgs, ... }: {
};
};
in {
# Use tmux from jakehamilton/tmux repository
homeConfigurations."tylerbohrer" = home-manager.lib.homeManagerConfiguration {
pkgs = pkgs;
modules = [
({ pkgs, ... }: {
# Use the tmux package from jakehamilton/tmux repository
programs.tmux.package = tmux-flake.packages.${system}.tmux;
# Set the required Home Manager options
home.username = "tylerbohrer";
home.homeDirectory = "/Users/tylerbohrer";
home.stateVersion = "23.11";
# Include all other settings from the original home.nix
imports = [ ./home-manager/home.nix ];
})
];
};
# Make the packages available in the flake
# This is what users will run to build/install homies
# nix build .#homies
# nix profile install .#homies
};
}