{"id":28944981,"url":"https://github.com/archetypum/tum-perl","last_synced_at":"2026-04-29T14:03:09.755Z","repository":{"id":300298568,"uuid":"989543514","full_name":"Archetypum/tum-perl","owner":"Archetypum","description":"Easy cross-platform UNIX scripting with Perl.","archived":false,"fork":false,"pushed_at":"2025-06-20T22:30:05.000Z","size":156,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-06-20T23:26:25.583Z","etag":null,"topics":["automation","bsd","cross-platform","gnu","gnu-linux","linux","open-source","package-management","perl","perl-library","perl5","service-management","system-management","unix"],"latest_commit_sha":null,"homepage":"https://github.com/Archetypum","language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Archetypum.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE-LGPLv3.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.md","dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"custom":["https://trocador.app/anonpay?ticker_to=xmr\u0026network_to=Mainnet\u0026address=49f6u6gYfiaAKDPe2EuKhPRm28Kg2UWEwMBDLiEPm69sTwq4VJEQZCyEweC5YmuvntYqsHzqRPvVrVxfMuCjBaKULZa2uWS\u0026ref=sqKNYGZbRl\u0026direct=True\u0026name=Archetypum\u0026description=Donate+some+money+to+Archetypum+so+can+write+more+slop"]}},"created_at":"2025-05-24T10:09:19.000Z","updated_at":"2025-06-20T22:30:07.000Z","dependencies_parsed_at":"2025-06-20T23:36:58.335Z","dependency_job_id":null,"html_url":"https://github.com/Archetypum/tum-perl","commit_stats":null,"previous_names":["archetypum/tum-perl"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Archetypum/tum-perl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Archetypum%2Ftum-perl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Archetypum%2Ftum-perl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Archetypum%2Ftum-perl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Archetypum%2Ftum-perl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Archetypum","download_url":"https://codeload.github.com/Archetypum/tum-perl/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Archetypum%2Ftum-perl/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261433936,"owners_count":23157196,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","bsd","cross-platform","gnu","gnu-linux","linux","open-source","package-management","perl","perl-library","perl5","service-management","system-management","unix"],"created_at":"2025-06-23T07:01:04.822Z","updated_at":"2026-04-29T14:03:09.750Z","avatar_url":"https://github.com/Archetypum.png","language":"Perl","funding_links":["https://trocador.app/anonpay?ticker_to=xmr\u0026network_to=Mainnet\u0026address=49f6u6gYfiaAKDPe2EuKhPRm28Kg2UWEwMBDLiEPm69sTwq4VJEQZCyEweC5YmuvntYqsHzqRPvVrVxfMuCjBaKULZa2uWS\u0026ref=sqKNYGZbRl\u0026direct=True\u0026name=Archetypum\u0026description=Donate+some+money+to+Archetypum+so+can+write+more+slop"],"categories":[],"sub_categories":[],"readme":"# tum-perl\n\n![TheUnixManager](https://github.com/user-attachments/assets/6c0b3fbc-1d09-4d35-9dde-33b22a468c45)\n\n**Tum (TheUnixManager)** is a universal package management and initialization system library created by **Archetypum**, designed to simplify interaction with various UNIX-like systems and streamline the creation of system-related scripts.\n\nThis is the Perl implementation of `tum`.\n\n---\n\n## Why?\n\nBecause interacting with countless package managers and init systems across UNIX-like platforms is painful — `tum` fixes that.\n\n---\n\n## Installation\n\n### Via CPAN (coming soon)\n\n```sh\ncpan install Tum  # Coming soon!\n```\n\n### Manual Build\n\n```sh\ngit clone https://github.com/Archetypum/tum-perl.git\ncd tum-perl\n\nperl Makefile.PL\nmake\nmake test\nmake install\n```\n\n## Supported Package Management Utilities (35)\n\n### Debian-based:\n\n- **apt**, **apt-get**, **apt-cache**, **apt-cdrom**, **apt-config**, **apt-extracttemplates**, **apt-listchanges**, **apt-mark**, **apt-sortpkgs**, **aptitude**, **aptitude-create-state-bundle**, **aptitude-run-state-bundle**, **dpkg**\n\n### Arch-based:\n\n- **pacman**, **yay**, **trizen**, **pamac**\n\n### Gentoo-based:\n\n- **portage** (open for pull requests)\n\n### Slackware-based:\n\n- **slackpkg**\n\n### Alpine-based:\n\n- **apk**\n\n### Void-based:\n\n- **xbps-install**, **xbps-remove**, **xbps-query**\n\n### Guix-based:\n\n- **guix**\n\n### Dragora-based:\n\n- **qi**\n\n### OpenBSD/NetBSD/FreeBSD-based:\n\n- **pkg_add**, **pkg_delete**, **pkg_create**, **pkg_info**\n\n### FreeBSD-based:\n\n- **pkg**\n\n### NetBSD-based:\n\n- **pkgin**\n\n### RedHat-based:\n\n- **yum**, **dnf**\n\n### openSUSE-based:\n\n- **zypper**, **zypper-log**\n\n### macOS-based:\n\n- **homebrew**\n\n## Supported Initialization Systems (7)\n\n- **systemd**\n\n- **sysvinit**\n\n- **openrc**\n\n- **runit**\n\n- **s6**\n\n- **dinit**\n\n- **launchd**\n\n## Documentation\n\nYou can view the module documentation using **perldoc**:\n\n```sh\nperldoc lib/Tum.pm\n\nperldoc lib/Tum/PackageManager/Apt.pm\n\nperldoc lib/Tum/InitSystem/SysVinit.pm\n```\n\n## Example Usage\n\n### UNIX:\n\n```perl\n#!/usr/bin/perl\n\nuse Tum qw(\n    get_user_distro\n    is_debian_based\n    is_arch_based\n    get_init_system\n    clear_screen\n    prompt_user\n    check_privileges\n    RED RESET\n);\n\nmy $distro = get_user_distro();\n\nif (is_debian_based($distro, @DEBIAN_BASED))\n{\n    print \"You are using a Debian-based distro.\\n\";\n}\n\nmy $init = get_init_system();\nprint \"your init system: $init\\n\";\n```\n\n### Service Management:\n\n```perl\n#!/usr/bin/perl\n\nuse Tum::InitSystem::OpenRC;\n\nmy $svc = Tum::InitSystem::OpenRC-\u003enew(\"restart\", \"sshd\");\n$svc-\u003eexecute;\n```\n\n### Package Management\n\n```perl\n#!/usr/bin/perl\n\nuse Tum::PackageManager::Apt;\n\nprint \"Installing packages...\"\nmy $pm = Tum::PackageManager::Apt::apt_install(\"neofetch\", \"htop\", \"vrms\");\n```\n\n## Other Implementations by Archetypum\n\n- [_tum-python_](https://github.com/Archetypum/tum-python)\n\n- [_tum-bash_](https://github.com/Archetypum/tum-bash)\n\n- [_tum-raku_](https://github.com/Archetypum/tum-raku)\n\n- [_tum-c_](https://github.com/Archetypum/tum-c)\n\n- [_tum-rust_](https://github.com/Archetypum/tum-rust)\n\n## Legal\n\n**tum-perl** is free software, released under the **GNU Lesser General Public License v3**.\n\nSee:\n\n- [_LICENSE-LGPLv3.md_](https://github.com/Archetypum/tum-perl/blob/master/LICENSE-LGPLv3.md)\n\n- _https://www.gnu.org/licenses/lgpl-3.0.html_\n\n- [_Free Software Foundation_](https://www.fsf.org/)\n\n![gnu](https://github.com/user-attachments/assets/66935a97-374f-4dbc-9f1c-428070fda139)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farchetypum%2Ftum-perl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farchetypum%2Ftum-perl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farchetypum%2Ftum-perl/lists"}