{ config, lib, pkgs, ... }: let patchScriptBin = filename: contents: ((pkgs.writeScriptBin filename contents).overrideAttrs (old: { buildCommand = "${old.buildCommand}\n patchShebangs $out"; })); cleanup_temporary_files = ( patchScriptBin "cleanup_temporary_files" (builtins.readFile ./files/cleanup_temporary_files.bash) ); in { imports = [ ]; options.me = { base.enable = lib.mkOption { type = lib.types.bool; default = false; example = true; description = "Whether we want to install base."; }; }; config = lib.mkIf config.me.base.enable { environment.systemPackages = with pkgs; [ wget mg rsync libinput htop tmux file usbutils # for lsusb pciutils # for lspci ripgrep strace # ltrace # Disabled because it uses more than 48GB of /tmp space during test phase. trace-cmd # ftrace tcpdump git-crypt gnumake ncdu nix-tree libarchive # bsdtar lsof doas-sudo-shim # To support --sudo for remote builds dmidecode # Read SMBIOS information. ipcalc gptfdisk # for cgdisk nix-output-monitor # For better view into nixos-rebuild nix-serve-ng # Serve nix store over http cleanup_temporary_files ]; }; }