forked from jan-leila/nix-config
		
	Merge remote-tracking branch 'refs/remotes/origin/main'
This commit is contained in:
		
						commit
						427a259632
					
				
					 4 changed files with 117 additions and 51 deletions
				
			
		|  | @ -118,6 +118,16 @@ | ||||||
|       enable = true; |       enable = true; | ||||||
|       subdomain = "drive"; |       subdomain = "drive"; | ||||||
|     }; |     }; | ||||||
|  |     sync = { | ||||||
|  |       enable = true; | ||||||
|  |       folders = { | ||||||
|  |         leyla = { | ||||||
|  |           documents.enable = true; | ||||||
|  |           calendar.enable = true; | ||||||
|  |           notes.enable = true; | ||||||
|  |         }; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|   }; |   }; | ||||||
|   networking = { |   networking = { | ||||||
|     hostId = "c51763d6"; |     hostId = "c51763d6"; | ||||||
|  | @ -149,7 +159,7 @@ | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     ollama = { |     ollama = { | ||||||
|       enable = true; |       enable = false; | ||||||
| 
 | 
 | ||||||
|       loadModels = [ |       loadModels = [ | ||||||
|         "deepseek-coder:6.7b" |         "deepseek-coder:6.7b" | ||||||
|  | @ -161,6 +171,15 @@ | ||||||
|     tailscale = { |     tailscale = { | ||||||
|       enable = true; |       enable = true; | ||||||
|       authKeyFile = config.sops.secrets."wireguard-keys/tailscale-authkey/defiant".path; |       authKeyFile = config.sops.secrets."wireguard-keys/tailscale-authkey/defiant".path; | ||||||
|  |       useRoutingFeatures = "server"; | ||||||
|  |       extraUpFlags = [ | ||||||
|  |         "--advertise-exit-node" | ||||||
|  |         "--advertise-routes=192.168.1.0/24" | ||||||
|  |       ]; | ||||||
|  |       extraSetFlags = [ | ||||||
|  |         "--advertise-exit-node" | ||||||
|  |         "--advertise-routes=192.168.1.0/24" | ||||||
|  |       ]; | ||||||
|     }; |     }; | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -62,6 +62,7 @@ | ||||||
|     tailscale = { |     tailscale = { | ||||||
|       enable = true; |       enable = true; | ||||||
|       authKeyFile = config.sops.secrets."wireguard-keys/tailscale-authkey/horizon".path; |       authKeyFile = config.sops.secrets."wireguard-keys/tailscale-authkey/horizon".path; | ||||||
|  |       useRoutingFeatures = "client"; | ||||||
|     }; |     }; | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -29,6 +29,16 @@ | ||||||
|       openRGB.enable = true; |       openRGB.enable = true; | ||||||
|       graphicsAcceleration.enable = true; |       graphicsAcceleration.enable = true; | ||||||
|     }; |     }; | ||||||
|  |     sync = { | ||||||
|  |       enable = true; | ||||||
|  |       folders = { | ||||||
|  |         leyla = { | ||||||
|  |           documents.enable = true; | ||||||
|  |           calendar.enable = true; | ||||||
|  |           notes.enable = true; | ||||||
|  |         }; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   services = { |   services = { | ||||||
|  | @ -45,6 +55,11 @@ | ||||||
|     tailscale = { |     tailscale = { | ||||||
|       enable = true; |       enable = true; | ||||||
|       authKeyFile = config.sops.secrets."wireguard-keys/tailscale-authkey/twilight".path; |       authKeyFile = config.sops.secrets."wireguard-keys/tailscale-authkey/twilight".path; | ||||||
|  |       useRoutingFeatures = "both"; | ||||||
|  |       extraUpFlags = ["--advertise-exit-node"]; | ||||||
|  |       extraSetFlags = [ | ||||||
|  |         "--advertise-exit-node" | ||||||
|  |       ]; | ||||||
|     }; |     }; | ||||||
|   }; |   }; | ||||||
|   programs.steam = { |   programs.steam = { | ||||||
|  |  | ||||||
|  | @ -35,7 +35,8 @@ in { | ||||||
|     }; |     }; | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   config = { |   config = lib.mkMerge [ | ||||||
|  |     { | ||||||
|       systemd = lib.mkIf config.services.syncthing.enable { |       systemd = lib.mkIf config.services.syncthing.enable { | ||||||
|         tmpfiles.rules = [ |         tmpfiles.rules = [ | ||||||
|           "d ${mountDir} 755 syncthing syncthing -" |           "d ${mountDir} 755 syncthing syncthing -" | ||||||
|  | @ -43,8 +44,11 @@ in { | ||||||
|           "d ${config.services.syncthing.configDir} 755 syncthing syncthing -" |           "d ${config.services.syncthing.configDir} 755 syncthing syncthing -" | ||||||
|         ]; |         ]; | ||||||
|       }; |       }; | ||||||
|  |     } | ||||||
|  |     (lib.mkIf config.host.sync.enable (lib.mkMerge [ | ||||||
|  |       { | ||||||
|         services.syncthing = { |         services.syncthing = { | ||||||
|       enable = config.host.sync.enable; |           enable = true; | ||||||
|           user = "syncthing"; |           user = "syncthing"; | ||||||
|           group = "syncthing"; |           group = "syncthing"; | ||||||
|           dataDir = "${mountDir}/default"; |           dataDir = "${mountDir}/default"; | ||||||
|  | @ -59,32 +63,59 @@ in { | ||||||
|               coven = { |               coven = { | ||||||
|                 id = "QGU7NN6-OMXTWVA-YCZ73S5-2O7ECTS-MUCTN4M-YH6WLEL-U4U577I-7PBNCA5"; |                 id = "QGU7NN6-OMXTWVA-YCZ73S5-2O7ECTS-MUCTN4M-YH6WLEL-U4U577I-7PBNCA5"; | ||||||
|               }; |               }; | ||||||
|  |               defiant = lib.mkIf (config.networking.hostName != "defiant") { | ||||||
|  |                 id = "TQGGO5F-PUXQYVV-LVVM7PR-Q4TKI6T-NR576PH-CFTVB4O-RP5LL6C-WKQMXQR"; | ||||||
|  |               }; | ||||||
|  |               twilight = lib.mkIf (config.networking.hostName != "twilight") { | ||||||
|  |                 id = "UDIYL7V-OAZ2BI3-EJRAWFB-GZYVDWR-JNUYW3F-FFQ35MU-XBTGWEF-QD6K6QN"; | ||||||
|  |               }; | ||||||
|  |               horizon = lib.mkIf (config.networking.hostName != "horizon") { | ||||||
|  |                 id = "OGPAEU6-5UR56VL-SP7YC4Y-IMVCRTO-XFD4CYN-Z6T5TZO-PFZNAT6-4MKWPQS"; | ||||||
|  |               }; | ||||||
|             }; |             }; | ||||||
|             folders = lib.mkMerge [ |             folders = lib.mkMerge [ | ||||||
|               config.host.sync.folders.extraFolders |               config.host.sync.folders.extraFolders | ||||||
|               (lib.mkIf config.host.sync.folders.leyla.documents.enable { |               (lib.mkIf config.host.sync.folders.leyla.documents.enable { | ||||||
|                 "documents" = { |                 "documents" = { | ||||||
|                   id = "hvrj0-9bm1p"; |                   id = "hvrj0-9bm1p"; | ||||||
|               path = "/mnt/sync/leyla/documents"; |                   path = "${mountDir}/leyla/documents"; | ||||||
|                   devices = ["ceder" "coven"]; |                   devices = ["ceder" "coven"]; | ||||||
|                 }; |                 }; | ||||||
|               }) |               }) | ||||||
|               (lib.mkIf config.host.sync.folders.leyla.calendar.enable { |               (lib.mkIf config.host.sync.folders.leyla.calendar.enable { | ||||||
|                 "calendar" = { |                 "calendar" = { | ||||||
|                   id = "8oatl-1rv6w"; |                   id = "8oatl-1rv6w"; | ||||||
|               path = "/mnt/sync/leyla/calendar"; |                   path = "${mountDir}/leyla/calendar"; | ||||||
|                   devices = ["ceder" "coven"]; |                   devices = ["ceder" "coven"]; | ||||||
|                 }; |                 }; | ||||||
|               }) |               }) | ||||||
|               (lib.mkIf config.host.sync.folders.leyla.notes.enable { |               (lib.mkIf config.host.sync.folders.leyla.notes.enable { | ||||||
|                 "notes" = { |                 "notes" = { | ||||||
|                   id = "dwbuv-zffnf"; |                   id = "dwbuv-zffnf"; | ||||||
|               path = "/mnt/sync/leyla/notes"; |                   path = "${mountDir}/leyla/notes"; | ||||||
|                   devices = ["ceder" "coven"]; |                   devices = ["ceder" "coven"]; | ||||||
|                 }; |                 }; | ||||||
|               }) |               }) | ||||||
|             ]; |             ]; | ||||||
|           }; |           }; | ||||||
|         }; |         }; | ||||||
|   }; |       } | ||||||
|  | 
 | ||||||
|  |       (lib.mkIf config.host.impermanence.enable { | ||||||
|  |         environment.persistence = { | ||||||
|  |           "/persist/system/root" = { | ||||||
|  |             enable = true; | ||||||
|  |             hideMounts = true; | ||||||
|  |             directories = [ | ||||||
|  |               { | ||||||
|  |                 directory = mountDir; | ||||||
|  |                 user = "syncthing"; | ||||||
|  |                 group = "syncthing"; | ||||||
|  |               } | ||||||
|  |             ]; | ||||||
|  |           }; | ||||||
|  |         }; | ||||||
|  |       }) | ||||||
|  |     ])) | ||||||
|  |   ]; | ||||||
| } | } | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue