1{
2 nixpkgs,
3 self,
4}:
5nixpkgs.lib.nixosSystem {
6 system = "x86_64-linux";
7 modules = [
8 self.nixosModules.knot
9 ({
10 config,
11 pkgs,
12 ...
13 }: {
14 virtualisation.memorySize = 2048;
15 virtualisation.diskSize = 10 * 1024;
16 virtualisation.cores = 2;
17 services.getty.autologinUser = "root";
18 environment.systemPackages = with pkgs; [curl vim git];
19 systemd.tmpfiles.rules = let
20 u = config.services.tangled-knot.gitUser;
21 g = config.services.tangled-knot.gitUser;
22 in [
23 "d /var/lib/knot 0770 ${u} ${g} - -" # Create the directory first
24 "f+ /var/lib/knot/secret 0660 ${u} ${g} - KNOT_SERVER_SECRET=38a7c3237c2a585807e06a5bcfac92eb39442063f3da306b7acb15cfdc51d19d"
25 ];
26 services.tangled-knot = {
27 enable = true;
28 server = {
29 secretFile = "/var/lib/knot/secret";
30 hostname = "localhost:6000";
31 listenAddr = "0.0.0.0:6000";
32 };
33 };
34 })
35 ];
36}