* `sub' to subtract two numbers. * `stringLength' to get the length of a string. * `substring' to get a substring of a string. These should be enough to allow most string operations to be expressed.
		
			
				
	
	
		
			12 lines
		
	
	
	
		
			393 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			12 lines
		
	
	
	
		
			393 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
derivation {
 | 
						|
  name = "filter";
 | 
						|
  system = "@system@";
 | 
						|
  builder = "@shell@";
 | 
						|
  args = ["-e" "-x" (builtins.toFile "builder" "PATH=@testPath@; ln -s $input $out")];
 | 
						|
  input =
 | 
						|
    let filter = path: type:
 | 
						|
      type != "symlink"
 | 
						|
      && baseNameOf path != "foo"
 | 
						|
      && !((import ./lang/lib.nix).hasSuffix ".bak" (baseNameOf path));
 | 
						|
    in builtins.filterSource filter ./test-tmp/filterin;
 | 
						|
}
 |