430 lines
11 KiB
Makefile
430 lines
11 KiB
Makefile
# =======================
|
|
# = STOW COMMANDS =
|
|
# =======================
|
|
|
|
STOW_INSTALL = stow -t ~ -S
|
|
STOW_REMOVE = stow -t ~ -D
|
|
STOW_UPDATE = stow -t ~ -R
|
|
|
|
# =============================
|
|
# = PER-PACKAGE INSTALL =
|
|
# =============================
|
|
|
|
bash-install:
|
|
$(STOW_INSTALL) bash
|
|
|
|
burrow-install:
|
|
$(STOW_INSTALL) burrow
|
|
|
|
byobu-install:
|
|
$(STOW_INSTALL) byobu
|
|
|
|
fontconfig-install:
|
|
$(STOW_INSTALL) fontconfig
|
|
|
|
fonts-install: fontconfig-install
|
|
$(STOW_INSTALL) fonts
|
|
|
|
gimp-install:
|
|
$(STOW_INSTALL) gimp
|
|
|
|
git-install:
|
|
$(STOW_INSTALL) git
|
|
|
|
gnupg-install:
|
|
$(STOW_INSTALL) gnupg
|
|
|
|
libreoffice-install:
|
|
$(STOW_INSTALL) libreoffice
|
|
|
|
links2-install:
|
|
$(STOW_INSTALL) links2
|
|
|
|
mixxx-install:
|
|
$(STOW_INSTALL) mixxx
|
|
|
|
node-install:
|
|
$(STOW_INSTALL) node
|
|
|
|
npm-install: node-install
|
|
$(STOW_INSTALL) npm
|
|
|
|
oh-my-zsh-install: zsh-install
|
|
$(STOW_INSTALL) oh-my-zsh
|
|
|
|
pavucontrol-install:
|
|
$(STOW_INSTALL) pavucontrol
|
|
|
|
smplayer-install:
|
|
$(STOW_INSTALL) smplayer
|
|
|
|
ssh-install:
|
|
$(STOW_INSTALL) ssh
|
|
|
|
subversion-install:
|
|
$(STOW_INSTALL) subversion
|
|
|
|
thunar-install:
|
|
$(STOW_INSTALL) thunar
|
|
|
|
tig-install: git-install
|
|
$(STOW_INSTALL) tig
|
|
|
|
tmux-install:
|
|
$(STOW_INSTALL) tmux
|
|
|
|
torbrowser-install:
|
|
$(STOW_INSTALL) torbrowser
|
|
|
|
vim-install:
|
|
$(STOW_INSTALL) vim
|
|
|
|
vlc-install:
|
|
$(STOW_INSTALL) vlc
|
|
|
|
vscode-install:
|
|
$(STOW_INSTALL) vscode
|
|
|
|
w3m-install:
|
|
$(STOW_INSTALL) w3m
|
|
|
|
weechat-install:
|
|
$(STOW_INSTALL) weechat
|
|
|
|
wget-install:
|
|
$(STOW_INSTALL) wget
|
|
|
|
xarchiver-install:
|
|
$(STOW_INSTALL) xarchiver
|
|
|
|
xfce4-install:
|
|
$(STOW_INSTALL) xfce4
|
|
|
|
youtube-dl-install:
|
|
$(STOW_INSTALL) youtube-dl
|
|
|
|
zsh-install:
|
|
$(STOW_INSTALL) zsh
|
|
|
|
# ============================
|
|
# = PER-PACKAGE REMOVE =
|
|
# ============================
|
|
|
|
bash-remove:
|
|
$(STOW_REMOVE) bash
|
|
|
|
burrow-remove:
|
|
$(STOW_REMOVE) burrow
|
|
|
|
byobu-remove:
|
|
$(STOW_REMOVE) byobu
|
|
|
|
fontconfig-remove: fonts-remove
|
|
$(STOW_REMOVE) fontconfig
|
|
|
|
fonts-remove:
|
|
$(STOW_REMOVE) fonts
|
|
|
|
gimp-remove:
|
|
$(STOW_REMOVE) gimp
|
|
|
|
git-remove: tig-remove
|
|
$(STOW_REMOVE) git
|
|
|
|
gnupg-remove:
|
|
$(STOW_REMOVE) gnupg
|
|
|
|
libreoffice-remove:
|
|
$(STOW_REMOVE) libreoffice
|
|
|
|
LICENSE-remove:
|
|
$(STOW_REMOVE) LICENSE
|
|
|
|
links2-remove:
|
|
$(STOW_REMOVE) links2
|
|
|
|
Makefile-remove:
|
|
$(STOW_REMOVE) Makefile
|
|
|
|
mixxx-remove:
|
|
$(STOW_REMOVE) mixxx
|
|
|
|
node-remove: npm-remove
|
|
$(STOW_REMOVE) node
|
|
|
|
npm-remove:
|
|
$(STOW_REMOVE) npm
|
|
|
|
oh-my-zsh-remove:
|
|
$(STOW_REMOVE) oh-my-zsh
|
|
|
|
pavucontrol-remove:
|
|
$(STOW_REMOVE) pavucontrol
|
|
|
|
smplayer-remove:
|
|
$(STOW_REMOVE) smplayer
|
|
|
|
ssh-remove:
|
|
$(STOW_REMOVE) ssh
|
|
|
|
subversion-remove:
|
|
$(STOW_REMOVE) subversion
|
|
|
|
thunar-remove:
|
|
$(STOW_REMOVE) thunar
|
|
|
|
tig-remove:
|
|
$(STOW_REMOVE) tig
|
|
|
|
tmux-remove:
|
|
$(STOW_REMOVE) tmux
|
|
|
|
torbrowser-remove:
|
|
$(STOW_REMOVE) torbrowser
|
|
|
|
vim-remove:
|
|
$(STOW_REMOVE) vim
|
|
|
|
vlc-remove:
|
|
$(STOW_REMOVE) vlc
|
|
|
|
vscode-remove:
|
|
$(STOW_REMOVE) vscode
|
|
|
|
w3m-remove:
|
|
$(STOW_REMOVE) w3m
|
|
|
|
weechat-remove:
|
|
$(STOW_REMOVE) weechat
|
|
|
|
wget-remove:
|
|
$(STOW_REMOVE) wget
|
|
|
|
xarchiver-remove:
|
|
$(STOW_REMOVE) xarchiver
|
|
|
|
xfce4-remove:
|
|
$(STOW_REMOVE) xfce4
|
|
|
|
youtube-dl-remove:
|
|
$(STOW_REMOVE) youtube-dl
|
|
|
|
zsh-remove: oh-my-zsh-remove
|
|
$(STOW_REMOVE) zsh
|
|
|
|
# ============================
|
|
# = PER-PACKAGE UPDATE =
|
|
# ============================
|
|
|
|
bash-update:
|
|
$(STOW_UPDATE) bash
|
|
|
|
burrow-update:
|
|
$(STOW_UPDATE) burrow
|
|
|
|
byobu-update:
|
|
$(STOW_UPDATE) byobu
|
|
|
|
fontconfig-update:
|
|
$(STOW_UPDATE) fontconfig
|
|
|
|
fonts-update:
|
|
$(STOW_UPDATE) fonts
|
|
|
|
gimp-update:
|
|
$(STOW_UPDATE) gimp
|
|
|
|
git-update:
|
|
$(STOW_UPDATE) git
|
|
|
|
gnupg-update:
|
|
$(STOW_UPDATE) gnupg
|
|
|
|
libreoffice-update:
|
|
$(STOW_UPDATE) libreoffice
|
|
|
|
LICENSE-update:
|
|
$(STOW_UPDATE) LICENSE
|
|
|
|
links2-update:
|
|
$(STOW_UPDATE) links2
|
|
|
|
Makefile-update:
|
|
$(STOW_UPDATE) Makefile
|
|
|
|
mixxx-update:
|
|
$(STOW_UPDATE) mixxx
|
|
|
|
node-update:
|
|
$(STOW_UPDATE) node
|
|
|
|
npm-update:
|
|
$(STOW_UPDATE) npm
|
|
|
|
oh-my-zsh-update:
|
|
$(STOW_UPDATE) oh-my-zsh
|
|
|
|
pavucontrol-update:
|
|
$(STOW_UPDATE) pavucontrol
|
|
|
|
smplayer-update:
|
|
$(STOW_UPDATE) smplayer
|
|
|
|
ssh-update:
|
|
$(STOW_UPDATE) ssh
|
|
|
|
subversion-update:
|
|
$(STOW_UPDATE) subversion
|
|
|
|
thunar-update:
|
|
$(STOW_UPDATE) thunar
|
|
|
|
tig-update:
|
|
$(STOW_UPDATE) tig
|
|
|
|
tmux-update:
|
|
$(STOW_UPDATE) tmux
|
|
|
|
torbrowser-update:
|
|
$(STOW_UPDATE) torbrowser
|
|
|
|
vim-update:
|
|
$(STOW_UPDATE) vim
|
|
|
|
vlc-update:
|
|
$(STOW_UPDATE) vlc
|
|
|
|
vscode-update:
|
|
$(STOW_UPDATE) vscode
|
|
|
|
w3m-update:
|
|
$(STOW_UPDATE) w3m
|
|
|
|
weechat-update:
|
|
$(STOW_UPDATE) weechat
|
|
|
|
wget-update:
|
|
$(STOW_UPDATE) wget
|
|
|
|
xarchiver-update:
|
|
$(STOW_UPDATE) xarchiver
|
|
|
|
xfce4-update:
|
|
$(STOW_UPDATE) xfce4
|
|
|
|
youtube-dl-update:
|
|
$(STOW_UPDATE) youtube-dl
|
|
|
|
zsh-update:
|
|
$(STOW_UPDATE) zsh
|
|
|
|
# =======================
|
|
# = INSTALL TYPES =
|
|
# =======================
|
|
|
|
install-all: bash-install burrow-install byobu-install fontconfig-install fonts-install gimp-install git-install gnupg-install libreoffice-install links2-install mixxx-install node-install npm-install oh-my-zsh-install pavucontrol-install smplayer-install ssh-install subversion-install thunar-install tig-install tmux-install torbrowser-install vim-install vlc-install vscode-install w3m-install weechat-install wget-install xarchiver-install xfce4-install youtube-dl-install zsh-install
|
|
|
|
install-base: bash-install fontconfig-install fonts-install oh-my-zsh-install ssh-install tmux-install vim-install zsh-install
|
|
|
|
install-home: install-base burrow-install gimp-install git-install gnupg-install libreoffice-install node-install npm-install pavucontrol-install torbrowser-install thunar-install tig-install vlc-install wget-install xarchiver-install youtube-dl-install
|
|
|
|
install-pubnix: install-base burrow-install gnupg-install wget-install
|
|
|
|
install-team: install-pubnix youtube-dl-install
|
|
|
|
install-weechat: install-base gnupg-install weechat-install
|
|
|
|
install-streaming: install-base mixxx-install vlc-install youtube-dl-install
|
|
|
|
# =================
|
|
# = GENERAL =
|
|
# =================
|
|
|
|
remove: bash-remove burrow-install byobu-install fontconfig-install fonts-install gimp-install git-install gnupg-install libreoffice-install links2-install mixxx-install node-install npm-install oh-my-zsh-install pavucontrol-install smplayer-install ssh-install subversion-install thunar-install tig-install tmux-install torbrowser-install vim-install vlc-install vscode-install w3m-install weechat-install wget-install xarchiver-install xfce4-install youtube-dl-install zsh-install
|
|
|
|
update: bash-remove burrow-install byobu-install fontconfig-install fonts-install gimp-install git-install gnupg-install libreoffice-install links2-install mixxx-install node-install npm-install oh-my-zsh-install pavucontrol-install smplayer-install ssh-install subversion-install thunar-install tig-install tmux-install torbrowser-install vim-install vlc-install vscode-install w3m-install weechat-install wget-install xarchiver-install xfce4-install youtube-dl-install zsh-install
|
|
|
|
all: update
|
|
|
|
install:
|
|
printf "Please choose an install type:\\n"
|
|
printf " - install-all: install everything\\n"
|
|
printf " - install-base: just install base everyday use packages\\n"
|
|
printf " - install-home: install stuff that i use on\\n"
|
|
printf " home machines + base\\n"
|
|
printf " - install-pubnix: install stuff that i use on pubnixes + base\\n"
|
|
printf " - install-team: install stuff i specifically use on\\n"
|
|
printf " ~team + pubnix\\n"
|
|
printf " - install-weechat: install stuff needed for weechat + base\\n"
|
|
printf " - install-streaming: install stuff for streaming + base\\n
|
|
printf " (rarely used)\\n"
|
|
|
|
help:
|
|
printf "==========================\\n"
|
|
printf "= GENERAL COMMANDS =\\n"
|
|
printf "==========================\\n"
|
|
printf "\\n"
|
|
printf "install: shows help for install types\\n"
|
|
printf "remove: removes dotfiles from system\\n"
|
|
printf "update: updates dotfiles (normally run after git pull\\n"
|
|
printf "all (plain make with no arguments): link to 'update'\\n"
|
|
printf "\\n"
|
|
printf "=======================\\n"
|
|
printf "= INSTALL TYPES =\\n"
|
|
printf "=======================\\n"
|
|
printf "\\n"
|
|
printf "Install types:\\n"
|
|
printf " - install-all: install everything\\n"
|
|
printf " - install-base: just install base everyday use packages\\n"
|
|
printf " - install-home: install stuff that i use on\\n"
|
|
printf " home machines + base\\n"
|
|
printf " - install-pubnix: install stuff that i use on pubnixes + base\\n"
|
|
printf " - install-team: install stuff i specifically use on\\n"
|
|
printf " ~team + pubnix\\n"
|
|
printf " - install-weechat: install stuff needed for weechat + base\\n"
|
|
printf " - install-streaming: install stuff for streaming + base\\n
|
|
printf " (rarely used)\\n"
|
|
printf "\\n"
|
|
printf "=============================\\n"
|
|
printf "= PER-PACKAGE TARGETS =\\n"
|
|
printf "=============================\\n"
|
|
printf "\\n"
|
|
printf "Each package has a per-package target for install, remove and\\n"
|
|
printf "update. These targets allow cherry-picking for adding and\\n"
|
|
printf "removing dotfiles. These are most useful when:\\n"
|
|
printf " install) adding a new package after install, however this can\\n"
|
|
printf " normally be done by running the same target you\\n"
|
|
printf " installed with if it was added to that target.\\n"
|
|
printf " remove) deciding a package is no longer needed. if a package\\n"
|
|
printf " is removed from its install target, re-running the\\n"
|
|
printf " install target with not remove it, this must be done\\n"
|
|
printf " manually.\\n"
|
|
printf " update) rarely used. normally only used if there is\\n"
|
|
printf " a conflict, or you get in a broken scenario.\\n"
|
|
printf " please note that this under the hood reinstalls the\\n"
|
|
printf " package, so you can use this to attempt to fix\\n"
|
|
printf " broken stuff.\\n"
|
|
printf "\\n"
|
|
printf "===================\\n"
|
|
printf "= LICENSING =\\n"
|
|
printf "===================\\n"
|
|
printf "Copyright (c) 2018 fosslinux\\n"
|
|
printf "\\n"
|
|
printf "Permission is hereby granted, free of charge, to any person obtaining a copy\\n"
|
|
printf "of this software and associated documentation files (the "Software"), to deal\\n"
|
|
printf "in the Software without restriction, including without limitation the rights\\n"
|
|
printf "to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\\n"
|
|
printf "copies of the Software, and to permit persons to whom the Software is\\n"
|
|
printf "furnished to do so, subject to the following conditions:\\n"
|
|
printf "\\n"
|
|
printf "The above copyright notice and this permission notice shall be included in all\\n"
|
|
printf "copies or substantial portions of the Software.\\n"
|
|
printf "\\n"
|
|
printf "THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n"
|
|
printf "IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\\n"
|
|
printf "FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\\n"
|
|
printf "AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\\n"
|
|
printf "LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\\n"
|
|
printf "OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\\n"
|
|
printf "SOFTWARE.\\n"
|