{
  inputs,
  overlays,
}:
let
  inherit (inputs) nixpkgs home-manager sops-nix;
in
nixpkgs.lib.nixosSystem {
  system = "x86_64-linux";
  modules = [
    sops-nix.nixosModules.sops
    ./services/forgejo.nix
    ./services/immich.nix
    ./services/attic.nix
    ./services/postgresql.nix
    ./services/nc.nix

    ./configuration.nix
    ./hardware-configuration.nix
    home-manager.nixosModules.home-manager
    {
      home-manager.useGlobalPkgs = true;
      home-manager.useUserPackages = true;
      home-manager.extraSpecialArgs = { inherit inputs; };
      home-manager.users.imnyang = import ./home.nix;
    }
  ];
  specialArgs = {
    inherit inputs;
    inherit overlays;
  };
}
