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
+    ];
+  };
+}