Removed .sh from names, packs support
This commit is contained in:
parent
4a71dd0ae8
commit
e9cd7ee2ae
65
Makefile
65
Makefile
@ -1,112 +1,119 @@
|
||||
# Autogenerated at 04.07.2022 19:08 using ./gen-makefile.sh
|
||||
# Autogenerated at 04.07.2022 19:25 using ./gen-makefile.sh
|
||||
|
||||
## apache: Install apache2 (latest)
|
||||
##lamp: Apache + php + mariadb
|
||||
lamp: apache php mariadb
|
||||
|
||||
##apache: Install apache2 (latest)
|
||||
apache:
|
||||
./install/apache.sh
|
||||
./install/apache
|
||||
|
||||
## apt: Install bunch of software from apt
|
||||
##apt: Install bunch of software from apt
|
||||
apt:
|
||||
./install/apt.sh
|
||||
|
||||
## chrome: Install google chrome (latest)
|
||||
##chrome: Install google chrome (latest)
|
||||
chrome:
|
||||
./install/chrome.sh
|
||||
|
||||
## composer: Install composer (latest)
|
||||
##composer: Install composer (latest)
|
||||
composer:
|
||||
./install/composer.sh
|
||||
|
||||
## docker: Install docker (latest) + docker-compose (latest) + ppa
|
||||
##docker: Install docker (latest) + docker-compose (latest) + ppa
|
||||
docker:
|
||||
./install/docker.sh
|
||||
|
||||
## droidcam-obs: Install droidcam-obs plugin v1.5.1
|
||||
##droidcam-obs: Install droidcam-obs plugin v1.5.1
|
||||
droidcam-obs:
|
||||
./install/droidcam-obs.sh
|
||||
|
||||
## droidcam: Install droidcam v1.8.2
|
||||
##droidcam: Install droidcam v1.8.2
|
||||
droidcam:
|
||||
./install/droidcam.sh
|
||||
|
||||
## git: Install git (latest)
|
||||
##git: Install git (latest)
|
||||
git:
|
||||
./install/git.sh
|
||||
|
||||
## golang: Install golang v1.18.3
|
||||
##golang: Install golang v1.18.3
|
||||
golang:
|
||||
./install/golang.sh
|
||||
|
||||
## grubc: Install grub-customizer (latest) + ppa
|
||||
##grubc: Install grub-customizer (latest) + ppa
|
||||
grubc:
|
||||
./install/grubc.sh
|
||||
|
||||
## kde-appmenu: Install KDE Window AppMenu Applet
|
||||
##kde-appmenu: Install KDE Window AppMenu Applet
|
||||
kde-appmenu:
|
||||
./install/kde-appmenu.sh
|
||||
|
||||
## lite-xl: Install lite-xl v2.0.5 (draft)
|
||||
##lite-xl: Install lite-xl v2.0.5 (draft)
|
||||
lite-xl:
|
||||
./install/lite-xl.sh
|
||||
|
||||
## mariadb: Install mariadb (latest) and php-mysql + phpMyAdmin (if php is installed)
|
||||
##mariadb: Install mariadb (latest) and php-mysql + phpMyAdmin (if php is installed)
|
||||
mariadb:
|
||||
./install/mariadb.sh
|
||||
|
||||
## nodejs: Install nodejs + npm via nvm
|
||||
##nodejs: Install nodejs + npm via nvm
|
||||
nodejs:
|
||||
./install/nodejs.sh
|
||||
|
||||
## pgsql: Install postgresql (latest) and php-pgsql (if php is installed)
|
||||
##pgsql: Install postgresql (latest) and php-pgsql (if php is installed)
|
||||
pgsql:
|
||||
./install/pgsql.sh
|
||||
|
||||
## php: Install php v8.1 + ppa
|
||||
##php: Install php v8.1 + ppa
|
||||
php:
|
||||
./install/php.sh
|
||||
|
||||
## postman: Install postman (latest)
|
||||
##postman: Install postman (latest)
|
||||
postman:
|
||||
./install/postman.sh
|
||||
|
||||
## rustdesk: Install rustdesk v1.1.8 (deb)
|
||||
##rustdesk: Install rustdesk v1.1.8 (deb)
|
||||
rustdesk:
|
||||
./install/rustdesk.sh
|
||||
|
||||
## snap: Install bunch of software from snap
|
||||
##snap: Install bunch of software from snap
|
||||
snap:
|
||||
./install/snap.sh
|
||||
|
||||
## syncthing: Install syncthing (latest) + ppa
|
||||
##syncthing: Install syncthing (latest) + ppa
|
||||
syncthing:
|
||||
./install/syncthing.sh
|
||||
|
||||
## telebit: Install telebit (latest)
|
||||
##telebit: Install telebit (latest)
|
||||
telebit:
|
||||
./install/telebit.sh
|
||||
|
||||
## ulauncher: Install ulauncher (latest) + ppa
|
||||
##todo: <no description>
|
||||
todo:
|
||||
./install/todo
|
||||
|
||||
##ulauncher: Install ulauncher (latest) + ppa
|
||||
ulauncher:
|
||||
./install/ulauncher.sh
|
||||
|
||||
## wine: Installwine (latest) + ppa (focal)
|
||||
##wine: Installwine (latest) + ppa (focal)
|
||||
wine:
|
||||
./install/wine.sh
|
||||
|
||||
## zint: Install zint (latest)
|
||||
##zint: Install zint (latest)
|
||||
zint:
|
||||
./install/zint.sh
|
||||
|
||||
## zsh: Install zsh + omz (latest)
|
||||
##zsh: Install zsh + omz (latest)
|
||||
zsh:
|
||||
./install/zsh.sh
|
||||
|
||||
## help: Show this help message
|
||||
##help: Show this help message
|
||||
help: Makefile
|
||||
@echo "Usage:"
|
||||
@echo "\tmake <goal>\n"
|
||||
@echo "Available goals:"
|
||||
@sed -n 's/^##//p' $< | column -t -s ':' | sed -e "s/^/\t/"
|
||||
|
||||
## <goal>_: Same as 'cat ./install/<goal>.sh'
|
||||
##<goal>_: Same as 'cat ./install/<goal>.sh'
|
||||
%_:
|
||||
@cat ./install/$*.sh
|
||||
|
23
README.md
23
README.md
@ -39,7 +39,7 @@ wget -qO - https://git.axenov.dev/anthony/my-env/raw/branch/master/install/apt.s
|
||||
./install/apt.sh
|
||||
```
|
||||
|
||||
## How to add a new software script here
|
||||
## How to add a new software script?
|
||||
|
||||
1. Create new `./install/*.sh` script.
|
||||
At the beggining of a file you must write these two lines:
|
||||
@ -50,3 +50,24 @@ wget -qO - https://git.axenov.dev/anthony/my-env/raw/branch/master/install/apt.s
|
||||
2. Test your script
|
||||
3. Run `./gen-makefile.sh` to generate new `./Makefile`
|
||||
|
||||
## How to create packs?
|
||||
|
||||
You can create new file inside `./packs` dir.
|
||||
|
||||
Syntax is same as classic makefile with one important and necessary addition -- a comment started with `##`:
|
||||
|
||||
```makefile
|
||||
##mypack1: Pack description
|
||||
mypack1: goal1 goal2 goalX ...
|
||||
...
|
||||
|
||||
##mypackX: Pack description
|
||||
mypackY: goalA goalB
|
||||
@cp file1 file2
|
||||
...
|
||||
...
|
||||
```
|
||||
|
||||
where:
|
||||
* `mypack*` is the pack name
|
||||
* `goal*` are script names in `./install`
|
||||
|
@ -2,23 +2,27 @@
|
||||
mv Makefile Makefile.bak
|
||||
echo -e "# Autogenerated at $(date +'%d.%m.%Y %H:%M') using ${BASH_SOURCE[0]}\n" > Makefile
|
||||
|
||||
for file in ./install/*.sh; do
|
||||
for file in ./packs/*; do
|
||||
cat ${file} >> Makefile
|
||||
done;
|
||||
|
||||
for file in ./install/*; do
|
||||
name=${file##*/}
|
||||
name=${name%.sh}
|
||||
desc=$(grep -m 1 -oP "(?<=^##makedesc:\s).*$" ${file})
|
||||
[ -z "$desc" ] && desc='<no description>'
|
||||
echo -e "## ${name}: ${desc}\n${name}:\n\t${file}\n" >> Makefile
|
||||
echo -e "##${name}: ${desc}\n${name}:\n\t${file}\n" >> Makefile
|
||||
done;
|
||||
|
||||
cat << EOF >> Makefile
|
||||
## help: Show this help message
|
||||
##help: Show this help message
|
||||
help: Makefile
|
||||
@echo "Usage:"
|
||||
@echo "\tmake <goal>\n"
|
||||
@echo "Available goals:"
|
||||
@sed -n 's/^##//p' $< | column -t -s ':' | sed -e "s/^/\t/"
|
||||
|
||||
## <goal>_: Same as 'cat ./install/<goal>.sh'
|
||||
##<goal>_: Same as 'cat ./install/<goal>.sh'
|
||||
%_:
|
||||
@cat ./install/\$*.sh
|
||||
EOF
|
||||
|
2
packs/lamp.makefile
Normal file
2
packs/lamp.makefile
Normal file
@ -0,0 +1,2 @@
|
||||
##lamp: Apache + php + mariadb
|
||||
lamp: apache php mariadb
|
Loading…
Reference in New Issue
Block a user