79 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| # This module generates nixos-install, nixos-rebuild,
 | |
| # nixos-generate-config, etc.
 | |
| 
 | |
| { config, pkgs, modulesPath, ... }:
 | |
| 
 | |
| let
 | |
| 
 | |
|   cfg = config.installer;
 | |
| 
 | |
|   makeProg = args: pkgs.substituteAll (args // {
 | |
|     dir = "bin";
 | |
|     isExecutable = true;
 | |
|   });
 | |
| 
 | |
|   nixos-build-vms = makeProg {
 | |
|     name = "nixos-build-vms";
 | |
|     src = ./nixos-build-vms/nixos-build-vms.sh;
 | |
|   };
 | |
| 
 | |
|   nixos-install = makeProg {
 | |
|     name = "nixos-install";
 | |
|     src = ./nixos-install.sh;
 | |
| 
 | |
|     inherit (pkgs) perl pathsFromGraph;
 | |
|     nix = config.nix.package.out;
 | |
| 
 | |
|     nixClosure = pkgs.runCommand "closure"
 | |
|       { exportReferencesGraph = ["refs" config.nix.package.out]; }
 | |
|       "cp refs $out";
 | |
|   };
 | |
| 
 | |
|   nixos-rebuild = makeProg {
 | |
|     name = "nixos-rebuild";
 | |
|     src = ./nixos-rebuild.sh;
 | |
|     nix = config.nix.package.out;
 | |
|   };
 | |
| 
 | |
|   nixos-generate-config = makeProg {
 | |
|     name = "nixos-generate-config";
 | |
|     src = ./nixos-generate-config.pl;
 | |
|     path = [ pkgs.btrfs-progs ];
 | |
|     perl = "${pkgs.perl}/bin/perl -I${pkgs.perlPackages.FileSlurp}/lib/perl5/site_perl";
 | |
|     inherit (config.system) nixosRelease;
 | |
|   };
 | |
| 
 | |
|   nixos-option = makeProg {
 | |
|     name = "nixos-option";
 | |
|     src = ./nixos-option.sh;
 | |
|   };
 | |
| 
 | |
|   nixos-version = makeProg {
 | |
|     name = "nixos-version";
 | |
|     src = ./nixos-version.sh;
 | |
|     inherit (config.system) nixosVersion nixosCodeName nixosRevision;
 | |
|   };
 | |
| 
 | |
| in
 | |
| 
 | |
| {
 | |
| 
 | |
|   config = {
 | |
| 
 | |
|     environment.systemPackages =
 | |
|       [ nixos-build-vms
 | |
|         nixos-install
 | |
|         nixos-rebuild
 | |
|         nixos-generate-config
 | |
|         nixos-option
 | |
|         nixos-version
 | |
|       ];
 | |
| 
 | |
|     system.build = {
 | |
|       inherit nixos-install nixos-generate-config nixos-option nixos-rebuild;
 | |
|     };
 | |
| 
 | |
|   };
 | |
| 
 | |
| }
 | 
