Tangled infrastructure definitions in Nix
1{ modulesPath
2, lib
3, pkgs
4, ...
5} @ args:
6{
7 imports = [
8 (modulesPath + "/installer/scan/not-detected.nix")
9 (modulesPath + "/profiles/qemu-guest.nix")
10 ./disk-config.nix
11 ];
12 boot.loader.grub = {
13 # no need to set devices, disko will add all devices that have a EF02 partition to the list already
14 # devices = [ ];
15 efiSupport = true;
16 efiInstallAsRemovable = true;
17 };
18
19 networking.hostName = "appview-arn";
20 services = {
21 openssh.enable = true;
22 openssh.ports = [2222];
23 };
24
25 # networking.extraHosts = ''
26 # 85.9.211.103 knot1.tangled.sh
27 # '';
28
29
30 nix = {
31 extraOptions = ''
32 experimental-features = nix-command flakes ca-derivations
33 warn-dirty = false
34 keep-outputs = false
35 '';
36 };
37
38 environment.systemPackages = map lib.lowPrio [
39 pkgs.curl
40 pkgs.gitMinimal
41 ];
42
43 users.users.tangler = {
44 extraGroups = [ "networkmanager" "wheel" ];
45 openssh.authorizedKeys.keys = args.commonArgs.sshKeys;
46 isNormalUser = true;
47 };
48
49 security.sudo.extraRules = [
50 {
51 users = [ "tangler" ];
52 commands = [
53 {
54 command = "ALL";
55 options = [ "NOPASSWD" ];
56 }
57 ];
58 }
59 ];
60
61 system.stateVersion = "25.05";
62}