{ lib, pkgs, ... }:
{
  imports = [
    ./audio.nix
    ./tailscale.nix
    ./bluetooth.nix
  ];

  # use nix version 2.22
  nix = {
    package = pkgs.nixVersions.nix_2_22;

    settings = {
      auto-optimise-store = lib.mkDefault true;
      experimental-features = [
        "nix-command"
        "flakes"
        "ca-derivations"
      ];
    };

    # disabled in favour of nh
    # gc = {
    #   automatic = true;
    #   dates = "weekly";
    #   options = "--delete-older-than +3";
    # };
  };

  users.users.lu.extraGroups = [ "audio" ];

  # auto mount external drives
  services.devmon.enable = true;
  services.gvfs.enable = true;
  services.udisks2.enable = true;

  # set up a keyring
  services.gnome.gnome-keyring.enable = true;
  security.pam.services.hyprland.enableGnomeKeyring = true;

  # use nh for easier nix stuff
  programs.nh = {
    enable = true;
    clean.enable = true;
    clean.extraArgs = "--keep 3";
  };
}