Giter Site home page Giter Site logo

softwareinstaller's Introduction

Description

Software installer to provide single interface for multiple software sources: distro repository, flatpak etc.

Supported Sources

Sources currently supported:

  • Flatpak
  • Pacman
  • Zypper
  • Yay (AUR)

Installation

sudo pip3 install .

Usage

Remote Search

usage: si search [-h] [--source [{flatpak,pacman,yay} ...]] [--status [{N,I,U} ...]] [--column [{STATUS,SOURCE,REF,NAME,AVAILABLE,INSTALLED} ...]] [--csv] [--noheader] TERM [TERM ...]

positional arguments:
  TERM                  terms to search for

options:
  -h, --help            show this help message and exit
  --source [{flatpak,pacman,yay} ...]
                        sources to search
  --status [{N,I,U} ...]
                        filter results on installation status: [N]ot installed, [I]nstalled, [U]pdate available
  --column [{STATUS,SOURCE,REF,NAME,AVAILABLE,INSTALLED} ...]
                        choose the columns in results table
  --csv                 output table in CSV format
  --noheader            suppress outputting the header row

Local Search

usage: si local [-h] [--source [{flatpak,pacman,yay} ...]] [--status [{N,I,U} ...]] [--column [{STATUS,SOURCE,REF,NAME,AVAILABLE,INSTALLED} ...]] [--csv] [--noheader] [TERM ...]

positional arguments:
  TERM                  terms to search for

options:
  -h, --help            show this help message and exit
  --source [{flatpak,pacman,yay} ...]
                        sources to search
  --status [{N,I,U} ...]
                        filter results on installation status: [N]ot installed, [I]nstalled, [U]pdate available
  --column [{STATUS,SOURCE,REF,NAME,AVAILABLE,INSTALLED} ...]
                        choose the columns in results table
  --csv                 output table in CSV format
  --noheader            suppress outputting the header row

Show Package Info

usage: si info [-h] REF

positional arguments:
  REF         package reference

options:
  -h, --help  show this help message and exit

Install Package

usage: si install [-h] REF

positional arguments:
  REF         package reference

options:
  -h, --help  show this help message and exit

Remove Package

usage: si remove [-h] REF

positional arguments:
  REF         package reference

options:
  -h, --help  show this help message and exit

Update Packages

usage: si update [-h] [--source [{flatpak,pacman,yay} ...]] [--noconfirm] [--force] [REF ...]

positional arguments:
  REF                   package reference

options:
  -h, --help            show this help message and exit
  --source [{flatpak,pacman,yay} ...]
                        sources to update
  --noconfirm           update without asking for confirmation
  --force               run pre/post tasks even if there are no updates available

Configuration

Optionally, you can configure the tool with a config file placed at

~/.config/softwareinstaller/config

Each line is a KEY=VALUE pair.

Configuration options

apps.ref.delimiter=<DELIMITER>

Default: :

Determines the delimiter in application references.

sources.autodetect=true|false

Default: true

Automatically detects available sources by checking for installed tools.

sources.<SOURCE_ID>.enable=true|false

Explicitly enables or disables a given source.

install.tasks.pre=<COMMAND>
install.tasks.post=<COMMAND>
remove.tasks.pre=<COMMAND>
remove.tasks.post=<COMMAND>
update.tasks.pre=<COMMAND>
update.tasks.post=<COMMAND>

Adds a script or command to be run before or after an install, remove or update run. Can be a shell command. These options can each be given as many times as needed, and will run each task in the order given.

softwareinstaller's People

Contributors

jordanl2 avatar

softwareinstaller's Issues

Update - option to force run

Option to force an update run even if there are no updates to apply, to force the running of pre/post tasks.

--force

Performance

Speed up slow code, especially flatpak installed apps loading.

Argument to enable/disable log output

--silent - disables log output which is enabled by default

Config file option:
logs.console.enabled=true|false (default true)

When console logging is enabled, source output is routed to console.

Update pre/post scripts

Requires config file support.

update.tasks.pre=/path/to/script
update.tasks.post=/path/to/script

Options are arrays, so you can add as many "update.tasks.pre" options for example as you want and it'll append to an array.

Runs tasks either before or after an update, in number order.

Flatpak - system mode

Fix remote info so it works with system remotes/apps.
Test all functionality works.

Config file

Looks in $XDG_CONFIG_HOME/softwareinstaller/ for a file called "config"

Is a key=value list

Options:
sources.autodetect=true|false (default true)
sources.<SOURCE>.enable=true|false (default false)

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.