Tangled infrastructure definitions in Nix
at master 62 lines 1.2 kB view raw
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}