diff --git a/doc/json_schema.json b/doc/json_schema.json index d64c5796bb..850c8d8504 100644 --- a/doc/json_schema.json +++ b/doc/json_schema.json @@ -446,7 +446,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. {scoop-global}: Number of scoop-global packages\n 43. {scoop-user}: Number of scoop-user packages\n 44. {snap}: Number of snap packages\n 45. {soar}: Number of soar packages\n 46. {sorcery}: Number of sorcery packages\n 47. {winget}: Number of winget packages\n 48. {xbps}: Number of xbps packages\n 49. {brew-all}: Total number of all brew packages\n 50. {flatpak-all}: Total number of all flatpak app packages\n 51. {guix-all}: Total number of all guix packages\n 52. {hpkg-all}: Total number of all hpkg packages\n 53. {nix-all}: Total number of all nix packages\n 54. {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. {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. {scoop-global}: Number of scoop-global packages\n 43. {scoop-user}: Number of scoop-user packages\n 44. {snap}: Number of snap packages\n 45. {soar}: Number of soar packages\n 46. {sorcery}: Number of sorcery packages\n 47. {winget}: Number of winget packages\n 48. {xbps}: Number of xbps packages\n 49. {brew-all}: Total number of all brew packages\n 50. {flatpak-all}: Total number of all flatpak app packages\n 51. {guix-all}: Total number of all guix packages\n 52. {hpkg-all}: Total number of all hpkg packages\n 53. {nix-all}: Total number of all nix packages\n 54. {emerald}: Number of emerald packages\n 55. {all}: Number of all packages", "type": "string" }, "physicaldiskFormat": { @@ -3774,6 +3774,7 @@ "choco", "crux", "dpkg", + "emerald", "emerge", "eopkg", "flatpak", diff --git a/src/detection/packages/packages.h b/src/detection/packages/packages.h index b7d9c90eb7..f5fcdc9073 100644 --- a/src/detection/packages/packages.h +++ b/src/detection/packages/packages.h @@ -14,6 +14,7 @@ typedef struct FFPackagesResult { uint32_t choco; uint32_t crux; uint32_t dpkg; + uint32_t emerald; uint32_t emerge; uint32_t eopkg; uint32_t flatpakSystem; diff --git a/src/detection/packages/packages_linux.c b/src/detection/packages/packages_linux.c index 1ad1124cb7..4bb49162c3 100644 --- a/src/detection/packages/packages_linux.c +++ b/src/detection/packages/packages_linux.c @@ -496,6 +496,9 @@ static void getPackageCounts(FFstrbuf* baseDir, FFPackagesResult* packageCounts, if (FF_PACKAGES_IS_ENABLED(options, LPKG)) { packageCounts->lpkg += getNumStrings(baseDir, "/opt/Loc-OS-LPKG/installed-lpkg/Listinstalled-lpkg.list", "\n", "lpkg"); } + if (FF_PACKAGES_IS_ENABLED(options, EMERALD)) { + packageCounts->emerald += getNumElements(baseDir, "/var/lib/emerald/db", false); + } if (FF_PACKAGES_IS_ENABLED(options, EMERGE)) { packageCounts->emerge += getEmergePackages(baseDir, "/var/db/pkg"); } diff --git a/src/logo/ascii/v.inc b/src/logo/ascii/v.inc index 0ad596957f..a6862a722c 100644 --- a/src/logo/ascii/v.inc +++ b/src/logo/ascii/v.inc @@ -165,6 +165,31 @@ static const FFlogo V[] = { .colorTitle = FF_COLOR_FG_GREEN, }, #endif + #ifdef FASTFETCH_DATATEXT_LOGO_VYLEN + // Vylen Linux + { + .names = { "Vylen" }, + .lines = FASTFETCH_DATATEXT_LOGO_VYLEN, + .colors = { + FF_COLOR_FG_GREEN + }, + .colorKeys = FF_COLOR_FG_GREEN, + .colorTitle = FF_COLOR_FG_GREEN, + }, + #endif + #ifdef FASTFETCH_DATATEXT_LOGO_VYLEN_SMALL + // Vylen Linux small + { + .names = { "Vylen_small" }, + .type = FF_LOGO_LINE_TYPE_SMALL_BIT, + .lines = FASTFETCH_DATATEXT_LOGO_VYLEN_SMALL, + .colors = { + FF_COLOR_FG_GREEN + }, + .colorKeys = FF_COLOR_FG_GREEN, + .colorTitle = FF_COLOR_FG_GREEN, + }, + #endif // LAST {}, }; diff --git a/src/logo/ascii/v/vylen.txt b/src/logo/ascii/v/vylen.txt new file mode 100644 index 0000000000..2577a4d895 --- /dev/null +++ b/src/logo/ascii/v/vylen.txt @@ -0,0 +1,19 @@ + .^^^^^^: :^^^^^^. + .:^^^^^^^: :^^^^^^^:. + .^^^^^^^^^^: :^^^^^^^^^^. + .^^^^^^^^^^^^: :^^^^^^^^^^^^. + .^^^^^^^^^^^^^^: :^^^^^^^^^^^^^^. +.^^^^^^^^^^^^^^^^: :^^^^^^^^^^^^^^^^: +^^^^^^^^^^^^^^^^^: :^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^~: :~^^^^^^^^^^^^^^^^ +.................. .................. + +.................. .................. +^^^^^^^^^^^^^^^^~: :~^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^: :^^^^^^^^^^^^^^^^^ +.^^^^^^^^^^^^^^^^: :^^^^^^^^^^^^^^^^. + .^^^^^^^^^^^^^^^::::^^^^^^^^^^^^^^^. + .^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^. + .^^^^^^^^^^^^^^^^^^^^^^^^^^. + .:^^^^^^^^^^^^^^^^^^^^:. + .^^^^^^^^^^^^^^^^^^. \ No newline at end of file diff --git a/src/logo/ascii/v/vylen_small.txt b/src/logo/ascii/v/vylen_small.txt new file mode 100644 index 0000000000..2721fc3efd --- /dev/null +++ b/src/logo/ascii/v/vylen_small.txt @@ -0,0 +1,13 @@ + :~!!!~. .~!!!~: + :~!!!!!~. .~!!!!!~: + :~!!!!!!!~. .~!!!!!!!~: +:~!!!!!!!!!~. .~!!!!!!!!!~: +!!!!!!!!!!!!. .!!!!!!!!!!!! +~~~~~~~~~~~^ ^~~~~~~~~~~~ + +~~~~~~~~~~~^ ^~~~~~~~~~~~ +!!!!!!!!!!!! !!!!!!!!!!!! +:~!!!!!!!!!!:.:!!!!!!!!!!~: + :~!!!!!!!!!!!!!!!!!!!~: + :~!!!!!!!!!!!!!!!~: + :~!!!!!!!!!!!~: \ No newline at end of file diff --git a/src/modules/packages/option.h b/src/modules/packages/option.h index ce96a3c8ea..ab0db09823 100644 --- a/src/modules/packages/option.h +++ b/src/modules/packages/option.h @@ -42,6 +42,7 @@ typedef enum FFPackagesFlags: uint64_t { FF_PACKAGES_FLAG_PORG_BIT = UINT64_C(1) << 35U, FF_PACKAGES_FLAG_INSTALLRELEASE_BIT = UINT64_C(1) << 36U, FF_PACKAGES_FLAG_CRUX_BIT = UINT64_C(1) << 37U, + FF_PACKAGES_FLAG_EMERALD_BIT = UINT64_C(1) << 38U, } FFPackagesFlags; static_assert(sizeof(FFPackagesFlags) == sizeof(uint64_t), ""); diff --git a/src/modules/packages/packages.c b/src/modules/packages/packages.c index cae7da8b4b..2ae10027cb 100644 --- a/src/modules/packages/packages.c +++ b/src/modules/packages/packages.c @@ -65,6 +65,7 @@ bool ffPrintPackages(FFPackagesOptions* options) { FF_PRINT_PACKAGE(choco) FF_PRINT_PACKAGE(crux) FF_PRINT_PACKAGE(dpkg) + FF_PRINT_PACKAGE(emerald) FF_PRINT_PACKAGE(emerge) FF_PRINT_PACKAGE(eopkg) if (options->combined) { @@ -157,6 +158,7 @@ bool ffPrintPackages(FFPackagesOptions* options) { FF_ARG(counts.choco, "choco"), FF_ARG(counts.crux, "crux"), FF_ARG(counts.dpkg, "dpkg"), + FF_ARG(counts.emerald, "emerald"), FF_ARG(counts.emerge, "emerge"), FF_ARG(counts.eopkg, "eopkg"), FF_ARG(counts.flatpakSystem, "flatpak-system"), @@ -269,6 +271,7 @@ void ffParsePackagesJsonObject(FFPackagesOptions* options, yyjson_val* module) { case 'E': if (false) ; + FF_TEST_PACKAGE_NAME(EMERALD) FF_TEST_PACKAGE_NAME(EMERGE) FF_TEST_PACKAGE_NAME(EOPKG) break; @@ -395,6 +398,7 @@ void ffGeneratePackagesJsonConfig(FFPackagesOptions* options, yyjson_mut_doc* do FF_TEST_PACKAGE_NAME(CHOCO) FF_TEST_PACKAGE_NAME(CRUX) FF_TEST_PACKAGE_NAME(DPKG) + FF_TEST_PACKAGE_NAME(EMERALD) FF_TEST_PACKAGE_NAME(EMERGE) FF_TEST_PACKAGE_NAME(EOPKG) FF_TEST_PACKAGE_NAME(FLATPAK) @@ -457,6 +461,7 @@ bool ffGeneratePackagesJsonResult(FFPackagesOptions* options, yyjson_mut_doc* do FF_APPEND_PACKAGE_COUNT(choco) FF_APPEND_PACKAGE_COUNT(crux) FF_APPEND_PACKAGE_COUNT(dpkg) + FF_APPEND_PACKAGE_COUNT(emerald) FF_APPEND_PACKAGE_COUNT(emerge) FF_APPEND_PACKAGE_COUNT(eopkg) FF_APPEND_PACKAGE_COUNT(flatpakSystem) @@ -556,6 +561,7 @@ FFModuleBaseInfo ffPackagesModuleInfo = { { "Number of choco packages", "choco" }, { "Number of crux packages", "crux" }, { "Number of dpkg packages", "dpkg" }, + { "Number of emerald packages", "emerald" }, { "Number of emerge packages", "emerge" }, { "Number of eopkg packages", "eopkg" }, { "Number of flatpak-system app packages", "flatpak-system" },