{
  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
    nixos-hardware.url = "github:NixOS/nixos-hardware/master";
    snowfall-lib.url = "github:snowfallorg/lib";
    snowfall-lib.inputs.nixpkgs.follows = "nixpkgs";
    sops-nix.url = "github:Mic92/sops-nix";
    sops-nix.inputs.nixpkgs.follows = "nixpkgs";
    lix-module.url = "https://git.lix.systems/lix-project/nixos-module/archive/2.92.0-3.tar.gz";
    home-manager.url = "github:nix-community/home-manager";
    home-manager.inputs.nixpkgs.follows = "nixpkgs";
    nix-minecraft.url = "github:Infinidoge/nix-minecraft";
    nix-minecraft.inputs.nixpkgs.follows = "nixpkgs";
    nixos-generators.url = "github:nix-community/nixos-generators";
    nixos-generators.inputs.nixpkgs.follows = "nixpkgs";
  };

  outputs = inputs: inputs.snowfall-lib.mkFlake {
    inherit inputs;
    src = ./.;

    # Configure Nix
    nix.gc = {
      automatic = true;
      options = "--delete-older-than 30d";
    };
    nix.optimise.automatic = true;
    channels-config.allowUnfree = false;

    # Configure Flake Utils Plus
    supportedSystems = inputs.snowfall-lib.inputs.flake-utils-plus.lib.defaultSystems ++ ["i686-linux"];

    # Configure Snowfall Lib
    snowfall = {
      meta.name = "kB01s System Configuration Flake";
      meta.title = "kB01s System Configuration Flake";
      namespace = "kb-one";
    };

    # Modules for Host HyperC
    systems.hosts.HyperC.modules = with inputs; [
      lix-module.nixosModules.default
    ];

    # Modules for Host kb-game-01
    systems.hosts.kb-game-01.modules = with inputs; [
      lix-module.nixosModules.default
    ];

    # Modules for Host LoyAdjo
    systems.hosts.LoyAdjo.modules = with inputs; [
      lix-module.nixosModules.default
    ];

    # Modules for Host Rubtrm
    systems.hosts.Rubtrm.modules = with inputs; [
      # lix-module.nixosModules.default
    ];

    # Modules that get imported to every NixOS system
    systems.modules.nixos = with inputs; [
      sops-nix.nixosModules.sops
    ];

    outputs-builder = channels: { formatter = channels.nixpkgs.nixfmt-rfc-style; };

  };

  # outputs = { self, nixpkgs, ... }@inputs: {
  #   nixosConfigurations."Rubtrm" = nixpkgs.lib.nixosSystem {
  #     system = "i686-linux";
  #     modules = [ ./systems/i686-linux/Rubtrm/default.nix ];
  #   };
  # };

}