Compare commits
	
		
			50 Commits
		
	
	
		
			0efcf8f3fc
			...
			4f6e2c3369
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 4f6e2c3369 | |||
| f9ba8473d2 | |||
| 20b7117560 | |||
| aa7121fe93 | |||
| 6929594da9 | |||
| 8f76ad3037 | |||
| 5a2f7eee0d | |||
| 3c5f72aed0 | |||
| ae3dc094f9 | |||
| 7160858f57 | |||
| 883a9fb28f | |||
| 4c4ee017e0 | |||
| feb006a99d | |||
| 6575977ce1 | |||
| 80774e8778 | |||
| 9af90be28b | |||
| fba5ac6c2b | |||
| 307dee979a | |||
| df9a227358 | |||
| f332e415cf | |||
| 1040a10e16 | |||
| ad198eb473 | |||
| b3b9e58ea3 | |||
| c44ab55aa0 | |||
| 71ba560b37 | |||
| cd5df4cb29 | |||
| ababb5b6b7 | |||
| 2a8f76e955 | |||
| de17d7c9dd | |||
| 82c2bf81b7 | |||
| a48c0a3b2a | |||
| e019fccbd2 | |||
| 358a0ffeed | |||
| 908b9c7b29 | |||
| f4b3ec91eb | |||
| bdc0dd5656 | |||
| d9127c7623 | |||
| c99b8619b8 | |||
| c2dd0b3330 | |||
| 90601f7744 | |||
| 97318fed84 | |||
| 34bc79b30d | |||
| 233cfce663 | |||
| 2cc4973a88 | |||
| d47198998b | |||
| da9193067d | |||
| 886c4c5250 | |||
| b83f28df91 | |||
| b913e5b2f8 | |||
| 1b6b284fa3 | 
@ -37,10 +37,6 @@ in
 | 
				
			|||||||
          # catchall for all domains
 | 
					          # catchall for all domains
 | 
				
			||||||
          aliases = map (domain: "@${domain}") domains;
 | 
					          aliases = map (domain: "@${domain}") domains;
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
        "cris@runyan.org" = {
 | 
					 | 
				
			||||||
          hashedPasswordFile = "/run/agenix/cris-hashed-email-pw";
 | 
					 | 
				
			||||||
          aliases = [ "chris@runyan.org" ];
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
        "robot@runyan.org" = {
 | 
					        "robot@runyan.org" = {
 | 
				
			||||||
          aliases = [
 | 
					          aliases = [
 | 
				
			||||||
            "no-reply@neet.dev"
 | 
					            "no-reply@neet.dev"
 | 
				
			||||||
@ -59,7 +55,6 @@ in
 | 
				
			|||||||
      certificateScheme = 3; # use let's encrypt for certs
 | 
					      certificateScheme = 3; # use let's encrypt for certs
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
    age.secrets.hashed-email-pw.file = ../../secrets/hashed-email-pw.age;
 | 
					    age.secrets.hashed-email-pw.file = ../../secrets/hashed-email-pw.age;
 | 
				
			||||||
    age.secrets.cris-hashed-email-pw.file = ../../secrets/cris-hashed-email-pw.age;
 | 
					 | 
				
			||||||
    age.secrets.hashed-robots-email-pw.file = ../../secrets/hashed-robots-email-pw.age;
 | 
					    age.secrets.hashed-robots-email-pw.file = ../../secrets/hashed-robots-email-pw.age;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # sendmail to use xxx@domain instead of xxx@mail.domain
 | 
					    # sendmail to use xxx@domain instead of xxx@mail.domain
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										18
									
								
								flake.nix
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								flake.nix
									
									
									
									
									
								
							@ -55,7 +55,7 @@
 | 
				
			|||||||
    {
 | 
					    {
 | 
				
			||||||
      nixosConfigurations =
 | 
					      nixosConfigurations =
 | 
				
			||||||
        let
 | 
					        let
 | 
				
			||||||
          modules = system: hostname: with inputs; [
 | 
					          modules = system: with inputs; [
 | 
				
			||||||
            ./common
 | 
					            ./common
 | 
				
			||||||
            simple-nixos-mailserver.nixosModule
 | 
					            simple-nixos-mailserver.nixosModule
 | 
				
			||||||
            agenix.nixosModules.default
 | 
					            agenix.nixosModules.default
 | 
				
			||||||
@ -63,13 +63,9 @@
 | 
				
			|||||||
            archivebox.nixosModule
 | 
					            archivebox.nixosModule
 | 
				
			||||||
            nix-index-database.nixosModules.nix-index
 | 
					            nix-index-database.nixosModules.nix-index
 | 
				
			||||||
            ({ lib, ... }: {
 | 
					            ({ lib, ... }: {
 | 
				
			||||||
              config = {
 | 
					              config.environment.systemPackages = [
 | 
				
			||||||
                environment.systemPackages = [
 | 
					                agenix.packages.${system}.agenix
 | 
				
			||||||
                  agenix.packages.${system}.agenix
 | 
					              ];
 | 
				
			||||||
                ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                networking.hostName = hostname;
 | 
					 | 
				
			||||||
              };
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
              # because nixos specialArgs doesn't work for containers... need to pass in inputs a different way
 | 
					              # because nixos specialArgs doesn't work for containers... need to pass in inputs a different way
 | 
				
			||||||
              options.inputs = lib.mkOption { default = inputs; };
 | 
					              options.inputs = lib.mkOption { default = inputs; };
 | 
				
			||||||
@ -77,9 +73,9 @@
 | 
				
			|||||||
            })
 | 
					            })
 | 
				
			||||||
          ];
 | 
					          ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          mkSystem = system: nixpkgs: path: hostname:
 | 
					          mkSystem = system: nixpkgs: path:
 | 
				
			||||||
            let
 | 
					            let
 | 
				
			||||||
              allModules = modules system hostname;
 | 
					              allModules = modules system;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
              # allow patching nixpkgs, remove this hack once this is solved: https://github.com/NixOS/nix/issues/3920
 | 
					              # allow patching nixpkgs, remove this hack once this is solved: https://github.com/NixOS/nix/issues/3920
 | 
				
			||||||
              patchedNixpkgsSrc = nixpkgs.legacyPackages.${system}.applyPatches {
 | 
					              patchedNixpkgsSrc = nixpkgs.legacyPackages.${system}.applyPatches {
 | 
				
			||||||
@ -103,7 +99,7 @@
 | 
				
			|||||||
        in
 | 
					        in
 | 
				
			||||||
        nixpkgs.lib.mapAttrs
 | 
					        nixpkgs.lib.mapAttrs
 | 
				
			||||||
          (hostname: cfg:
 | 
					          (hostname: cfg:
 | 
				
			||||||
            mkSystem cfg.arch nixpkgs cfg.configurationPath hostname)
 | 
					            mkSystem cfg.arch nixpkgs cfg.configurationPath)
 | 
				
			||||||
          machines;
 | 
					          machines;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      packages =
 | 
					      packages =
 | 
				
			||||||
 | 
				
			|||||||
@ -5,6 +5,8 @@
 | 
				
			|||||||
    ./hardware-configuration.nix
 | 
					    ./hardware-configuration.nix
 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  networking.hostName = "ponyo";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  system.autoUpgrade.enable = true;
 | 
					  system.autoUpgrade.enable = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # p2p mesh network
 | 
					  # p2p mesh network
 | 
				
			||||||
 | 
				
			|||||||
@ -5,6 +5,8 @@
 | 
				
			|||||||
    ./hardware-configuration.nix
 | 
					    ./hardware-configuration.nix
 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  networking.hostName = "ray";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # for luks onlock over tor
 | 
					  # for luks onlock over tor
 | 
				
			||||||
  services.tor.enable = true;
 | 
					  services.tor.enable = true;
 | 
				
			||||||
  services.tor.client.enable = true;
 | 
					  services.tor.client.enable = true;
 | 
				
			||||||
 | 
				
			|||||||
@ -11,6 +11,8 @@
 | 
				
			|||||||
  # https://github.com/skogsbrus/os/blob/master/sys/router.nix
 | 
					  # https://github.com/skogsbrus/os/blob/master/sys/router.nix
 | 
				
			||||||
  # http://trac.gateworks.com/wiki/wireless/wifi 
 | 
					  # http://trac.gateworks.com/wiki/wireless/wifi 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  networking.hostName = "router";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  system.autoUpgrade.enable = true;
 | 
					  system.autoUpgrade.enable = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  services.tailscale.exitNode = true;
 | 
					  services.tailscale.exitNode = true;
 | 
				
			||||||
 | 
				
			|||||||
@ -7,7 +7,7 @@
 | 
				
			|||||||
    ];
 | 
					    ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # boot
 | 
					  # boot
 | 
				
			||||||
  boot.loader.systemd-boot.enable = true;
 | 
					  efi.enable = true;
 | 
				
			||||||
  boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "uas" "sd_mod" "rtsx_pci_sdmmc" ];
 | 
					  boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "uas" "sd_mod" "rtsx_pci_sdmmc" ];
 | 
				
			||||||
  boot.initrd.kernelModules = [ ];
 | 
					  boot.initrd.kernelModules = [ ];
 | 
				
			||||||
  boot.kernelModules = [ "kvm-intel" ];
 | 
					  boot.kernelModules = [ "kvm-intel" ];
 | 
				
			||||||
 | 
				
			|||||||
@ -1,9 +0,0 @@
 | 
				
			|||||||
age-encryption.org/v1
 | 
					 | 
				
			||||||
-> ssh-ed25519 6AT2/g q8AlvC9Dt+b8320A4BP92FghOoPyKttivfrsxqG6DGM
 | 
					 | 
				
			||||||
GWz2QJY3QFc748DjHrybNxyAS/BmDgzIU8yoRFGbLjA
 | 
					 | 
				
			||||||
-> ssh-ed25519 dMQYog i/6mNjO8XZGAxnN1SxJGr5uD+hzCIrh28+N7cvvXZGA
 | 
					 | 
				
			||||||
hC+J+F9hVs8HZjLhCQ6RnGAHRE45G+p1oBPnwB+nBtE
 | 
					 | 
				
			||||||
-> ]d^>n#.%-grease Qe6&35Kb ,",Wb`% 0SRX@d
 | 
					 | 
				
			||||||
yXZqn1+E675gpQyFGk/c15Sc1/iwjI/6VrOE1RTcp0gJcsbtVv4kgYCkY+mK
 | 
					 | 
				
			||||||
--- ykoio7g3wxV3VDvo2d3p/Y39NCh+cWPh7uL+Go30BLY
 | 
					 | 
				
			||||||
i“˜Q+€hnïI¼_MßGrrf¯EE~µ(fFyâÿé&ȃ>sÀX<C380>›ú¤9~<7E>ä*Ç~ŽBãÕ4R¯ü=;’Â{Ý´+^<5E>P…¨ûrFza·C䢞î4V’
 | 
					 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								secrets/gitea-runner-registration-token.age
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								secrets/gitea-runner-registration-token.age
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							@ -14,11 +14,13 @@ with roles;
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  # email
 | 
					  # email
 | 
				
			||||||
  "hashed-email-pw.age".publicKeys = email-server;
 | 
					  "hashed-email-pw.age".publicKeys = email-server;
 | 
				
			||||||
  "cris-hashed-email-pw.age".publicKeys = email-server;
 | 
					 | 
				
			||||||
  "sasl_relay_passwd.age".publicKeys = email-server;
 | 
					  "sasl_relay_passwd.age".publicKeys = email-server;
 | 
				
			||||||
  "hashed-robots-email-pw.age".publicKeys = email-server;
 | 
					  "hashed-robots-email-pw.age".publicKeys = email-server;
 | 
				
			||||||
  "robots-email-pw.age".publicKeys = gitea;
 | 
					  "robots-email-pw.age".publicKeys = gitea;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # gitea
 | 
				
			||||||
 | 
					  "gitea-runner-registration-token.age".publicKeys = gitea-runner;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # vpn
 | 
					  # vpn
 | 
				
			||||||
  "iodine.age".publicKeys = iodine;
 | 
					  "iodine.age".publicKeys = iodine;
 | 
				
			||||||
  "pia-login.age".publicKeys = pia;
 | 
					  "pia-login.age".publicKeys = pia;
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user