{
  config,
  lib,
  pkgs,
  ...
}:
{
  imports = [
    ./audio.nix
    ./desktop.nix
    ./fingerprint.nix
    ./fonts.nix
    ./graphics.nix
    ./libvirt.nix
    ./polkit.nix
    ./programs.nix
    ./steam.nix
    ./stylix.nix
    ./wifi.nix
    ./zerotier.nix
  ];

  time.timeZone = "America/New_York";

  # temp workaround for building while in nixos-enter
  #services.logrotate.checkConfig = false;

  networking = {
    hostId = "58f50a15";
    firewall.enable = true;
    useNetworkd = true;
  };

  boot = {
    #kernelPackages = lib.mkForce pkgs.linuxPackages_6_6;
    useSystemdBoot = true;
    default = true;
  };

  i18n = {
    defaultLocale = "en_US.utf8";
    supportedLocales = [ "en_US.UTF-8/UTF-8" ];
  };

  sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];

  services = {
    flatpak.enable = true;
    calibre-web = {
      enable = true;
      listen = {
        ip = "127.0.0.1";
      };
      options = {
        calibreLibrary = "/var/lib/calibre-server";
      };
    };
    calibre-server = {
      enable = true;
      user = "calibre-web";
      group = "calibre-web";

    };
    gvfs.enable = true;

    fwupd = {
      enable = true;
      package =
        (import (builtins.fetchTarball {
          url = "https://github.com/NixOS/nixpkgs/archive/bb2009ca185d97813e75736c2b8d1d8bb81bde05.tar.gz";
          sha256 = "sha256:003qcrsq5g5lggfrpq31gcvj82lb065xvr7bpfa8ddsw8x4dnysk";
        }) { inherit (pkgs) system; }).fwupd;
    };

    fprintd.enable = lib.mkForce false;
    openssh.enable = lib.mkForce false;

    adev.yubikey = {
      enable = true;
      enable-desktop-app = true;
    };
  };

  users.users.alice.extraGroups = [ "calibre-web" ];

  system.stateVersion = "24.05";

  programs.adb.enable = true;

  environment.variables = {
    "KWIN_DRM_NO_DIRECT_SCANOUT" = "1";
  };

  sops = {
    defaultSopsFile = ./secrets.yaml;
    #secrets = {
    #  "apps/spotify" = {
    #    group = "audio";
    #    restartUnits = [ "spotifyd.service" ];
    #    mode = "0440";
    #  };
    #};
  };
}