{ config, pkgs, variables, lib, ... }:

{
  boot.tmpOnTmpfs = true;

  console = {
    keyMap = "us";
    font = "Lat2-Terminus16";
  };

  i18n.defaultLocale = "en_US.UTF-8";

  nix = {
    autoOptimiseStore = true;
    package = pkgs.nixUnstable;
    extraOptions = ''
      experimental-features = nix-command flakes
    '';

    gc = {
      automatic = true;
      dates = "weekly";
      persistent = true;
    };
  };

  nixpkgs = { config = { allowUnfree = true; }; };

  fonts.fontconfig.enable = true;
  fonts.fonts = with pkgs; [ cascadia-code victor-mono ];

  environment.systemPackages = with pkgs; [
    file
    pciutils
    bind
    wget
    git
    curl
    htop
    glances
    tcpdump
    restic
    neovim
    tmux
    parted
    unzip
    tree
    smartmontools
    nmap
    ripgrep
    jq
  ];
}