{ inputs = { nixpkgs = { # --- Official # type = "github"; # owner = "NixOS"; # repo = "nixpkgs"; # ref = "master"; # --- Fork type = "github"; owner = "karaolidis"; repo = "nixpkgs"; ref = "integration"; # --- Local # url = "git+file:./submodules/nixpkgs"; }; home-manager = { # --- Official # type = "github"; # owner = "nix-community" # repo = "home-manager"; # --- Fork type = "github"; owner = "karaolidis"; repo = "home-manager"; ref = "integration"; # --- Local # url = "git+file:./submodules/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; disko = { type = "github"; owner = "nix-community"; repo = "disko"; ref = "master"; inputs.nixpkgs.follows = "nixpkgs"; }; sops-nix = { type = "github"; owner = "Mic92"; repo = "sops-nix"; ref = "master"; inputs.nixpkgs.follows = "nixpkgs"; }; systems = { type = "github"; owner = "nix-systems"; repo = "default"; ref = "main"; }; nur = { type = "github"; owner = "nix-community"; repo = "NUR"; ref = "main"; inputs.nixpkgs.follows = "nixpkgs"; }; flake-utils = { type = "github"; owner = "numtide"; repo = "flake-utils"; ref = "main"; inputs.systems.follows = "systems"; }; treefmt-nix = { type = "github"; owner = "numtide"; repo = "treefmt-nix"; ref = "main"; inputs.nixpkgs.follows = "nixpkgs"; }; quadlet-nix = { type = "github"; owner = "SEIAROTg"; repo = "quadlet-nix"; ref = "main"; }; astal = { type = "github"; owner = "aylur"; repo = "astal"; ref = "main"; inputs.nixpkgs.follows = "nixpkgs"; }; ags = { type = "github"; owner = "aylur"; repo = "ags"; ref = "main"; inputs = { nixpkgs.follows = "nixpkgs"; astal.follows = "astal"; }; }; spicetify-nix = { type = "github"; owner = "Gerg-L"; repo = "spicetify-nix"; ref = "master"; inputs = { nixpkgs.follows = "nixpkgs"; systems.follows = "systems"; }; }; nvidia-patch = { type = "github"; owner = "icewind1991"; repo = "nvidia-patch-nixos"; ref = "main"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self, nixpkgs, ... }@inputs: { nixosConfigurations = { installer = nixpkgs.lib.nixosSystem rec { system = "x86_64-linux"; modules = [ ./hosts/installer ]; specialArgs = { inherit inputs system; }; }; himalia = nixpkgs.lib.nixosSystem rec { system = "x86_64-linux"; modules = [ ./hosts/himalia ]; specialArgs = { inherit inputs system; }; }; elara = nixpkgs.lib.nixosSystem rec { system = "x86_64-linux"; modules = [ ./hosts/elara ]; specialArgs = { inherit inputs system; }; }; jupiter = nixpkgs.lib.nixosSystem rec { system = "x86_64-linux"; modules = [ ./hosts/jupiter ]; specialArgs = { inherit inputs system; }; }; jupiter-vps = nixpkgs.lib.nixosSystem rec { system = "x86_64-linux"; modules = [ ./hosts/jupiter-vps ]; specialArgs = { inherit inputs system; }; }; }; } // inputs.flake-utils.lib.eachSystem [ "x86_64-linux" ] ( system: let pkgs = import nixpkgs { inherit system; config.allowUnfree = true; }; treefmt = inputs.treefmt-nix.lib.evalModule pkgs ./treefmt.nix; in { devShells = import ./hosts/common/shells { inherit pkgs; }; lib = import ./lib { inherit pkgs; }; packages = import ./packages { inherit pkgs inputs system; }; formatter = treefmt.config.build.wrapper; checks.formatting = treefmt.config.build.check self; } ); }