summaryrefslogtreecommitdiff
path: root/archetypes/profiles/zfs/default.nix
blob: a3ca2e120249384baa28a7bb0124dcb43e9d474d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{ lib, pkgs, ... }: let
	mkZfs = lib.mkOverride 810;

	# https://wiki.nixos.org/wiki/ZFS
	nixosConfig = {
		boot._loader = {
			grub.zfsSupport = mkZfs true;
			mode = mkZfs "efi";
		};

		services.zfs = {
			trim.enable = mkZfs true;
			autoSnapshot.enable = mkZfs true;
			autoScrub.enable = mkZfs true;
		};

		# Make docker work with zfs
		virtualisation.docker.storageDriver = mkZfs "zfs";
	};

	homeConfig = {};
in {
	imports = [ (lib._mkProfileArchetype "zfs" nixosConfig homeConfig) ];
}