From 2883e717df5bb3117c9eee471cb2808e15b72e26 Mon Sep 17 00:00:00 2001 From: Charlie Root Date: Mon, 16 Sep 2024 21:01:10 +0200 Subject: [PATCH] nushell: add config.nu, env.nu, starship --- parts/pkgs/extraPackages/nushell/config.nu | 16 ++++++++++++++++ parts/pkgs/extraPackages/nushell/default.nix | 12 ++++++++++++ parts/pkgs/extraPackages/nushell/env.nu | 1 + parts/pkgs/extraPackages/nushell/packages.nix | 1 + parts/pkgs/extraPackages/nushell/starship.toml | 10 ++++++++++ 5 files changed, 40 insertions(+) create mode 100644 parts/pkgs/extraPackages/nushell/config.nu create mode 100644 parts/pkgs/extraPackages/nushell/env.nu create mode 100644 parts/pkgs/extraPackages/nushell/starship.toml diff --git a/parts/pkgs/extraPackages/nushell/config.nu b/parts/pkgs/extraPackages/nushell/config.nu new file mode 100644 index 0000000..f6f624d --- /dev/null +++ b/parts/pkgs/extraPackages/nushell/config.nu @@ -0,0 +1,16 @@ +let starship_installed = not (which starship | is-empty) +$env.config = { + show_banner: false +} + + +if $starship_installed { + $env.STARSHIP_SHELL = "nu" + $env.STARSHIP_SESSION_KEY = (random chars -l 16) + $env.STARSHIP_SESSION_KEY = (random chars -l 16) + $env.PROMPT_MULTILINE_INDICATOR = (starship prompt --continuation) + # $env.PROMPT_INDICATOR = "$ " + $env.PROMPT_COMMAND = {|| starship prompt $"--cmd-duration=($env.CMD_DURATION_MS)" $"--status=($env.LAST_EXIT_CODE)" } + $env.PROMPT_COMMAND_RIGHT = '' +} else {} + diff --git a/parts/pkgs/extraPackages/nushell/default.nix b/parts/pkgs/extraPackages/nushell/default.nix index cf299e7..ab8b54b 100644 --- a/parts/pkgs/extraPackages/nushell/default.nix +++ b/parts/pkgs/extraPackages/nushell/default.nix @@ -10,6 +10,7 @@ aliasesAsString = concatStringsSep "\n" (mapAttrsToList (k: v: "alias ${k}=\"${v}\"") aliases); + packages = import ./packages.nix {inherit pkgs;}; nushell-wrapped = inputs.wrapper-manager.lib.build { @@ -19,6 +20,17 @@ wrappers.nushell-wrapped = { basePackage = pkgs.nushell; pathAdd = packages; + env.STARSHIP_CONFIG = { + force = true; + value = ./starship.toml; + }; + flags = [ + "--env-config" + ./env.nu + + "--config" + ./config.nu + ]; }; } ]; diff --git a/parts/pkgs/extraPackages/nushell/env.nu b/parts/pkgs/extraPackages/nushell/env.nu new file mode 100644 index 0000000..1bb8bf6 --- /dev/null +++ b/parts/pkgs/extraPackages/nushell/env.nu @@ -0,0 +1 @@ +# empty diff --git a/parts/pkgs/extraPackages/nushell/packages.nix b/parts/pkgs/extraPackages/nushell/packages.nix index 39778ca..9c250c9 100644 --- a/parts/pkgs/extraPackages/nushell/packages.nix +++ b/parts/pkgs/extraPackages/nushell/packages.nix @@ -27,6 +27,7 @@ asciinema inetutils scc + starship onefetch wget cpufetch diff --git a/parts/pkgs/extraPackages/nushell/starship.toml b/parts/pkgs/extraPackages/nushell/starship.toml new file mode 100644 index 0000000..b50a6f8 --- /dev/null +++ b/parts/pkgs/extraPackages/nushell/starship.toml @@ -0,0 +1,10 @@ +[directory] +style = "bold cyan" +read_only = " " +truncate_to_repo = false +#truncation_length = 0 +format = "[󰉋 $path]($style)([$read_only]($read_only_style))" +#repo_root_style = "red" +home_symbol = "~" +#disabled = true +