summaryrefslogtreecommitdiff
path: root/nushell/env.nu
blob: 4540df6c2b4ee3597c9b3c3e058bf92c06332f02 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# ---- XDG base directories ----
$env.XDG_CONFIG_HOME = ($env.XDG_CONFIG_HOME? | default ($env.HOME | path join '.config'))
$env.XDG_DATA_HOME = ($env.XDG_DATA_HOME? | default ($env.HOME | path join '.local/share'))
$env.XDG_STATE_HOME = ($env.XDG_STATE_HOME? | default ($env.HOME | path join '.local/state'))
$env.XDG_CACHE_HOME = ($env.XDG_CACHE_HOME? | default ($env.HOME | path join '.cache'))

# ---- Homebrew ----
$env.HOMEBREW_PREFIX = '/opt/homebrew'
$env.HOMEBREW_CELLAR = '/opt/homebrew/Cellar'
$env.HOMEBREW_REPOSITORY = '/opt/homebrew'
$env.MANPATH = (if ($env.MANPATH? | is-empty) {
    $env.HOMEBREW_PREFIX | path join 'share/man'
} else {
    $'($env.HOMEBREW_PREFIX)/share/man:($env.MANPATH)'
})

# ---- Rust / cargo ----
$env.CARGO_HOME = ($env.CARGO_HOME? | default ($env.HOME | path join '.local/share/cargo'))

# ---- Apps ----
$env.WAKATIME_HOME = ($env.XDG_CONFIG_HOME | path join 'wakatime')
$env.BUN_INSTALL = ($env.HOME | path join '.bun')
$env.PNPM_HOME = ($env.HOME | path join '.local/share/pnpm')
$env.NVM_DIR = ($env.HOME | path join '.config/nvm')
$env.W3M_DIR = ($env.XDG_DATA_HOME | path join 'w3m')
$env.PYTHON_HISTORY = ($env.XDG_STATE_HOME | path join 'python_history')
$env.LEIN_HOME = ($env.XDG_DATA_HOME | path join 'lein')
$env.RUSTUP_HOME = ($env.XDG_DATA_HOME | path join 'rustup')
$env.GOPATH = ($env.XDG_DATA_HOME | path join 'go')
$env.BABASHKA_REPL_HISTORY = ($env.XDG_STATE_HOME | path join 'babashka/repl_history')
$env.LESSHISTFILE = ($env.XDG_STATE_HOME | path join 'lesshst')
$env.NODE_REPL_HISTORY = ($env.XDG_STATE_HOME | path join 'node_repl_history')
$env.MPLCONFIGDIR = ($env.XDG_CONFIG_HOME | path join 'matplotlib')
$env.EDITOR = 'nvim'
$env.HOMEBREW_NO_ENV_HINTS = '1'
$env.PUPPETEER_EXECUTABLE_PATH = ($env.HOME | path join '.cache/puppeteer/chrome/mac_arm-142.0.7444.59/chrome-mac-arm64/Google Chrome for Testing.app/Contents/MacOS/Google Chrome for Testing')

# Proxy
$env.http_proxy = 'http://127.0.0.1:7890'
$env.https_proxy = 'http://127.0.0.1:7890'
$env.all_proxy = 'socks5://127.0.0.1:7890'
$env.no_proxy = 'localhost,127.0.0.1'

# GPG
try { $env.GPG_TTY = (tty | str trim) } catch { }

# Java
try { $env.JAVA_HOME = (/usr/libexec/java_home -v 17 | str trim) } catch { }

# Temporary files
let state_tmp = ($env.XDG_STATE_HOME | path join 'tmp')
mkdir $state_tmp
$env.TMPDIR = $state_tmp

# ---- PATH ----
$env.PATH = ([
    ($env.HOME | path join '.local/bin')                       # ~/.local/bin/env
    $env.PNPM_HOME                                             # pnpm
    ($env.BUN_INSTALL | path join 'bin')                       # bun
    '/opt/nanobrew/prefix/bin'                                 # nanobrew
    ($env.HOME | path join 'bin')                              # ~/bin
    '/Library/Frameworks/Python.framework/Versions/3.13/bin'   # Python 3.13 (.zprofile)
    '/usr/local/bin'                                           # macOS standard
    '/opt/homebrew/bin'                                        # Homebrew
    '/opt/homebrew/sbin'                                       # Homebrew
    ($env.CARGO_HOME | path join 'bin')                        # cargo/rustup (.zshenv)
    ...$env.PATH
    ($env.HOME | path join 'Library/Python/3.9/bin')           # Python 3.9 (user)
    ($env.HOME | path join '.local/share/go/bin')              # Go
] | uniq)

# pnpm
$env.PNPM_HOME = "/Users/eltrac/.local/share/pnpm"
$env.PATH = ($env.PATH | split row (char esep) | prepend ($env.PNPM_HOME | path join "bin") )
# pnpm end

source secrets.nu