Enhance nx and nsh to support unstable and git nixpkgs
This commit is contained in:
parent
600ba660c9
commit
267f135972
|
@ -61,19 +61,18 @@ in
|
||||||
# Simplify nix usage!
|
# Simplify nix usage!
|
||||||
nx = {
|
nx = {
|
||||||
body = ''
|
body = ''
|
||||||
set impure
|
argparse -s 'h/help' 'impure' 'u/unstable' 'g/git' -- $argv
|
||||||
if test $argv[1] = "--impure"
|
if set -q _flag_help || test (count $argv) -eq 0
|
||||||
set impure "--impure"
|
echo "nx [--impure] [-u/--unstable/-g/--git] {package} [args...]"
|
||||||
set argv $argv[2..]
|
|
||||||
end
|
|
||||||
if test (count $argv) -gt 0
|
|
||||||
nix run $impure nixpkgs#$argv[1] -- $argv[2..]
|
|
||||||
else
|
|
||||||
echo "nx [--impure] {package} [args...]"
|
|
||||||
return 1
|
return 1
|
||||||
|
else
|
||||||
|
set -q _flag_impure && set impure "--impure"
|
||||||
|
set nixpkgs "nixpkgs"
|
||||||
|
set -q _flag_unstable && set nixpkgs "nixpkgs-unstable"
|
||||||
|
set -q _flag_git && set nixpkgs "github:nixOS/nixpkgs/nixpkgs-unstable"
|
||||||
|
nix run $impure $nixpkgs"#"$argv[1] -- $argv[2..]
|
||||||
end
|
end
|
||||||
'';
|
'';
|
||||||
wraps = "nix run";
|
|
||||||
description = "Runs an app from the nixpkgs store.";
|
description = "Runs an app from the nixpkgs store.";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -81,25 +80,35 @@ in
|
||||||
description = "Spawns a shell from the given nixpkgs packages";
|
description = "Spawns a shell from the given nixpkgs packages";
|
||||||
wraps = "nix shell";
|
wraps = "nix shell";
|
||||||
body = ''
|
body = ''
|
||||||
set impure
|
function help
|
||||||
if test $argv[1] = "--impure"
|
echo "nsh [--impure] [--impure] [-u/--unstable/-g/--git] {package}* [-c command args...]"
|
||||||
set impure "--impure"
|
|
||||||
set argv $argv[2..]
|
|
||||||
end
|
end
|
||||||
if test (count $argv) -gt 0
|
argparse -s 'h/help' 'impure' 'u/unstable' 'g/git' -- $argv
|
||||||
set minusc (contains -i -- "-c" $argv)
|
if set -q _flag_help || test (count $argv) -eq 0
|
||||||
if test -z $minusc
|
help
|
||||||
nix shell $impure nixpkgs#$argv -c fish
|
return 0
|
||||||
else if test $minusc -eq (count $argv)
|
end
|
||||||
echo "nsh [--impure] {packages} [-c command args...]"
|
set packages $argv
|
||||||
|
set minusc (contains -i -- "-c" $argv)
|
||||||
|
if test -n "$minusc"
|
||||||
|
if test $minusc -eq 1
|
||||||
|
help
|
||||||
return 1
|
return 1
|
||||||
else
|
|
||||||
nix shell $impure nixpkgs#$argv[..(math $minusc - 1)] $argv[$minusc..]
|
|
||||||
end
|
end
|
||||||
|
set packages $argv[..(math $minusc - 1)]
|
||||||
|
set argv $argv[(math $minusc + 1)..]
|
||||||
else
|
else
|
||||||
echo "nsh [--impure] {packages} [-c command args...]"
|
set argv "fish" "-i"
|
||||||
|
end
|
||||||
|
if test (count $packages) -eq 0
|
||||||
|
help
|
||||||
return 1
|
return 1
|
||||||
end
|
end
|
||||||
|
set -q _flag_impure && set impure "--impure"
|
||||||
|
set nixpkgs "nixpkgs"
|
||||||
|
set -q _flag_unstable && set nixpkgs "nixpkgs-unstable"
|
||||||
|
set -q _flag_git && set nixpkgs "github:nixOS/nixpkgs/nixpkgs-unstable"
|
||||||
|
nix shell $impure $nixpkgs"#"$packages --command $argv
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
# Grep stuff
|
# Grep stuff
|
||||||
|
|
Loading…
Reference in a new issue