{
  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05";
    nixpkgs-unstable.url = "nixpkgs/nixos-unstable";

    home-manager = {
      url = "github:nix-community/home-manager/release-24.05";
      inputs.nixpkgs.follows = "nixpkgs";
    };

    stylix = {
      url = "github:danth/stylix";
      inputs.nixpkgs.follows = "nixpkgs";
    };

    nixvim = {
      url = "git+ssh://gitsrht@git.sourcehut.005540.xyz/~logistic-bot/nixvim";
      inputs.nixpkgs.follows = "nixpkgs-unstable";
    };

    river-shifttags = {
      url = "git+ssh://gitsrht@git.sourcehut.005540.xyz/~logistic-bot/river-shifttags";
      inputs.nixpkgs.follows = "nixpkgs";
    };

    breezex-cursor = {
      url = "git+ssh://gitsrht@git.sourcehut.005540.xyz/~logistic-bot/breezex-cursor";
      inputs.nixpkgs.follows = "nixpkgs";
    };

    nixos-06cb-009a-fingerprint-sensor = {
      url = "github:ahbnr/nixos-06cb-009a-fingerprint-sensor";
      inputs.nixpkgs.follows = "nixpkgs";
    };
  };
  outputs = {
    nixpkgs,
    nixpkgs-unstable,

    home-manager,
    stylix,

    nixvim,
    river-shifttags,
    breezex-cursor,

    nixos-06cb-009a-fingerprint-sensor,
    ... }: 
  let
    system = "x86_64-linux";
    home-manager-args = {
      nixvim = nixvim.packages.${system}.default;
      river-shifttags = river-shifttags.packages.${system}.default;
      breezex-cursor = breezex-cursor.packages.${system}.default;
      kitty-unstable = nixpkgs-unstable.legacyPackages.${system}.kitty;
    };
  in
  {
    nixosConfigurations.void = nixpkgs.lib.nixosSystem {
      inherit system;
      modules = [
        ./void.nix

        home-manager.nixosModules.home-manager {
          home-manager = {
            useGlobalPkgs = true;
            useUserPackages = true;
            users.khais = ./home.nix;
            extraSpecialArgs = home-manager-args;
          };
        }

        stylix.nixosModules.stylix
        ./stylix.nix
      ];
    };
    nixosConfigurations.t470 = nixpkgs.lib.nixosSystem {
      inherit system;
      modules = [
        ./t470.nix

        home-manager.nixosModules.home-manager {
          home-manager = {
            useGlobalPkgs = true;
            useUserPackages = true;
            users.khais = ./home.nix;
            extraSpecialArgs = home-manager-args;
          };
        }

        stylix.nixosModules.stylix
        ./stylix.nix

        nixos-06cb-009a-fingerprint-sensor.nixosModules.open-fprintd
        nixos-06cb-009a-fingerprint-sensor.nixosModules.python-validity
      ];
    };
  };
}
