if status is-interactive # Disable greeting set -g fish_greeting # Interactive environment variables set -gx EDITOR ~/.cargo/bin/hx # Setup ## Zoxide zoxide init fish | source ## Starship starship init fish | source ## fnm fnm env --shell fish | source # Abbreviations ## Replacements abbr -ag rm trash ## Safety options abbr -ag cp "cp -i" abbr -ag mv "mv -i" abbr -ag rmr "rm -r" ## Default options set -g rsync "rsync -avhL --partial --info=progress2 --no-i-r --zc=zstd --zl=9" abbr -ag rsync "$rsync" ## Podman abbr -ag sage "podman run -it --rm --pull newer --name sage docker.io/sagemath/sagemath:latest" abbr -ag typst "podman run -it --rm --pull newer --name typst -v (pwd):/volumes/src:Z ghcr.io/typst/typst:latest typst w /volumes/src/src.typ /volumes/src/output.pdf" set -l fedora_image registry.fedoraproject.org/fedora:(rpm -E %fedora) abbr -ag fedora "podman run -it --rm --pull newer --name fedora $fedora_image" abbr -ag pps "podman ps --format '{{.Names}}'" # Aliases alias cd z alias ls lsd alias ll "ls -l" alias cat bat alias gu gitui alias julia "JULIA_NUM_THREADS=16 ~/.juliaup/bin/julia" alias tb "toolbox run fish" alias todo "hx ~/todo.md" # Private config set -l private_config ~/.config/fish/private_config.fish if test -f $private_config source $private_config end function divan cd ~/code/tmp rm -r benchmark mkdir benchmark cd benchmark echo "target/ .ignore Cargo.lock" >.ignore echo '[package] name = "benchmark" version = "0.0.0" edition = "2021" publish = false [profile.release] panic = "abort" [dev-dependencies] divan = "0.1" [[bench]] name = "divan" harness = false' >Cargo.toml mkdir src touch src/lib.rs mkdir benches echo 'use divan::bench; use std::hint::black_box as bb; fn main() { divan::main(); } #[bench] fn bench() { todo!() }' >benches/divan.rs echo 'target Cargo.lock' >.ignore hx benches/divan.rs end end