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 | ||||
|   systemd.services.NetworkManager-wait-online.enable = true; | ||||
| 
 | ||||
|  |  | |||
|  | @ -3,5 +3,6 @@ | |||
|   imports = [ | ||||
|     ./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; | ||||
|   }; | ||||
| 
 | ||||
|   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 | ||||
|   systemd.services.NetworkManager-wait-online.enable = true; | ||||
| 
 | ||||
|  |  | |||
|  | @ -4,5 +4,6 @@ | |||
|     ./configuration.nix | ||||
|     ./hardware-configuration.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