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
50 # Include support for various filesystems and tools to create / manipulate them.
51 boot.supportedFilesystems = lib.mkMerge [
52 [
53 "btrfs"
54 "cifs"
55 "f2fs"
56 "ntfs"
57 "vfat"
58 "xfs"
59 ]
60 (lib.mkIf (lib.meta.availableOn pkgs.stdenv.hostPlatform config.boot.zfs.package) {
61 zfs = lib.mkDefault true;
62 })
63 ];
64
65 # Configure host id for ZFS to work
66 networking.hostId = lib.mkDefault "8425e349";
67}