nushell: use dropin configs

This commit is contained in:
LordMZTE 2024-06-18 18:14:17 +02:00
parent d018b81707
commit eb249b60ce
Signed by: LordMZTE
GPG key ID: B64802DC33A64FF6
3 changed files with 48 additions and 36 deletions

View file

@ -0,0 +1,6 @@
def l [path: glob = "."] { ls $path | sort-by type }
def ll [path: glob = "."] { ls -la $path | sort-by type }
def la [path: glob = "."] { ls -a $path | sort-by type }
alias nv = nvim
alias nvide = & neovide "--no-fork"

View file

@ -0,0 +1,29 @@
def --env mkdircd [p: string] {
mkdir $p
cd $p
}
def wldd [path: string] {
match (which $path) {
[{ path: $p }] => { ldd $p },
_ => { error make { msg: $"No external command ($path)" } },
}
}
def viewdoc [f: path] {
let inp = $f | path parse
match $inp.extension {
$e if $e in [ "doc", "docx", "odt", "ppt", "pptx", "odp" ] => {
let outp = { extension: "pdf", parent: "/tmp", stem: $inp.stem } | path join
libreoffice --convert-to pdf $f --outdir /tmp
try { zathura $outp }
rm $outp
},
"pdf" => { zathura $f },
"html" => { openbrowser $"file://($f | path expand)" }
$e if $e in [ "png", "webp", "jpg", "jpeg", "ff", "bmp" ] => { nsxiv $f },
_ => { mpv $f },
}
}

View file

@ -36,39 +36,16 @@ $env.config = {
]
}
# Aliases
def l [path: glob = "."] { ls $path | sort-by type }
def ll [path: glob = "."] { ls -la $path | sort-by type }
def la [path: glob = "."] { ls -a $path | sort-by type }
alias nv = nvim
alias nvide = & neovide "--no-fork"
# Misc functions
def --env mkdircd [p: string] {
mkdir $p
cd $p
}
def wldd [path: string] {
match (which $path) {
[{ path: $p }] => { ldd $p },
_ => { error make { msg: $"No external command ($path)" } },
}
}
def viewdoc [f: path] {
let inp = $f | path parse
match $inp.extension {
$e if $e in [ "doc", "docx", "odt", "ppt", "pptx", "odp" ] => {
let outp = { extension: "pdf", parent: "/tmp", stem: $inp.stem } | path join
libreoffice --convert-to pdf $f --outdir /tmp
try { zathura $outp }
rm $outp
},
"pdf" => { zathura $f },
"html" => { openbrowser $"file://($f | path expand)" }
$e if $e in [ "png", "webp", "jpg", "jpeg", "ff", "bmp" ] => { nsxiv $f },
_ => { mpv $f },
}
}
<!
local prefix = ".config/nushell/conf.d/"
local dropins = {}
for f in cg.fileIter() do
if f.path:find(prefix, 1, true) == 1 then
table.insert(dropins, f.path:sub(#prefix))
end
end
table.sort(dropins, function(a, b) return a < b end)
!>
<! for _, d in ipairs(dropins) do !>
source conf.d<% d %>
<! end !>