Git Product home page Git Product logo

zap's Introduction

zap Zap

⚡️ Zap

The delightful package manager for AppImages
Report bug · Request feature

forthebadge made-with-go

Mentioned in Awesome AppImage

GitHub followers GitHub stars

Zap Installing Firefox

Looking for the older Zap v1 (Python) implementation? Head over to v1 branch.

Getting Started

For system-wide installation (needs sudo)

sudo wget https://github.com/srevinsaju/zap/releases/download/continuous/zap-amd64 -O /usr/local/bin/zap
sudo chmod +x /usr/local/bin/zap
zap --help

For local installation, (requires ~/.local/bin to be on $PATH)

mkdir -p ~/.local/bin
wget https://github.com/srevinsaju/zap/releases/download/continuous/zap-amd64 -O ~/.local/bin/zap
chmod +x ~/.local/bin/zap
zap --help

NOTE: Replace amd64 with your machine architecture. Supported architectures are listed in the release page

Installing AppImages

All AppImages from the AppImage Catalog and AppImage catalog v2 can be installed using zap with their registered name.

zap install element

will ask you the version of element you would like to install + download them and do all the hard work of integrating into your system, i.e creating desktop files, etc.

You can also install appimages from GitHub releases

zap install --github --from vscodium/vscodium

will put some options which will let you choose the best version for your system.

It is also possible to install AppImage from URLs

zap install --from https://f.sed.lol/wow.AppImage

To integrate a locally downloaded AppImage,

zap install libresprite ~/Downloads/Libresprite-x86_64.AppImage

... or using the file:// protocol

zap install --from file:///home/username/Downloads/My_Super_Cool-x86_64.AppImage name_of_the_app_here

here, name_of_the_app_here specifies the name of the application. This name will be used as a unique identification of the AppImage, by zap, in its internal database.

Updating AppImages 🔄

AppImages can be optionally, automatically updated using the zapd, but to achieve this manually, you need to

zap update firefox

This will make use of the update information embedded within the appimage, which if exists, will be used to 'delta-update' the latest version, by downloading "only" the parts which have changed.

For those AppImages not supporting delta updates, you can still do

zap install zoom

to install the latest version of Zoom.

Upgrade 🚀

zap also supports updating all the apps together using appimage-update.

zap upgrade

Configuration ⚙️

It is possible to interactively configure zap. All you need to do is

zap init

And answer all the questions that would follow.

Daemon 🏃

zapd is a Zap AppImage daemon which periodically checks for updates.

zap daemon --install

This will install a systemd service in the local (user) level, which will spawn zap daemon which auto-updates the AppImages.

To run the daemon (sync), do

zap daemon

Support 💸

All Pull Requests are welcome.

If you are a non-coder or was inspired by this small project, I would be glad if you would 🌟 this repository, and spread the word with your friends and foes 😄

Credits 🙏

This project has been possible with the help and support provided by the AppImage community. Thanks to the detailed responses I received from mentors at AppImage's freenode channel.

License ⚖️

MIT License

Copyright (c) 2020 Srevin Saju

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Copyright ©️

(C) Srevin Saju 2020

zap's People

Contributors

imgbotapp avatar srevinsaju avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.