Compare commits
	
		
			9 commits
		
	
	
		
			89f576dc4b
			...
			79022428c3
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 79022428c3 | ||
|  | e362c39a63 | ||
|  | 03774d3c80 | ||
|  | 9a0f11d63c | ||
|  | 7c9883774f | ||
|  | 6a3f97cebb | ||
|  | a322f8291d | ||
|  | f8128b6331 | ||
|  | b533102019 | 
					 17 changed files with 171 additions and 56 deletions
				
			
		
							
								
								
									
										20
									
								
								flake.nix
									
										
									
									
									
								
							
							
						
						
									
										20
									
								
								flake.nix
									
										
									
									
									
								
							|  | @ -30,13 +30,10 @@ | ||||||
| 
 | 
 | ||||||
|   outputs = { self, nixpkgs, nixpkgs-unstable, ... }@attrs:  |   outputs = { self, nixpkgs, nixpkgs-unstable, ... }@attrs:  | ||||||
|   let |   let | ||||||
|     supportedSystems = [ "x86_64-linux" ]; |       system = "x86_64-linux"; | ||||||
|     forAllSystems = nixpkgs.lib.genAttrs supportedSystems; |       lib = nixpkgs.lib; | ||||||
|     forAllSystemsUnstable = nixpkgs-unstable.lib.genAttrs supportedSystems; |       pkgs = nixpkgs.legacyPackages.${system}; | ||||||
| 
 |       pkgs-unstable = nixpkgs-unstable.legacyPackages.${system}; | ||||||
|     pkgs = forAllSystems (system: import nixpkgs { inherit system; }); |  | ||||||
|     pkgs-unstable = forAllSystemsUnstable (system: import nixpkgs-unstable { inherit system; }); |  | ||||||
| 
 |  | ||||||
|   in |   in | ||||||
|   { |   { | ||||||
|     nixosConfigurations = { |     nixosConfigurations = { | ||||||
|  | @ -44,11 +41,12 @@ | ||||||
|       Lenni = let |       Lenni = let | ||||||
|         system = "x86_64-linux"; |         system = "x86_64-linux"; | ||||||
|       in |       in | ||||||
|       nixpkgs.lib.nixosSystem { |       lib.nixosSystem { | ||||||
| 
 | 
 | ||||||
|         specialArgs = { |         specialArgs = { | ||||||
|           hostname = "Lenni"; |           hostname = "Lenni"; | ||||||
|           type = "desktop"; |           type = "desktop"; | ||||||
|  |           inherit pkgs-unstable; | ||||||
|           inherit system; |           inherit system; | ||||||
|         }; |         }; | ||||||
| 
 | 
 | ||||||
|  | @ -69,11 +67,12 @@ | ||||||
|       Puenktchen = let |       Puenktchen = let | ||||||
|         system = "x86_64-linux"; |         system = "x86_64-linux"; | ||||||
|       in |       in | ||||||
|       nixpkgs.lib.nixosSystem { |       lib.nixosSystem { | ||||||
| 
 | 
 | ||||||
|         specialArgs = { |         specialArgs = { | ||||||
|           hostname = "Puenktchen"; |           hostname = "Puenktchen"; | ||||||
|           type = "desktop"; |           type = "desktop"; | ||||||
|  |           inherit pkgs-unstable; | ||||||
|           inherit system; |           inherit system; | ||||||
|         }; |         }; | ||||||
| 
 | 
 | ||||||
|  | @ -97,11 +96,12 @@ | ||||||
|       Anton = let |       Anton = let | ||||||
|         system = "x86_64-linux"; |         system = "x86_64-linux"; | ||||||
|       in |       in | ||||||
|       nixpkgs.lib.nixosSystem { |       lib.nixosSystem { | ||||||
| 
 | 
 | ||||||
|         specialArgs = { |         specialArgs = { | ||||||
|           hostname = "Anton"; |           hostname = "Anton"; | ||||||
|           type = "server"; |           type = "server"; | ||||||
|  |           inherit pkgs-unstable; | ||||||
|           inherit system; |           inherit system; | ||||||
|         }; |         }; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
							
								
								
									
										20
									
								
								hosts/Anton/caddy.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								hosts/Anton/caddy.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,20 @@ | ||||||
|  | { pkgs, ... }: | ||||||
|  | { | ||||||
|  | 
 | ||||||
|  |   services.caddy = { | ||||||
|  |     enable = true; | ||||||
|  |     configFile = pkgs.writeText "Caddyfile" '' | ||||||
|  | https://git.huwe.mooo.com { | ||||||
|  |     reverse_proxy localhost:3000 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | https://files.huwe.mooo.com { | ||||||
|  |     reverse_proxy localhost:444     | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | https://cal.huwe.mooo.com { | ||||||
|  |     reverse_proxy localhost:5232 | ||||||
|  | } | ||||||
|  | ''; | ||||||
|  |   }; | ||||||
|  | } | ||||||
							
								
								
									
										14
									
								
								hosts/Anton/data.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								hosts/Anton/data.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,14 @@ | ||||||
|  | { pkgs, ... }: | ||||||
|  | { | ||||||
|  | 
 | ||||||
|  | #  environment.systemPackages = with pkgs; [ | ||||||
|  | #    mergerfs | ||||||
|  | #  ]; | ||||||
|  | 
 | ||||||
|  |   fileSystems."/mnt/data" = { | ||||||
|  |     device = "/dev/disk/by-id/wwn-0x500a0751e6b6c60f-part1"; | ||||||
|  |     fsType = "btrfs"; | ||||||
|  |     options = [" noatime=true compress=zstd:12 "]; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  | } | ||||||
|  | @ -3,8 +3,13 @@ | ||||||
| 
 | 
 | ||||||
|   imports = [ |   imports = [ | ||||||
| 
 | 
 | ||||||
|  |     ./caddy.nix | ||||||
|     ./disko.nix |     ./disko.nix | ||||||
|  |     ./data.nix | ||||||
|  |     ./firewall.nix | ||||||
|  |     ./gitea.nix | ||||||
|     ./hardware-configuration.nix |     ./hardware-configuration.nix | ||||||
|  |     ./radicale.nix | ||||||
| 
 | 
 | ||||||
|   ]; |   ]; | ||||||
| 
 | 
 | ||||||
|  | @ -3,7 +3,7 @@ | ||||||
|     disk = { |     disk = { | ||||||
|       root-drive = { |       root-drive = { | ||||||
|         type = "disk"; |         type = "disk"; | ||||||
|         device = "/dev/disk/by-id/wwn-0x5001b44ebc0b613a"; |         device = "/dev/disk/by-id/nvme-Patriot_M.2_P300_128GB_P300HHBB240118004095"; | ||||||
|         content = { |         content = { | ||||||
|           type = "gpt"; |           type = "gpt"; | ||||||
|           partitions = { |           partitions = { | ||||||
							
								
								
									
										8
									
								
								hosts/Anton/firewall.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								hosts/Anton/firewall.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,8 @@ | ||||||
|  | { pkgs, ... }: | ||||||
|  | { | ||||||
|  |   networking.firewall = { | ||||||
|  |     enable = true; | ||||||
|  |     allowedTCPPorts = [ 22 80 443 3000 ]; | ||||||
|  |     allowedUDPPorts = [ 22 80 443 ]; | ||||||
|  |   }; | ||||||
|  | } | ||||||
							
								
								
									
										19
									
								
								hosts/Anton/gitea.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								hosts/Anton/gitea.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,19 @@ | ||||||
|  | { pkgs, pkgs-unstable, ... }: | ||||||
|  | { | ||||||
|  |    | ||||||
|  |   services.gitea = { | ||||||
|  |     enable = true; | ||||||
|  |     package = pkgs-unstable.gitea; | ||||||
|  |     stateDir = "/mnt/data/services/gitea"; | ||||||
|  | 
 | ||||||
|  |     appName = "My low quality unfinished Projects"; | ||||||
|  | 
 | ||||||
|  |     settings = { | ||||||
|  |       server = { | ||||||
|  |         DOMAIN = "git.huwe.mooo.com"; | ||||||
|  |         HTTP_PORT = 3000; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  | } | ||||||
							
								
								
									
										26
									
								
								hosts/Anton/hardware-configuration.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								hosts/Anton/hardware-configuration.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,26 @@ | ||||||
|  | # Do not modify this file!  It was generated by ‘nixos-generate-config’ | ||||||
|  | # and may be overwritten by future invocations.  Please make changes | ||||||
|  | # to /etc/nixos/configuration.nix instead. | ||||||
|  | { config, lib, pkgs, modulesPath, ... }: | ||||||
|  | 
 | ||||||
|  | { | ||||||
|  |   imports = | ||||||
|  |     [ (modulesPath + "/installer/scan/not-detected.nix") | ||||||
|  |     ]; | ||||||
|  | 
 | ||||||
|  |   boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" ]; | ||||||
|  |   boot.initrd.kernelModules = [ ]; | ||||||
|  |   boot.kernelModules = [ "kvm-amd" ]; | ||||||
|  |   boot.extraModulePackages = [ ]; | ||||||
|  | 
 | ||||||
|  |   # Enables DHCP on each ethernet and wireless interface. In case of scripted networking | ||||||
|  |   # (the default) this is the recommended approach. When using systemd-networkd it's | ||||||
|  |   # still possible to use this option, but it's recommended to use it in conjunction | ||||||
|  |   # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`. | ||||||
|  |   networking.useDHCP = lib.mkDefault true; | ||||||
|  |   # networking.interfaces.enp6s0.useDHCP = lib.mkDefault true; | ||||||
|  |   # networking.interfaces.enp7s0.useDHCP = lib.mkDefault true; | ||||||
|  | 
 | ||||||
|  |   nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; | ||||||
|  |   hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; | ||||||
|  | } | ||||||
							
								
								
									
										21
									
								
								hosts/Anton/radicale.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								hosts/Anton/radicale.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,21 @@ | ||||||
|  | { pkgs, ... }: | ||||||
|  | { | ||||||
|  | 
 | ||||||
|  |   services.radicale = { | ||||||
|  |     enable = true; | ||||||
|  |     settings = { | ||||||
|  |       server = { | ||||||
|  |         hosts = [ "0.0.0.0:5232" "[::]:5232" ]; | ||||||
|  |       }; | ||||||
|  |       auth = { | ||||||
|  |         type = "htpasswd"; | ||||||
|  |         htpasswd_filename = "/etc/radicale/users"; | ||||||
|  |         htpasswd_encryption = "bcrypt"; | ||||||
|  |       }; | ||||||
|  |       storage = { | ||||||
|  |         filesystem_folder = "/mnt/data/services/radicale/collections"; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  | } | ||||||
|  | @ -5,5 +5,10 @@ | ||||||
|     ./garbage-collect.nix |     ./garbage-collect.nix | ||||||
|     ./optimise.nix |     ./optimise.nix | ||||||
|   ]; |   ]; | ||||||
|  | 
 | ||||||
|  |   networking.networkmanager.enable = true; | ||||||
|  |   console.keyMap = "de"; | ||||||
|  |   nixpkgs.config.allowUnfree = true; | ||||||
|  |   nix.settings.experimental-features = [ "nix-command" "flakes" ]; | ||||||
|   system.stateVersion = "23.11"; |   system.stateVersion = "23.11"; | ||||||
| } | } | ||||||
|  | @ -10,8 +10,4 @@ | ||||||
|   hardware.bluetooth.enable = true; |   hardware.bluetooth.enable = true; | ||||||
|   services.hardware.bolt.enable = true; |   services.hardware.bolt.enable = true; | ||||||
| 
 | 
 | ||||||
|   networking.networkmanager.enable = true; |  | ||||||
|   console.keyMap = "de"; |  | ||||||
|   nixpkgs.config.allowUnfree = true; |  | ||||||
|   nix.settings.experimental-features = [ "nix-command" "flakes" ]; |  | ||||||
| } | } | ||||||
|  | @ -1,19 +0,0 @@ | ||||||
| { pkgs, ... }: |  | ||||||
| { |  | ||||||
| 
 |  | ||||||
|   environment.systemPackages = with pkgs; [ |  | ||||||
|     mergerfs |  | ||||||
|   ]; |  | ||||||
| 
 |  | ||||||
|   fileSystems."/storage" = { |  | ||||||
|     fsType = "fuse.mergerfs"; |  | ||||||
|     device = "/mnt/disks/*"; |  | ||||||
|     options = ["cache.files=partial" "dropcacheonclose=true" "category.create=mfs"]; |  | ||||||
|   }; |  | ||||||
| 
 |  | ||||||
|   services.snapraid = { |  | ||||||
|     enable = true; |  | ||||||
| 
 |  | ||||||
|   }; |  | ||||||
| 
 |  | ||||||
| } |  | ||||||
							
								
								
									
										8
									
								
								hosts/server/boot.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								hosts/server/boot.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,8 @@ | ||||||
|  | { pkgs, ... }: | ||||||
|  | { | ||||||
|  |   boot = { | ||||||
|  |     loader.systemd-boot.enable = true; | ||||||
|  |     loader.efi.canTouchEfiVariables = true; | ||||||
|  |     initrd.systemd.enable = true; | ||||||
|  |   }; | ||||||
|  | } | ||||||
							
								
								
									
										8
									
								
								hosts/server/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								hosts/server/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,8 @@ | ||||||
|  | { pkgs, ... }: | ||||||
|  | { | ||||||
|  | 
 | ||||||
|  |   imports = [ | ||||||
|  |     ./boot.nix | ||||||
|  |     ./ssh-server.nix | ||||||
|  |   ]; | ||||||
|  | } | ||||||
							
								
								
									
										20
									
								
								hosts/server/ssh-server.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								hosts/server/ssh-server.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,20 @@ | ||||||
|  | { pkgs, ... }: | ||||||
|  | { | ||||||
|  | 
 | ||||||
|  |   services.openssh = { | ||||||
|  |     enable = true; | ||||||
|  |     ports = [ 22 ]; | ||||||
|  |     settings = { | ||||||
|  |       PasswordAuthentication = false; | ||||||
|  |       AllowUsers = null; # Allows all users by default. Can be [ "user1" "user2" ] | ||||||
|  |       UseDns = true; | ||||||
|  |       X11Forwarding = false; | ||||||
|  |       PermitRootLogin = "prohibit-password"; # "yes", "without-password", "prohibit-password", "forced-commands-only", "no" | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   users.users.willifan.openssh.authorizedKeys.keys = [ | ||||||
|  |     "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDMRriQfw3pusl04fGhCNVoRRpye71ZwkDXAtKB/FP1DLXA4cYrwjLzv/fG1hXi7lAMp2vLiABAg/UaTE8roGzlt62XsFNwc1TI5M8m67J0kLkCtz3MkIixe/3GOFXr03g80DPncLyoIYPvvNd/TftTBK4yrrZPvMJaRrZhW/QdLPQpdHalcNRZ4bnBOCtCoqQ6RGrRi2EeKaJDYIFNl13b9FxrXEJcXnbSDdr1KI3q7a+vkefI2knUf2Uk7ufOWTQ1aqc0heGtCNlHzwZUzW/dfrpPmoVPq3Fqxqd9uXqxMk1Z3VnOwWcK3VXfzzBXKTsX0MaUgF1EqxibkYs9bDZqLEXoRucBqk3wwMPy8RJXqQOupoqa2xEOoduBf1qDHEEm69coHCpPm2mQVUrwsPrmTHmOjh9ir0mkVBDRgHvhq/ctQTVO5/SE2NCgPdlvUV5s44LLsUyxBp5JWwXZWlVys+7Dhil6mtRDcH4CXceJn0VZ61Zv2jrCTxQjKsroitSkNbpAkKajQ9moLMAblsSwJzl3uvJJ3ydlxjZefwTO/GjyuJMY2sIU2Tu0YbIVgMyq5L782LduVlyWj+RLWoEu19OfMqQvTWhJnQPAbR82qGzlfTGRLUxoY+G5MYipJwgrBQ2TnpWvfpTrZxFrglSfekz0v54lWzNZpW+irImh4w== willifan@proton.me" | ||||||
|  |   ]; | ||||||
|  | 
 | ||||||
|  | } | ||||||
|  | @ -2,7 +2,7 @@ | ||||||
| { | { | ||||||
|   imports = [ |   imports = [ | ||||||
|     ./common |     ./common | ||||||
|     ./${type} | #    ./${type} | ||||||
|     ./${hostname} | #    ./${hostname} | ||||||
|   ]; |   ]; | ||||||
| } | } | ||||||
|  | @ -17,22 +17,6 @@ | ||||||
|             "calendar.registry.1fc1e3ed-8ed4-4ec8-8b15-e7b2fbc810a8.type" = "caldav"; |             "calendar.registry.1fc1e3ed-8ed4-4ec8-8b15-e7b2fbc810a8.type" = "caldav"; | ||||||
|             "calendar.registry.1fc1e3ed-8ed4-4ec8-8b15-e7b2fbc810a8.uri" = "https://cal.huwe.mooo.com/willifan/4381be3e-3453-cf20-ec8a-f9e1dc17dfc4/"; |             "calendar.registry.1fc1e3ed-8ed4-4ec8-8b15-e7b2fbc810a8.uri" = "https://cal.huwe.mooo.com/willifan/4381be3e-3453-cf20-ec8a-f9e1dc17dfc4/"; | ||||||
|             "calendar.registry.1fc1e3ed-8ed4-4ec8-8b15-e7b2fbc810a8.username" = "willifan"; |             "calendar.registry.1fc1e3ed-8ed4-4ec8-8b15-e7b2fbc810a8.username" = "willifan"; | ||||||
|             "calendar.registry.60a1da39-91e8-4f71-a3f2-366182049c9f.cache.enabled" = true; |  | ||||||
|             "calendar.registry.60a1da39-91e8-4f71-a3f2-366182049c9f.calendar-main-in-composite" = true; |  | ||||||
|             "calendar.registry.60a1da39-91e8-4f71-a3f2-366182049c9f.color" = "#a8c2e1"; |  | ||||||
|             "calendar.registry.60a1da39-91e8-4f71-a3f2-366182049c9f.name" = "Abgelehnt"; |  | ||||||
|             "calendar.registry.60a1da39-91e8-4f71-a3f2-366182049c9f.readOnly" = false; |  | ||||||
|             "calendar.registry.60a1da39-91e8-4f71-a3f2-366182049c9f.type" = "caldav"; |  | ||||||
|             "calendar.registry.60a1da39-91e8-4f71-a3f2-366182049c9f.uri" = "https://cal.huwe.mooo.com/willifan/3ef93cc0-40f5-2b0e-a27c-e41d19bf22ab/"; |  | ||||||
|             "calendar.registry.60a1da39-91e8-4f71-a3f2-366182049c9f.username" = "willifan"; |  | ||||||
|             "calendar.registry.7da634d4-bbd5-4148-908c-42c1ad15423a.cache.enabled" = true; |  | ||||||
|             "calendar.registry.7da634d4-bbd5-4148-908c-42c1ad15423a.calendar-main-in-composite" = true; |  | ||||||
|             "calendar.registry.7da634d4-bbd5-4148-908c-42c1ad15423a.color" = "#8855a8"; |  | ||||||
|             "calendar.registry.7da634d4-bbd5-4148-908c-42c1ad15423a.name" = "Roberta"; |  | ||||||
|             "calendar.registry.7da634d4-bbd5-4148-908c-42c1ad15423a.readOnly" = false; |  | ||||||
|             "calendar.registry.7da634d4-bbd5-4148-908c-42c1ad15423a.type" = "caldav"; |  | ||||||
|             "calendar.registry.7da634d4-bbd5-4148-908c-42c1ad15423a.uri" = "https://cal.huwe.mooo.com/willifan/39af6f18-99b4-547a-906c-836f26a5cfa6/"; |  | ||||||
|             "calendar.registry.7da634d4-bbd5-4148-908c-42c1ad15423a.username" = "willifan"; |  | ||||||
|             "calendar.timezone.local" = "Europe/Berlin"; |             "calendar.timezone.local" = "Europe/Berlin"; | ||||||
|             "calendar.timezone.useSystemTimezone" = true; |             "calendar.timezone.useSystemTimezone" = true; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue