forked from jan-leila/nix-config
		
	moved network mounts out of main config and into their own file
This commit is contained in:
		
							parent
							
								
									4a7b57df99
								
							
						
					
					
						commit
						0d2a3e26a8
					
				
					 6 changed files with 150 additions and 147 deletions
				
			
		|  | @ -135,82 +135,6 @@ | ||||||
|     }; |     }; | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   # NFS support for mobile device - optimized for frequent disconnections |  | ||||||
|   boot.supportedFilesystems = ["nfs"]; |  | ||||||
| 
 |  | ||||||
|   fileSystems = { |  | ||||||
|     "/mnt/leyla_documents" = { |  | ||||||
|       device = "defiant:/exports/leyla_documents"; |  | ||||||
|       fsType = "nfs"; |  | ||||||
|       options = [ |  | ||||||
|         "x-systemd.automount" |  | ||||||
|         "noauto" |  | ||||||
|         "noatime" |  | ||||||
|         "nofail" |  | ||||||
|         "soft" |  | ||||||
|         "intr" # Allow interruption of NFS calls |  | ||||||
|         "timeo=30" # 3 second timeout (30 deciseconds) |  | ||||||
|         "retrans=2" # Only 2 retries before giving up |  | ||||||
|         "x-systemd.idle-timeout=300" # 5 minute idle timeout for mobile |  | ||||||
|         "x-systemd.device-timeout=15" # 15 second device timeout |  | ||||||
|         "bg" # Background mount - don't block boot |  | ||||||
|         "fsc" # Enable caching |  | ||||||
|         "_netdev" # Network device - wait for network |  | ||||||
|         "x-systemd.requires=network-online.target" # Require network to be online |  | ||||||
|         "x-systemd.after=network-online.target" # Start after network is online |  | ||||||
|         "x-systemd.mount-timeout=30" # 30 second mount timeout |  | ||||||
|       ]; |  | ||||||
|     }; |  | ||||||
| 
 |  | ||||||
|     "/mnt/users_documents" = { |  | ||||||
|       device = "defiant:/exports/users_documents"; |  | ||||||
|       fsType = "nfs"; |  | ||||||
|       options = [ |  | ||||||
|         "x-systemd.automount" |  | ||||||
|         "noauto" |  | ||||||
|         "nofail" |  | ||||||
|         "soft" |  | ||||||
|         "intr" |  | ||||||
|         "timeo=30" |  | ||||||
|         "retrans=2" |  | ||||||
|         "x-systemd.idle-timeout=300" |  | ||||||
|         "x-systemd.device-timeout=15" |  | ||||||
|         "bg" |  | ||||||
|         "fsc" |  | ||||||
|         "_netdev" |  | ||||||
|         "x-systemd.requires=network-online.target" |  | ||||||
|         "x-systemd.after=network-online.target" |  | ||||||
|         "x-systemd.mount-timeout=30" |  | ||||||
|       ]; |  | ||||||
|     }; |  | ||||||
| 
 |  | ||||||
|     "/mnt/media" = { |  | ||||||
|       device = "defiant:/exports/media"; |  | ||||||
|       fsType = "nfs"; |  | ||||||
|       options = [ |  | ||||||
|         "x-systemd.automount" |  | ||||||
|         "noauto" |  | ||||||
|         "noatime" |  | ||||||
|         "nofail" |  | ||||||
|         "soft" |  | ||||||
|         "intr" |  | ||||||
|         "timeo=30" |  | ||||||
|         "retrans=2" |  | ||||||
|         "x-systemd.idle-timeout=300" |  | ||||||
|         "x-systemd.device-timeout=15" |  | ||||||
|         "bg" |  | ||||||
|         # Mobile-optimized read settings |  | ||||||
|         "rsize=8192" # Smaller read size for mobile |  | ||||||
|         "wsize=8192" # Smaller write size for mobile |  | ||||||
|         "fsc" |  | ||||||
|         "_netdev" |  | ||||||
|         "x-systemd.requires=network-online.target" |  | ||||||
|         "x-systemd.after=network-online.target" |  | ||||||
|         "x-systemd.mount-timeout=30" |  | ||||||
|       ]; |  | ||||||
|     }; |  | ||||||
|   }; |  | ||||||
| 
 |  | ||||||
|   # Enable network-online.target for better network dependency handling |   # Enable network-online.target for better network dependency handling | ||||||
|   systemd.services.NetworkManager-wait-online.enable = true; |   systemd.services.NetworkManager-wait-online.enable = true; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -3,5 +3,6 @@ | ||||||
|   imports = [ |   imports = [ | ||||||
|     ./configuration.nix |     ./configuration.nix | ||||||
|     ./hardware-configuration.nix |     ./hardware-configuration.nix | ||||||
|  |     ./network-mount.nix | ||||||
|   ]; |   ]; | ||||||
| } | } | ||||||
|  |  | ||||||
							
								
								
									
										76
									
								
								configurations/nixos/horizon/network-mount.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										76
									
								
								configurations/nixos/horizon/network-mount.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,76 @@ | ||||||
|  | {...}: { | ||||||
|  |   boot.supportedFilesystems = ["nfs"]; | ||||||
|  | 
 | ||||||
|  |   fileSystems = { | ||||||
|  |     "/mnt/leyla_documents" = { | ||||||
|  |       device = "defiant:/exports/leyla_documents"; | ||||||
|  |       fsType = "nfs"; | ||||||
|  |       options = [ | ||||||
|  |         "x-systemd.automount" | ||||||
|  |         "noauto" | ||||||
|  |         "noatime" | ||||||
|  |         "nofail" | ||||||
|  |         "soft" | ||||||
|  |         "intr" # Allow interruption of NFS calls | ||||||
|  |         "timeo=30" # 3 second timeout (30 deciseconds) | ||||||
|  |         "retrans=2" # Only 2 retries before giving up | ||||||
|  |         "x-systemd.idle-timeout=300" # 5 minute idle timeout for mobile | ||||||
|  |         "x-systemd.device-timeout=15" # 15 second device timeout | ||||||
|  |         "bg" # Background mount - don't block boot | ||||||
|  |         "fsc" # Enable caching | ||||||
|  |         "_netdev" # Network device - wait for network | ||||||
|  |         "x-systemd.requires=network-online.target" # Require network to be online | ||||||
|  |         "x-systemd.after=network-online.target" # Start after network is online | ||||||
|  |         "x-systemd.mount-timeout=30" # 30 second mount timeout | ||||||
|  |       ]; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "/mnt/users_documents" = { | ||||||
|  |       device = "defiant:/exports/users_documents"; | ||||||
|  |       fsType = "nfs"; | ||||||
|  |       options = [ | ||||||
|  |         "x-systemd.automount" | ||||||
|  |         "noauto" | ||||||
|  |         "nofail" | ||||||
|  |         "soft" | ||||||
|  |         "intr" | ||||||
|  |         "timeo=30" | ||||||
|  |         "retrans=2" | ||||||
|  |         "x-systemd.idle-timeout=300" | ||||||
|  |         "x-systemd.device-timeout=15" | ||||||
|  |         "bg" | ||||||
|  |         "fsc" | ||||||
|  |         "_netdev" | ||||||
|  |         "x-systemd.requires=network-online.target" | ||||||
|  |         "x-systemd.after=network-online.target" | ||||||
|  |         "x-systemd.mount-timeout=30" | ||||||
|  |       ]; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "/mnt/media" = { | ||||||
|  |       device = "defiant:/exports/media"; | ||||||
|  |       fsType = "nfs"; | ||||||
|  |       options = [ | ||||||
|  |         "x-systemd.automount" | ||||||
|  |         "noauto" | ||||||
|  |         "noatime" | ||||||
|  |         "nofail" | ||||||
|  |         "soft" | ||||||
|  |         "intr" | ||||||
|  |         "timeo=30" | ||||||
|  |         "retrans=2" | ||||||
|  |         "x-systemd.idle-timeout=300" | ||||||
|  |         "x-systemd.device-timeout=15" | ||||||
|  |         "bg" | ||||||
|  |         # Mobile-optimized read settings | ||||||
|  |         "rsize=8192" # Smaller read size for mobile | ||||||
|  |         "wsize=8192" # Smaller write size for mobile | ||||||
|  |         "fsc" | ||||||
|  |         "_netdev" | ||||||
|  |         "x-systemd.requires=network-online.target" | ||||||
|  |         "x-systemd.after=network-online.target" | ||||||
|  |         "x-systemd.mount-timeout=30" | ||||||
|  |       ]; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | } | ||||||
|  | @ -131,77 +131,6 @@ | ||||||
|     syncthing.enable = true; |     syncthing.enable = true; | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   boot.supportedFilesystems = ["nfs"]; |  | ||||||
| 
 |  | ||||||
|   fileSystems = { |  | ||||||
|     "/mnt/leyla_documents" = { |  | ||||||
|       device = "defiant:/exports/leyla_documents"; |  | ||||||
|       fsType = "nfs"; |  | ||||||
|       options = [ |  | ||||||
|         "x-systemd.automount" |  | ||||||
|         "noauto" |  | ||||||
|         "noatime" |  | ||||||
|         "nofail" |  | ||||||
|         "soft" |  | ||||||
|         "intr" # Allow interruption of NFS calls |  | ||||||
|         "timeo=50" # 5 second timeout (50 deciseconds) - longer than mobile |  | ||||||
|         "retrans=3" # 3 retries for desktop |  | ||||||
|         "x-systemd.idle-timeout=600" # 10 minute idle timeout for desktop |  | ||||||
|         "x-systemd.device-timeout=30" # 30 second device timeout |  | ||||||
|         "bg" # Background mount - don't block boot |  | ||||||
|         "fsc" # Enable caching |  | ||||||
|         "_netdev" # Network device - wait for network |  | ||||||
|         "x-systemd.requires=network-online.target" # Require network to be online |  | ||||||
|         "x-systemd.after=network-online.target" # Start after network is online |  | ||||||
|       ]; |  | ||||||
|     }; |  | ||||||
| 
 |  | ||||||
|     "/mnt/users_documents" = { |  | ||||||
|       device = "defiant:/exports/users_documents"; |  | ||||||
|       fsType = "nfs"; |  | ||||||
|       options = [ |  | ||||||
|         "x-systemd.automount" |  | ||||||
|         "noauto" |  | ||||||
|         "nofail" |  | ||||||
|         "soft" |  | ||||||
|         "intr" |  | ||||||
|         "timeo=50" |  | ||||||
|         "retrans=3" |  | ||||||
|         "x-systemd.idle-timeout=600" |  | ||||||
|         "bg" |  | ||||||
|         "fsc" |  | ||||||
|         "_netdev" |  | ||||||
|         "x-systemd.requires=network-online.target" |  | ||||||
|         "x-systemd.after=network-online.target" |  | ||||||
|       ]; |  | ||||||
|     }; |  | ||||||
| 
 |  | ||||||
|     "/mnt/media" = { |  | ||||||
|       device = "defiant:/exports/media"; |  | ||||||
|       fsType = "nfs"; |  | ||||||
|       options = [ |  | ||||||
|         "x-systemd.automount" |  | ||||||
|         "noauto" |  | ||||||
|         "noatime" |  | ||||||
|         "nofail" |  | ||||||
|         "soft" |  | ||||||
|         "intr" |  | ||||||
|         "timeo=50" |  | ||||||
|         "retrans=3" |  | ||||||
|         "x-systemd.idle-timeout=600" |  | ||||||
|         "x-systemd.device-timeout=30" |  | ||||||
|         "bg" |  | ||||||
|         # Desktop-optimized read settings |  | ||||||
|         "rsize=32768" # Larger read size for desktop |  | ||||||
|         "wsize=32768" # Larger write size for desktop |  | ||||||
|         "fsc" |  | ||||||
|         "_netdev" |  | ||||||
|         "x-systemd.requires=network-online.target" |  | ||||||
|         "x-systemd.after=network-online.target" |  | ||||||
|       ]; |  | ||||||
|     }; |  | ||||||
|   }; |  | ||||||
| 
 |  | ||||||
|   # Enable network-online.target for better network dependency handling |   # Enable network-online.target for better network dependency handling | ||||||
|   systemd.services.NetworkManager-wait-online.enable = true; |   systemd.services.NetworkManager-wait-online.enable = true; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -4,5 +4,6 @@ | ||||||
|     ./configuration.nix |     ./configuration.nix | ||||||
|     ./hardware-configuration.nix |     ./hardware-configuration.nix | ||||||
|     ./nvidia-drivers.nix |     ./nvidia-drivers.nix | ||||||
|  |     ./network-mount.nix | ||||||
|   ]; |   ]; | ||||||
| } | } | ||||||
|  |  | ||||||
							
								
								
									
										72
									
								
								configurations/nixos/twilight/network-mount.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								configurations/nixos/twilight/network-mount.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,72 @@ | ||||||
|  | {...}: { | ||||||
|  |   boot.supportedFilesystems = ["nfs"]; | ||||||
|  | 
 | ||||||
|  |   fileSystems = { | ||||||
|  |     "/mnt/leyla_documents" = { | ||||||
|  |       device = "defiant:/exports/leyla_documents"; | ||||||
|  |       fsType = "nfs"; | ||||||
|  |       options = [ | ||||||
|  |         "x-systemd.automount" | ||||||
|  |         "noauto" | ||||||
|  |         "noatime" | ||||||
|  |         "nofail" | ||||||
|  |         "soft" | ||||||
|  |         "intr" # Allow interruption of NFS calls | ||||||
|  |         "timeo=50" # 5 second timeout (50 deciseconds) - longer than mobile | ||||||
|  |         "retrans=3" # 3 retries for desktop | ||||||
|  |         "x-systemd.idle-timeout=600" # 10 minute idle timeout for desktop | ||||||
|  |         "x-systemd.device-timeout=30" # 30 second device timeout | ||||||
|  |         "bg" # Background mount - don't block boot | ||||||
|  |         "fsc" # Enable caching | ||||||
|  |         "_netdev" # Network device - wait for network | ||||||
|  |         "x-systemd.requires=network-online.target" # Require network to be online | ||||||
|  |         "x-systemd.after=network-online.target" # Start after network is online | ||||||
|  |       ]; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "/mnt/users_documents" = { | ||||||
|  |       device = "defiant:/exports/users_documents"; | ||||||
|  |       fsType = "nfs"; | ||||||
|  |       options = [ | ||||||
|  |         "x-systemd.automount" | ||||||
|  |         "noauto" | ||||||
|  |         "nofail" | ||||||
|  |         "soft" | ||||||
|  |         "intr" | ||||||
|  |         "timeo=50" | ||||||
|  |         "retrans=3" | ||||||
|  |         "x-systemd.idle-timeout=600" | ||||||
|  |         "bg" | ||||||
|  |         "fsc" | ||||||
|  |         "_netdev" | ||||||
|  |         "x-systemd.requires=network-online.target" | ||||||
|  |         "x-systemd.after=network-online.target" | ||||||
|  |       ]; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     "/mnt/media" = { | ||||||
|  |       device = "defiant:/exports/media"; | ||||||
|  |       fsType = "nfs"; | ||||||
|  |       options = [ | ||||||
|  |         "x-systemd.automount" | ||||||
|  |         "noauto" | ||||||
|  |         "noatime" | ||||||
|  |         "nofail" | ||||||
|  |         "soft" | ||||||
|  |         "intr" | ||||||
|  |         "timeo=50" | ||||||
|  |         "retrans=3" | ||||||
|  |         "x-systemd.idle-timeout=600" | ||||||
|  |         "x-systemd.device-timeout=30" | ||||||
|  |         "bg" | ||||||
|  |         # Desktop-optimized read settings | ||||||
|  |         "rsize=32768" # Larger read size for desktop | ||||||
|  |         "wsize=32768" # Larger write size for desktop | ||||||
|  |         "fsc" | ||||||
|  |         "_netdev" | ||||||
|  |         "x-systemd.requires=network-online.target" | ||||||
|  |         "x-systemd.after=network-online.target" | ||||||
|  |       ]; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | } | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue