mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-09-11 15:08:33 +01:00
0aa7520670
This reverts commit 582313bafe
.
Removing rsync is actually pointless because nixos-install depends on
it. So if it's part of the system closure, we may as well provide it
to users.
Probably with the next Nix release we can drop the use of rsync and
use "nix copy" instead.
82 lines
1.7 KiB
Nix
82 lines
1.7 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;
|
|
cacert = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt";
|
|
root_uid = config.ids.uids.root;
|
|
nixbld_gid = config.ids.gids.nixbld;
|
|
|
|
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;
|
|
};
|
|
|
|
};
|
|
|
|
}
|