{ description = "0x29a ecosystem NixOS flake"; inputs = { # the main nix package collection nixpkgs = { url = "github:nixos/nixpkgs/nixos-unstable"; }; # home manager for dotfiles home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; # noctalia shell noctalia = { url = "github:noctalia-dev/noctalia-shell"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = inputs@{self, nixpkgs, home-manager, ... }: let lib = nixpkgs.lib; system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages.${system}; in { nixosConfigurations = { # default config default = nixpkgs.lib.nixosSystem { inherit system; specialArgs = { inherit inputs; }; modules = [ # import host specific configs ./hosts/default/configuration.nix # import host specific hardware configs ./hosts/default/hardware-configuration.nix ]; }; # laptop neon neon = nixpkgs.lib.nixosSystem { inherit system; specialArgs = { inherit inputs; }; modules = [ # import host specific configs ./hosts/neon/configuration.nix # import host specific hardware configs ./hosts/neon/hardware-configuration.nix # import noctalia shell configs ./hosts/neon/noctalia.nix # Add home-manager form my user as a module home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.users.aaron = import ./hosts/neon/home.nix; home-manager.extraSpecialArgs = { inherit inputs; }; } ]; }; }; }; }