{"id":15148700,"url":"https://github.com/cyclenerd/postinstall","last_synced_at":"2025-05-07T00:02:34.814Z","repository":{"id":38708480,"uuid":"75111787","full_name":"Cyclenerd/postinstall","owner":"Cyclenerd","description":"💻 Bash Script to automate post-installation steps","archived":false,"fork":false,"pushed_at":"2023-08-18T14:41:19.000Z","size":246,"stargazers_count":157,"open_issues_count":4,"forks_count":36,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-05-07T00:02:24.139Z","etag":null,"topics":["alpine-linux","arch-linux","bash","centos","cygwin","debian","fedora","freebsd","hacktoberfest","macos","netbsd","openbsd","openwrt","postinstall","redhat","slackware","suse","termux","ubuntu"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Cyclenerd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"Cyclenerd"}},"created_at":"2016-11-29T18:52:41.000Z","updated_at":"2025-03-20T06:02:00.000Z","dependencies_parsed_at":"2025-01-10T07:35:07.526Z","dependency_job_id":"634043b8-5553-4cf1-bf8d-12186d09e572","html_url":"https://github.com/Cyclenerd/postinstall","commit_stats":{"total_commits":129,"total_committers":6,"mean_commits":21.5,"dds":"0.054263565891472854","last_synced_commit":"e73f5fa345eb1e71114a4700814de37930473959"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cyclenerd%2Fpostinstall","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cyclenerd%2Fpostinstall/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cyclenerd%2Fpostinstall/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cyclenerd%2Fpostinstall/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Cyclenerd","download_url":"https://codeload.github.com/Cyclenerd/postinstall/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252788517,"owners_count":21804285,"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":["alpine-linux","arch-linux","bash","centos","cygwin","debian","fedora","freebsd","hacktoberfest","macos","netbsd","openbsd","openwrt","postinstall","redhat","slackware","suse","termux","ubuntu"],"created_at":"2024-09-26T13:21:51.608Z","updated_at":"2025-05-07T00:02:34.706Z","avatar_url":"https://github.com/Cyclenerd.png","language":"Shell","readme":"# postinstall.sh\n\n[![ShellCheck](https://github.com/Cyclenerd/postinstall/actions/workflows/shellcheck.yml/badge.svg?branch=master)](https://github.com/Cyclenerd/postinstall/actions/workflows/shellcheck.yml)\n[![Ubuntu 20.04 LTS](https://github.com/Cyclenerd/postinstall/actions/workflows/ubuntu_2004.yml/badge.svg?branch=master)](https://github.com/Cyclenerd/postinstall/actions/workflows/ubuntu_2004.yml)\n\nBash Script to automate post-installation steps.\nHelps to install packages on different operating systems:\n\n* [x] Alpine Linux\n* [x] Android (Termux)\n* [x] Apple macOS\n* [x] Arch Linux\n* [x] CentOS\n* [x] Debian\n* [x] Fedora\n* [x] FreeBSD\n* [x] Haiku\n* [x] Mageia\n* [x] NetBSD\n* [x] OpenBSD\n* [x] OpenWRT\n* [x] Puppy\n* [x] RedHat\n* [x] RockyLinux\n* [x] Slackware\n* [x] SUSE\n* [x] Ubuntu\n* [x] Windows (Cygwin)\n\n## Overview\n\n`postinstall.sh` is simple bash shell script which in turn generates scripts.\nThe generation depends on the operating system and type of installation.\nThe templates that are included in the generation can be stored in the file system or on a web server.\nThis can also be your GitHub repository.\nJust fork this repository and edit it according to your needs.\n\n`postinstall.sh` is not a configuration management system.\nIf you want to install many servers automatically, you should look at [ansible](https://github.com/ansible/ansible).\nBut if you want to quickly reinstall your laptop or Raspberry Pi, `postinstall.sh` can help you.\n\n__Please check the [Wiki](https://github.com/Cyclenerd/postinstall/wiki/postinstall.sh) for more information.__\n\n\n## Installation\n\nDownload:\n\n```shell\ncurl -O \"https://raw.githubusercontent.com/Cyclenerd/postinstall/master/postinstall.sh\"\n```\n\nAlternative download with short URL:\n\n```shell\ncurl -fL http://bit.ly/get_postinstall -o postinstall.sh\n```\n\nCreate a package lists and scripts as explained in this [repository](https://github.com/Cyclenerd/postinstall/tree/master/base) or in the [Wiki](https://github.com/Cyclenerd/postinstall/wiki/postinstall.sh).\n\nExample:\n\n```shell\nmkdir install\ncd install\nvi packages.list\n```\n\nRun as root:\n\n```shell\nbash postinstall.sh -b install\n```\n\n## Usage\n\n```txt\nUsage: postinstall.sh [-t \u003cTYPE\u003e] [-b \u003cBASE\u003e] [-h]:\n        [-t \u003cTYPE\u003e]      sets the type of installation (default: server)\n        [-b \u003cBASE\u003e]      sets the base url or dir (default: https://raw.githubusercontent.com/Cyclenerd/postinstall/master/base)\n        [-h]             displays help (this message)\n```\n\nExample: `postinstall.sh` or `postinstall.sh -t workstation`\n\n\n## Screenshot\n\n![WSL](img/WSL_Screenshot.jpg)\n\n\n## Program Flow\n\n* Determine operating system and architecture\n* Check package manager and requirements\n* Generate script to run before and after installation and list of packages to install\n* Install packages\n\n\n## Requirements\n\nOnly `bash`, `curl`, `tput` (`ncurses-utils`) and a package manager for the respective operating system:\n\n* Alpine Linux              → `apk`\n* Apple macOS               → `port` or `brew`\n* Arch Linux                → `pacman`\n* Cygwin                    → `apt-cyg`\n* Debian / Ubuntu           → `apt-get`\n* FreeBSD                   → `pkg`\n* Haiku                     → `pkgman`\n* Mageia                    → `urpmi`\n* NetBSD                    → `pkg_add`\n* OpenBSD                   → `pkg_add`\n* OpenWRT                   → `opkg`\n* Puppy                     → `pkg` (https://gitlab.com/sc0ttj/Pkg)\n* Red Hat / Fedora / CentOS → `dnf` or `yum`\n* Slackware                 → `slackpkg`\n* SUSE / openSUSE           → `zypper`\n* Termux                    → `pkg`\n\n\n## TODO\n\n* More and better documentation\n* Support for even more operating systems and package managers\n\nHelp is welcome 👍\n\n\n## License\n\nGNU Public License version 3.\nPlease feel free to fork and modify this on GitHub (https://github.com/Cyclenerd/postinstall).\n","funding_links":["https://github.com/sponsors/Cyclenerd"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcyclenerd%2Fpostinstall","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcyclenerd%2Fpostinstall","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcyclenerd%2Fpostinstall/lists"}