Compare commits

..

No commits in common. "58d4643523e766b6b93535bbbbf3f3bda8637b01" and "13aefb37d8853b067078c579c0bf13ade788e810" have entirely different histories.

18 changed files with 19 additions and 31 deletions

View file

@ -163,7 +163,7 @@ and ideas that need to be fleshed out.
-> currently implemented with `depends_HANDLER` files -> currently implemented with `depends_HANDLER` files
### Planned ### Planned
- detection mechanism for handler features - detection mechanism for handlers and features
(e.g. batch-install support) (e.g. batch-install support)
- Ability to use multiple repos, including remote ones - Ability to use multiple repos, including remote ones
- Cope with missing versions in repositories of older OS versions - Cope with missing versions in repositories of older OS versions
@ -171,22 +171,21 @@ and ideas that need to be fleshed out.
- helper/hook for adding packages to groups upon install - helper/hook for adding packages to groups upon install
(at least for `pacman`) (at least for `pacman`)
- log installs for reuse - Log Installs for reuse
### Issues ### TODOs
- Homebrew for Mac - partially implemented but resolution not working (e.g. docker automatically installing brew first)
- Somehow installing doom emacs has a dependency tree resolution issue - Somehow installing doom emacs has a dependency tree resolution issue
- Debug corner cases: Not working on Windows when run as Admin - Debug corner cases: Not working on Windows when run as Admin
- Handler preparation - update repos and cache last update time in /tmp - Handler preparation - update repos and cache last update time in /tmp
- Handler for downloaded scripts (e.g. passff-host, funkwhale) - Handler for downloaded scripts (e.g. passff-host, funkwhale)
- Enable services after install, e.g. syncthing and docker - Enable services after install, e.g. syncthing and docker
#### Windows Offline Flow #### Windows Flow
- Install choco and git offline - Install choco and git offline
- Run in git bash - Run in git bash
- TODO: Use choco-offline sources - TODO: Use choco-offline sources
### Flow v2 ### Flow
This is a revamped concept This is a revamped concept
that would ease setting up new devices with different systems that would ease setting up new devices with different systems
by adding a mapping of functions to applications by adding a mapping of functions to applications
@ -223,7 +222,7 @@ but the details still need to be fleshed out.
such as `yay` for arch and aur such as `yay` for arch and aur
+ how about `providers/<handler>/<provider>[_<ext>]`? + how about `providers/<handler>/<provider>[_<ext>]`?
Same duplication issue, now spread out... Same duplication issue, now spread out...
+ underscore extension might be superfluous through that, since `ext` was somewhat a proxy for a proper `provider` configuration + underscore extension might be superfluous through that, since `ext` was somewhat a proxy for a proper `provider` configuraion
- Use system subdirectories for handlers and groups, - Use system subdirectories for handlers and groups,
which are used by default when system is detected which are used by default when system is detected
@ -246,7 +245,11 @@ but the details still need to be fleshed out.
- portable: base but with packages for installations on removable media - portable: base but with packages for installations on removable media
## Related Projects ### Handlers
...
## Notable Projects
- another universal package manager, - another universal package manager,
but without affecting the system: but without affecting the system:

View file

@ -1 +0,0 @@
docker

View file

@ -1,4 +1,2 @@
auto-cpufreq auto-cpufreq
tlp tlp
fw-ectool-git
inputmodule-control

View file

@ -4,4 +4,3 @@ android-fs
android-tools android-tools
aafm-git aafm-git
libguestfs libguestfs
ifuse

View file

@ -15,10 +15,9 @@ export dir_home="$(dirname $(find "$INSTALEE_HOME" \
-maxdepth 1 -name "handlers.available*" 2>/dev/null | head -1))" -maxdepth 1 -name "handlers.available*" 2>/dev/null | head -1))"
handlersfile="$dir_home/handlers.available" handlersfile="$dir_home/handlers.available"
dir_packages="$dir_home/packages" dir_packages="$dir_home/packages"
which tac || alias tac="tail -r"
highlight() { ${2:-echo} "$1" >&2; } highlight() { echo $2 "$1" >&2; }
destress() { ${2:-echo} "$1" >&2; } destress() { echo $2 "$1" >&2; }
listhandlers() { listhandlers() {
( (
@ -99,7 +98,7 @@ installpkg() {
pkg_entry="$(find "$handler" -name "install") $1" pkg_entry="$(find "$handler" -name "install") $1"
fi fi
else else
destress " running unhandled" printf destress " running unhandled" -n
fi fi
destress " $pkg_entry" destress " $pkg_entry"
$pkg_entry $pkg_entry
@ -194,9 +193,9 @@ if ! test -f "$handlersfile"
then then
copy="$(case "$(uname)" in copy="$(case "$(uname)" in
(MINGW64*) echo "$dir_home/handlers.available.windows";; (MINGW64*) echo "$dir_home/handlers.available.windows";;
(Darwin) echo "$dir_home/handlers.available.mac";; (DARWIN) echo "$dir_home/handlers.available.mac";;
(*) os="$({ cat /etc/os-release | grep -E '^ID(_LIKE)?=' || lsb_release -s -i; })" && (*) ls "$dir_home/$({ cat /etc/os-release | grep -E '^ID(_LIKE)?=' | cut -d= -f2 | grep . || lsb_release -s -i | tr 'A-Z' 'a-z'; } |
ls "$dir_home/$(echo "$os" | tr 'A-Z' 'a-z' | cut -d= -f2 | sed 's/^/handlers.available./' | paste -d' ' -s)" 2>/dev/null | head -1;; sed 's/^/handlers.available./' | paste -d' ' -s)" 2>/dev/null | head -1;;
esac)" && esac)" &&
test -n "$copy" && test -n "$copy" &&
echo "Bootstrapping available handlers from $copy" && echo "Bootstrapping available handlers from $copy" &&

View file

@ -1,2 +0,0 @@
#!/bin/bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

View file

@ -1 +0,0 @@
docker calima

View file

@ -1,4 +1,4 @@
#!/bin/sh #!/bin/sh
emacsd="${XDG_CONFIG_HOME:-$HOME/.config}/emacs" emacsd="${XDG_CONFIG_HOME:-$HOME/.config}/emacs"
git clone https://github.com/hlissner/doom-emacs "$emacsd" git clone https://github.com/hlissner/doom-emacs "$emacsd"
$(command unbuffer) "$emacsd/bin/doom" --force install --env --no-hooks --install | head -19 unbuffer "$emacsd/bin/doom" --force install --env --no-hooks --install | head -19

View file

@ -1 +0,0 @@

View file

@ -1 +0,0 @@

View file

@ -1 +0,0 @@

View file

@ -1 +0,0 @@

View file

View file

@ -1,3 +0,0 @@
#!/bin/sh
# https://www.rust-lang.org/tools/install
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

View file

@ -1,3 +1,3 @@
#!/bin/sh -ex #!/bin/sh -ex
gpg --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB gpg --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
curl -sSL https://get.rvm.io | bash -s stable \curl -sSL https://get.rvm.io | bash -s stable