@ -6,35 +6,77 @@
with lib ;
let
nixos-build-vms = pkgs . nixos-build-vms ;
nixos-enter = pkgs . nixos-enter ;
nixos-generate-config = pkgs . nixos-generate-config . override { inherit ( config . system . nixos ) release ; } ;
nixos-install = pkgs . nixos-install . override { nix = config . nix . package ; } ;
nixos-option = pkgs . nixos-option ;
nixos-rebuild = pkgs . nixos-rebuild . override { nix = config . nix . package ; } ;
nixos-version = pkgs . nixos-version . override { inherit ( config . system . nixos ) version codeName revision ; } ;
makeProg = args : pkgs . substituteAll ( args // {
dir = " b i n " ;
isExecutable = true ;
} ) ;
nixos-build-vms = makeProg {
name = " n i x o s - b u i l d - v m s " ;
src = ./nixos-build-vms/nixos-build-vms.sh ;
} ;
nixos-install = makeProg {
name = " n i x o s - i n s t a l l " ;
src = ./nixos-install.sh ;
nix = config . nix . package . out ;
path = makeBinPath [ nixos-enter ] ;
} ;
nixos-rebuild =
let fallback = import ./nix-fallback-paths.nix ; in
makeProg {
name = " n i x o s - r e b u i l d " ;
src = ./nixos-rebuild.sh ;
nix = config . nix . package . out ;
nix_x86_64_linux = fallback . x86_64-linux ;
nix_i686_linux = fallback . i686-linux ;
} ;
nixos-generate-config = makeProg {
name = " n i x o s - g e n e r a t e - c o n f i g " ;
src = ./nixos-generate-config.pl ;
path = [ pkgs . btrfs-progs ] ;
perl = " ${ pkgs . perl } / b i n / p e r l - I ${ pkgs . perlPackages . FileSlurp } / l i b / p e r l 5 / s i t e _ p e r l " ;
inherit ( config . system . nixos ) release ;
} ;
nixos-option = makeProg {
name = " n i x o s - o p t i o n " ;
src = ./nixos-option.sh ;
} ;
nixos-version = makeProg {
name = " n i x o s - v e r s i o n " ;
src = ./nixos-version.sh ;
inherit ( config . system . nixos ) version codeName revision ;
} ;
nixos-enter = makeProg {
name = " n i x o s - e n t e r " ;
src = ./nixos-enter.sh ;
} ;
in
{
config = {
environment . systemPackages = [
nixos-build-vms
nixos-enter
nixos-generate-config
nixos-install
nixos-option
nixos-rebuild
nixos-version
] ;
system . build = {
inherit
nixos-enter
nixos-generate-config
environment . systemPackages =
[ nixos-build-vms
nixos-install
nixos-option
nixos-rebuild
;
nixos-generate-config
nixos-option
nixos-version
nixos-enter
] ;
system . build = {
inherit nixos-install nixos-generate-config nixos-option nixos-rebuild nixos-enter ;
} ;
} ;
}