 3743c42f23
			
		
	
	
		3743c42f23
		
			
		
	
	
	
	
		
			
			When adding `nixpkgs` as flake-input using the `path`-fetcher, you
currently get the following error since neither `lastModifiedDate` nor
`lastModified` are stored in `flake.lock` for paths:
```
error: --- EvalError --------------------------------------------------------------------------- nix-build
at: (48:71) in file: /nix/store/147clg8svaxyj7pl80ra9kmmm72mdg94-source/flake.nix
    47|                   system.nixos.versionSuffix =
    48|                     ".${final.substring 0 8 (self.lastModifiedDate or self.lastModified)}.${self.shortRev or "dirty"}";
      |                                                                       ^
    49|                   system.nixos.revision = final.mkIf (self ? rev) self.rev;
attribute 'lastModified' missing
```
This patch adds the fallback-value `19700101` to `versionSuffix` if none
of `lastModified{,Date}` are set in the lockfile.
		
	
			
		
			
				
	
	
		
			76 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| # Experimental flake interface to Nixpkgs.
 | |
| # See https://github.com/NixOS/rfcs/pull/49 for details.
 | |
| {
 | |
|   description = "A collection of packages for the Nix package manager";
 | |
| 
 | |
|   outputs = { self }:
 | |
|     let
 | |
|       jobs = import ./pkgs/top-level/release.nix {
 | |
|         nixpkgs = self;
 | |
|       };
 | |
| 
 | |
|       lib = import ./lib;
 | |
| 
 | |
|       systems = [
 | |
|         "x86_64-linux"
 | |
|         "i686-linux"
 | |
|         "x86_64-darwin"
 | |
|         "aarch64-linux"
 | |
|         "armv6l-linux"
 | |
|         "armv7l-linux"
 | |
|       ];
 | |
| 
 | |
|       forAllSystems = f: lib.genAttrs systems (system: f system);
 | |
| 
 | |
|     in
 | |
|     {
 | |
|       lib = lib.extend (final: prev: {
 | |
|         nixosSystem = { modules, ... } @ args:
 | |
|           import ./nixos/lib/eval-config.nix (args // {
 | |
|             modules =
 | |
|               let
 | |
|                 vmConfig = (import ./nixos/lib/eval-config.nix
 | |
|                   (args // {
 | |
|                     modules = modules ++ [ ./nixos/modules/virtualisation/qemu-vm.nix ];
 | |
|                   })).config;
 | |
| 
 | |
|                 vmWithBootLoaderConfig = (import ./nixos/lib/eval-config.nix
 | |
|                   (args // {
 | |
|                     modules = modules ++ [
 | |
|                       ./nixos/modules/virtualisation/qemu-vm.nix
 | |
|                       { virtualisation.useBootLoader = true; }
 | |
|                     ];
 | |
|                   })).config;
 | |
|               in
 | |
|               modules ++ [
 | |
|                 {
 | |
|                   system.nixos.versionSuffix =
 | |
|                     ".${final.substring 0 8 (self.lastModifiedDate or self.lastModified or "19700101")}.${self.shortRev or "dirty"}";
 | |
|                   system.nixos.revision = final.mkIf (self ? rev) self.rev;
 | |
| 
 | |
|                   system.build = {
 | |
|                     vm = vmConfig.system.build.vm;
 | |
|                     vmWithBootLoader = vmWithBootLoaderConfig.system.build.vm;
 | |
|                   };
 | |
|                 }
 | |
|               ];
 | |
|           });
 | |
|       });
 | |
| 
 | |
|       checks.x86_64-linux.tarball = jobs.tarball;
 | |
| 
 | |
|       htmlDocs = {
 | |
|         nixpkgsManual = jobs.manual;
 | |
|         nixosManual = (import ./nixos/release-small.nix {
 | |
|           nixpkgs = self;
 | |
|         }).nixos.manual.x86_64-linux;
 | |
|       };
 | |
| 
 | |
|       legacyPackages = forAllSystems (system: import ./. { inherit system; });
 | |
| 
 | |
|       nixosModules = {
 | |
|         notDetected = import ./nixos/modules/installer/scan/not-detected.nix;
 | |
|       };
 | |
|     };
 | |
| }
 |