refactor package count logic again (more clean code(по заветам melvi))

This commit is contained in:
nekohepott 2026-06-17 04:16:27 +03:00
parent bc28808baf
commit 88a82697dd
No known key found for this signature in database

View File

@ -11,116 +11,28 @@ func pathExists(path string) bool {
return err == nil
}
func getNixOS() string {
if pathExists("/nix/store") {
pkgs, err := os.ReadDir("/nix/store")
func getPmPackages(packagerName string, packagerPath string) string {
if pathExists(packagerPath) {
pkgs, err := os.ReadDir(packagerPath)
if err != nil {
return "error reading /nix/store"
return "error reading " + packagerPath
}
return strconv.Itoa(len(pkgs)) + " (nix)"
}
return ""
}
func getPacman() string {
if pathExists("/var/lib/pacman/local") {
pkgs, err := os.ReadDir("/var/lib/pacman/local")
if err != nil {
return "error reading /var/lib/pacman/local"
}
return strconv.Itoa(len(pkgs)-1) + " (pacman)"
}
return ""
}
func getApt() string {
if pathExists("/var/lib/apt") {
pkgs, err := os.ReadDir("/var/lib/apt")
if err != nil {
return "error reading /var/lib/apt"
}
return strconv.Itoa(len(pkgs)) + " (apt)"
}
return ""
}
func getDnf() string {
if pathExists("/var/lib/dnf") {
pkgs, err := os.ReadDir("/var/lib/dnf")
if err != nil {
return "error reading /var/lib/dnf"
}
return strconv.Itoa(len(pkgs)) + " (dnf)"
}
return ""
}
func getFlatpak() string {
if pathExists("/usr/bin/flatpak") {
pkgs, err := os.ReadDir("/var/lib/flatpak")
if err != nil {
return "error reading /var/lib/flatpak"
}
return strconv.Itoa(len(pkgs)) + " (flatpak)"
}
return ""
}
func getZypper() string {
if pathExists("/var/lib/zypp") {
pkgs, err := os.ReadDir("/var/lib/zypp")
if err != nil {
return "error reading /var/lib/zypp"
}
return strconv.Itoa(len(pkgs)) + " (zypper)"
}
return ""
}
func getXbps() string {
if pathExists("/var/db/xbps") {
pkgs, err := os.ReadDir("/var/db/xbps")
if err != nil {
return "error reading /var/db/xbps"
}
return strconv.Itoa(len(pkgs)) + " (xbps)"
}
return ""
}
func getPortage() string {
if pathExists("/var/lib/portage") {
pkgs, err := os.ReadDir("/var/lib/portage")
if err != nil {
return "error reading /var/lib/portage"
}
return strconv.Itoa(len(pkgs)) + " (emerge)"
}
return ""
}
func getNix() string {
if pathExists("~/.nix-profile") {
pkgs, err := os.ReadDir("~/.nix-profile/lib/nix/profiles/per-user")
if err != nil {
return "error reading ~/.nix-profile/lib/nix/profiles/per-user"
}
return strconv.Itoa(len(pkgs)) + " (nix)"
return strconv.Itoa(len(pkgs)) + " (" + packagerName + ")"
}
return ""
}
func GetPkgs() string {
rawPkgs := []string{
getPacman(),
getNixOS(),
getNix(),
getXbps(),
getDnf(),
getZypper(),
getApt(),
getPortage(),
getFlatpak(),
getPmPackages("pacman", "/var/lib/pacman/local"),
getPmPackages("apt", "/var/lib/apt"),
getPmPackages("dnf", "/var/lib/dnf"),
getPmPackages("flatpak", "/var/lib/flatpak"),
getPmPackages("zypper", "/var/lib/zypp"),
getPmPackages("xbps", "/var/db/xbps"),
getPmPackages("emerge", "/var/lib/portage"),
getPmPackages("nix-user", "~/.nix-profile/lib/nix/profiles/per-user"),
getPmPackages("nix", "/nix/store"),
}
var pkgsList []string
for _, p := range rawPkgs {