1# This module defines the software packages included in the "minimal"
2# installation CD. It might be useful elsewhere.
3
4{
5 config,
6 lib,
7 pkgs,
8 ...
9}:
10
11{
12 # Include some utilities that are useful for installing or repairing
13 # the system.
14 environment.systemPackages = [
15 pkgs.w3m-nographics # needed for the manual anyway
16 pkgs.testdisk # useful for repairing boot problems
17 pkgs.ms-sys # for writing Microsoft boot sectors / MBRs
18 pkgs.efibootmgr
19 pkgs.efivar
20 pkgs.parted
21 pkgs.gptfdisk
22 pkgs.ddrescue
23 pkgs.ccrypt
24 pkgs.cryptsetup # needed for dm-crypt volumes
25
26 # Some text editors.
27 pkgs.vim
28
29 # Some networking tools.
30 pkgs.fuse
31 pkgs.fuse3
32 pkgs.sshfs-fuse
33 pkgs.socat
34 pkgs.screen
35 pkgs.tcpdump
36
37 # Hardware-related tools.
38 pkgs.sdparm
39 pkgs.hdparm
40 pkgs.smartmontools # for diagnosing hard disks
41 pkgs.pciutils
42 pkgs.usbutils
43 pkgs.nvme-cli
44
45 # Some compression/archiver tools.
46 pkgs.unzip
47 pkgs.zip
48
49 # Some utilities
50 pkgs.jq
51 ];
52
53 # Include support for various filesystems and tools to create / manipulate them.
54 boot.supportedFilesystems = lib.mkMerge [
55 [
56 "btrfs"
57 "cifs"
58 "f2fs"
59 "ntfs"
60 "vfat"
61 "xfs"
62 ]
63 (lib.mkIf (lib.meta.availableOn pkgs.stdenv.hostPlatform config.boot.zfs.package) {
64 zfs = lib.mkDefault true;
65 })
66 ];
67
68 # Configure host id for ZFS to work
69 networking.hostId = lib.mkDefault "8425e349";
70}