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

let
  inherit (lib) mkDefault optionals;
in
{
  environment.systemPackages =
    with pkgs;
    [
      cryptsetup
      curl
      dig
      dnsutils
      fzf
      gptfdisk
      iproute2
      jq
      lm_sensors
      lsof
      netcat-openbsd
      nettools
      nixos-container
      nmap
      nurl
      p7zip
      pciutils
      psmisc
      rclone
      rsync
      tcpdump
      tmux
      tree
      unzip
      usbutils
      wget
      xxd
      zip

      (callPackage ../../../apps/rebuild { })
    ]
    ++ optionals (pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform) [
      pkgs.kitty.terminfo
    ];

  environment.shellAliases = {
    l = "ls -lh";
    ll = "ls -lAh";
    ports = "ss -tulpn";
    publicip = "curl ifconfig.me/all";
    sudo = "sudo "; # make aliases work with `sudo`
  };

  # saves one instance of nixpkgs.
  environment.ldso32 = null;

  boot.tmp.cleanOnBoot = mkDefault true;
  boot.initrd.systemd.enable = mkDefault (!config.boot.swraid.enable && !config.boot.isContainer);
}
