61 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| { pkgs, nixpkgs, bscpkgs, theFlake,  ... }:
 | ||
| 
 | ||
| {
 | ||
|   nixpkgs.overlays = [
 | ||
|     bscpkgs.bscOverlay
 | ||
|     (import ../../../pkgs/overlay.nix)
 | ||
|   ];
 | ||
| 
 | ||
|   nixpkgs.config.allowUnfree = true;
 | ||
| 
 | ||
|   nix = {
 | ||
|     nixPath = [
 | ||
|       "nixpkgs=${nixpkgs}"
 | ||
|       "jungle=${theFlake.outPath}"
 | ||
|     ];
 | ||
| 
 | ||
|     registry = {
 | ||
|       nixpkgs.flake = nixpkgs;
 | ||
|       jungle.flake = theFlake;
 | ||
|     };
 | ||
| 
 | ||
|     settings = {
 | ||
|       experimental-features = [ "nix-command" "flakes" ];
 | ||
|       sandbox = "relaxed";
 | ||
|       trusted-users = [ "@wheel" ];
 | ||
|       flake-registry = pkgs.writeText "global-registry.json"
 | ||
|         ''{"flakes":[],"version":2}'';
 | ||
|       keep-outputs = true;
 | ||
|     };
 | ||
| 
 | ||
|     gc = {
 | ||
|       automatic = true;
 | ||
|       dates = "weekly";
 | ||
|       options = "--delete-older-than 30d";
 | ||
|     };
 | ||
|   };
 | ||
| 
 | ||
|   # The nix-gc.service can begin its execution *before* /home is mounted,
 | ||
|   # causing it to remove all gcroots considering them as stale, as it cannot
 | ||
|   # access the symlink. To prevent this problem, we force the service to wait
 | ||
|   # until /home is mounted as well as other remote FS like /ceph.
 | ||
|   systemd.services.nix-gc = {
 | ||
|     # Start remote-fs.target if not already being started and fail if it fails
 | ||
|     # to start. It will also be stopped if the remote-fs.target fails after
 | ||
|     # starting successfully.
 | ||
|     bindsTo = [ "remote-fs.target" ];
 | ||
|     # Wait until remote-fs.target fully starts before starting this one.
 | ||
|     after = [ "remote-fs.target"];
 | ||
|     # Ensure we can access a remote path inside /home
 | ||
|     unitConfig.ConditionPathExists = "/home/Computational";
 | ||
|   };
 | ||
| 
 | ||
|   # This value determines the NixOS release from which the default
 | ||
|   # settings for stateful data, like file locations and database versions
 | ||
|   # on your system were taken. It‘s perfectly fine and recommended to leave
 | ||
|   # this value at the release version of the first install of this system.
 | ||
|   # Before changing this value read the documentation for this option
 | ||
|   # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
 | ||
|   system.stateVersion = "22.11"; # Did you read the comment?
 | ||
| }
 |