summaryrefslogtreecommitdiff
path: root/nufetch.nu
diff options
context:
space:
mode:
authorseth <[email protected]>2024-05-26 07:05:30 -0400
committerseth <[email protected]>2024-05-26 07:05:30 -0400
commit59bee3d639caa5a831ce20f9e663671a49f3d1fd (patch)
treef8196cca9480e9790ef72890dc978bbeb593b1b2 /nufetch.nu
initial commit
Diffstat (limited to 'nufetch.nu')
-rwxr-xr-xnufetch.nu54
1 files changed, 54 insertions, 0 deletions
diff --git a/nufetch.nu b/nufetch.nu
new file mode 100755
index 0000000..67770a6
--- /dev/null
+++ b/nufetch.nu
@@ -0,0 +1,54 @@
+#!/usr/bin/env nu
+
+let sys = (sys)
+
+let field_color = (ansi blue_bold)
+let reset = (ansi reset)
+
+def make_field [name: string, value: string] {
+ $"($field_color)($name)($reset): ($value)"
+}
+
+def user_signature [] {
+ let user = (whoami)
+ let hostname = ($sys | get host.hostname)
+ $"($user)@($hostname)"
+}
+
+def os_info [] {
+ let host = ($sys | get host)
+ let info = $"($host.name) \(($host.os_version))"
+ make_field "os" $info
+}
+
+def host_info [] {
+ let machine = (uname | get machine)
+ make_field "host" $machine
+}
+
+def kernel_info [] {
+ let kernel_version = ($sys | get host.kernel_version)
+ make_field "kernel" $kernel_version
+}
+
+def uptime_info [] {
+ let uptime = ($sys | get host.uptime | into string)
+ make_field "uptime" $uptime
+}
+
+def mem_info [] {
+ let mem = ($sys | get mem)
+ make_field "memory" $"($mem.available) / ($mem.total)"
+}
+
+let fields = [
+ (user_signature),
+ (os_info),
+ (host_info),
+ (kernel_info),
+ (uptime_info),
+ (mem_info)
+]
+
+$fields | reduce {|it| ($it | into string) ++ "\n"}
+$fields | to text