Keep a log over time with the config commits
This commit is contained in:
		
							parent
							
								
									1ec4942794
								
							
						
					
					
						commit
						c0ae33fbb5
					
				| @ -11,6 +11,7 @@ | ||||
|     ./ssh.nix | ||||
|     ./users.nix | ||||
|     ./watchdog.nix | ||||
|     ./rev.nix | ||||
|   ]; | ||||
| 
 | ||||
|   nixpkgs.overlays = [ | ||||
| @ -18,6 +19,11 @@ | ||||
|     (import ../../pkgs/overlay.nix) | ||||
|   ]; | ||||
| 
 | ||||
|   system.configurationRevision = | ||||
|     if theFlake ? rev | ||||
|     then theFlake.rev | ||||
|     else throw ("Refusing to build from a dirty Git tree!"); | ||||
| 
 | ||||
|   nix.nixPath = [ | ||||
|     "nixpkgs=${nixpkgs}" | ||||
|     "bscpkgs=${bscpkgs}" | ||||
| @ -28,14 +34,6 @@ | ||||
|   nix.registry.bscpkgs.flake = bscpkgs; | ||||
|   nix.registry.jungle.flake = theFlake; | ||||
| 
 | ||||
|   system.configurationRevision = | ||||
|     if theFlake ? rev | ||||
|     then theFlake.rev | ||||
|     else throw ("Refusing to build from a dirty Git tree!"); | ||||
| 
 | ||||
|   # Save the commit of the config in /etc/nixos/config.rev | ||||
|   environment.etc."nixos/config.rev".text = system.configurationRevision; | ||||
| 
 | ||||
|   environment.systemPackages = with pkgs; [ | ||||
|     vim wget git htop tmux pciutils tcpdump ripgrep nix-index nixos-option | ||||
|     nix-diff ipmitool freeipmi ethtool lm_sensors ix cmake gnumake file tree | ||||
|  | ||||
							
								
								
									
										18
									
								
								m/common/rev.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								m/common/rev.nix
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,18 @@ | ||||
| { theFlake, ... }: | ||||
| 
 | ||||
| let | ||||
|   rev = if theFlake ? rev then theFlake.rev | ||||
|     else throw ("Refusing to build from a dirty Git tree!"); | ||||
| in { | ||||
|   # Save the commit of the config in /etc/configrev | ||||
|   environment.etc.configrev.text = rev + "\n"; | ||||
| 
 | ||||
|   # Keep a log with the config over time | ||||
|   system.activationScripts.configRevLog.text = '' | ||||
|     BOOTED=$(cat /run/booted-system/etc/configrev 2>/dev/null || echo unknown) | ||||
|     CURRENT=$(cat /run/current-system/etc/configrev 2>/dev/null || echo unknown) | ||||
|     NEXT=${rev} | ||||
|     DATENOW=$(date --iso-8601=seconds) | ||||
|     echo "$DATENOW booted=$BOOTED current=$CURRENT next=$NEXT" >> /var/configrev.log | ||||
|   ''; | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user