Commit Graph

112 Commits

Author SHA1 Message Date
李通洲 75d2c668d0 Modules: refactor module option handling for static allocation
Moves module option structs out of global config and removes dynamic allocation, using static buffers and size assertions for safer, simpler management.

Refactors module initialization and destruction to work with isolated option structs, eliminating the need for the previous modules container and related code.

Unifies module option header usage and updates detection logic to leverage statically-sized option buffers, improving encapsulation and maintainability.

Simplifies module function signatures and reduces coupling between modules and config.

Enhances future extensibility and reliability by enforcing max size constraints and removing unnecessary indirections.
2025-08-04 14:46:01 +08:00
李通洲 3cef51ec4a JsonConfig: refactor string buffer JSON handling for robustness 2025-08-02 17:41:19 +08:00
李通洲 ca79bae36e Packages (Windows): find scoop installation path by parsing scoop config file 2025-07-29 19:29:40 +08:00
李通洲 4909d693e3 Packages (Windows): don't rely on the existance of $SCOOP when detecting scoop packages
Fix #1868
2025-07-28 23:41:48 +08:00
李通洲 b60996bcd1 Packages (Linux): remove qi support
Close #1858
2025-07-21 14:19:12 +08:00
李通洲 272c0aad9c Packages (Linux): improve accuracy of flatpak count detection
Fix #1856
2025-07-21 14:06:19 +08:00
Juan Llamas 5011edc9d9 Packages (Linux): clean up nix user package detection 2025-07-12 23:57:51 +08:00
Juan Llamas 94a5228ffc Packages (Linux): add /etc/profiles/per-user detection for nix user packages 2025-07-12 23:57:51 +08:00
Carter Li f1cc2d124c Packages (OpenBSD): fix counting by ignoring hidden folders 2025-06-13 20:38:51 +08:00
Carter Li 4b2fa07fdc Packages (Linux): fix dnf package count detection (v2) 2025-06-03 10:53:02 +08:00
Carter Li e203f4eeaf Packages (Linux): fix dnf package count detection
Fix #1777
2025-06-03 09:33:43 +08:00
李通洲 7a8ffb27bd Packages: split code 2025-05-26 15:12:47 +08:00
Rabindra Dhakal 8d5d8b4c90 Packages (Linux): add soar packages count (#1531)
* add soar packages count

* use || instead of concat for better compatibility with older SQLite versions

* convert package flags to 64-bit
2025-04-05 23:54:27 +08:00
李通洲 b662db452f Packages (Linux): add pkgsrc detection
We will not add pkgsrc detection for macOS unless someone can verify it.

Ref: https://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/sysutils/fastfetch/patches/patch-src_detection_packages_packages__linux.c?rev=1.1;content-type=text%2Fplain
2025-03-19 14:59:59 +08:00
Kerem Gökcek 4f4622eab9 Packages (Linux): Add support for Pisi Linux (#1580) 2025-02-24 15:29:14 +08:00
李通洲 13723893ba Packages (Haiku): rename package manager name to hpkg 2025-02-18 10:38:14 +08:00
François Revol 01f400c15f Haiku: minimal implementation (#1538) 2025-02-05 09:08:28 +08:00
李通洲 5137a9e7a4 Packages: fix file type check 2025-01-18 19:34:50 +08:00
李通洲 f76981c241 Packages (SunOS): fix building 2025-01-17 15:58:09 +08:00
李通洲 85050f7ff1 Packages: add pkgsrc; code refactor
Fix #1515
2025-01-17 11:01:47 +08:00
Carter Li 8b3017c0d9 Packages (Linux): remove possible final newlines in am config 2025-01-08 10:28:13 +08:00
Carter Li b282ac5d47 Packages (Linux): support am-user
Fix #771
2025-01-08 09:46:12 +08:00
Carter Li 637c37e81c Packages (macOS): remove redundant tokens 2025-01-05 17:28:01 +08:00
李通洲 eae0fee032 Packages (OpenBSD): fix a typo that prevents package counting from working 2024-12-18 14:24:13 +08:00
李通洲 7c8250c68c StringUtil: rename ffStrCopy and correctly reflect its usage 2024-11-11 18:02:23 +08:00
李通洲 5e7d9ed45e Packages (Linux): add qi support 2024-11-11 17:37:01 +08:00
李通洲 7fab6f27ee Packages (BSD): support mport 2024-11-10 12:47:26 +08:00
Carter Li 3f41306c91 Packages (NetBSD): add support 2024-10-30 22:42:46 +08:00
李通洲 b257134d74 Chore: introduce macro ARRAY_SIZE 2024-10-18 16:44:41 +08:00
李通洲 48bb5b8746 Chore: use ffStrCopyN instead of strlcpy 2024-10-17 22:29:38 +08:00
李通洲 67a35c92ff Chore (Linux): code cleanup 2024-10-15 21:43:41 +08:00
Carter Li 1c598add39 Chore (Linux): always ignore hidden files when enumerating directories 2024-10-15 10:16:58 +08:00
apocelipes 84cc9e3b15 Chore: fix some unused paramater/function warnings (#1324) 2024-10-06 23:01:49 +08:00
Carter Li a32d9d788c OpenBSD: init platform support 2024-10-04 17:49:18 +08:00
李通洲 c936d170b2 Packages (Linux): support pacstall 2024-09-22 12:30:37 +08:00
李通洲 a77d972834 Packages (Linux): count flatpak runtime packages
Fix #1085
2024-09-22 12:21:56 +08:00
李通洲 a1f0570a96 Chore: fix typos 2024-09-13 22:26:47 +08:00
李通洲 cd11a9dff4 Packages (Windows): fix compiling 2024-09-13 21:31:25 +08:00
李通洲 9faa38296a Packages: don't cache values if we fail to acquire modify time 2024-09-13 16:37:22 +08:00
Carter Li af450ae788 Packages (FreeBSD): cache result 2024-09-13 10:02:50 +08:00
Carter Li 03c901b260 Packages (Linux): cache result based on mtime 2024-09-13 09:12:13 +08:00
李通洲 c9d539090d Global: remove --lib-xxx support 2024-09-04 15:56:11 +08:00
Amaro Martínez 5b78b2e897 Packages (Linux): add Linglong support (#1214)
Support for counting Linglong applications installed in Deepin, Ubuntu and Debian distros.

Packages are installed using the ``ll-cli`` package manager frontend:
https://linglong.dev/guide/ll-cli/introduction.html#ll-cli%E7%AE%80%E4%BB%8B

---------

Co-authored-by: Carter Li <CarterLi@users.noreply.github.com>
2024-08-26 09:19:14 +08:00
李通洲 060544b899 Packages (Linux): detect flatpak-app only
The runtime packages detection was inaccurate. The official `flatpak
list` ignores some packages (notablily *.Locale) but the logic is
currently unknown.
2024-07-03 20:01:27 +08:00
Carter Li 1841e1a99d SunOS: support CPU & packages detection 2024-06-17 01:01:21 +08:00
Carter Li d35490aeef Fastfetch: make it compile on SunOS 2024-06-16 01:02:48 +08:00
Dariqq 999f52b0b7 Packages (Linux): Improve speed of Guix package detection. (#999)
Instead of waiting for guix to parse the manifest file of a profile
parse it directly by counting "/gnu/store" entries and fitlering out duplicates.

The new implementation now also accounts for propagated-inputs of packages.

Co-authored-by: Carter Li <zhangsongcui3371@sina.com>
2024-06-06 10:06:56 +00:00
李通洲 0b75caaf96 Chore: strcasecmp => ffStrEqualsIgnCase 2024-06-03 14:17:01 +08:00
Carter Li 3ba899261f Util: add ffCharIsDigit and use it 2024-05-28 15:34:59 +08:00
Dariqq 965777323e Packages (Linux): Add Guix package manager. (#972)
- Add 3 new count results: guixHome, guixSystem and guixUser.
- Add initial detection logic based on neofetch.
- Add a guixAll variable as sum of all guix results.
- Add options to disable guix detection.
2024-05-28 08:50:18 +08:00