From 59bee3d639caa5a831ce20f9e663671a49f3d1fd Mon Sep 17 00:00:00 2001 From: seth Date: Sun, 26 May 2024 07:05:30 -0400 Subject: initial commit --- nufetch.nu | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100755 nufetch.nu (limited to 'nufetch.nu') 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 -- cgit v1.2.3