{
  config,
  lib,
  pkgs,
  ...
}:
{
  options = {
    custom.desktop.enable = lib.mkEnableOption "Enable desktop config";
  };
  config = lib.mkIf config.custom.desktop.enable {
    networking = {
      networkmanager.enable = true;
      firewall =
        let
          qbittorrentPort = 12613;
        in
        {
          allowedTCPPorts = [ qbittorrentPort ];
          allowedUDPPorts = [ qbittorrentPort ];
        };
    };

    users.users.flygrounder.extraGroups = [
      "networkmanager"
    ];

    services = {
      pulseaudio.enable = false;
      pipewire = {
        enable = true;
        alsa.enable = true;
        alsa.support32Bit = true;
        pulse.enable = true;
      };
      greetd.enable = true;
      flatpak.enable = true;
      trezord.enable = true;
    };

    security.rtkit.enable = true;

    programs = {
      regreet = {
        enable = true;
        theme.name = "Adwaita-dark";
      };
      hyprland.enable = true;
      steam.enable = true;
      amnezia-vpn.enable = true;
    };
    nixpkgs.config.allowUnfree = true;
    fonts.packages = with pkgs; [
      roboto
      font-awesome
      font-awesome_6
      nerd-fonts.fira-code
    ];
  };
}
