{
  inputs,
  lib,
  pkgs,
  mainUser,
  ...
}:
{

  imports = [
    ./modules/network.nix
    ./modules/term.nix
    ./modules/bootloader.nix
    ./modules/sound.nix
    ./modules/sydney.nix
    ./modules/docs.nix
    ./modules/nix-meta.nix
    ./modules/anal-retentive.nix
    ./modules/wm.nix
    ./modules/culr.nix
  ];

  hardware.enableRedistributableFirmware = true;
  hardware.enableAllFirmware = true;

  boot.tmp.useTmpfs = true;

  # services.udev.extraHwdb = ''
  #   evdev:atkbd:*
  #     KEYBOARD_KEY_3a=esc
  # '';
  services.xserver.xkb.options = "caps:swapescape";
  # services.xserver.xkb.extraLayouts."swap" = {
  #   description = "caps swap";
  #   languages = [ "eng" ];
  #   symbolsFile = pkgs.writeText "keyboard" ''
  #     xkb_symbols
  #     {
  #       include "us(basic)"

  #       key <CAPS> {[ Escape ]};
  #     }
  #   '';
  # };
  console.useXkbConfig = true;
  services.libinput.enable = true;

  hardware.graphics.enable = true;
  hardware.graphics.enable32Bit = true;

  services.udisks2.enable = true;

  # services.flatpak.enable = true;

  security.polkit.enable = true;

  xdg.autostart.enable = true;
  xdg.portal.enable = true;

  # services.tailscale.enable = true;

  # TODO - move these to more appropriate places
  environment.systemPackages = builtins.attrValues {
    inherit (pkgs)
      curl
      eza
      git
      ;
  };

  programs.nix-index-database.comma.enable = true;
  programs.nix-index.enableZshIntegration = false;
  programs.nix-index.enableBashIntegration = false;

  # gnome/freedesktop compat stuff
  programs.dconf.enable = true;
  services.gvfs.enable = true;

  # give cpuset to user
  systemd.services."user@".serviceConfig.Delegate = "memory pids cpu cpuset";

  systemd.user.extraConfig = "LogLevel=debug";

  system.nixos.tags = [ "fatcock-xxl" ];
}
