docs: improve readme and add some packages
This commit is contained in:
parent
d6cc79380d
commit
d764b2a43e
7 changed files with 49 additions and 23 deletions
65
README.md
65
README.md
|
@ -11,13 +11,25 @@ to copying or executing scripts from a URL.
|
||||||
Similar as in [tldr](https://github.com/tldr-pages/tldr),
|
Similar as in [tldr](https://github.com/tldr-pages/tldr),
|
||||||
creating alternative frontends is easy and appreciated.
|
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
|
## Guiding Principles
|
||||||
|
|
||||||
instalee closely follows the UNIX philosophy with directory structures and files as configuration.
|
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.
|
The goal is to be as generic as possible to accomodate any kind of setup.
|
||||||
|
|
||||||
However, it should be efficient while generic,
|
However, it should be efficient while generic,
|
||||||
preventing repetition at every level.
|
preventing repetition at every level (DRY).
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
|
@ -42,10 +54,9 @@ Keep the following in mind when configuring instalee:
|
||||||
- `handlers` and `packages` need to be attuned,
|
- `handlers` and `packages` need to be attuned,
|
||||||
as the package entry format needs to fit the handler definitions.
|
as the package entry format needs to fit the handler definitions.
|
||||||
These may be obtained from a trusted source
|
These may be obtained from a trusted source
|
||||||
or configured personally as well.
|
or configured personally.
|
||||||
|
|
||||||
This repository contains an example configuration
|
This repository contains an example configuration as used by the author.
|
||||||
as used by the author.
|
|
||||||
See the [man page](instalee.1) for more details.
|
See the [man page](instalee.1) for more details.
|
||||||
|
|
||||||
### Installation
|
### Installation
|
||||||
|
@ -87,11 +98,13 @@ the handler will be installed, made available and used.
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
- Cross-handler dependencies (e.g. logcli script needs go)
|
- 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
|
### What instalee is not
|
||||||
- a (central) package repository containing package sources
|
- 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
|
### Planned
|
||||||
- detection mechanism for handlers and features
|
- 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
|
- Handler providers e.g. different make mechanisms on arch and debian
|
||||||
- Run file in tempdir by default?
|
- Run file in tempdir by default?
|
||||||
- Handler for downloaded scripts (e.g. passff-host, funkwhale)
|
- Handler for downloaded scripts (e.g. passff-host, funkwhale)
|
||||||
|
- Ability to use multiple repos, including remote
|
||||||
|
- Log Installs for reuse
|
||||||
|
|
||||||
### Windows
|
### Windows
|
||||||
- Install choco and git offline
|
- Install choco and git offline
|
||||||
|
@ -112,21 +127,29 @@ the handler will be installed, made available and used.
|
||||||
- Use choco/choco-offline sources
|
- Use choco/choco-offline sources
|
||||||
|
|
||||||
### Flow
|
### 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
|
||||||
| pdf | okular | chocolatey | chocolatey | Windows |
|
as well as handlers to providers.
|
||||||
| | zathura | arch | pacman or yay | Arch |
|
The following tables lists some real-world examples to consider,
|
||||||
| | timg poppler | apt | apt | Debian Server |
|
but the details still need to be fleshed out.
|
||||||
| loki | loki | arch | pacman or yay | Arch |
|
|
||||||
| | | make | checkinstall | Debian |
|
| Function | Package/Application | Handler | Provider | System |
|
||||||
| | | make | wocka | Arch |
|
|----------------|---------------------|----------------------|---------------|---------------|
|
||||||
| logcli | loki-logcli | script (depends: go) | script | Debian |
|
| pdf | okular | chocolatey | chocolatey | Windows |
|
||||||
| | | arch | pacman or yay | Arch |
|
| | zathura | arch | pacman or yay | Arch |
|
||||||
| | logcli-bin | aur | yay | Arch |
|
| | timg poppler | apt | apt | Debian Server |
|
||||||
| zoom | zoom | deb | apt | Debian |
|
| loki | loki | arch | pacman or yay | Arch |
|
||||||
| | | aur | yay | Arch |
|
| | | make | checkinstall | Debian |
|
||||||
| screen-capture | spectacle peek | arch | pac/yay | Arch |
|
| | | make | wocka | Arch |
|
||||||
| | screentogif | chocolatey | chocolatey | Windows |
|
| logcli | loki-logcli | script (depends: go) | script | Debian |
|
||||||
|
| | | arch | pacman or yay | Arch |
|
||||||
|
| | logcli-bin | aur | yay | Arch |
|
||||||
|
| zoom | zoom | deb | apt | Debian |
|
||||||
|
| | | 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
|
- 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?
|
-> no way of declaring function so far, maybe via groups somehow?
|
||||||
|
|
|
@ -3,7 +3,7 @@ case "$1" in
|
||||||
(*://*) url=$1;;
|
(*://*) url=$1;;
|
||||||
(*) url=https://aur.archlinux.org/$1.git;;
|
(*) url=https://aur.archlinux.org/$1.git;;
|
||||||
esac
|
esac
|
||||||
cd /tmp
|
cd "$(mktemp -d)"
|
||||||
git clone "$url"
|
git clone "$url"
|
||||||
cd $(basename "${1%.git}")
|
cd $(basename "${1%.git}")
|
||||||
makepkg -si
|
makepkg -si
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/sh -e
|
#!/bin/sh -e
|
||||||
case $1 in
|
case $1 in
|
||||||
(*://*) cd /tmp
|
(*://*) cd "$(mktemp -d)"
|
||||||
git clone "$1"
|
git clone "$1"
|
||||||
cd "$(basename "${1%.git}")";;
|
cd "$(basename "${1%.git}")";;
|
||||||
(*) cd "$1";;
|
(*) cd "$1";;
|
||||||
|
|
0
packages/tldr/apt
Normal file
0
packages/tldr/apt
Normal file
1
packages/tldr/arch
Normal file
1
packages/tldr/arch
Normal file
|
@ -0,0 +1 @@
|
||||||
|
tldr
|
1
packages/tldr/aur
Normal file
1
packages/tldr/aur
Normal file
|
@ -0,0 +1 @@
|
||||||
|
tldr++
|
1
packages/tldr/chocolatey
Normal file
1
packages/tldr/chocolatey
Normal file
|
@ -0,0 +1 @@
|
||||||
|
tldr-plusplus
|
Loading…
Add table
Reference in a new issue