diff --git a/README.md b/README.md index 106d23cdb..4e52a09d1 100644 --- a/README.md +++ b/README.md @@ -60,7 +60,7 @@ AlmaLinux, Alpine, Android, Arch, Arco, Artix, Bedrock, CachyOS, CentOS, Debian, ##### Package managers ``` -Pacman, dpkg, rpm, emerge, xbps, nix, Flatpak, Snap +Pacman, dpkg, rpm, emerge, xbps, nix, Flatpak, Snap, apk ``` ##### WM themes diff --git a/src/fastfetch.c b/src/fastfetch.c index aa32dd3aa..e5d069308 100644 --- a/src/fastfetch.c +++ b/src/fastfetch.c @@ -107,7 +107,7 @@ static inline void printCommandHelp(const char* command) } else if(strcasecmp(command, "packages-format") == 0) { - constructAndPrintCommandHelpFormat("packages", "{2} (pacman){?3}[{3}]{?}, {4} (dpkg), {5} (rpm), {6} (emerge), {7} (xbps), {8} (nix-user), {9} (nix-default), {10} (flatpak), {11} (snap)", 11, + constructAndPrintCommandHelpFormat("packages", "{2} (pacman){?3}[{3}]{?}, {4} (dpkg), {5} (rpm), {6} (emerge), {7} (xbps), {8} (nix-user), {9} (nix-default), {10} (flatpak), {11} (snap), {12} (apk)", 12, "Number of all packages", "Number of pacman packages", "Pacman branch on manjaro", @@ -119,7 +119,8 @@ static inline void printCommandHelp(const char* command) "Number of nix-user packages", "Number of nix-default packages", "Number of flatpak packages", - "Number of snap packages" + "Number of snap packages", + "Number of apk packages" ); } else if(strcasecmp(command, "shell-format") == 0) diff --git a/src/modules/packages.c b/src/modules/packages.c index d01721ff1..685038c49 100644 --- a/src/modules/packages.c +++ b/src/modules/packages.c @@ -25,6 +25,7 @@ typedef struct PackageCounts uint32_t nixDefault; uint32_t flatpak; uint32_t snap; + uint32_t apk; FFstrbuf pacmanBranch; } PackageCounts; @@ -270,6 +271,11 @@ static void getPackageCounts(const FFinstance* instance, FFstrbuf* baseDir, Pack packageCounts->snap += (snap - 1); //Accounting for the /snap/bin folder ffStrbufSubstrBefore(baseDir, baseDirLength); + //apk + ffStrbufAppendS(baseDir, "/lib/apk/db/installed"); + packageCounts->apk += getNumStrings(baseDir->chars, "C:Q"); + ffStrbufSubstrBefore(baseDir, baseDirLength); + //pacman branch ffStrbufAppendS(baseDir, "/etc/pacman-mirrors.conf"); if(ffParsePropFile(baseDir->chars, "Branch =", &packageCounts->pacmanBranch) && packageCounts->pacmanBranch.length == 0) @@ -337,7 +343,7 @@ void ffPrintPackages(FFinstance* instance) ffStrbufDestroy(&baseDir); - uint32_t all = counts.pacman + counts.dpkg + counts.rpm + counts.emerge + counts.xbps + counts.nixSystem + nixUser + counts.nixDefault + counts.flatpak + counts.snap; + uint32_t all = counts.pacman + counts.dpkg + counts.rpm + counts.emerge + counts.xbps + counts.nixSystem + nixUser + counts.nixDefault + counts.flatpak + counts.snap + counts.apk; if(all == 0) { ffPrintError(instance, FF_PACKAGES_MODULE_NAME, 0, &instance->config.packages, "No packages from known package managers found"); @@ -393,6 +399,7 @@ void ffPrintPackages(FFinstance* instance) FF_PRINT_PACKAGE(flatpak) FF_PRINT_PACKAGE(snap) + FF_PRINT_PACKAGE(apk) //Fix linter warning of unused value of all (void) all;