{ description = "Nixos Config Flake"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; nix-darwin.url = "github:nix-darwin/nix-darwin/master"; nix-darwin.inputs.nixpkgs.follows = "nixpkgs-unstable"; nix-snapd.url = "github:nix-community/nix-snapd"; nix-snapd.inputs.pkgs-unstable.follows = "nixpkgs"; home-manager = { url = "github:nix-community/home-manager/release-25.05"; inputs.nixpkgs.follows = "nixpkgs"; }; home-manager-unstable = { url = "github:nix-community/home-manager/"; inputs.nixpkgs.follows = "nixpkgs-unstable"; }; nixvim = { url = "github:nix-community/nixvim"; inputs.nixpkgs.follows = "nixpkgs-unstable"; }; nixos-hardware = { url = "github:NixOS/nixos-hardware/master"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self, home-manager, home-manager-unstable, nix-darwin, nix-snapd, nixos-hardware, nixpkgs, nixpkgs-unstable, nixvim, ... }@inputs: let system = "x86_64-linux"; configPath = "/etc/nixos"; pkgs-unstable = import nixpkgs-unstable { system = system; config.allowUnfree = true; }; in { nixosConfigurations = { buildbox = nixpkgs.lib.nixosSystem { specialArgs = {inherit inputs pkgs-unstable configPath;} // {hostname = "buildbox";}; system = system; modules = [ ./hosts/buildbox/configuration.nix inputs.home-manager.nixosModules.default ]; }; eva-01 = nixpkgs.lib.nixosSystem { specialArgs = {inherit inputs pkgs-unstable configPath;} // {hostname = "eva-01";}; system = system; modules = [ ./hosts/eva-01/configuration.nix inputs.home-manager.nixosModules.default nixos-hardware.nixosModules.lenovo-thinkpad-x1-nano-gen1 nix-snapd.nixosModules.default { services.snap.enable = true; } ]; }; eva-03 = nixpkgs.lib.nixosSystem { specialArgs = {inherit inputs pkgs-unstable configPath;} // {hostname = "eva-03";}; system = system; modules = [ ./hosts/eva-03/configuration.nix inputs.home-manager.nixosModules.default ]; }; }; darwinConfigurations = { eva-02 = nix-darwin.lib.darwinSystem{ specialArgs = {inherit inputs configPath;} // {hostname = "eva-02";}; system = "aarch64-darwin"; modules = [ ./hosts/eva-02/configuration.nix inputs.home-manager-unstable.darwinModules.home-manager ]; }; }; }; }