86 lines
2.2 KiB
Text
86 lines
2.2 KiB
Text
use path
|
|
use str
|
|
|
|
# Convenience function for only setting PATH if the specified directory exists
|
|
setpath = [path]{
|
|
if (path:is-dir $path) {
|
|
set-env PATH (str:join ':' [$E:PATH $path])
|
|
}
|
|
}
|
|
|
|
# Set paths
|
|
$setpath /opt/homebrew/bin
|
|
$setpath ~/.rbenv/shims
|
|
$setpath ~/.rbenv/bin
|
|
$setpath ~/.cargo/bin
|
|
$setpath ~/.local/bin
|
|
$setpath ~/n/bin
|
|
$setpath ~/Library/Python/3.7/bin
|
|
$setpath ~/.asdf/shims
|
|
|
|
# Use private stuff
|
|
if (path:is-regular ~/.elvish/lib/private.elv) {
|
|
use private
|
|
private:init
|
|
}
|
|
|
|
# Environment variables
|
|
set-env EDITOR "vim"
|
|
set-env USER "lu"
|
|
set-env SHELL (which elvish)
|
|
set-env TERM xterm-256color
|
|
set-env N_PREFIX ~/n
|
|
set-env LANG en_US.UTF-8
|
|
set-env LC_ALL en_US.UTF-8
|
|
set-env LANGUAGE en_US.UTF-8
|
|
set-env RUST_SRC_PATH (and (has-external rustc) (rustc --print sysroot))/lib/rustlib/src/rust/src
|
|
set-env PYTHONPATH (str:join ':' ["/Users/lu/.local/pipx/venvs/pdm/lib/python3.9/site-packages/pdm/pep582" $E:PYTHONPATH])
|
|
set-env TZ_LIST "Europe/Berlin;Berlin,America/New_York;US East,America/Los_Angeles;US West,Europe/London;London"
|
|
|
|
# Aliases
|
|
fn editconfig []{
|
|
exec (chezmoi edit ~/.elvish/rc.elv)
|
|
eval (cat ~/.elvish/rc.elv | slurp)
|
|
}
|
|
fn c [@a]{ cargo $@a }
|
|
fn cr [@a]{ c run $@a }
|
|
fn cb [@a]{ c build $@a }
|
|
fn cwr [@a]{ c watch -x run $@a }
|
|
fn mkt []{ cd (mktemp -d) }
|
|
fn czm [@a]{ chezmoi $@a }
|
|
# Git aliases
|
|
fn g [@a]{ git $@a }
|
|
fn gs []{ g status --short }
|
|
fn gl []{ g log --color --graph --abbrev-commit --online }
|
|
fn gqp []{ g add --all; g commit; g push}
|
|
fn gqc []{ g add --all; g commit }
|
|
fn gpl []{ g pull }
|
|
fn gps []{ g push }
|
|
fn gc []{ g commit }
|
|
fn gco [@a]{ g checkout $@a }
|
|
# Mercurial aliases
|
|
fn h [@a]{ hg $@a }
|
|
fn ha [@a]{ hg addremove $@a }
|
|
fn hc []{ hg commit }
|
|
fn hps []{ hg push }
|
|
fn hpl []{ hg pull }
|
|
fn hs []{ hg status }
|
|
fn hl []{ hg log }
|
|
# Aliases that overwrite other, existing commands
|
|
if (has-external hub) {
|
|
fn git [@a]{ hub $@a }
|
|
}
|
|
if (has-external exa) {
|
|
fn ls [@a]{ exa $@a }
|
|
}
|
|
|
|
# Prompt
|
|
edit:prompt = { styled (tilde-abbr $pwd) green; put "\n> " }
|
|
edit:rprompt = (constantly "")
|
|
|
|
# Nice welcome message
|
|
if (and (has-external toilet) (has-external lolcat)) {
|
|
toilet -f future "Welcome to elvish!" | lolcat -F 0.4 -S (randint 1 100)
|
|
} else {
|
|
echo "Welcome to elvish! To enable gay mode, install `toilet` and `lolcat`."
|
|
}
|