{
  lib,
  pkgs,
  iosevkaCustom,
  ...
}: {
  nix = {
    enable = true;
    package = pkgs.nixVersions.unstable;
    settings = {
      cores = 0;
      max-jobs = "auto";
      trusted-users = ["root"];
      experimental-features = ["nix-command" "flakes"];
      auto-optimise-store = true;
    };
    channel.enable = true;
    nixPath = ["nixpkgs=${pkgs.path}"];
    gc = {
      automatic = true;
      options = "--delete-older-than 7d";
    };
    optimise.automatic = true;
    extraOptions = ''
      keep-outputs = false
      keep-derivations = false
      min-free = ${toString (100 * 1024 * 1024)}
      max-free = ${toString (1024 * 1024 * 1024)}
    '';
  };
  nixpkgs.config.allowUnfree = true;
  system = {
    autoUpgrade = {
      enable = true;
      flake = "git+https://git.xenia.me.uk/pixelifytica/nixos.git?ref=main";
      allowReboot = lib.mkDefault false;
    };
    stateVersion = "23.05";
  };
  boot.loader = {
    systemd-boot.enable = true;
    efi.canTouchEfiVariables = true;
  };
  networking = {
    networkmanager.enable = true;
    firewall.enable = true;
    nameservers = ["9.9.9.9"];
  };
  users.users.root.openssh.authorizedKeys.keys = [
    "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINI1dWlS16Keil0MGPWmMsBzx8F9ylfz+fRwxUr8/tZ/ ion"
    "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC4M1zV3yLMMI1tYwdY9QDXJDlOBugm7UXKC+Xk89yHq pixelifytica@Vanguard"
    "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICPypUUGVAdpl0SHrUDVw0RureuFNsljrXQvrf0uc055 pixelifytica@Northstar"
  ];
  environment = {
    sessionVariables = {
      XDG_CONFIG_HOME = "$HOME/.config";
      XDG_CACHE_HOME = "$HOME/.cache";
      XDG_DATA_HOME = "$HOME/.local/share";
      XDG_STATE_HOME = "$HOME/.local/state";
    };
    systemPackages = with pkgs; [
      libsecret
      coreutils
      gnumake
      git
      zip
      unzip
      rclone
      wireguard-tools
      dogdns
      du-dust
      neofetch
      bottom
      home-manager
      nix-output-monitor
      nil
    ];
    localBinInPath = true;
  };
  console.keyMap = "uk";
  programs = {
    command-not-found.enable = false;
    ssh.startAgent = true;
    nano = {
      enable = true;
      syntaxHighlight = true;
      nanorc = ''
        set nowrap
        set tabstospaces
        set tabsize 2
      '';
    };
  };
  services = {
    passSecretService.enable = true;
    upower.enable = true;
    power-profiles-daemon.enable = true;
    system76-scheduler = {
      enable = true;
      useStockConfig = true;
    };
  };
  virtualisation.podman.enable = true;
  time.timeZone = "Europe/London";
  i18n = let
    locale = "en_GB.UTF-8";
  in {
    # Select internationalisation properties.
    defaultLocale = locale;
    extraLocaleSettings = {
      LC_ADDRESS = locale;
      LC_IDENTIFICATION = locale;
      LC_MEASUREMENT = locale;
      LC_MONETARY = locale;
      LC_NAME = locale;
      LC_NUMERIC = locale;
      LC_PAPER = locale;
      LC_TELEPHONE = locale;
      LC_TIME = locale;
    };
  };
  fonts = {
    packages = with pkgs;
    with iosevkaCustom.packages; [
      iosevka-custom-nerdfont
      iosevka-custom-aile
      (nerdfonts.override {fonts = ["NerdFontsSymbolsOnly"];}) # Status bar
      emacs-all-the-icons-fonts # Emacs
      weather-icons # Emacs
      lmodern # LaTeX
      noto-fonts-emoji # Emoji
    ];
    fontconfig = {
      enable = true;
      defaultFonts = with iosevkaCustom.names; {
        serif = [iosevka-custom-aile];
        sansSerif = [iosevka-custom-aile];
        monospace = [iosevka-custom-nerdfont];
        emoji = ["Noto Color Emoji"];
      };
    };
  };
}