1
0
Fork 0
This repository has been archived on 2024-01-18. You can view files and clone it, but cannot push or open issues/pull-requests.
dotnix-archive/apps/nogui/nushell/jolheiser.nu

60 lines
1.6 KiB
Plaintext

## Aliases ##
alias cat = bat
alias find = fd
alias df = duf
alias du = dust -b -d 1
alias just = just --shell "nu" --shell-arg "-c"
alias ll = ls -al
def day [] { date now | date format "%a %b %d" }
## Functions ##
def sshdev [port: int = 8080] {
$"Listening on localhost:($port)"
^ssh -i ~/.ssh/dev -N -T -R $"1337:localhost:($port)" dev@jolheiser.com
}
def nixdev [
name: string # Name of the dev shell to use
--bash: bool # Use bash instead of nushell
--refresh: bool # Refresh the flake
] {
let url = $"git+https://git.jojodev.com/jolheiser/dev-shells\#($name)"
let c = if ($bash) {""} else {"-c nu"}
let refresh = if ($refresh) {"--refresh"} else {""}
let cmd = $"nix develop ($refresh) ($url) ($c)"
^nu -c $cmd
}
def "forge types" [] {
["github", "gitea", "jojodev", "codeberg"]
}
def clone [
repo: string # Repo name
--forge (-f) = "github": string@"forge types" # Forge type (github, gitea, jojodev, codeberg)
--owner (-o): string # Owner (default: current dir name)
] {
let owner = ($env.PWD | path basename)
mut id = 'gh'
if $forge == 'gitea' {
$id = 'gt'
} else if $forge == 'jojodev' {
$id = 'jj'
} else if $forge == 'codeberg' {
$id = 'cb'
}
let origin = $'ssh:($id):jolheiser/($repo).git'
let upstream = $'($id):($owner)/($repo).git'
^git clone $origin
cd $repo
^git remote add upstream $upstream
^git fetch upstream
}
## Other ##
$env.EDITOR = hx
$env.config = ($env.config | upsert "shell_integration" ("WEZTERM_PANE" not-in $env and "SSH_CLIENT" not-in $env))
source ~/.config/nushell/zoxide.nu
source ~/.config/nushell/ohmyposh.nu