summaryrefslogtreecommitdiff
path: root/hosts/poweredge/configuration.nix
blob: ef99add01ae4cba61f3d4ca98b818bedf14ecc7e (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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
{ config, lib, pkgs, ... }: {
	imports = [
		./ddns-updater.nix
		./fileshares.nix
		./networking.nix
		#./notification-mailer.nix  # TODO move some of this stuff to archetype
		./wg1.nix
	];

	# Setup bootloader
	boot._loader.enable = true;

	# Enable common options
	_archetypes = {
		profiles = {
			headless = {
				enable = true;
				home.users.timmy.enable = true;
			};
			zfs.enable = true;
			router.enable = true;
		};
		collections = {
			development.docker.enable = true;
		};
	};

	# Import zfs pools
	boot.zfs.extraPools = [ "ingens" "memoria" ];

	# Enable smartd
	services.smartd.enable = true;  # TODO move to archetype

	# Enable web services
	services = {
		#_cgit = {
		#	enable = true;
		#	hostAddress = "192.168.1.10";
		#	localAddress = "192.168.1.11";
		#	rootTitle = "PowerEdge local cgit";
		#	# TODO add authorizedKeys
		#};
		_immich = {
			enable = true;
			mediaLocationHostPath = "/media/ingens/immich";
		};
	};

	#services._klipper.enable = true;

	# Enable user timmy
	_users.timmy.enable = true;

	# Without this, "ZFS requires networking.hostId to be set" will be raised
	networking.hostId = "4d9e002f";

	system.stateVersion = "25.11";
}