{
  description = "The Nix flake configuration for HermitCollectivePRIME";

  inputs = {
    nixpkgs.url = "nixpkgs/nixos-unstable";
    comin = {
      url = "github:nlewo/comin";
      inputs.nixpkgs.follows = "nixpkgs";
    };
  };

  outputs = { 
    self,
    nixpkgs,
    comin,
    ... 
  }@inputs:

  let
    system = "x86_64-linux";
    currentSystem = system;
    pkgs = import nixpkgs {
      inherit system;
    };
  lib = nixpkgs.lib;
  in {
    # Server NixOS configuration
    nixosConfigurations = {
      default = lib.nixosSystem {
        inherit system;
        modules = [
	  comin.nixosModules.comin

	  ./services # NOTE: many services are to be revamped or moved to the secondary server when complete
	  ./sites
	  ./system
	  ./users
        ];
        specialArgs = {
          inputs = inputs;
          inherit system;
        };
      };
    };
  };
}