Hi, guys, I’d like to make my nix script file into executable file via some shebang.
My first solution is use the nix-shell
shebang like following:
(the file is named test.nix
and chmod +x test.nix
is executed)
#!/usr/bin/env nix-shell
#! nix-shell test.nix
{ pkgs ? import (fetchTarball "https://github.com/NixOS/nixpkgs/archive/c9a97ff47bb0db44f4a504015a5d1cedb3094c85.tar.gz") {} }:
(pkgs.buildFHSUserEnv {
name = "bash";
targetPkgs = pkgs: (with pkgs; [
python37
python37Packages.pip
python37Packages.virtualenv
stdenv.cc.cc.lib
pythonManylinuxPackages.manylinux2014Package
]);
profile = ''
run-some-test --with-some-args
'';
}).env
But I cannot pass extra command line argument to bash
this way.
So I think I can pass CLI arguments like:
$(nix-build --pure xxx.nix)/bin/bash --some-args
But I want to make it simple for users who need to run this test file and might not familier with nix. So the best way is to write the above line into the shebang of the nix file, is it possible?