mirror of https://git.jolheiser.com/dotnix.git
parent
a643e424eb
commit
3b84780938
|
@ -33,6 +33,7 @@
|
||||||
"nushell/jolheiser.nu".source = ./nushell/jolheiser.nu;
|
"nushell/jolheiser.nu".source = ./nushell/jolheiser.nu;
|
||||||
"nushell/ssh.nu".source = ./nushell/ssh.nu;
|
"nushell/ssh.nu".source = ./nushell/ssh.nu;
|
||||||
"nushell/miniserve.nu".source = ./nushell/miniserve.nu;
|
"nushell/miniserve.nu".source = ./nushell/miniserve.nu;
|
||||||
|
"nushell/clone.nu".source = ./nushell/clone.nu;
|
||||||
"nushell/ohmyposh.nu".source = ./nushell/ohmyposh.nu;
|
"nushell/ohmyposh.nu".source = ./nushell/ohmyposh.nu;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
def "forge types" [] {
|
||||||
|
["github", "gitea", "jojodev", "codeberg"]
|
||||||
|
}
|
||||||
|
|
||||||
|
export 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)
|
||||||
|
] {
|
||||||
|
mut id = 'gh'
|
||||||
|
if $forge == 'gitea' {
|
||||||
|
$id = 'gt'
|
||||||
|
} else if $forge == 'jojodev' {
|
||||||
|
$id = 'jj'
|
||||||
|
} else if $forge == 'codeberg' {
|
||||||
|
$id = 'cb'
|
||||||
|
}
|
||||||
|
mut namespace = ($env.PWD | path basename)
|
||||||
|
if $owner != '' {
|
||||||
|
$namespace = $owner
|
||||||
|
}
|
||||||
|
let origin = $'ssh:($id):jolheiser/($repo).git'
|
||||||
|
let upstream = $'($id):($namespace)/($repo).git'
|
||||||
|
^git clone $origin
|
||||||
|
cd $repo
|
||||||
|
if $namespace != 'jolheiser' {
|
||||||
|
^git remote add upstream $upstream
|
||||||
|
^git fetch upstream
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -7,54 +7,6 @@ alias just = just --shell "nu" --shell-arg "-c"
|
||||||
alias ll = ls -al
|
alias ll = ls -al
|
||||||
|
|
||||||
## Functions ##
|
## 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 # Use bash instead of nushell
|
|
||||||
--refresh # 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)
|
|
||||||
] {
|
|
||||||
mut id = 'gh'
|
|
||||||
if $forge == 'gitea' {
|
|
||||||
$id = 'gt'
|
|
||||||
} else if $forge == 'jojodev' {
|
|
||||||
$id = 'jj'
|
|
||||||
} else if $forge == 'codeberg' {
|
|
||||||
$id = 'cb'
|
|
||||||
}
|
|
||||||
mut namespace = ($env.PWD | path basename)
|
|
||||||
if $owner != '' {
|
|
||||||
$namespace = $owner
|
|
||||||
}
|
|
||||||
let origin = $'ssh:($id):jolheiser/($repo).git'
|
|
||||||
let upstream = $'($id):($namespace)/($repo).git'
|
|
||||||
^git clone $origin
|
|
||||||
cd $repo
|
|
||||||
if $namespace != 'jolheiser' {
|
|
||||||
^git remote add upstream $upstream
|
|
||||||
^git fetch upstream
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
def fg [args ...string] {
|
def fg [args ...string] {
|
||||||
^rg --ignore-case --color=always --line-number --no-heading $args
|
^rg --ignore-case --color=always --line-number --no-heading $args
|
||||||
| ^fzf --ansi --color 'hl:-1:underline,hl+:-1:underline:reverse' --delimiter ':' --preview "bat --color=always {1} --theme='ctp-mocha' --highlight-line {2}" --preview-window 'up,60%,border-bottom,+{2}+3/3,~3' --bind $"enter:become\(($env.EDITOR) +{2} {1}\)"
|
| ^fzf --ansi --color 'hl:-1:underline,hl+:-1:underline:reverse' --delimiter ':' --preview "bat --color=always {1} --theme='ctp-mocha' --highlight-line {2}" --preview-window 'up,60%,border-bottom,+{2}+3/3,~3' --bind $"enter:become\(($env.EDITOR) +{2} {1}\)"
|
||||||
|
@ -103,3 +55,4 @@ $env.SSH_AUTH_SOCK = '/run/user/1000/ssh-agent'
|
||||||
source ~/.config/nushell/ohmyposh.nu
|
source ~/.config/nushell/ohmyposh.nu
|
||||||
source ~/.config/nushell/ssh.nu
|
source ~/.config/nushell/ssh.nu
|
||||||
source ~/.config/nushell/miniserve.nu
|
source ~/.config/nushell/miniserve.nu
|
||||||
|
source ~/.config/nushell/clone.nu
|
||||||
|
|
Loading…
Reference in New Issue