{"id":24935193,"url":"https://github.com/fernand3z/update-script","last_synced_at":"2025-04-09T23:25:04.515Z","repository":{"id":273135704,"uuid":"918802174","full_name":"fernand3z/update-script","owner":"fernand3z","description":"The Universal Package Updater is a powerful, all-in-one script designed to automate updates across multiple package managers. Whether you're using Homebrew, Flatpak, Nix, Paru, Yay, or system-level package managers like apt, dnf, pacman, this script ensures your system is up-to-date effortlessly.","archived":false,"fork":false,"pushed_at":"2025-03-07T00:12:34.000Z","size":2673,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-06T07:56:53.207Z","etag":null,"topics":["script","shell-script","update"],"latest_commit_sha":null,"homepage":"https://github.com/fernand3z/update-script","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fernand3z.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2025-01-18T22:18:29.000Z","updated_at":"2025-03-07T00:12:37.000Z","dependencies_parsed_at":"2025-01-18T23:24:29.086Z","dependency_job_id":"773b3706-514b-43d6-9df2-cdfba3a17da4","html_url":"https://github.com/fernand3z/update-script","commit_stats":null,"previous_names":["fernand3z/update-script"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fernand3z%2Fupdate-script","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fernand3z%2Fupdate-script/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fernand3z%2Fupdate-script/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fernand3z%2Fupdate-script/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fernand3z","download_url":"https://codeload.github.com/fernand3z/update-script/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248127552,"owners_count":21052247,"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":["script","shell-script","update"],"created_at":"2025-02-02T15:21:49.391Z","updated_at":"2025-04-09T23:25:04.485Z","avatar_url":"https://github.com/fernand3z.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Universal Package Updater\n\nThe **Universal Package Updater** is a powerful, all-in-one script designed to automate updates across multiple package managers. Whether you're using **Homebrew**, **Flatpak**, **Nix**, **Paru**, **Yay**, or system-level package managers like **apt**, **dnf**, **pacman**, this script ensures your system is up-to-date effortlessly.\n\n## Why Use Universal Package Updater?\n- **Comprehensive Shell Support**: Works seamlessly with Zsh, Bash, Fish, NuShell, Korn Shell, C Shell, Dash, Elvish, Xonsh, and BusyBox.\n- **Time-Saving**: Updates all supported package managers with a single command.\n- **User-Friendly**: Easy to set up and use, even for beginners.\n- **Customizable**: Tailored to detect your shell environment and install the relevant script.\n- **Lightweight**: Minimal resource usage while handling essential updates.\n\n---\n\n## Key Features\n- Updates popular package managers:\n  - **System Package Managers**: apt, dnf, pacman, zypper, xbps, apk, slackpkg, guix\n  - **Universal Package Managers**: Homebrew, Flatpak, Snap, Nix\n  - **AUR Helpers**: Paru, Yay\n  - **Programming Language Package Managers**: \n    - npm, yarn, pnpm (Node.js)\n    - pip, poetry, conda (Python)\n    - gem, bundle (Ruby)\n    - composer (PHP)\n    - cargo (Rust)\n    - go get (Go)\n    - maven, gradle (Java)\n    - cabal, stack (Haskell)\n    - cpan (Perl)\n    - luarocks (Lua)\n  - **Container Tools**: Docker, Podman, Singularity\n  - **Development Tools**: Minikube\n- Automatic cleanup after updates to free up disk space\n- Compatible with multiple shell environments\n\n---\n\n## Installation Guide\n\n### Step 1: Clone the Repository\nClone the repository into your system:\n\n```bash\n# Latest version\ngit clone https://github.com/fernand3z/update-script.git\n# OR specific version (recommended)\ngit clone --branch v2.0.0 https://github.com/fernand3z/update-script.git\ncd update-script\n```\n\n### Step 2: Run the Installation Script\nThe installation script automatically detects your shell and installs the corresponding script:\n\n`I.` Run the command to make `install.sh` executable.\n```bash\nchmod +x install.sh\n```\n`II.` Run the command to install\n```bash\n./install.sh\n```\n\n- The appropriate script will be copied to `~/scripts/update_packages`.\n- If your shell is not detected, manually choose the script from the `scripts/` folder.\n\n### Step 3: Add Alias to Your Shell Configuration\nTo simplify usage, add an alias to your shell configuration file:\n\n#### For Zsh:\n```zsh\n# Add to ~/.zshrc\nalias upgrade=\"~/scripts/update_packages\"\n```\n\n#### For Bash:\n```bash\n# Add to ~/.bashrc or ~/.bash_profile\nalias upgrade=\"~/scripts/update_packages\"\n```\n\n#### For Fish:\n```fish\n# Add to ~/.config/fish/config.fish\nalias upgrade=\"~/scripts/update_packages\"\n```\n\n#### For NuShell:\n```nu\n# Add to ~/.config/nushell/config.nu\nalias upgrade = ~/scripts/update_packages\n```\n\n#### For Korn Shell (KSH):\n```ksh\n# Add to ~/.kshrc\nalias upgrade=\"~/scripts/update_packages\"\n```\n\n#### For C Shell (CSH):\n```csh\n# Add to ~/.cshrc\nalias upgrade ~/scripts/update_packages\n```\n\n#### For Dash:\n```sh\n# Add to ~/.dashrc or ~/.profile\nalias upgrade=\"~/scripts/update_packages\"\n```\n\n#### For Elvish:\n```elvish\n# Add to ~/.elvish/rc.elv\nfn upgrade { ~/scripts/update_packages }\n```\n\n#### For Xonsh:\n```python\n# Add to ~/.xonshrc\naliases['upgrade'] = '~/scripts/update_packages'\n```\n\n#### For BusyBox:\n```sh\n# Add to ~/.profile or /etc/profile\nalias upgrade=\"~/scripts/update_packages\"\n```\n\n#### For POSIX Shell:\n```sh\n# Add to ~/.profile\nalias upgrade=\"~/scripts/update_packages\"\n```\n\nAfter adding the alias, reload your shell configuration:\n\n```bash\n# For Zsh\nsource ~/.zshrc\n\n# For Bash\nsource ~/.bashrc  # or source ~/.bash_profile\n\n# For Fish\nsource ~/.config/fish/config.fish\n\n# For NuShell\nsource ~/.config/nushell/config.nu\n\n# For KSH\nsource ~/.kshrc\n\n# For CSH\nsource ~/.cshrc\n\n# For Dash/POSIX/BusyBox\n. ~/.profile\n\n# For Elvish\nexec elvish\n\n# For Xonsh\nsource ~/.xonshrc\n```\n\n### Step 4: Run the Script\nUse the `upgrade`command to update all your package managers effortlessly:\n\n```bash\nupgrade\n```\n### Remove the Script\n\n```bash\nrm -rf ~/scripts ~/update-script\n```\n---\n\n##  Benefits\n\n### **Automate Package Manager Updates with Ease**\nThe Universal Package Updater streamlines the process of keeping your tools and system updated. Say goodbye to manually running multiple commands for each package manager. Our script does the heavy lifting for you.\n\n### **Supports Multiple Environments**\nWhether you're a macOS, Linux, or Arch Linux user, this script has you covered. It's perfect for developers, sysadmins, and tech enthusiasts.\n\n### **Simplify System Maintenance**\nNo more forgetting to update a package manager. Keep your system clean and secure with built-in cleanup routines and regular updates.\n\n### **Optimized for Developers**\nDevelopers often juggle multiple environments and package managers. This script simplifies your workflow, ensuring all your tools are up-to-date with a single command.\n\n---\n\n## Folder Structure\n\n```plaintext\nupdate-script/\n├── scripts/\n│   ├── update_packages.zsh\n│   ├── update_packages.fish\n│   ├── update_packages.nu\n│   ├── update_packages.sh\n│   ├── update_packages.ksh\n│   ├── update_packages.csh\n│   ├── update_packages.dash\n│   ├── update_packages.elv\n│   ├── update_packages.xsh\n│   ├── update_packages.bbsh\n│   └── update_packages.posix.sh\n├── install.sh\n└── README.md\n```\n\n---\n\n## Contributing\nContributions are welcome! If you have ideas for improvements or want to add support for more package managers, feel free to fork the repository and submit a pull request.\n\n---\n\n## License\nThis project is licensed under the [MIT License](LICENSE).\n\n---\n\n## Screenshot\n\n![Screenshot](images/Screenshot1.png)\n\n---\n\n## Keywords\n- **Update Package Managers Automatically**\n- **All-in-One Update Script**\n- **Cross-Shell Package Manager Updater**\n- **Automate System Updates**\n- **Best Linux Package Updater**\n- **Homebrew, Flatpak, Nix, APT, DNF Updates**\n- **Effortless Software Updates**\n- **Developer-Friendly Update Tool**\n\n## Supported Package Managers\n\n### System Package Managers\n- APT (Debian/Ubuntu)\n- DNF (Fedora)\n- Pacman (Arch)\n- Zypper (openSUSE)\n- Portage (Gentoo)\n- XBPS (Void Linux)\n- APK (Alpine)\n- Slackpkg (Slackware)\n- Guix\n\n### Universal Package Managers\n- Homebrew\n- Flatpak\n- Snap\n- Nix\n\n### Programming Languages\n- Node.js (npm, yarn, pnpm)\n- Python (pip, poetry, conda)\n- Ruby (gem, bundle)\n- PHP (composer)\n- Rust (cargo)\n- Go\n- Java (maven, gradle)\n- Haskell (cabal, stack)\n- Perl (cpan)\n- R\n- Lua (luarocks)\n\n### Container and Virtualization\n- Docker\n- Podman\n- Singularity\n- Minikube\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffernand3z%2Fupdate-script","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffernand3z%2Fupdate-script","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffernand3z%2Fupdate-script/lists"}