diff --git a/home/baseline/nushell.nix b/home/baseline/nushell.nix index 5c693f5..13cae03 100644 --- a/home/baseline/nushell.nix +++ b/home/baseline/nushell.nix @@ -38,12 +38,6 @@ in path add /run/current-system/sw/bin path add ${config.home.homeDirectory}/.nix-profile/bin - def --env unlock [] { - if "BW_SESSION" not-in $env { - $env.BW_SESSION = ^bw unlock --raw - } - } - def --env vpn [] { unlock let username = ^bw get username f7351f9c-b25b-4317-8352-affc00da4644 @@ -52,33 +46,7 @@ in osascript ${vpn} $username $"($password)($otp)" } - def rebuild [] { - if (uname | get operating-system) == "Darwin" { - sudo darwin-rebuild switch - } else { - let hostname = uname | get nodename - let build = ^nom build $"/etc/nixos#nixosConfigurations.($hostname).config.system.build.toplevel" | complete - if build.exit_code == 0 { - nvd diff /run/current-system result - sudo nixos-rebuild switch - } - } - } - - def deploy [ $host: string, $build: string = "" ] { - mut buildhost = $build - if $build == "" { - $buildhost = $host - } - if $buildhost == "linode" { - $buildhost = "isaiah" - } - nixos-rebuild switch --use-remote-sudo --use-substitutes --target-host $host --build-host $buildhost - } - - def ff [ $file: string ] { - ls **/* | where name =~ $file - } + source ${./nushell/functions.nu} ''; settings = { buffer_editor = lib.getExe config.programs.nixvim.package; diff --git a/home/baseline/nushell/functions.nu b/home/baseline/nushell/functions.nu new file mode 100644 index 0000000..ea5eca2 --- /dev/null +++ b/home/baseline/nushell/functions.nu @@ -0,0 +1,38 @@ +def par-map [ items: list, c: closure ] { + let results = $items | par-each -k $c + $items | enumerate | reduce -f {} {|e, a| $a | upsert $e.item { $results | get $e.index }} +} + +def --env unlock [] { + if "BW_SESSION" not-in $env { + $env.BW_SESSION = ^bw unlock --raw + } +} + +def rebuild [] { + if (uname | get operating-system) == "Darwin" { + sudo darwin-rebuild switch + } else { + let hostname = uname | get nodename + let build = ^nom build $"/etc/nixos#nixosConfigurations.($hostname).config.system.build.toplevel" | complete + if build.exit_code == 0 { + nvd diff /run/current-system result + sudo nixos-rebuild switch + } + } +} + +def deploy [ $host: string, $build: string = "" ] { + mut buildhost = $build + if $build == "" { + $buildhost = $host + } + if $buildhost == "linode" { + $buildhost = "isaiah" + } + nixos-rebuild switch --use-remote-sudo --use-substitutes --target-host $host --build-host $buildhost +} + +def ff [ $file: string ] { + ls **/* | where name =~ $file +}