docs: improve readme and add some packages

This commit is contained in:
xeruf 2022-07-25 15:59:16 +02:00
parent d6cc79380d
commit d764b2a43e
7 changed files with 49 additions and 23 deletions

View File

@ -11,13 +11,25 @@ to copying or executing scripts from a URL.
Similar as in [tldr](https://github.com/tldr-pages/tldr),
creating alternative frontends is easy and appreciated.
Instalee can install the same set of packages on any system
with graceful failure if any package is unavailable.
With appropriate setup and logging (TBD)
it can also keep the installed packages in sync.
Simply, Instalee can be used as a unified installation frontend,
both manual and automatic,
to any package manager or other method of installation
on any system with a POSIX Shell available
(and the basic logic is so simple
you could easily port it to another foundation,
preserving the file structure).
## Guiding Principles
instalee closely follows the UNIX philosophy with directory structures and files as configuration.
The goal is to be as generic as possible to accomodate any kind of setup.
However, it should be efficient while generic,
preventing repetition at every level.
preventing repetition at every level (DRY).
## Usage
@ -42,10 +54,9 @@ Keep the following in mind when configuring instalee:
- `handlers` and `packages` need to be attuned,
as the package entry format needs to fit the handler definitions.
These may be obtained from a trusted source
or configured personally as well.
or configured personally.
This repository contains an example configuration
as used by the author.
This repository contains an example configuration as used by the author.
See the [man page](instalee.1) for more details.
### Installation
@ -87,11 +98,13 @@ the handler will be installed, made available and used.
## Features
- Cross-handler dependencies (e.g. logcli script needs go)
-> currently implemented with `HANDLER_dependencies` files
-> currently implemented with `HANDLER_depends` files
### What instalee is not
- a (central) package repository containing package sources
- a package manager that can inspect or remove packages
- a package manager to inspect or remove packages
- a tool to upgrade all installed packages from various sources -
see `topgrade`
### Planned
- detection mechanism for handlers and features
@ -105,6 +118,8 @@ the handler will be installed, made available and used.
- Handler providers e.g. different make mechanisms on arch and debian
- Run file in tempdir by default?
- Handler for downloaded scripts (e.g. passff-host, funkwhale)
- Ability to use multiple repos, including remote
- Log Installs for reuse
### Windows
- Install choco and git offline
@ -112,8 +127,14 @@ the handler will be installed, made available and used.
- Use choco/choco-offline sources
### Flow
| Function | Software | Handler | Provider | System |
|----------------|----------------|----------------------|---------------|---------------|
This is a revamped concept that would ease setting up new devices with different systems
by adding a mapping of functions to applications
as well as handlers to providers.
The following tables lists some real-world examples to consider,
but the details still need to be fleshed out.
| Function | Package/Application | Handler | Provider | System |
|----------------|---------------------|----------------------|---------------|---------------|
| pdf | okular | chocolatey | chocolatey | Windows |
| | zathura | arch | pacman or yay | Arch |
| | timg poppler | apt | apt | Debian Server |
@ -127,6 +148,8 @@ the handler will be installed, made available and used.
| | | aur | yay | Arch |
| screen-capture | spectacle peek | arch | pac/yay | Arch |
| | screentogif | chocolatey | chocolatey | Windows |
| aur | yay | aur | makepkg | Arch |
| | | aur | yay | |
- Software and Provider are derived from Function and Handler but can change depending on the system
-> no way of declaring function so far, maybe via groups somehow?

View File

@ -3,7 +3,7 @@ case "$1" in
(*://*) url=$1;;
(*) url=https://aur.archlinux.org/$1.git;;
esac
cd /tmp
cd "$(mktemp -d)"
git clone "$url"
cd $(basename "${1%.git}")
makepkg -si

View File

@ -1,6 +1,6 @@
#!/bin/sh -e
case $1 in
(*://*) cd /tmp
(*://*) cd "$(mktemp -d)"
git clone "$1"
cd "$(basename "${1%.git}")";;
(*) cd "$1";;

0
packages/tldr/apt Normal file
View File

1
packages/tldr/arch Normal file
View File

@ -0,0 +1 @@
tldr

1
packages/tldr/aur Normal file
View File

@ -0,0 +1 @@
tldr++

1
packages/tldr/chocolatey Normal file
View File

@ -0,0 +1 @@
tldr-plusplus