#!/usr/bin/env bash DEST=${1:-/etc/skel} NU_HOME=${DEST}/.config/nushell NU_INTEGRATIONS=${NU_HOME}/integrations URI="apt.fury.io/nushell" KEY_DIR="/usr/share/keyrings" wget -qO- https://${URI}/gpg.key | sudo gpg --dearmor -o ${KEY_DIR}/fury-nushell.gpg # echo "deb [signed-by=/etc/apt/keyrings/fury-nushell.gpg] https://apt.fury.io/nushell/ /" | sudo tee /etc/apt/sources.list.d/fury-nushell.list mkdir -p ${NU_INTEGRATIONS} conf_print_nushell_sources() { cat </dev/null; then starship init nu >"${NU_INTEGRATIONS}/starship.nu" else echo "starship not found. Skipping integration." fi # - zoxide.nu → Generated via # zoxide init nushell | save -f ($nu.default-config-dir | path join "integrations/zoxide.nu"); if command -v zoxide &>/dev/null; then starship init nu >"${NU_INTEGRATIONS}/zoxide.nu" else echo "zoxide not found. Skipping integration." fi # - mise.nu → Generated via # mise activate nu | save -f ($nu.default-config-dir | path join "integrations/mise.nu"); if command -v mise &>/dev/null; then mise activate nu >"${NU_INTEGRATIONS}/mise.nu" else echo "mise not found. Skipping integration." fi conf_print_nushell_env() { cat <<'EOF' # env.nu # # Installed by: # version = "0.110.0" # # Previously, environment variables were typically configured in $(env.nu). # In general, most configuration can and should be performed in $(config.nu) # or one of the autoload directories. # # This file is generated for backwards compatibility for now. # It is loaded before config.nu and login.nu # # See https://www.nushell.sh/book/configuration.html # # Also see $(help config env) for more options. # # You can remove these comments if you want or leave # them for future reference. EOF } [[ ! -f ${DEST}/.config/nushell/env.nu ]] && conf_print_nushell_env | tee ${DEST}/.config/nushell/env.nu # Empty conf_print_nushell_login() { cat < {'~'}, # [ '-' ] => {'-'}, # [ $arg ] if ($arg | path expand | path type) == 'dir' => {$arg} # _ => { # zoxide query --exclude $env.PWD -- ...$rest | str trim -r -c "\n" # } # } # cd $path # } # # # Jump to a directory using interactive search. # def --env --wrapped __zoxide_zi [...rest:string] { # cd $'(zoxide query --interactive -- ...$rest | str trim -r -c "\n")' # } # # # ============================================================================= # # # # Commands for zoxide. Disable these using --no-cmd. # # # # alias z = __zoxide_z # alias zi = __zoxide_zi # # # ============================================================================= # # # # Add this to your env file (find it by running `$nu.env-path` in Nushell): # # # # zoxide init nushell | save -f ~/.zoxide.nu # # # # Now, add this to the end of your config file (find it by running # # `$nu.config-path` in Nushell): # # # # source ~/.zoxide.nu # # # # Note: zoxide only supports Nushell v0.89.0+. # EOF # } # # [[ ! -f ${DEST}/.config/nushell/integrations/zoxide.nu ]] && # # conf_print_nushell_zoxide | tee ${DEST}/.config/nushell/integrations/zoxide.nu # # # :r! mise activate nu # conf_print_nushell_mise() { # cat <" # PLUGINS=("emoji" "inc" "polars" "gstat") # Add plugin names here # # for plugin in "${PLUGINS[@]}"; do # echo "Installing nu_plugin_$plugin..." # cargo install "nu_plugin_$plugin" --locked # # PLUGIN_PATH="$DEST/.cargo/bin/nu_plugin_$plugin" # if [[ "$OSTYPE" == "msys" || "$OSTYPE" == "win32" ]]; then # PLUGIN_PATH="$PLUGIN_PATH.exe" # fi # # echo "Registering $PLUGIN_PATH..." # nu -c "plugin add $PLUGIN_PATH" # done # --all-features still tries to install native-tls breaks rustls-tls # Downloaded native-tls v0.2.14 # cargo install nu --no-default-features --features=extra --features=rustls-tls # ~> TMPDIR=/var/tmp cargo install nu --all-features # Updating crates.io index # Downloaded nu v0.110.0 # Downloaded 1 crate (1.6MiB) in 1.73s # Installing nu v0.110.0 # Updating crates.io index # Locking 672 packages to latest compatible versions # Adding generic-array v0.14.7 (available: v0.14.9) # Adding multipart-rs v0.1.13 (available: v0.2.1) # Adding nix v0.30.1 (available: v0.31.1) # Adding rustls v0.23.28 (available: v0.23.36) # Adding unicode-width v0.2.0 (available: v0.2.2) # Adding ureq v3.0.12 (available: v3.1.4) # Downloaded nu-color-config v0.110.0 # Downloaded nu-cli v0.110.0 # Downloaded nu-cmd-base v0.110.0 # Downloaded nu-cmd-lang v0.110.0 # Downloaded nu-cmd-plugin v0.110.0 # Downloaded nu-cmd-extra v0.110.0 # downloaded nu-command v0.110.0 # Downloaded nu-derive-value v0.110.0 # Downloaded nu-engine v0.110.0 # Downloaded nu-experimental v0.110.0 # Downloaded nu-explore v0.110.0 # Downloaded nu-glob v0.110.0 # Downloaded nu-json v0.110.0 # Downloaded nu-lsp v0.110.0 # Downloaded nu-mcp v0.110.0 # Downloaded nu-parser v0.110.0 # Downloaded nu-path v0.110.0 # Downloaded nu-plugin-core v0.110.0 # Downloaded nu-plugin-engine v0.110.0 # Downloaded nu-plugin-protocol v0.110.0 # Downloaded nu-pretty-hex v0.110.0 # Downloaded nu-protocol v0.110.0 # Downloaded nu-std v0.110.0 # Downloaded nu-system v0.110.0 # Downloaded nu-table v0.110.0 # Downloaded nu-term-grid v0.110.0 # Downloaded nu-utils v0.110.0 # Downloaded alloc-stdlib v0.2.2 # Downloaded alloc-no-stdlib v2.0.4 # Downloaded codepage v0.1.2 # Downloaded buf-trait v0.4.1 # Downloaded ctrlc v3.5.1 # Downloaded darling_macro v0.21.3 # Downloaded chrono-humanize v0.2.3 # Downloaded bit-set v0.8.0 # Downloaded downcast-rs v1.2.1 # Downloaded dns-lookup v3.0.1 # Downloaded linked-hash-map v0.5.6 # Downloaded fluent-langneg v0.13.1 # Downloaded http-body v1.0.1 # Downloaded lsp-textdocument v0.4.2 # Downloaded mime v0.3.17 # Downloaded atomic-waker v1.1.2 # Downloaded lru-slab v0.1.2 # Downloaded human-date-parser v0.3.1 # Downloaded gethostname v1.1.0 # Downloaded foreign-types v0.3.2 # Downloaded foreign-types-shared v0.1.1 # Downloaded filesize v0.2.0 # Downloaded fallible-streaming-iterator v0.1.9 # Downloaded dyn-clone v1.0.20 # Downloaded file-id v0.2.3 # Downloaded form_urlencoded v1.2.2 # Downloaded etcetera v0.10.0 # Downloaded hyper-tls v0.6.0 # Downloaded idna_adapter v1.2.1 # Downloaded fd-lock v4.0.4 # Downloaded doctest-file v1.0.0 # Downloaded dunce v1.0.5 # Downloaded arboard v3.6.1 # Downloaded ansitok v0.3.0 # Downloaded byteyarn v0.5.1 # Downloaded bit-vec v0.8.0 # Downloaded potential_utf v0.1.4 # Downloaded intl_pluralrules v7.0.2 # Downloaded os_pipe v1.2.3 # Downloaded is_executable v1.0.5 # Downloaded is_debug v1.1.0 # Downloaded is_ci v1.2.0 # Downloaded is-wsl v0.4.0 # Downloaded is-docker v0.2.0 # Downloaded intl-memoizer v0.5.3 # Downloaded bracoxide v0.1.8 # Downloaded backtrace-ext v0.2.1 # Downloaded ansi-str v0.9.0 # Downloaded alphanumeric-sort v1.5.5 # Downloaded sha1_smol v1.0.1 # Downloaded openssl-probe v0.1.6 # Downloaded serde_urlencoded v0.7.1 # Downloaded siphasher v1.0.2 # Downloaded shell-words v1.1.1 # Downloaded debug_unsafe v0.1.3 # Downloaded const_format_proc_macros v0.2.34 # Downloaded csv-core v0.1.13 # Downloaded atoi_simd v0.16.1 # Downloaded pest_consume_macros v1.1.0 # Downloaded openssl-probe v0.2.1 # Downloaded phf_shared v0.12.1 # Downloaded displaydoc v0.2.5 # Downloaded pest_consume v1.1.3 # Downloaded http-body-util v0.1.3 # Downloaded pwd v1.4.0 # Downloaded fuzzy-matcher v0.3.7 # Downloaded fluent v0.17.0 # Downloaded fallible-iterator v0.3.0 # Downloaded multipart-rs v0.1.13 # Downloaded fixedbitset v0.5.7 # Downloaded num-conv v0.2.0 # Downloaded dtparse v2.0.1 # Downloaded ipnet v2.11.0 # Downloaded fs_extra v1.3.0 # Downloaded fluent-syntax v0.12.0 # Downloaded find-msvc-tools v0.1.9 # Downloaded filetime v0.2.27 # Downloaded sync_wrapper v1.0.2 # Downloaded bytemuck v1.25.0 # Downloaded supports-color v3.0.2 # Downloaded print-positions v0.6.1 # Downloaded inotify v0.9.6 # Downloaded phf_shared v0.13.1 # Downloaded inventory v0.3.21 # Downloaded supports-unicode v3.0.0 # Downloaded bytesize v2.3.1 # Downloaded dialoguer v0.12.0 # Downloaded devicons v0.6.12 # Downloaded pathdiff v0.2.3 # Downloaded serde_repr v0.1.20 # Downloaded supports-hyperlinks v3.2.0 # Downloaded time-core v0.1.8 # Downloaded simplelog v0.12.2 # Downloaded titlecase v3.6.0 # Downloaded type-map v0.5.1 # Downloaded unit-prefix v0.5.2 # Downloaded uu_mktemp v0.5.0 # Downloaded unicode-linebreak v0.1.5 # Downloaded tree_magic_mini v3.2.2 # Downloaded tower-service v0.3.3 # Downloaded tower-layer v0.3.3 # Downloaded testing_table v0.3.0 # Downloaded serde_derive_internals v0.29.1 # Downloaded typetag-impl v0.2.21 # Downloaded try-lock v0.2.5 # Downloaded strip-ansi-escapes v0.2.1 # Downloaded v_htmlescape v0.15.8 # Downloaded unic-langid v0.9.6 # Downloaded md-5 v0.10.6 # Downloaded mime_guess v2.0.5 # Downloaded hashlink v0.10.0 # Downloaded oem_cp v2.1.2 # Downloaded glob v0.3.3 # Downloaded nuon v0.110.0 # Downloaded notify-debouncer-full v0.3.2 # Downloaded openssl-macros v0.1.1 # Downloaded httparse v1.10.1 # Downloaded rustls-native-certs v0.8.3 # Downloaded phf v0.13.1 # Downloaded iana-time-zone v0.1.65 # Downloaded rustls-pemfile v2.2.0 # Downloaded clap v4.5.56 # Downloaded utf8_iter v1.0.4 # Downloaded synstructure v0.13.2 # Downloaded phf v0.12.1 # Downloaded rmcp-macros v0.8.5 # Downloaded quote v1.0.44 # Downloaded os_display v0.1.4 # Downloaded hyper-rustls v0.27.7 # Downloaded chardetng v0.1.17 # Downloaded fluent-bundle v0.16.0 # Downloaded uu_mkdir v0.5.0 # Downloaded open v5.3.3 # Downloaded fluent-uri v0.1.4 # Downloaded fast-float2 v0.2.3 # Downloaded miette-derive v7.6.0 # Downloaded darling v0.21.3 # Downloaded lscolors v0.20.0 # Downloaded cookie v0.18.1 # Downloaded slab v0.4.12 # Downloaded lsp-server v0.7.9 # Downloaded cookie_store v0.21.1 # Downloaded console v0.16.2 # Downloaded bytecount v0.6.9 # Downloaded uucore_procs v0.5.0 # Downloaded uu_uname v0.5.0 # Downloaded tzdb v0.7.3 # Downloaded socks v0.3.4 # Downloaded self_cell v1.2.2 # Downloaded pori v0.0.0 # Downloaded want v0.3.1 # Downloaded tui-tree-widget v0.23.1 # Downloaded tinystr v0.8.2 # Downloaded webpki-roots v0.26.11 # Downloaded typetag v0.2.21 # Downloaded sys-locale v0.3.2 # Downloaded uu_whoami v0.5.0 # Downloaded webpki-root-certs v0.26.11 # Downloaded zerofrom-derive v0.1.6 # Downloaded litemap v0.8.1 # Downloaded schemars_derive v1.2.1 # Downloaded termcolor v1.4.1 # Downloaded parse_datetime v0.13.3 # Downloaded rustls-pki-types v1.14.0 # Downloaded rmp-serde v1.3.1 # Downloaded owo-colors v4.2.3 # Downloaded quinn-udp v0.5.14 # Downloaded platform-info v2.0.5 # Downloaded tokio-native-tls v0.3.1 # Downloaded time-macros v0.2.26 # Downloaded rmp v0.8.15 # Downloaded umask v2.1.0 # Downloaded lean_string v0.5.1 # Downloaded zerofrom v0.1.6 # Downloaded xattr v1.6.1 # Downloaded wayland-protocols-wlr v0.3.10 # Downloaded tokio-rustls v0.26.4 # Downloaded yoke v0.8.1 # Downloaded num-format v0.4.4 # Downloaded rustls-platform-verifier v0.5.3 # Downloaded notify v6.1.1 # Downloaded wayland-sys v0.31.8 # Downloaded shadow-rs v1.7.0 # Downloaded nucleo-matcher v0.3.1 # Downloaded writeable v0.6.2 # Downloaded lsp-types v0.97.0 # Downloaded procfs v0.18.0 # Downloaded icu_provider v2.1.1 # Downloaded icu_properties v2.1.2 # Downloaded openssl-sys v0.9.111 # Downloaded const_format v0.2.35 # Downloaded utf-8 v0.7.6 # Downloaded unicase v2.9.0 # Downloaded update-informer v1.3.0 # Downloaded uu_touch v0.5.0 # Downloaded uu_mv v0.5.0 # Downloaded proc-macro2 v1.0.106 # Downloaded yoke-derive v0.8.1 # Downloaded wayland-scanner v0.31.8 # Downloaded uuid v1.20.0 # Downloaded procfs-core v0.18.0 # Downloaded rustls-webpki v0.103.9 # Downloaded papergrid v0.17.0 # Downloaded quinn v0.11.9 # Downloaded serde_yaml v0.9.34+deprecated # Downloaded socket2 v0.6.2 # Downloaded tz-rs v0.7.3 # Downloaded web-time v1.1.0 # Downloaded unsafe-libyaml v0.2.11 # Downloaded iri-string v0.7.10 # Downloaded indicatif v0.18.3 # Downloaded mio v0.8.11 # Downloaded icu_normalizer_data v2.1.1 # Downloaded zmij v1.0.19 # Downloaded icu_normalizer v2.1.1 # Downloaded icu_locale_core v2.1.1 # Downloaded textwrap v0.16.2 # Downloaded zip v4.6.1 # Downloaded wl-clipboard-rs v0.9.3 # Downloaded zerovec-derive v0.11.2 # Downloaded darling_core v0.21.3 # Downloaded miette v7.6.0 # Downloaded ureq-proto v0.4.2 # Downloaded rusqlite v0.37.0 # Downloaded webpki-root-certs v1.0.5 # Downloaded zopfli v0.8.3 # Downloaded unic-langid-impl v0.9.6 # Downloaded url v2.5.8 # Downloaded zerotrie v0.2.3 # Downloaded tzdb_data v0.2.3 # Downloaded itertools v0.11.0 # Downloaded openssl v0.10.75 # Downloaded ureq v3.0.12 # Downloaded zerovec v0.11.5 # Downloaded rustls v0.23.28 # Downloaded zerocopy v0.7.35 # Downloaded wayland-protocols v0.32.10 # Downloaded sysinfo v0.37.2 # Downloaded zlib-rs v0.5.5 # Downloaded time v0.3.46 # Downloaded webpki-roots v1.0.5 # Downloaded uucore v0.5.0 # Downloaded zerocopy v0.8.37 # Downloaded x11rb v0.13.2 # Downloaded tabled v0.20.0 # Downloaded brotli-decompressor v5.0.0 # Downloaded libm v0.2.16 # Downloaded tower-http v0.6.8 # Downloaded idna v1.1.0 # Downloaded icu_properties_data v2.1.2 # Downloaded hyper v1.8.1 # Downloaded clap_builder v4.5.56 # Downloaded nix v0.30.1 # Downloaded bigdecimal v0.4.10 # Downloaded x11rb-protocol v0.13.2 # Downloaded hyper-util v0.1.20 # Downloaded wayland-backend v0.3.12 # Downloaded vcpkg v0.2.15 # Downloaded petgraph v0.8.3 # Downloaded tower v0.5.3 # Downloaded interprocess v2.2.3 # Downloaded brotli v8.0.2 # Downloaded http v1.4.0 # Downloaded jiff v0.2.18 # Downloaded fancy-regex v0.17.0 # Downloaded calamine v0.32.0 # Downloaded chrono-tz v0.10.4 # Downloaded tui-textarea v0.7.0 # Downloaded schemars v1.2.1 # Downloaded rmcp v0.8.5 # Downloaded quinn-proto v0.11.13 # Downloaded csv v1.4.0 # Downloaded wax v0.6.0 # Downloaded vte v0.14.1 # Downloaded uu_cp v0.5.0 # Downloaded pure-rust-locales v0.8.2 # Downloaded icu_collections v2.1.1 # Downloaded wayland-client v0.31.12 # Downloaded portable-atomic v1.13.1 # Downloaded jiff-static v0.2.18 # Downloaded reedline v0.45.0 # Downloaded rust_decimal v1.40.0 # Downloaded reqwest v0.12.28 # Downloaded cc v1.2.55 # Downloaded tempfile v3.24.0 # Downloaded encoding_rs v0.8.35 # Downloaded linux-raw-sys v0.12.1 # Downloaded libsqlite3-sys v0.35.0 # Downloaded openssl-src v300.5.5+3.5.5 # Downloaded 317 crates (36.1MiB) in 36.83s (largest was `openssl-src` at 6.7MiB)