New types of make rules + omz refactorings
This commit is contained in:
parent
2c9af9b1c5
commit
43f6c8c9e9
99
Makefile
99
Makefile
@ -1,4 +1,4 @@
|
|||||||
# Autogenerated at 15.07.2022 22:54 using ./gen-makefile
|
# Autogenerated at 19.08.2022 20:58 using ./gen-makefile
|
||||||
|
|
||||||
##composer: [PACK] php + composer
|
##composer: [PACK] php + composer
|
||||||
composer: php composer-clean
|
composer: php composer-clean
|
||||||
@ -9,140 +9,155 @@ flameshot: qt5 flameshot-build
|
|||||||
##lamp: [PACK] Apache + php + mariadb
|
##lamp: [PACK] Apache + php + mariadb
|
||||||
lamp: apache php mariadb
|
lamp: apache php mariadb
|
||||||
|
|
||||||
##omz: [PACK] zsh + omz + powerline10k + MesloLGS fonts
|
##omz: [PACK] zsh + omz + powerline10k + MesloLGS font
|
||||||
omz: zsh omz-clean
|
omz: zsh omz-clean omz-fancy
|
||||||
|
chsh -s /usr/bin/zsh
|
||||||
|
@exec zsh
|
||||||
|
|
||||||
##apache: Install apache2 (latest)
|
##apache: Install apache2 (latest)
|
||||||
apache:
|
apache:
|
||||||
./install/apache
|
@./install/apache
|
||||||
|
|
||||||
##apt: Install bunch of software from apt
|
##apt: Install bunch of software from apt
|
||||||
apt:
|
apt:
|
||||||
./install/apt
|
@./install/apt
|
||||||
|
|
||||||
##canon-mg2500: Install Canon Pixma MG2500
|
##canon-mg2500: Install Canon Pixma MG2500 + ppa
|
||||||
canon-mg2500:
|
canon-mg2500:
|
||||||
./install/canon-mg2500
|
@./install/canon-mg2500
|
||||||
|
|
||||||
##chrome: Install google chrome (latest)
|
##chrome: Install google chrome (latest)
|
||||||
chrome:
|
chrome:
|
||||||
./install/chrome
|
@./install/chrome
|
||||||
|
|
||||||
##composer-clean: Install composer (latest)
|
##composer-clean: Install composer (latest)
|
||||||
composer-clean:
|
composer-clean:
|
||||||
./install/composer-clean
|
@./install/composer-clean
|
||||||
|
|
||||||
##docker: Install docker (latest) + docker-compose (latest) + ppa
|
##docker: Install docker (latest) + docker-compose (latest) + ppa
|
||||||
docker:
|
docker:
|
||||||
./install/docker
|
@./install/docker
|
||||||
|
|
||||||
##droidcam: Install droidcam v1.8.2
|
##droidcam: Install droidcam v1.8.2
|
||||||
droidcam:
|
droidcam:
|
||||||
./install/droidcam
|
@./install/droidcam
|
||||||
|
|
||||||
##droidcam-obs: Install droidcam-obs plugin v1.5.1
|
##droidcam-obs: Install droidcam-obs plugin v1.5.1
|
||||||
droidcam-obs:
|
droidcam-obs:
|
||||||
./install/droidcam-obs
|
@./install/droidcam-obs
|
||||||
|
|
||||||
##flameshot-build: [TODO] Build flameshot from src (latest)
|
##flameshot-build: [TODO] Build flameshot from src (latest)
|
||||||
flameshot-build:
|
flameshot-build:
|
||||||
./install/flameshot-build
|
@./install/flameshot-build
|
||||||
|
|
||||||
##git: Install git (latest)
|
##git: Install git (latest)
|
||||||
git:
|
git:
|
||||||
./install/git
|
@./install/git
|
||||||
|
|
||||||
##golang: Install golang v1.18.3
|
##golang: Install golang v1.18.3
|
||||||
golang:
|
golang:
|
||||||
./install/golang
|
@./install/golang
|
||||||
|
|
||||||
##grubc: Install grub-customizer (latest) + ppa
|
##grubc: Install grub-customizer (latest) + ppa
|
||||||
grubc:
|
grubc:
|
||||||
./install/grubc
|
@./install/grubc
|
||||||
|
|
||||||
##kde-appmenu: Install KDE Window AppMenu Applet
|
##kde-appmenu: Install KDE Window AppMenu Applet
|
||||||
kde-appmenu:
|
kde-appmenu:
|
||||||
./install/kde-appmenu
|
@./install/kde-appmenu
|
||||||
|
|
||||||
##libreoffice: Install libreoffice
|
##libreoffice: Install libreoffice
|
||||||
libreoffice:
|
libreoffice:
|
||||||
./install/libreoffice
|
@./install/libreoffice
|
||||||
|
|
||||||
##lite-xl: Install lite-xl v2.0.5 (draft)
|
##lite-xl: Install lite-xl v2.0.5 (draft)
|
||||||
lite-xl:
|
lite-xl:
|
||||||
./install/lite-xl
|
@./install/lite-xl
|
||||||
|
|
||||||
##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:
|
mariadb:
|
||||||
./install/mariadb
|
@./install/mariadb
|
||||||
|
|
||||||
##nodejs: Install nodejs + npm via nvm
|
##nodejs: Install nodejs + npm via nvm
|
||||||
nodejs:
|
nodejs:
|
||||||
./install/nodejs
|
@./install/nodejs
|
||||||
|
|
||||||
##omz-clean: Install omz (latest) + powerline10k + MesloLGS fonts
|
##ntfy: Install ntfy (latest) + ppa
|
||||||
|
ntfy:
|
||||||
|
@./install/ntfy
|
||||||
|
|
||||||
|
##omz-clean: Install omz (latest)
|
||||||
omz-clean:
|
omz-clean:
|
||||||
./install/omz-clean
|
@./install/omz-clean
|
||||||
|
|
||||||
|
##omz-fancy: Install omz fancy (powerline10k + MesloLGS font)
|
||||||
|
omz-fancy:
|
||||||
|
@./install/omz-fancy
|
||||||
|
|
||||||
##papirus: Install papirus-icon-theme (latest)
|
##papirus: Install papirus-icon-theme (latest)
|
||||||
papirus:
|
papirus:
|
||||||
./install/papirus
|
@./install/papirus
|
||||||
|
|
||||||
##pgsql: Install postgresql (latest) and php-pgsql (if php is installed)
|
##pgsql: Install postgresql (latest) and php-pgsql (if php is installed)
|
||||||
pgsql:
|
pgsql:
|
||||||
./install/pgsql
|
@./install/pgsql
|
||||||
|
|
||||||
##php: Install php v8.1 + ppa
|
##php: Install php v8.1 + ppa
|
||||||
php:
|
php:
|
||||||
./install/php
|
@./install/php
|
||||||
|
|
||||||
##postman: Install postman (latest)
|
##postman: Install postman (latest)
|
||||||
postman:
|
postman:
|
||||||
./install/postman
|
@./install/postman
|
||||||
|
|
||||||
##qt5: Install qt5
|
##qt5: Install qt5
|
||||||
qt5:
|
qt5:
|
||||||
./install/qt5
|
@./install/qt5
|
||||||
|
|
||||||
##rustdesk: Install rustdesk client v1.1.9 (deb)
|
##rustdesk: Install rustdesk client v1.1.9 (deb)
|
||||||
rustdesk:
|
rustdesk:
|
||||||
./install/rustdesk
|
@./install/rustdesk
|
||||||
|
|
||||||
##snap: Install bunch of software from snap
|
##snap: Install bunch of software from snap
|
||||||
snap:
|
snap:
|
||||||
./install/snap
|
@./install/snap
|
||||||
|
|
||||||
##syncthing: Install syncthing (latest) + ppa
|
##syncthing: Install syncthing (latest) + ppa
|
||||||
syncthing:
|
syncthing:
|
||||||
./install/syncthing
|
@./install/syncthing
|
||||||
|
|
||||||
##telebit: Install telebit (latest)
|
##telebit: Install telebit (latest)
|
||||||
telebit:
|
telebit:
|
||||||
./install/telebit
|
@./install/telebit
|
||||||
|
|
||||||
##ulauncher: Install ulauncher (latest) + ppa
|
##ulauncher: Install ulauncher (latest) + ppa
|
||||||
ulauncher:
|
ulauncher:
|
||||||
./install/ulauncher
|
@./install/ulauncher
|
||||||
|
|
||||||
##wine: Install wine (latest) + ppa (focal)
|
##wine: Install wine (latest) + ppa (focal)
|
||||||
wine:
|
wine:
|
||||||
./install/wine
|
@./install/wine
|
||||||
|
|
||||||
##zint: Install zint (latest)
|
##zint: Install zint (latest)
|
||||||
zint:
|
zint:
|
||||||
./install/zint
|
@./install/zint
|
||||||
|
|
||||||
##zsh: Install vanilla zsh
|
##zsh: Install vanilla zsh
|
||||||
zsh:
|
zsh:
|
||||||
./install/zsh
|
@./install/zsh
|
||||||
|
|
||||||
##help: Show this help message
|
##help: Show this help message
|
||||||
help: Makefile
|
help: Makefile
|
||||||
@echo "Usage:"
|
@echo "Usage:"
|
||||||
@echo "\tmake <goal>\n"
|
@echo "\tmake <goal>\t - Install software"
|
||||||
|
@echo "\tmake +<goal>\t - Install software"
|
||||||
|
@echo "\tmake ^<goal>\t - Upgrade software"
|
||||||
|
@echo "\tmake @<goal>\t - Uninstall software"
|
||||||
@echo "Available goals:"
|
@echo "Available goals:"
|
||||||
@sed -n 's/^##//p' $< | column -t -s ':' | sed -e "s/^/\t/"
|
@sed -n 's/^##//p' $< | column -ts ':' | sed -e "s/^/\t/"
|
||||||
|
+%:
|
||||||
##<goal>_: Same as 'cat ./install/<goal>'
|
@$(MAKE) $*
|
||||||
%_:
|
^%:
|
||||||
@cat ./install/$*
|
@./upgrade/$*
|
||||||
|
@%:
|
||||||
|
@./uninstall/$*
|
||||||
|
23
gen-makefile
23
gen-makefile
@ -12,23 +12,28 @@ for file in ./install/*; do
|
|||||||
name=${name%.sh}
|
name=${name%.sh}
|
||||||
desc=$(grep -m 1 -oP "(?<=^##makedesc:\s).*$" ${file})
|
desc=$(grep -m 1 -oP "(?<=^##makedesc:\s).*$" ${file})
|
||||||
[ -z "$desc" ] && desc='<no description>'
|
[ -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;
|
done;
|
||||||
|
|
||||||
cat << EOF >> Makefile
|
cat << "EOF" >> Makefile
|
||||||
##help: Show this help message
|
##help: Show this help message
|
||||||
help: Makefile
|
help: Makefile
|
||||||
@echo "Usage:"
|
@echo "Usage:"
|
||||||
@echo "\tmake <goal>\n"
|
@echo "\tmake <goal>\t - Install software"
|
||||||
|
@echo "\tmake +<goal>\t - Install software"
|
||||||
|
@echo "\tmake ^<goal>\t - Upgrade software"
|
||||||
|
@echo "\tmake @<goal>\t - Uninstall software"
|
||||||
@echo "Available goals:"
|
@echo "Available goals:"
|
||||||
@sed -n 's/^##//p' \$< | column -t -s ':' | sed -e "s/^/\t/"
|
@sed -n 's/^##//p' $< | column -ts ':' | sed -e "s/^/\t/"
|
||||||
|
+%:
|
||||||
##<goal>_: Same as 'cat ./install/<goal>'
|
@$(MAKE) $*
|
||||||
%_:
|
^%:
|
||||||
@cat ./install/\$*
|
@./upgrade/$*
|
||||||
|
@%:
|
||||||
|
@./uninstall/$*
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
echo "New ./Makefile has been generated!"
|
echo "New ./Makefile has been generated!"
|
||||||
echo "Old one has been saved as ./Makefile.bak"
|
echo "Old one has been saved as ./Makefile.bak"
|
||||||
echo
|
echo
|
||||||
make help
|
make -s help
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
##makedesc: Install omz (latest) + powerline10k + MesloLGS fonts
|
##makedesc: Install omz (latest)
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo "==============================================="
|
echo "==============================================="
|
||||||
echo "Installing omz (latest) + powerline10k + MesloLGS fonts..."
|
echo "Installing omz (latest)..."
|
||||||
echo "==============================================="
|
echo "==============================================="
|
||||||
echo
|
echo
|
||||||
|
|
||||||
@ -16,34 +16,4 @@ if ! installed zsh || ! installed git || ! installed curl; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo
|
|
||||||
echo "1. Installing oh-my-zsh..."
|
|
||||||
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
|
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
|
||||||
|
|
||||||
echo
|
|
||||||
echo "2. Installing MesloLGS fonts..."
|
|
||||||
mkdir -p ~/.local/share/fonts/
|
|
||||||
wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Regular.ttf -O "~/.local/share/fonts/MesloLGS NF Regular.ttf"
|
|
||||||
wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold.ttf -O "~/.local/share/fonts/MesloLGS NF Bold.ttf"
|
|
||||||
wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Italic.ttf -O "~/.local/share/fonts/MesloLGS NF Italic.ttf"
|
|
||||||
wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold%20Italic.ttf -O "~/.local/share/fonts/MesloLGS NF Bold Italic.ttf"
|
|
||||||
fc-cache -vf ~/.local/share/fonts/
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo "3. Installing powerlevel10k theme..."
|
|
||||||
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
|
|
||||||
sed -i 's#^ZSH_THEME=.*$#ZSH_THEME="powerlevel10k/powerlevel10k"#g' ~/.zshrc
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo "4. Installing plugins..."
|
|
||||||
git clone https://github.com/zsh-users/zsh-autosuggestions.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
|
|
||||||
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
|
|
||||||
sed -i 's/^plugins=/#plugins=/g' ~/.zshrc
|
|
||||||
echo "plugins=(git laravel docker docker-compose composer zsh-autosuggestions zsh-syntax-highlighting)" >> ~/.zshrc
|
|
||||||
p10k configure
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo "Finish! You need to:"
|
|
||||||
echo "- review your plugins in ~/.zshrc"
|
|
||||||
echo "- log out of your session and login again"
|
|
||||||
echo
|
|
||||||
|
51
install/omz-fancy
Executable file
51
install/omz-fancy
Executable file
@ -0,0 +1,51 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
##makedesc: Install omz fancy (powerline10k + MesloLGS font)
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "==============================================="
|
||||||
|
echo "Installing omz fancy: powerline10k + MesloLGS font..."
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
|
||||||
|
installed() {
|
||||||
|
command -v "$1" >/dev/null 2>&1
|
||||||
|
}
|
||||||
|
|
||||||
|
if ! installed zsh || ! installed git || ! installed wget; then
|
||||||
|
echo "ERROR: you need git, zsh and wget to be installed!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ! -d "$HOME/.oh-my-zsh" ]]; then
|
||||||
|
echo "ERROR: you need omz to be installed!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "1/3 Installing MesloLGS fonts..."
|
||||||
|
mkdir -p "$HOME/.local/share/fonts/"
|
||||||
|
FONTS_URL="https://github.com/romkatv/powerlevel10k-media/raw/master"
|
||||||
|
wget "$FONTS_URL/MesloLGS%20NF%20Regular.ttf" -O "$HOME/.local/share/fonts/MesloLGS NF Regular.ttf"
|
||||||
|
wget "$FONTS_URL/MesloLGS%20NF%20Bold.ttf" -O "$HOME/.local/share/fonts/MesloLGS NF Bold.ttf"
|
||||||
|
wget "$FONTS_URL/MesloLGS%20NF%20Italic.ttf" -O "$HOME/.local/share/fonts/MesloLGS NF Italic.ttf"
|
||||||
|
wget "$FONTS_URL/MesloLGS%20NF%20Bold%20Italic.ttf" -O "$HOME/.local/share/fonts/MesloLGS NF Bold Italic.ttf"
|
||||||
|
fc-cache -vf "$HOME/.local/share/fonts/"
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "2/3 Installing powerlevel10k theme..."
|
||||||
|
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
|
||||||
|
sed -i 's#^ZSH_THEME=.*$#ZSH_THEME="powerlevel10k/powerlevel10k"#g' "$HOME/.zshrc"
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "3/3 Installing plugins..."
|
||||||
|
git clone https://github.com/zsh-users/zsh-autosuggestions.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
|
||||||
|
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
|
||||||
|
sed -i 's/^plugins=/plugins=(git laravel docker docker-compose composer zsh-autosuggestions zsh-syntax-highlighting)/g' $HOME/.zshrc
|
||||||
|
p10k configure
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "Finish! You need to:"
|
||||||
|
echo "- review your plugins in $HOME/.zshrc"
|
||||||
|
echo "- restart terminal windows to reload fonts and set 'MesloLGS NF Regular' as default font"
|
||||||
|
echo "- log out of your session and login again"
|
||||||
|
echo
|
@ -1,2 +1,4 @@
|
|||||||
##omz: [PACK] zsh + omz + powerline10k + MesloLGS fonts
|
##omz: [PACK] zsh + omz + powerline10k + MesloLGS font
|
||||||
omz: zsh omz-clean
|
omz: zsh omz-clean omz-fancy
|
||||||
|
chsh -s /usr/bin/zsh
|
||||||
|
@exec zsh
|
||||||
|
11
uninstall/omz
Executable file
11
uninstall/omz
Executable file
@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
##makedesc: Uninstalling omz
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "==============================================="
|
||||||
|
echo "Uninstalling omz..."
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
|
||||||
|
bash $ZSH/tools/uninstall.sh
|
||||||
|
exec bash
|
10
upgrade/omz
Executable file
10
upgrade/omz
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
##makedesc: Upgrading omz
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "==============================================="
|
||||||
|
echo "Upgrading omz..."
|
||||||
|
echo "==============================================="
|
||||||
|
echo
|
||||||
|
|
||||||
|
bash $ZSH/tools/upgrade.sh
|
Loading…
Reference in New Issue
Block a user