packages: nushell: init
Signed-off-by: Bloxx12 <charlie@charlieroot.dev> Change-Id: I6a6a6964bcbbf4d3f08ea2ebc9c22e84b200de93
This commit is contained in:
parent
32f12cf705
commit
3bd3da0c0d
9 changed files with 530 additions and 14 deletions
46
packages/nushell/default.nix
Normal file
46
packages/nushell/default.nix
Normal file
|
@ -0,0 +1,46 @@
|
|||
{pkgs, ...}: let
|
||||
inherit (pkgs) lib;
|
||||
inherit (lib.meta) getExe;
|
||||
|
||||
nu-config =
|
||||
pkgs.writeText "nu-init"
|
||||
# nu
|
||||
''
|
||||
#!/usr/bin/env nu
|
||||
source ${./config.nu}
|
||||
source ${./prompt.nu}
|
||||
|
||||
let autoload_dir = $nu.user-autoload-dirs.0
|
||||
mkdir $autoload_dir
|
||||
|
||||
let zoxide_path = $autoload_dir | path join zoxide.nu
|
||||
if not ($zoxide_path | path exists) {
|
||||
${getExe pkgs.zoxide} init nushell --cmd cd | save -f $zoxide_path
|
||||
}
|
||||
# Atuin is too slow, sadly.
|
||||
# let atuin_path = $autoload_dir | path join atuin.nu
|
||||
# if not ($atuin_path | path exists) {
|
||||
# ${getExe pkgs.atuin} init nu | save -f $atuin_path
|
||||
# }
|
||||
let carapace_path = $autoload_dir | path join carapace.nu
|
||||
if not ($carapace_path | path exists) {
|
||||
${getExe pkgs.carapace} _carapace nushell | save -f $carapace_path
|
||||
}
|
||||
'';
|
||||
packages = import ./packages.nix pkgs;
|
||||
in
|
||||
(pkgs.symlinkJoin {
|
||||
name = "nushell";
|
||||
paths = [pkgs.nushell] ++ packages;
|
||||
nativeBuildInputs = [pkgs.makeWrapper];
|
||||
postBuild = ''
|
||||
wrapProgram $out/bin/nu --add-flags "\
|
||||
--config ${nu-config}"
|
||||
'';
|
||||
})
|
||||
.overrideAttrs (_: {
|
||||
passthru = {
|
||||
shellPath = "/bin/nu";
|
||||
};
|
||||
meta.mainProgram = "nu";
|
||||
})
|
Loading…
Add table
Add a link
Reference in a new issue