21 lines
		
	
	
	
		
			804 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
	
		
			804 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
#!/bin/sh
 | 
						|
 | 
						|
echo "nix-cache: Storing new store items"
 | 
						|
NEW_NIX_STORE_CONTENTS_FILE=$(mktemp)
 | 
						|
find /nix/store/ -maxdepth 1 > $NEW_NIX_STORE_CONTENTS_FILE
 | 
						|
 | 
						|
sort $OLD_NIX_STORE_CONTENTS_FILE -o $OLD_NIX_STORE_CONTENTS_FILE
 | 
						|
sort $NEW_NIX_STORE_CONTENTS_FILE -o $NEW_NIX_STORE_CONTENTS_FILE
 | 
						|
 | 
						|
echo "nix-cache: Comparing store paths"
 | 
						|
FILTERED_NIX_STORE_CONTENTS_FILE=$(mktemp)
 | 
						|
comm -13 $OLD_NIX_STORE_CONTENTS_FILE $NEW_NIX_STORE_CONTENTS_FILE > $FILTERED_NIX_STORE_CONTENTS_FILE
 | 
						|
echo "nix-cache: New store paths:"
 | 
						|
cat $FILTERED_NIX_STORE_CONTENTS_FILE | sed 's/^/    /g'
 | 
						|
 | 
						|
if test -n "$(head -n1 $FILTERED_NIX_STORE_CONTENTS_FILE)"; then
 | 
						|
    echo "nix-cache: Sending new paths to cache"
 | 
						|
    nix copy --to "$STORE_URL" $(cat $FILTERED_NIX_STORE_CONTENTS_FILE) || true
 | 
						|
else
 | 
						|
    echo "nix-cache: Nothing to send"
 | 
						|
fi
 |