diff --git a/doc/json_schema.json b/doc/json_schema.json index d349c9f30..073d38863 100644 --- a/doc/json_schema.json +++ b/doc/json_schema.json @@ -449,7 +449,7 @@ "type": "string" }, "packagesFormat": { - "description": "Output format for the `Packages` module. See Wiki for formatting syntax\n 1. {am-system}: Number of am-system packages\n 2. {am-user}: Number of am-user (aka appman) packages\n 3. {appimage}: Number of appimage packages\n 4. {apk}: Number of apk packages\n 5. {brew}: Number of brew packages\n 6. {brew-cask}: Number of brew-cask packages\n 7. {cards}: Number of cards packages\n 8. {choco}: Number of choco packages\n 9. {crux}: Number of crux packages\n 10. {dpkg}: Number of dpkg packages\n 11. {emerge}: Number of emerge packages\n 12. {eopkg}: Number of eopkg packages\n 13. {flatpak-system}: Number of flatpak-system app packages\n 14. {flatpak-user}: Number of flatpak-user app packages\n 15. {guix-home}: Number of guix-home packages\n 16. {guix-system}: Number of guix-system packages\n 17. {guix-user}: Number of guix-user packages\n 18. {hpkg-system}: Number of hpkg-system packages\n 19. {hpkg-user}: Number of hpkg-user packages\n 20. {install-release}: Number of install-release packages\n 21. {kiss}: Number of kiss packages\n 22. {linglong}: Number of linglong packages\n 23. {lpkg}: Number of lpkg packages\n 24. {lpkgbuild}: Number of lpkgbuild packages\n 25. {macports}: Number of macports packages\n 26. {mport}: Number of mport packages\n 27. {moss}: Number of moss packages\n 28. {nix-default}: Number of nix-default packages\n 29. {nix-system}: Number of nix-system packages\n 30. {nix-user}: Number of nix-user packages\n 31. {opkg}: Number of opkg packages\n 32. {pacman}: Number of pacman packages\n 33. {pacman-branch}: Pacman branch on manjaro\n 34. {pacstall}: Number of pacstall packages\n 35. {paludis}: Number of paludis packages\n 36. {pisi}: Number of pisi packages\n 37. {pkg}: Number of pkg packages\n 38. {pkgsrc}: Number of pkgsrc packages\n 39. {pkgtool}: Number of pkgtool packages\n 40. {porg}: Number of porg packages\n 41. {rpm}: Number of rpm packages\n 42. {rum}: Number of rum overlay packages\n 43. {scoop-global}: Number of scoop-global packages\n 44. {scoop-user}: Number of scoop-user packages\n 45. {snap}: Number of snap packages\n 46. {soar}: Number of soar packages\n 47. {sorcery}: Number of sorcery packages\n 48. {winget}: Number of winget packages\n 49. {xbps}: Number of xbps packages\n 50. {brew-all}: Total number of all brew packages\n 51. {flatpak-all}: Total number of all flatpak app packages\n 52. {guix-all}: Total number of all guix packages\n 53. {hpkg-all}: Total number of all hpkg packages\n 54. {nix-all}: Total number of all nix packages\n 55. {all}: Number of all packages", + "description": "Output format for the `Packages` module. See Wiki for formatting syntax\n 1. {am-system}: Number of am-system packages\n 2. {am-user}: Number of am-user (aka appman) packages\n 3. {appimage}: Number of appimage packages\n 4. {apk}: Number of apk packages\n 5. {bpm}: Total number of all bpm packages\n 6. {brew}: Number of brew packages\n 7. {brew-cask}: Number of brew-cask packages\n 8. {cards}: Number of cards packages\n 9. {choco}: Number of choco packages\n 10. {crux}: Number of crux packages\n 11. {dpkg}: Number of dpkg packages\n 12. {emerge}: Number of emerge packages\n 13. {eopkg}: Number of eopkg packages\n 14. {flatpak-system}: Number of flatpak-system app packages\n 15. {flatpak-user}: Number of flatpak-user app packages\n 16. {guix-home}: Number of guix-home packages\n 17. {guix-system}: Number of guix-system packages\n 18. {guix-user}: Number of guix-user packages\n 19. {hpkg-system}: Number of hpkg-system packages\n 20. {hpkg-user}: Number of hpkg-user packages\n 21. {install-release}: Number of install-release packages\n 22. {kiss}: Number of kiss packages\n 23. {linglong}: Number of linglong packages\n 24. {lpkg}: Number of lpkg packages\n 25. {lpkgbuild}: Number of lpkgbuild packages\n 26. {macports}: Number of macports packages\n 27. {mport}: Number of mport packages\n 28. {moss}: Number of moss packages\n 29. {nix-default}: Number of nix-default packages\n 30. {nix-system}: Number of nix-system packages\n 31. {nix-user}: Number of nix-user packages\n 32. {opkg}: Number of opkg packages\n 33. {pacman}: Number of pacman packages\n 34. {pacman-branch}: Pacman branch on manjaro\n 35. {pacstall}: Number of pacstall packages\n 36. {paludis}: Number of paludis packages\n 37. {pisi}: Number of pisi packages\n 38. {pkg}: Number of pkg packages\n 39. {pkgsrc}: Number of pkgsrc packages\n 40. {pkgtool}: Number of pkgtool packages\n 41. {porg}: Number of porg packages\n 42. {rpm}: Number of rpm packages\n 43. {rum}: Number of rum overlay packages\n 44. {scoop-global}: Number of scoop-global packages\n 45. {scoop-user}: Number of scoop-user packages\n 46. {snap}: Number of snap packages\n 47. {soar}: Number of soar packages\n 48. {sorcery}: Number of sorcery packages\n 49. {winget}: Number of winget packages\n 50. {xbps}: Number of xbps packages\n 51. {brew-all}: Total number of all brew packages\n 52. {flatpak-all}: Total number of all flatpak app packages\n 53. {guix-all}: Total number of all guix packages\n 54. {hpkg-all}: Total number of all hpkg packages\n 55. {nix-all}: Total number of all nix packages\n 56. {all}: Number of all packages", "type": "string" }, "physicaldiskFormat": { diff --git a/src/detection/packages/packages.h b/src/detection/packages/packages.h index e91dfe2dc..35c05c766 100644 --- a/src/detection/packages/packages.h +++ b/src/detection/packages/packages.h @@ -8,6 +8,7 @@ typedef struct FFPackagesResult { uint32_t amUser; uint32_t apk; uint32_t appimage; + uint32_t bpm; uint32_t brew; uint32_t brewCask; uint32_t cards; diff --git a/src/detection/packages/packages_linux.c b/src/detection/packages/packages_linux.c index 2440ebec6..fdf77edb0 100644 --- a/src/detection/packages/packages_linux.c +++ b/src/detection/packages/packages_linux.c @@ -574,6 +574,9 @@ static void getPackageCounts(FFstrbuf* baseDir, FFPackagesResult* packageCounts, if (FF_PACKAGES_IS_ENABLED(options, CARDS)) { packageCounts->cards += getNumElements(baseDir, "/var/lib/pkg/DB", true); } + if (!(options->disabled & FF_PACKAGES_FLAG_BPM_BIT)) { + packageCounts->bpm += getNumElements(baseDir, "/var/lib/bpm/installed", true); + } } static void getPackageCountsRegular(FFstrbuf* baseDir, FFPackagesResult* packageCounts, FFPackagesOptions* options) { diff --git a/src/logo/ascii/t.inc b/src/logo/ascii/t.inc index 3adf4784a..1e61d3526 100644 --- a/src/logo/ascii/t.inc +++ b/src/logo/ascii/t.inc @@ -85,6 +85,19 @@ static const FFlogo T[] = { }, }, #endif + #ifdef FASTFETCH_DATATEXT_LOGO_TIDELINUX + // TideLinux + { + .names = {"Tide Linux"}, + .lines = FASTFETCH_DATATEXT_LOGO_TIDELINUX, + .colors = { + FF_COLOR_FG_256 "27", + FF_COLOR_FG_256 "39", + }, + .colorTitle = FF_COLOR_FG_BLUE, + .colorKeys = FF_COLOR_FG_MAGENTA, + }, + #endif #ifdef FASTFETCH_DATATEXT_LOGO_TORIZONCORE // Torizon OS { diff --git a/src/logo/ascii/t/tidelinux.txt b/src/logo/ascii/t/tidelinux.txt new file mode 100644 index 000000000..2d8b44e39 --- /dev/null +++ b/src/logo/ascii/t/tidelinux.txt @@ -0,0 +1,14 @@ + $1@@@@ $1@@@$2* + $1@@$2~~~~$1@@ $1@@$2~~~ + $1@@$2~~ $2~~$1@ $1@@$2~~ + $1@@$2~~ $2~$1@ $1@@@$2~~ + $2*$1@@$2~~ $1@@@@ $2~$1@@@@$2~~~ $1@@@$2* + $2~~ $1@@$2~~~~$1@@ $2~~~~ $1@@$2~~~ + $1@@$2~~ $2~~$1@ $1@@$2~~ + $1@@$2~~ $2~$1@ $1@@@$2~~ + $2*$1@@$2~~ $1@@@@ $2~$1@@@@$2~~~ $1@@@$2* + $2~~ $1@@$2~~~~$1@@ $2~~~~ $1@@$2~~~ + $1@@$2~~ $2~~$1@ $1@@$2~~ + $1@@$2~~ $2~$1@ $1@@@$2~~ + $2*$1@@$2~~ $2~$1@@@@$2~~~ + $2~~ $2~~~~ diff --git a/src/modules/packages/option.h b/src/modules/packages/option.h index 2cf734b57..44ac5a733 100644 --- a/src/modules/packages/option.h +++ b/src/modules/packages/option.h @@ -43,6 +43,7 @@ typedef enum FFPackagesFlags: uint64_t { FF_PACKAGES_FLAG_INSTALLRELEASE_BIT = UINT64_C(1) << 36U, FF_PACKAGES_FLAG_CRUX_BIT = UINT64_C(1) << 37U, FF_PACKAGES_FLAG_RUM_BIT = UINT64_C(1) << 38U, + FF_PACKAGES_FLAG_BPM_BIT = UINT64_C(1) << 39U, } FFPackagesFlags; static_assert(sizeof(FFPackagesFlags) == sizeof(uint64_t), ""); diff --git a/src/modules/packages/packages.c b/src/modules/packages/packages.c index b8b7f39b2..1cf46727f 100644 --- a/src/modules/packages/packages.c +++ b/src/modules/packages/packages.c @@ -55,6 +55,7 @@ bool ffPrintPackages(FFPackagesOptions* options) { } FF_PRINT_PACKAGE(appimage) FF_PRINT_PACKAGE(apk) + FF_PRINT_PACKAGE(bpm) if (options->combined) { FF_PRINT_PACKAGE_ALL(brew); } else { @@ -152,6 +153,7 @@ bool ffPrintPackages(FFPackagesOptions* options) { FF_ARG(counts.amUser, "am-user"), FF_ARG(counts.appimage, "appimage"), FF_ARG(counts.apk, "apk"), + FF_ARG(counts.bpm, "bpm"), FF_ARG(counts.brew, "brew"), FF_ARG(counts.brewCask, "brew-cask"), FF_ARG(counts.cards, "cards"), @@ -255,6 +257,7 @@ void ffParsePackagesJsonObject(FFPackagesOptions* options, yyjson_val* module) { if (false) ; FF_TEST_PACKAGE_NAME(BREW) + FF_TEST_PACKAGE_NAME(BPM) break; case 'C': if (false) @@ -394,6 +397,7 @@ void ffGeneratePackagesJsonConfig(FFPackagesOptions* options, yyjson_mut_doc* do FF_TEST_PACKAGE_NAME(AM) FF_TEST_PACKAGE_NAME(APK) FF_TEST_PACKAGE_NAME(APPIMAGE) + FF_TEST_PACKAGE_NAME(BPM) FF_TEST_PACKAGE_NAME(BREW) FF_TEST_PACKAGE_NAME(CARDS) FF_TEST_PACKAGE_NAME(CHOCO) @@ -456,6 +460,7 @@ bool ffGeneratePackagesJsonResult(FFPackagesOptions* options, yyjson_mut_doc* do FF_APPEND_PACKAGE_COUNT(amUser) FF_APPEND_PACKAGE_COUNT(appimage) FF_APPEND_PACKAGE_COUNT(apk) + FF_APPEND_PACKAGE_COUNT(bpm) FF_APPEND_PACKAGE_COUNT(brew) FF_APPEND_PACKAGE_COUNT(brewCask) FF_APPEND_PACKAGE_COUNT(cards) @@ -557,6 +562,7 @@ FFModuleBaseInfo ffPackagesModuleInfo = { { "Number of am-user (aka appman) packages", "am-user" }, { "Number of appimage packages", "appimage" }, { "Number of apk packages", "apk" }, + { "Number of bpm packages", "bpm" }, { "Number of brew packages", "brew" }, { "Number of brew-cask packages", "brew-cask" }, { "Number of cards packages", "cards" },