diff options
Diffstat (limited to 'home-configuration/managed/fetchit')
| -rw-r--r-- | home-configuration/managed/fetchit/default.nix | 19 | ||||
| -rw-r--r-- | home-configuration/managed/fetchit/init.lua | 70 |
2 files changed, 17 insertions, 72 deletions
diff --git a/home-configuration/managed/fetchit/default.nix b/home-configuration/managed/fetchit/default.nix index 65d0592..2065c79 100644 --- a/home-configuration/managed/fetchit/default.nix +++ b/home-configuration/managed/fetchit/default.nix @@ -1,8 +1,23 @@ -{ ... }: +{ inputs, ... }: { + imports = [ inputs.fetchit.homeManagerModules.default ]; + programs.fetchit = { enable = true; - config = builtins.readFile ./init.lua; + logoFileName = "nix.txt"; logo = builtins.readFile ./logos/nix.txt; + + rows = [ + { label = "os"; color = "cyan"; value = ''string.lower(os.name .. " @ " .. kernel.sysname .. " " .. kernel.release)''; } + { label = "wm"; color = "cyan"; value = ''"niri wm (v26.04)"''; } + { label = "res"; color = "cyan"; value = ''"(<)/1920x1080, (>)/1920x1080"''; } + { label = "cpu"; color = "red"; value = ''"ryzen 7 5700g"''; } + { label = "gpu"; color = "red"; value = ''"radeon rx 6800xt"''; } + { label = "ram"; color = "magenta"; value = ''string.format("%.1fgb/%.1fgb (%.1f%%)", memory.used_gb, memory.total_gb, memory.percent)''; } + { label = "disk"; color = "yellow"; value = ''string.format("%.1fgb/%.1fgb", disk.used_gb, disk.total_gb)''; } + { label = "shell"; color = "blue"; value = ''string.lower(shell.name)''; } + { label = "term"; color = "bright_cyan"; value = ''string.lower(terminal.name)''; } + { label = "ip"; color = "red"; value = ''string.lower(run([[ip -4 -o addr show scope global | grep -oE "([0-9]{1,3}.){3}[0-9]{1,3}" | head -1]]))''; } + ]; }; } diff --git a/home-configuration/managed/fetchit/init.lua b/home-configuration/managed/fetchit/init.lua deleted file mode 100644 index cb5c180..0000000 --- a/home-configuration/managed/fetchit/init.lua +++ /dev/null @@ -1,70 +0,0 @@ -local function run(cmd) - local f = io.popen(cmd) - local out = f:read("*a") - f:close() - return out:gsub("%s+$", "") -end - -local use_color = true - -local function c(fn, text) - if use_color then - return fn(text) - end - return text -end - -column_padding = 2 - -local config_dir = os.getenv("HOME") .. "/.config/fetchit" - -local function load_logo(path) - local lines = {} - for line in io.lines(path) do - table.insert(lines, line) - end - return lines -end - -local function colored_logo(path) - local lines = load_logo(path) - local out = {} - for i, line in ipairs(lines) do - out[i] = c(color.blue, line) - end - return out -end - -function fetch() - local ip = run("ip -4 -o addr show scope global | awk '{print $4}' | cut -d/ -f1 | head -1") - local title = user.name .. "@" .. host.name - local sep = string.rep("-", #title) - - local title_out - if use_color then - title_out = color.green(user.name) .. color.bold(color.green("@")) .. color.green(host.name) - else - title_out = user.name .. color.bold(color.blue("@")) .. host.name - end - - return { - columns = { - colored_logo(config_dir .. "/logos/nix.txt"), - { - title_out, - sep, - c(color.cyan, "os: ") .. string.lower(os.name .. " @ " .. kernel.sysname .. " " .. kernel.release), - c(color.cyan, "wm: ") .. "niri wm (v26.04)", - c(color.cyan, "res: ") .. "(<)/1920x1080, (>)/1920x1080", - c(color.red, "cpu: ") .. "ryzen 7 5700g", - c(color.red, "gpu: ") .. "radeon rx 6800xt", - c(color.magenta, "ram: ") .. - string.format("%.1fgb/%.1fgb (%.1f%%)", memory.used_gb, memory.total_gb, memory.percent), - c(color.yellow, "disk: ") .. string.format("%.1fgb/%.1fgb", disk.used_gb, disk.total_gb), - c(color.blue, "shell: ") .. string.lower(shell.name), - c(color.bright_cyan, "term: ") .. string.lower(terminal.name), - c(color.red, "ip: ") .. string.lower(ip), - } - } - } -end |
