{
  config,
  pkgs,
  lib,
  flakes,
  ...
}: {
  imports = [
    flakes.home-manager.nixosModules.home-manager
    flakes.impermanence.nixosModule
    ./hardware-configuration.nix
  ];

  local.sys = {
    baseline.enable = true;

    yubikey.enable = true;
    audio.enable = true;
    graphics.enable = true;
    androidSupport.enable = true;
    bluetooth.enable = true;

    users = {
      fabian = {
        enable = true;
        unixId = 1002;
      };
      vanessa.enable = true;
    };
  };

  networking = {
    hostName = "t14";
    networkmanager.enable = true;

    useDHCP = false; # The global useDHCP flag is deprecated, therefore explicitly set to false here.
    interfaces.enp7s0.useDHCP = true; # Per-interface useDHCP will be mandatory in the future, so this generated config
    interfaces.wlp6s0.useDHCP = true; # replicates the default behaviour.
  };

  boot = {
    loader = {
      systemd-boot.enable = true;
      efi.canTouchEfiVariables = true;
    };
    tmp.useTmpfs = true;
    kernelPackages = pkgs.linuxPackages_latest;
  };

  # Select internationalisation properties.
  i18n.defaultLocale = "en_US.UTF-8"; #todo: move to baseline?

  time.timeZone = "America/Costa_Rica"; #todo: move to baseline?

  ###### MODULARIZE AFTER THIS

  services = {
    fwupd.enable = true;
    thinkfan.enable = true;
    tlp.enable = true;
    pcscd.enable = true;
  };

  hardware.acpilight.enable = true;

  services.fprintd.enable = true;
}