{
  description = "License Managment tool";

  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
    nixos-generators = {
      url = "github:nix-community/nixos-generators";
      inputs.nixpkgs.follows = "nixpkgs";
    };
    disko = {
      url = "github:nix-community/disko";
      inputs.nixpkgs.follows = "nixpkgs";
    };
    srvos = {
      url = "github:nix-community/srvos";
      inputs.nixpkgs.follows = "nixpkgs";
    };
  };

  outputs = inputs@{ self, nixpkgs, ... }: {
    nixosConfigurations = {
      main = nixpkgs.lib.nixosSystem rec {
        system = "x86_64-linux";
        specialArgs = inputs;
        modules = [
          ./nix/infra.nix
          #inputs.srvos.nixosModules.server
          inputs.nixos-generators.nixosModules.all-formats
        ];
      };
    };
    legacyPackages = nixpkgs.lib.attrsets.genAttrs nixpkgs.lib.systems.flakeExposed (system: import ./nix {
      inherit system inputs;
      pkgs = nixpkgs.legacyPackages.${system};
    });
    devShells = nixpkgs.lib.attrsets.genAttrs nixpkgs.lib.systems.flakeExposed (system: {
      default = import ./shell.nix {
        inherit system inputs;
        pkgs = nixpkgs.legacyPackages.${system};
      };
    });
  };
}
