From 5c01a58f54e4a4fe5c10cfbbea4289e1ad4a7982 Mon Sep 17 00:00:00 2001 From: Wroclaw Date: Sun, 9 Feb 2025 09:17:51 +0100 Subject: [PATCH] nixos/{core; nix}: factor out nix overriding --- nix-os/core.nix | 25 ++----------------------- nix-os/nix.nix | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 23 deletions(-) create mode 100644 nix-os/nix.nix diff --git a/nix-os/core.nix b/nix-os/core.nix index 4252607..09c5d4a 100644 --- a/nix-os/core.nix +++ b/nix-os/core.nix @@ -4,28 +4,10 @@ { inputs, lib, pkgs, ... }: -let - inherit (pkgs) mkWrappedExecutable; - - # bool -> nixpkgs[] - wrappedNixExecutables = inEnvironment: assert builtins.isBool inEnvironment; [ - (mkWrappedExecutable {pkg = pkgs.nix; exe = "nix-build"; wrapperArgs = ["--add-flags" "\"--log-format\"" "--add-flags" "bar${lib.optionalString inEnvironment "-with-logs"}"];}) - (mkWrappedExecutable {pkg = pkgs.nix; exe = "nix-shell"; wrapperArgs = ["--add-flags" "\"--log-format\"" "--add-flags" "bar"];}) - ]; - wrappedNixosExecutables = [ - (mkWrappedExecutable {pkg = pkgs.nixos-rebuild; wrapperArgs = ["--add-flags" "\"--log-format\"" "--add-flags" "bar"];}) - ]; - wrappedNix = (pkgs.buildEnv { - name = "wrappedNix-${pkgs.nix.version}"; - paths = [ pkgs.nix ] ++ wrappedNixExecutables false; - }).overrideAttrs { - version = pkgs.nix.version; - passthru.meta = pkgs.nix.meta; - }; -in { imports = [ ./module-overrides.nix + ./nix.nix ]; # kernel @@ -37,7 +19,6 @@ in # Allow unfree packages nixpkgs.config.allowUnfree = true; nix = { - package = wrappedNix; channel.enable = false; settings.experimental-features = [ "no-url-literals" @@ -62,9 +43,7 @@ in fastfetch smartmontools ddrescue - ] ++ wrappedNixExecutables true - ++ wrappedNixosExecutables; - + ]; programs.git.enable = true; programs.git.config = { commit.verbose = true; diff --git a/nix-os/nix.nix b/nix-os/nix.nix new file mode 100644 index 0000000..fe6b00a --- /dev/null +++ b/nix-os/nix.nix @@ -0,0 +1,33 @@ +{ + lib, + pkgs, + ... +}: + +let + inherit (pkgs) mkWrappedExecutable; + + # bool -> nixpkgs[] + wrappedNixExecutables = inEnvironment: assert builtins.isBool inEnvironment; [ + (mkWrappedExecutable {pkg = pkgs.nix; exe = "nix-build"; wrapperArgs = ["--add-flags" "\"--log-format\"" "--add-flags" "bar${lib.optionalString inEnvironment "-with-logs"}"];}) + (mkWrappedExecutable {pkg = pkgs.nix; exe = "nix-shell"; wrapperArgs = ["--add-flags" "\"--log-format\"" "--add-flags" "bar"];}) + ]; + wrappedNixosExecutables = [ + (mkWrappedExecutable {pkg = pkgs.nixos-rebuild; wrapperArgs = ["--add-flags" "\"--log-format\"" "--add-flags" "bar"];}) + ]; + wrappedNix = (pkgs.buildEnv { + name = "wrappedNix-${pkgs.nix.version}"; + paths = [ pkgs.nix ] ++ wrappedNixExecutables false; + }).overrideAttrs { + version = pkgs.nix.version; + passthru.meta = pkgs.nix.meta; + }; +in { + config = { + nix.package = wrappedNix; + environment.systemPackages = lib.map (lib.hiPrio) [ + (wrappedNixExecutables true) + wrappedNixosExecutables + ]; + }; +}