mkShell
nixpkgsの提供するderivationの1つ
stdenv.mkDerivationのwrapperみたいなやつ
buildInputs
shellHook
https://github.com/NixOS/nixpkgs/blob/master/pkgs/build-support/mkshell/default.nix
じっそうみたらなんとなくわかる
derivationを返すので、shell.nixを書くときなどによく使う
引数
buildInputs
読み込むpackageをlistで指定する
nativeBuildInputsとなにがちゃうねん
https://nixos.org/manual/nixpkgs/stable/#variables-specifying-dependencies
読んでもわからんmrsekut.icon
https://discourse.nixos.org/t/use-buildinputs-or-nativebuildinputs-for-nix-shell/8464
mkShellと併用する場合は差異がないらしいmrsekut.icon
shellHook
nix-shellの環境に入った後に実行されるshell script
packages
inputsFrom
nativeBuildInputs
https://nixos.org/manual/nixpkgs/stable/#variables-specifying-dependencies
読んでもわからんmrsekut.icon
https://discourse.nixos.org/t/use-buildinputs-or-nativebuildinputs-for-nix-shell/8464
mkShellと併用する場合は差異がないらしいmrsekut.icon
propagatedBuildInputs
propagatedNativeBuildInputs
e.g.
code:shell.nix
with (import <nixpkgs> {});
mkShell {
buildInputs = [
ripgrep
];
shellHook = ''
alias ll="ls -l"
export FOO=bar
'';
}