fork
Configure Feed
Select the types of activity you want to include in your feed.
lol
fork
Configure Feed
Select the types of activity you want to include in your feed.
1# This module generates nixos-install, nixos-rebuild,
2# nixos-generate-config, etc.
3
4{ config, lib, pkgs, modulesPath, ... }:
5
6with lib;
7
8let
9 cfg = config.installer;
10
11 makeProg = args: pkgs.substituteAll (args // {
12 dir = "bin";
13 isExecutable = true;
14 });
15
16 nixos-build-vms = makeProg {
17 name = "nixos-build-vms";
18 src = ./nixos-build-vms/nixos-build-vms.sh;
19 };
20
21 nixos-install = makeProg {
22 name = "nixos-install";
23 src = ./nixos-install.sh;
24 nix = config.nix.package.out;
25 path = makeBinPath [ nixos-enter ];
26 };
27
28 nixos-rebuild =
29 let fallback = import ./nix-fallback-paths.nix; in
30 makeProg {
31 name = "nixos-rebuild";
32 src = ./nixos-rebuild.sh;
33 nix = config.nix.package.out;
34 nix_x86_64_linux = fallback.x86_64-linux;
35 nix_i686_linux = fallback.i686-linux;
36 };
37
38 nixos-generate-config = makeProg {
39 name = "nixos-generate-config";
40 src = ./nixos-generate-config.pl;
41 path = [ pkgs.btrfs-progs ];
42 perl = "${pkgs.perl}/bin/perl -I${pkgs.perlPackages.FileSlurp}/lib/perl5/site_perl";
43 inherit (config.system.nixos) release;
44 };
45
46 nixos-option = makeProg {
47 name = "nixos-option";
48 src = ./nixos-option.sh;
49 };
50
51 nixos-version = makeProg {
52 name = "nixos-version";
53 src = ./nixos-version.sh;
54 inherit (config.system.nixos) version codeName revision;
55 };
56
57 nixos-enter = makeProg {
58 name = "nixos-enter";
59 src = ./nixos-enter.sh;
60 };
61
62in
63
64{
65
66 config = {
67
68 environment.systemPackages =
69 [ nixos-build-vms
70 nixos-install
71 nixos-rebuild
72 nixos-generate-config
73 nixos-option
74 nixos-version
75 nixos-enter
76 ];
77
78 system.build = {
79 inherit nixos-install nixos-prepare-root nixos-generate-config nixos-option nixos-rebuild nixos-enter;
80 };
81
82 };
83
84}