From d096e0c317c037a09ebaf0ffad1b3b3d3b0b17b9 Mon Sep 17 00:00:00 2001 From: nekohepott Date: Wed, 17 Jun 2026 04:16:23 +0300 Subject: [PATCH] =?UTF-8?q?=D0=90=D0=90=D0=90=D0=90=D0=90=D0=90=D0=90?= =?UTF-8?q?=D0=90=D0=90=20=D0=A7=D0=A2=D0=9E=20=D0=AD=D0=A2=D0=9E=20=D0=97?= =?UTF-8?q?=D0=90=20=D0=90=D0=A0=D0=A5=D0=98=D0=A2=D0=95=D0=9A=D0=A2=D0=A3?= =?UTF-8?q?=D0=A0=D0=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- assets/faster.png | 3 --- main.go | 33 +++++++++++++++++++-------------- 3 files changed, 20 insertions(+), 18 deletions(-) delete mode 100644 assets/faster.png diff --git a/README.md b/README.md index b9a97f6..c41278a 100644 --- a/README.md +++ b/README.md @@ -14,4 +14,4 @@ yeah melvi add flake for this lol, I'm not doing ts # Screenshots ![Fetch image](assets/screenshot.png "fetch") -![melvi just use lspci atp](assets/faster.png "faaaaaaster") \ No newline at end of file +it's not faster than melvi's for obvious reasons \ No newline at end of file diff --git a/assets/faster.png b/assets/faster.png deleted file mode 100644 index 8a7ee7a..0000000 --- a/assets/faster.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:32345afa8abd14271b94038fa59d661cf92fa3c5675d1e49b05c9e9445622083 -size 517273 diff --git a/main.go b/main.go index 2c453eb..1364abb 100644 --- a/main.go +++ b/main.go @@ -15,6 +15,8 @@ const ( BlueBright = "\033[94m" ) +var dist string + func getDist() string { f, _ := os.Open("/etc/os-release") defer func(f *os.File) { @@ -24,17 +26,16 @@ func getDist() string { } }(f) s := bufio.NewScanner(f) - var dist string for s.Scan() { t := s.Text() if strings.HasPrefix(t, "PRETTY_NAME") { distro := strings.TrimPrefix(t, "PRETTY_NAME=") dist = strings.Trim(distro, "\"") - break + dist = strings.TrimSpace(dist) + return dist } } - dist = strings.TrimSpace(dist) - return dist + return "unsupported distro" } func getRam() string { @@ -42,17 +43,22 @@ func getRam() string { if err != nil { return "error" } - defer f.Close() var total, available int s := bufio.NewScanner(f) for s.Scan() { line := s.Text() if strings.HasPrefix(line, "MemTotal:") { - fmt.Sscanf(line, "MemTotal: %d kB", &total) + _, err2 := fmt.Sscanf(line, "MemTotal: %d kB", &total) + if err2 != nil { + return "" + } } if strings.HasPrefix(line, "MemAvailable:") { - fmt.Sscanf(line, "MemAvailable: %d kB", &available) + _, err := fmt.Sscanf(line, "MemAvailable: %d kB", &available) + if err != nil { + return "" + } } } totalMB := total / 1024 @@ -70,7 +76,6 @@ func getCpu() string { if err != nil { return "error" } - defer f.Close() var cpu string s := bufio.NewScanner(f) @@ -135,17 +140,17 @@ func getHostname() string { func getPkgs() string { var pkgs string - if strings.HasPrefix(getDist(), "Arch") { + if strings.HasPrefix(dist, "Arch") { out, _ := exec.Command("sh", "-c", "pacman -Qq | wc -l").Output() pkgs = strings.TrimSpace(string(out)) + " (pacman)" return pkgs } - if strings.HasPrefix(getDist(), "Debian") { + if strings.HasPrefix(dist, "Debian") { out, _ := exec.Command("sh", "-c", "dpkg -l | grep ^ii | wc -l").Output() pkgs = strings.TrimSpace(string(out)) + " (apt)" return pkgs } - if strings.HasPrefix(getDist(), "NixOS") { + if strings.HasPrefix(dist, "NixOS") { out, _ := exec.Command("sh", "-c", "nix-env -qa --installed | wc -l").Output() pkgs = strings.TrimSpace(string(out)) + " (nix)" return pkgs @@ -155,7 +160,7 @@ func getPkgs() string { func getAscii() string { var ascii string - if strings.HasPrefix(getDist(), "Arch") { + if strings.HasPrefix(dist, "Arch") { content, err := os.ReadFile("ascii/arch.txt") if err != nil { return "no ascii, but thats arch btw\n" @@ -163,7 +168,7 @@ func getAscii() string { ascii = fmt.Sprintf(string(content)) return ascii } - if strings.HasPrefix(getDist(), "Debian") { + if strings.HasPrefix(dist, "Debian") { content, err := os.ReadFile("ascii/debian.txt") if err != nil { return "no ascii, but thats necrokall\n" @@ -171,7 +176,7 @@ func getAscii() string { ascii = fmt.Sprintf(string(content)) return ascii } - if strings.HasPrefix(getDist(), "NixOS") { + if strings.HasPrefix(dist, "NixOS") { content, err := os.ReadFile("ascii/nix.txt") if err != nil { return "no ascii, but thats NIX POBEDA\n"