{ description = "Rosa's NixOS configurations"; inputs = { disko = { inputs.nixpkgs.follows = "nixpkgs"; url = "github:nix-community/disko"; }; home-manager = { inputs.nixpkgs.follows = "nixpkgs"; url = "github:nix-community/home-manager"; }; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; }; outputs = { self, disko, home-manager, nixpkgs, }: let mkSystem = host: { extraModules ? [ ], system ? "x86_64-linux", }: nixpkgs.lib.nixosSystem { inherit system; modules = [ home-manager.nixosModules.home-manager ./hosts/${host} ./hosts/${host}/hardware-configuration.nix ./modules { networking.hostName = host; } ] ++ extraModules; }; pkgs = nixpkgs.legacyPackages.x86_64-linux; in { devShells.x86_64-linux.default = pkgs.mkShellNoCC { nativeBuildInputs = with pkgs; [ shellcheck ]; }; formatter.x86_64-linux = pkgs.nixfmt; nixosConfigurations = builtins.mapAttrs mkSystem { meowbook = { extraModules = [ disko.nixosModules.disko ]; }; the-meowchine = { }; }; }; }