This commit is contained in:
Mylloon 2023-03-26 17:55:06 +02:00
parent 76210537df
commit 636685b4f9
Signed by: Anri
GPG key ID: A82D63DFF8D1317F

View file

@ -1,26 +1,27 @@
# Version control
VC = git
VC = git
# Util
RM = rm -f
RM = rm -f
# Downloaders
WGET = wget -q --show-progress
CURL = curl -s
WGET = wget -q --show-progress
CURL = curl -s
# Checkers
ARCH = $(shell grep -c "archlinux" /proc/version)
WSL = $(shell grep -c "WSL2" /proc/version)
ARCH = $(shell grep -c "archlinux" /proc/version)
WSL = $(shell grep -c "WSL2" /proc/version)
# Hide some verbose messages from Make
MAKEFLAGS += --no-print-directory
# Location
WIN_USER = anri
PFx86 = /mnt/c/Program\ Files\ \(x86\)
WIN_HOME = /mnt/c/Users/$(WIN_USER)
APPDATA = $(WIN_HOME)/AppData/Roaming
CSGO = $(PFx86)/Steam/steamapps/common/Counter-Strike\ Global\ Offensive/csgo/cfg
WIN_USER = anri
PFx86 = /mnt/c/Program\ Files\ \(x86\)
WIN_HOME = /mnt/c/Users/$(WIN_USER)
APPDATA = $(WIN_HOME)/AppData/Roaming
WIN_STEAM_USERDATA = $(filter-out "userdata",$(shell find $(PFx86)/Steam/userdata -maxdepth 1 -type d -printf "\"%f\" "))
CSGO_CFG = $(PFx86)/Steam/steamapps/common/Counter-Strike\ Global\ Offensive/csgo/cfg
all: full-sync
@ -87,20 +88,8 @@ sync-dotfiles:
# === Specific platforms ==
sync:
# Check if at least the platform is supported
ifneq (1, $(filter 1, $(ARCH) $(WSL)))
@echo "Unsupported platform"
else
# Call target of compatible with all supported platforms
@$(MAKE) sync-dotconfig
@$(MAKE) sync-dotfiles
@$(MAKE) sync-emacs
# Specific to Arch
ifeq ($(ARCH), 1)
# Arch distro
sync-arch:
# Fish
@$(WGET) https://git.mylloon.fr/Anri/confOS/raw/branch/main/.config/fish/config_arch.fish -O $(HOME)/.config/fish/config.fish
@$(WGET) https://git.mylloon.fr/Anri/confOS/raw/branch/main/.config/fish/conf.d/abbr.fish -O $(HOME)/.config/fish/conf.d/abbr.fish
@ -116,8 +105,8 @@ ifeq ($(ARCH), 1)
# VSCodium
@$(WGET) https://git.mylloon.fr/Anri/confOS/raw/branch/main/.config/VSCodium/product.json -O $(HOME)/.config/VSCodium/product.json
# Specific to WSL
else ifeq ($(WSL), 1)
# Windows Subsystem for Linux
sync-wsl:
# Fish
@$(WGET) https://git.mylloon.fr/Anri/confOS/raw/branch/main/.config/fish/config_wsl.fish -O $(HOME)/.config/fish/config.fish
@$(CURL) https://git.mylloon.fr/Anri/confOS/raw/branch/main/.config/fish/conf.d/abbr_wsl.fish >> $(HOME)/.config/fish/conf.d/abbr.fish
@ -126,10 +115,8 @@ else ifeq ($(WSL), 1)
@mkdir -p $(HOME)/.unison
@$(WGET) https://git.mylloon.fr/Anri/confOS/raw/branch/main/.unison/default.prf -O $(HOME)/.unison/default.prf
@echo "WSL synced!"
@echo
# Windows
# Windows trough WSL
sync-windows:
# Scripts
@$(WGET) https://git.mylloon.fr/Anri/confOS/raw/branch/main/windows/ctmpf.bat -O $(WIN_HOME)/Documents/Local/ctmpf.bat
@$(WGET) https://git.mylloon.fr/Anri/confOS/raw/branch/main/windows/spotx.bat -O $(WIN_HOME)/Documents/Local/spotx.bat
@ -138,12 +125,12 @@ else ifeq ($(WSL), 1)
@echo "(Windows) Scripts synced!"
@echo
# CSGO
@if [ -d $(CSGO) ]; then \
$(WGET) https://git.mylloon.fr/Anri/confOS/raw/branch/main/games/csgo/autoexec.cfg -O $(CSGO)/autoexec.cfg; \
$(WGET) https://git.mylloon.fr/Anri/confOS/raw/branch/main/games/csgo/myconfig.cfg -O $(CSGO)/myconfig.cfg; \
$(WGET) https://git.mylloon.fr/Anri/confOS/raw/branch/main/games/csgo/customgame.cfg -O $(CSGO)/customgame.cfg; \
$(foreach d,$(filter-out "userdata",$(shell find $(PFx86)/Steam/userdata -maxdepth 1 -type d -printf "\"%f\" ")), $(WGET) https://git.mylloon.fr/Anri/confOS/raw/branch/main/games/csgo/video.txt -O $(PFx86)/Steam/userdata/$(d)/730/local/cfg/video.txt;) \
# CSGO (only if installed)
@if [ -d $(CSGO_CFG) ]; then \
$(WGET) https://git.mylloon.fr/Anri/confOS/raw/branch/main/games/csgo/autoexec.cfg -O $(CSGO_CFG)/autoexec.cfg; \
$(WGET) https://git.mylloon.fr/Anri/confOS/raw/branch/main/games/csgo/myconfig.cfg -O $(CSGO_CFG)/myconfig.cfg; \
$(WGET) https://git.mylloon.fr/Anri/confOS/raw/branch/main/games/csgo/customgame.cfg -O $(CSGO_CFG)/customgame.cfg; \
$(foreach d,$(WIN_STEAM_USERDATA), $(WGET) https://git.mylloon.fr/Anri/confOS/raw/branch/main/games/csgo/video.txt -O $(PFx86)/Steam/userdata/$(d)/730/local/cfg/video.txt;) \
echo "(Windows) CS:GO synced!"; \
echo; \
fi
@ -152,7 +139,35 @@ else ifeq ($(WSL), 1)
@echo "(Windows) Firefox synced!"
@echo
# END
sync:
# Check if at least the platform is supported
ifneq (1, $(filter 1, $(ARCH) $(WSL)))
@echo "Unsupported platform"
else
# Call target of compatible with all supported platforms
@$(MAKE) sync-dotconfig
@$(MAKE) sync-dotfiles
@$(MAKE) sync-emacs
# Specific to Arch
ifeq ($(ARCH), 1)
@$(MAKE) sync-arch
@echo "Arch synced!"
@echo
# Specific to WSL
else ifeq ($(WSL), 1)
@$(MAKE) sync-wsl
@echo "WSL synced!"
@echo
# Windows
@$(MAKE) sync-windows
@echo "Windows synced!"
@echo
endif