{ # ============================================================================ # Flake Entry Point # ============================================================================ # This file defines the inputs (dependencies) and outputs (configurations) # for Athenix. It ties together the hardware, software, and user # configurations into deployable systems using flake-parts. inputs = { # Core NixOS package repository (Release 25.11) nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11"; # Older kernel packages for Surface compatibility if needed nixpkgs-old-kernel.url = "github:NixOS/nixpkgs/nixos-25.05"; # Flake-parts for modular flake organization flake-parts = { url = "github:hercules-ci/flake-parts"; inputs.nixpkgs-lib.follows = "nixpkgs"; }; # Home Manager for user environment management home-manager = { url = "github:nix-community/home-manager/release-25.11"; inputs.nixpkgs.follows = "nixpkgs"; }; # Disko for declarative disk partitioning disko = { url = "github:nix-community/disko"; inputs.nixpkgs.follows = "nixpkgs"; }; # Hardware quirks and configurations nixos-hardware.url = "github:NixOS/nixos-hardware/master"; agenix = { url = "github:yaxitech/ragenix"; inputs.nixpkgs.follows = "nixpkgs"; }; # Neovim configuration lazyvim-nixvim.url = "github:azuwis/lazyvim-nixvim"; # VS Code server for remote development vscode-server = { url = "github:nix-community/nixos-vscode-server"; inputs.nixpkgs.follows = "nixpkgs"; }; # NixOS Generators for creating ISOs, LXC, etc. nixos-generators = { url = "github:nix-community/nixos-generators"; inputs.nixpkgs.follows = "nixpkgs"; }; # WSL Support nixos-wsl = { url = "github:nix-community/NixOS-WSL/main"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = inputs@{ self, flake-parts, ... }: flake-parts.lib.mkFlake { inherit inputs; } { # Support all common systems systems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; # Import flake-parts modules imports = [ ./parts/formatter.nix ./parts/lib.nix ./parts/nixos-configurations.nix ./parts/nixos-modules.nix ./parts/packages.nix ./parts/templates.nix ./inventory.nix ./users.nix ]; }; }