meta: reorganize nix-os and hosts to single directory nixos
This commit is contained in:
parent
be46e02c61
commit
cb05ce5b44
76 changed files with 54 additions and 52 deletions
66
nixos/modules/nix.nix
Normal file
66
nixos/modules/nix.nix
Normal file
|
@ -0,0 +1,66 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
# bool -> nixpkgs[]
|
||||
wrappedNixExecutables = inEnvironment: assert builtins.isBool inEnvironment; pkgs.symlinkJoin {
|
||||
name = "${pkgs.nix.name}-wrap";
|
||||
paths = [ pkgs.nix ];
|
||||
nativeBuildInputs = [
|
||||
pkgs.makeWrapper
|
||||
];
|
||||
postBuild = ''
|
||||
wrapProgram $out/bin/nix-build \
|
||||
--add-flags "--log-format" \
|
||||
--add-flags "bar${lib.optionalString inEnvironment "-with-logs"}"
|
||||
wrapProgram $out/bin/nix-shell \
|
||||
--add-flags "--log-format" \
|
||||
--add-flags "bar"
|
||||
wrapProgram $out/bin/nix-env \
|
||||
--add-flags "--log-format" \
|
||||
--add-flags "bar"
|
||||
'';
|
||||
passthru = {
|
||||
inherit (pkgs.nix) man meta version;
|
||||
};
|
||||
};
|
||||
|
||||
# NIXPKGS-PR: 389487
|
||||
futureNixosExecutables = let
|
||||
nixpkgs = builtins.fetchTarball {
|
||||
url = "https://github.com/NixOS/nixpkgs/archive/53a47a1c57b35bb5850cfb137d5c51ec6581152d.tar.gz";
|
||||
sha256 = "sha256-B2nuArKny9jHqEZewqlu61f/4/9lh65iGF9IKjeTc+c=";
|
||||
};
|
||||
in pkgs.callPackage "${nixpkgs}/pkgs/os-specific/linux/nixos-rebuild/default.nix" {};
|
||||
|
||||
wrappedNixosExecutables = pkgs.symlinkJoin {
|
||||
name = "${pkgs.nixos-rebuild.name}-wrap";
|
||||
paths = [ futureNixosExecutables ];
|
||||
nativeBuildInputs = [
|
||||
pkgs.makeWrapper
|
||||
];
|
||||
postBuild = ''
|
||||
wrapProgram $out/bin/nixos-rebuild \
|
||||
--add-flags "--log-format" \
|
||||
--add-flags "bar" \
|
||||
--add-flags "--use-remote-sudo"
|
||||
'';
|
||||
};
|
||||
in {
|
||||
config = {
|
||||
nix.package = wrappedNixExecutables false;
|
||||
environment.systemPackages = [
|
||||
pkgs.nix-output-monitor
|
||||
pkgs.nix-diff
|
||||
pkgs.nix-tree
|
||||
] ++ lib.map (lib.hiPrio) [
|
||||
(wrappedNixExecutables true)
|
||||
wrappedNixosExecutables
|
||||
];
|
||||
system.build.nixos-rebuild = lib.mkForce wrappedNixosExecutables;
|
||||
system.tools.nixos-rebuild.enable = false;
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue