aboutsummaryrefslogtreecommitdiff
path: root/.config/nushell/env.nu
diff options
context:
space:
mode:
authorAlec Goncharow <alec@goncharow.dev>2022-12-04 18:23:46 -0600
committerAlec Goncharow <alec@goncharow.dev>2022-12-04 18:23:46 -0600
commit1ec73cc2c14d2f62c32046d9585c3a745531d37a (patch)
tree8b9c6b2e5ba43ce1248c114758a55df9467cab64 /.config/nushell/env.nu
parentb257edf16c9b8b14ebb542e857a29c74fea00495 (diff)
Fresh start
Diffstat (limited to '.config/nushell/env.nu')
-rw-r--r--.config/nushell/env.nu69
1 files changed, 69 insertions, 0 deletions
diff --git a/.config/nushell/env.nu b/.config/nushell/env.nu
new file mode 100644
index 0000000..10574d9
--- /dev/null
+++ b/.config/nushell/env.nu
@@ -0,0 +1,69 @@
+# Nushell Environment Config File
+
+def create_left_prompt [] {
+ let path_segment = if (is-admin) {
+ $"(ansi red_bold)($env.PWD)"
+ } else {
+ $"(ansi green_bold)($env.PWD)"
+ }
+
+ $path_segment
+}
+
+def create_right_prompt [] {
+ let time_segment = ([
+ (date now | date format '%m/%d/%Y %r')
+ ] | str join)
+
+ $time_segment
+}
+
+# Use nushell functions to define your right and left prompt
+let-env PROMPT_COMMAND = { create_left_prompt }
+let-env PROMPT_COMMAND_RIGHT = { create_right_prompt }
+
+# The prompt indicators are environmental variables that represent
+# the state of the prompt
+let-env PROMPT_INDICATOR = { "〉" }
+let-env PROMPT_INDICATOR_VI_INSERT = { ": " }
+let-env PROMPT_INDICATOR_VI_NORMAL = { "〉" }
+let-env PROMPT_MULTILINE_INDICATOR = { "::: " }
+
+# Specifies how environment variables are:
+# - converted from a string to a value on Nushell startup (from_string)
+# - converted from a value back to a string when running external commands (to_string)
+# Note: The conversions happen *after* config.nu is loaded
+let-env ENV_CONVERSIONS = {
+ "PATH": {
+ from_string: { |s| $s | split row (char esep) | path expand -n }
+ to_string: { |v| $v | path expand -n | str join (char esep) }
+ }
+ "Path": {
+ from_string: { |s| $s | split row (char esep) | path expand -n }
+ to_string: { |v| $v | path expand -n | str join (char esep) }
+ }
+}
+
+# Directories to search for scripts when calling source or use
+#
+# By default, <nushell-config-dir>/scripts is added
+let-env NU_LIB_DIRS = [
+ ($nu.config-path | path dirname | path join 'scripts')
+ ~/nushell/scripts
+]
+
+# Directories to search for plugin binaries when calling register
+#
+# By default, <nushell-config-dir>/plugins is added
+let-env NU_PLUGIN_DIRS = [
+ ($nu.config-path | path dirname | path join 'plugins')
+]
+
+# Wayland things
+let-env MOZ_ENABLE_WAYLAND = 1
+
+# To add entries to PATH (on Windows you might use Path), you can use the following pattern:
+
+let-env PATH = ($env.PATH | split row (char esep) | prepend '~/bin/:~/.cargo/bin/')
+mkdir ~/.cache/starship
+starship init nu | sed "s/size -c/size/" | save ~/.cache/starship/init.nu