about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorJonas Chevalier <zimbatm@zimbatm.com>2021-05-13 19:17:29 +0200
committerGitHub <noreply@github.com>2021-05-13 19:17:29 +0200
commitc6b62f2381571cc83c6c32ef4984fabcbb4ca892 (patch)
treeaf1d2c57ebaf61652faf6697bbc81044a0e27d88 /pkgs
parent7693c5d59b01a50c4cb2c20c741f505c84f34677 (diff)
downloadnixlib-c6b62f2381571cc83c6c32ef4984fabcbb4ca892.tar
nixlib-c6b62f2381571cc83c6c32ef4984fabcbb4ca892.tar.gz
nixlib-c6b62f2381571cc83c6c32ef4984fabcbb4ca892.tar.bz2
nixlib-c6b62f2381571cc83c6c32ef4984fabcbb4ca892.tar.lz
nixlib-c6b62f2381571cc83c6c32ef4984fabcbb4ca892.tar.xz
nixlib-c6b62f2381571cc83c6c32ef4984fabcbb4ca892.tar.zst
nixlib-c6b62f2381571cc83c6c32ef4984fabcbb4ca892.zip
mkShell: introduce packages argument (#122180)
The distinction between the inputs doesn't really make sense in the
mkShell context.  Technically speaking, we should be using the
nativeBuildInputs most of the time.

So in order to make this function more beginner-friendly, add "packages"
as an attribute, that maps to nativeBuildInputs.

This commit also updates all the uses in nixpkgs.
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/editors/emacs-modes/emacs2nix.nix6
-rw-r--r--pkgs/applications/editors/emacs-modes/updater-emacs.nix2
-rw-r--r--pkgs/applications/networking/cluster/nixops/shell.nix4
-rw-r--r--pkgs/build-support/agda/default.nix2
-rw-r--r--pkgs/build-support/mkshell/default.nix24
-rw-r--r--pkgs/development/mobile/androidenv/examples/shell.nix2
-rw-r--r--pkgs/tools/X11/opentabletdriver/shell.nix4
7 files changed, 24 insertions, 20 deletions
diff --git a/pkgs/applications/editors/emacs-modes/emacs2nix.nix b/pkgs/applications/editors/emacs-modes/emacs2nix.nix
index cc82646870ca..658756250a01 100644
--- a/pkgs/applications/editors/emacs-modes/emacs2nix.nix
+++ b/pkgs/applications/editors/emacs-modes/emacs2nix.nix
@@ -7,10 +7,10 @@ let
     rev = "860da04ca91cbb69c9b881a54248d16bdaaf9923";
     sha256 = "1r3xmyk9rfgx7ln69dk8mgbnh3awcalm3r1c5ia2shlsrymvv1df";
   };
+in
+pkgs.mkShell {
 
-in pkgs.mkShell {
-
-  buildInputs = [
+  packages = [
     pkgs.bash
   ];
 
diff --git a/pkgs/applications/editors/emacs-modes/updater-emacs.nix b/pkgs/applications/editors/emacs-modes/updater-emacs.nix
index 4c321065445c..7502bcc2fee9 100644
--- a/pkgs/applications/editors/emacs-modes/updater-emacs.nix
+++ b/pkgs/applications/editors/emacs-modes/updater-emacs.nix
@@ -29,7 +29,7 @@ let
   in [ promise semaphore ]);
 
 in pkgs.mkShell {
-  buildInputs = [
+  packages = [
     pkgs.git
     pkgs.nix
     pkgs.bash
diff --git a/pkgs/applications/networking/cluster/nixops/shell.nix b/pkgs/applications/networking/cluster/nixops/shell.nix
index 3fc06b0bc73a..0139cb2c8125 100644
--- a/pkgs/applications/networking/cluster/nixops/shell.nix
+++ b/pkgs/applications/networking/cluster/nixops/shell.nix
@@ -1,7 +1,7 @@
-{ pkgs ? import <nixpkgs> {} }:
+{ pkgs ? import <nixpkgs> { } }:
 
 pkgs.mkShell {
-  buildInputs = [
+  packages = [
     pkgs.poetry2nix.cli
     pkgs.pkg-config
     pkgs.libvirt
diff --git a/pkgs/build-support/agda/default.nix b/pkgs/build-support/agda/default.nix
index 984d61f1f751..ed7d11a13147 100644
--- a/pkgs/build-support/agda/default.nix
+++ b/pkgs/build-support/agda/default.nix
@@ -1,6 +1,6 @@
 # Builder for Agda packages.
 
-{ stdenv, lib, self, Agda, runCommandNoCC, makeWrapper, writeText, mkShell, ghcWithPackages, nixosTests }:
+{ stdenv, lib, self, Agda, runCommandNoCC, makeWrapper, writeText, ghcWithPackages, nixosTests }:
 
 with lib.strings;
 
diff --git a/pkgs/build-support/mkshell/default.nix b/pkgs/build-support/mkshell/default.nix
index a70dc0390cb5..7ca4cc23c1d5 100644
--- a/pkgs/build-support/mkshell/default.nix
+++ b/pkgs/build-support/mkshell/default.nix
@@ -3,18 +3,22 @@
 # A special kind of derivation that is only meant to be consumed by the
 # nix-shell.
 {
-  inputsFrom ? [], # a list of derivations whose inputs will be made available to the environment
-  buildInputs ? [],
-  nativeBuildInputs ? [],
-  propagatedBuildInputs ? [],
-  propagatedNativeBuildInputs ? [],
-  ...
+  # a list of packages to add to the shell environment
+  packages ? [ ]
+, # propagate all the inputs from the given derivations
+  inputsFrom ? [ ]
+, buildInputs ? [ ]
+, nativeBuildInputs ? [ ]
+, propagatedBuildInputs ? [ ]
+, propagatedNativeBuildInputs ? [ ]
+, ...
 }@attrs:
 let
   mergeInputs = name: lib.concatLists (lib.catAttrs name
-    ([attrs] ++ inputsFrom));
+    ([ attrs ] ++ inputsFrom));
 
   rest = builtins.removeAttrs attrs [
+    "packages"
     "inputsFrom"
     "buildInputs"
     "nativeBuildInputs"
@@ -26,15 +30,15 @@ in
 
 stdenv.mkDerivation ({
   name = "nix-shell";
-  phases = ["nobuildPhase"];
+  phases = [ "nobuildPhase" ];
 
   buildInputs = mergeInputs "buildInputs";
-  nativeBuildInputs = mergeInputs "nativeBuildInputs";
+  nativeBuildInputs = packages ++ (mergeInputs "nativeBuildInputs");
   propagatedBuildInputs = mergeInputs "propagatedBuildInputs";
   propagatedNativeBuildInputs = mergeInputs "propagatedNativeBuildInputs";
 
   shellHook = lib.concatStringsSep "\n" (lib.catAttrs "shellHook"
-    (lib.reverseList inputsFrom ++ [attrs]));
+    (lib.reverseList inputsFrom ++ [ attrs ]));
 
   nobuildPhase = ''
     echo
diff --git a/pkgs/development/mobile/androidenv/examples/shell.nix b/pkgs/development/mobile/androidenv/examples/shell.nix
index 95f6a3bdbbac..45cccf22c7df 100644
--- a/pkgs/development/mobile/androidenv/examples/shell.nix
+++ b/pkgs/development/mobile/androidenv/examples/shell.nix
@@ -115,7 +115,7 @@ let
 in
 pkgs.mkShell rec {
   name = "androidenv-demo";
-  buildInputs = [ androidSdk platformTools jdk pkgs.android-studio ];
+  packages = [ androidSdk platformTools jdk pkgs.android-studio ];
 
   LANG = "C.UTF-8";
   LC_ALL = "C.UTF-8";
diff --git a/pkgs/tools/X11/opentabletdriver/shell.nix b/pkgs/tools/X11/opentabletdriver/shell.nix
index 526fa4a44320..4367d22e9df7 100644
--- a/pkgs/tools/X11/opentabletdriver/shell.nix
+++ b/pkgs/tools/X11/opentabletdriver/shell.nix
@@ -1,9 +1,9 @@
-{ pkgs ? import ../../../../. {} }:
+{ pkgs ? import ../../../../. { } }:
 
 with pkgs;
 
 mkShell {
-  buildInputs = [
+  packages = [
     common-updater-scripts
     curl
     dotnetCorePackages.sdk_5_0