blob: c40ec2e32a2e8b8bad1ed59d0910b2a5ba696a4c (
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
78
79
80
81
82
83
84
85
86
87
88
89
90
|
# ---- 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'))
# macOS has no /run/user; use a per-user runtime dir inside the cache
$env.XDG_RUNTIME_DIR = ($env.XDG_CACHE_HOME | path join 'run')
mkdir $env.XDG_RUNTIME_DIR
# ---- 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'))
# ---- Guile ----
#$env.GUILE_LOAD_PATH = $"($env.HOME)/.local/share/guile/site/3. 0:($env.GUILE_LOAD_PATH? | default '')"
#$env.GUILE_LOAD_COMPILED_PATH = $"($env.HOME)/.local/lib/guile/3. 0/site-ccache:($env.GUILE_LOAD_COMPILED_PATH? | default '')"
$env.GUILE_LOAD_PATH = "/opt/homebrew/share/guile/site/3.0"
$env.GUILE_LOAD_COMPILED_PATH = "/opt/homebrew/lib/guile/3.0/site-ccache"
$env.GUILE_SYSTEM_EXTENSIONS_PATH = "/opt/homebrew/lib/guile/3.0/extensions"
# ---- Apps ----
$env.WAKATIME_HOME = ($env.XDG_CONFIG_HOME | path join 'wakatime')
$env.GITLIBS = ($env.XDG_STATE_HOME | path join 'clojure/gitlibs')
$env.PASSWORD_STORE_DIR = ($env.XDG_DATA_HOME | path join 'pass')
$env.NPM_CONFIG_CACHE = ($env.XDG_CACHE_HOME | path join 'npm')
$env.NPM_CONFIG_INIT_MODULE = ($env.XDG_CONFIG_HOME | path join 'npm/config/npm-init.js')
$env.HISTFILE = ($env.XDG_STATE_HOME | path join 'bash/history')
$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')
# GPG
try { $env.GPG_TTY = (tty | str trim) } catch { }
# Java
# try { $env.JAVA_HOME = (/usr/libexec/java_home -v 17 | str trim) } catch { }
# GraalVM
try { $env.JAVA_HOME = '/Library/Java/JavaVirtualMachines/graalvm-jdk-25.4.4.1.1+1.1/Contents/Home' }
# 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
'/Library/Java/JavaVirtualMachines/graalvm-jdk-25.4.4.1.1+1.1/Contents/Home/bin' # GraalVM
] | 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
|