зеркало из
				https://github.com/iharh/notes.git
				synced 2025-11-03 23:26:09 +02:00 
			
		
		
		
	
		
			
				
	
	
		
			68 строки
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			68 строки
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
nixos-generate-config --no-filesystems --show-hardware-config
 | 
						|
 | 
						|
nixos/modules/installer/tools/tools.nix
 | 
						|
 | 
						|
# This module generates nixos-install, nixos-rebuild,
 | 
						|
# nixos-generate-config, etc.
 | 
						|
 | 
						|
{ config, lib, pkgs, ... }:
 | 
						|
 | 
						|
with lib;
 | 
						|
 | 
						|
let
 | 
						|
  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;
 | 
						|
    inherit (pkgs) runtimeShell;
 | 
						|
  };
 | 
						|
 | 
						|
  nixos-install = makeProg {
 | 
						|
    name = "nixos-install";
 | 
						|
    src = ./nixos-install.sh;
 | 
						|
    inherit (pkgs) runtimeShell;
 | 
						|
    nix = config.nix.package.out;
 | 
						|
    path = makeBinPath [
 | 
						|
      pkgs.jq
 | 
						|
      nixos-enter
 | 
						|
    ];
 | 
						|
  };
 | 
						|
 | 
						|
  nixos-rebuild = pkgs.nixos-rebuild.override { nix = config.nix.package.out; };
 | 
						|
 | 
						|
  nixos-generate-config = makeProg {
 | 
						|
    name = "nixos-generate-config";
 | 
						|
    src = ./nixos-generate-config.pl;
 | 
						|
    perl = "${pkgs.perl.withPackages (p: [ p.FileSlurp ])}/bin/perl";
 | 
						|
    nixInstantiate = "${pkgs.nix}/bin/nix-instantiate";
 | 
						|
    detectvirt = "${config.systemd.package}/bin/systemd-detect-virt"; # !!!
 | 
						|
    btrfs = "${pkgs.btrfs-progs}/bin/btrfs";
 | 
						|
    inherit (config.system.nixos-generate-config) configuration desktopConfiguration;
 | 
						|
    xserverEnabled = config.services.xserver.enable;
 | 
						|
  };
 | 
						|
 | 
						|
 | 
						|
 | 
						|
installer/tools/nixos-generate-config.pl
 | 
						|
 | 
						|
    --root ...
 | 
						|
    !!!
 | 
						|
        --no-filesystems
 | 
						|
    !!!
 | 
						|
        --show-hardware-config
 | 
						|
 | 
						|
...
 | 
						|
my @attrs = ();
 | 
						|
my @kernelModules = ();
 | 
						|
my @initrdKernelModules = ();
 | 
						|
my @initrdAvailableKernelModules = ();
 | 
						|
my @modulePackages = ();
 | 
						|
my @imports;
 | 
						|
...
 | 
						|
my $virt = `/nix/store/xhdxx70inipwzif62dq7m3p3acpq9hcg-systemd-252.5/bin/systemd-detect-virt`;
 | 
						|
    # in my case -> kvm
 |