{ inputs, lib,  pkgs, hostname, stateVersion, username, desktop, system, ... }: {
  imports = [ 
    # Modules
    inputs.disko.nixosModules.disko
    
    # Services
    ./common/services/openssh.nix
    ./common/services/fail2ban.nix
    ./common/services/tailscale.nix
    ./common/services/promtail.nix
    ./common/services/telegraf.nix
    
    # Software
    ./common/software/cli/clean-hm.nix
    ./common/packages/small.nix

    # NixOS Modules
    ./common/modules/networking.nix      # Initial Networking configs
    ./common/modules/nixos.nix           # Common NixOS Configurations
    ./common/modules/remote-builders.nix # Add remote builders

    ./users/${username}
    ./hosts/${hostname}
  ] ++ lib.optional (builtins.isString desktop) ./common/desktops/${desktop};
 
  programs.fish.enable = true;
}