aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjakobst1n <jakob.stendahl@outlook.com>2024-04-14 12:06:24 +0200
committerjakobst1n <jakob.stendahl@outlook.com>2024-04-14 12:06:24 +0200
commit5672750bae69a55893738ba17c66f461a4454b9a (patch)
tree5b5b385f0a8280aa45b60e5433318ff43408c2dd
parentb117ace1dffec2f6e29b46d28a78fd60b9defd1d (diff)
downloaddotfiles-5672750bae69a55893738ba17c66f461a4454b9a.tar.gz
dotfiles-5672750bae69a55893738ba17c66f461a4454b9a.zip
cargo
-rw-r--r--Makefile.m4122
-rwxr-xr-xconfigure40
2 files changed, 120 insertions, 42 deletions
diff --git a/Makefile.m4 b/Makefile.m4
index 2630bd5..ee3255d 100644
--- a/Makefile.m4
+++ b/Makefile.m4
@@ -6,7 +6,7 @@ M4_COMMON_DEPS = $(M4_SYSFILE)
SRC_DIR := DT_DOTFILES_DIR
HOME_DIR := DT_HOME_DIRECTORY
-.PHONY: install_packages update_packages
+.PHONY: install_packages install_cargo_packages install_pip_packages update_packages update
define M4_EXEC
echo "`m4_include'(\``system.m4'')`m4_dnl'" | cat - $< | ${M4} ${M4_OPTS} > $@
@@ -26,31 +26,31 @@ define create_dotfile_symlink
$(call create_symlink,${SRC_DIR}/$(1),${HOME_DIR}/$(2))
endef
-all: system.m4 install_packages m4_dnl
-m4_ifelse(DT_OTHER_SYMLINKS, `yes', `$(HOME_DIR)/.vimrc') m4_dnl
-m4_ifelse(DT_OTHER_SYMLINKS, `yes', `$(HOME_DIR)/.vim') m4_dnl
-m4_ifelse(DT_OTHER_SYMLINKS, `yes', `$(HOME_DIR)/.config/rofi') m4_dnl
-m4_ifelse(DT_OTHER_SYMLINKS, `yes', `$(HOME_DIR)/.config/deadd') m4_dnl
-m4_ifelse(DT_OTHER_SYMLINKS, `yes', `$(HOME_DIR)/.config/waybar') m4_dnl
-m4_ifelse(DT_OTHER_SYMLINKS, `yes', `$(HOME_DIR)/.config/foot') m4_dnl
-m4_ifelse(DT_OTHER_SYMLINKS, `yes', `$(HOME_DIR)/.config/alacritty') m4_dnl
-m4_ifelse(DT_OTHER_SYMLINKS, `yes', `$(HOME_DIR)/.config/powerline') m4_dnl
-m4_ifelse(DT_OTHER_SYMLINKS, `yes', `$(HOME_DIR)/.config/sxhkd') m4_dnl
-m4_ifelse(DT_OTHER_SYMLINKS, `yes', `$(HOME_DIR)/.config/bspwm') m4_dnl
-m4_ifelse(DT_OTHER_SYMLINKS, `yes', `$(HOME_DIR)/.inputrc') m4_dnl
-m4_ifelse(DT_HOMEBIN, `yes', `$(HOME_DIR)/bin') m4_dnl
-m4_ifelse(DT_ZSH, `yes', `$(HOME_DIR)/.zshrc') m4_dnl
-m4_ifelse(DT_ZSH, `yes', `$(HOME_DIR)/.p10k.zsh') m4_dnl
-m4_ifelse(DT_BASH, `yes', `$(HOME_DIR)/.bashrc') m4_dnl
-m4_ifelse(DT_TMUX, `yes', `$(HOME_DIR)/.tmux.conf') m4_dnl
-m4_ifelse(DT_QTILE, `yes', `$(HOME_DIR)/.config/qtile/config.py') m4_dnl
-m4_ifelse(DT_SWAY, `yes', `$(HOME_DIR)/.config/sway/config') m4_dnl
-m4_ifelse(DT_SWAY, `yes', `$(HOME_DIR)/.config/sway/hid') m4_dnl
-m4_ifelse(DT_SWAY, `yes', `$(HOME_DIR)/.config/sway/autostart') m4_dnl
-m4_ifelse(DT_NEOVIM, `yes', `$(HOME_DIR)/.config/nvim') m4_dnl
-m4_ifelse(DT_MYCLI, `yes', `$(HOME_DIR)/.my.cnf') m4_dnl
-m4_ifelse(DT_MYCLI, `yes', `$(HOME_DIR)/.myclirc') m4_dnl
-m4_ifelse(DT_NEWSBOAT, `yes', `$(HOME_DIR)/.newsboat') m4_dnl
+all: system.m4 install_packages install_cargo_packages m4_dnl
+m4_ifelse(DT_VIM, `yes', `$(HOME_DIR)/.vimrc') m4_dnl
+m4_ifelse(DT_VIM, `yes', `$(HOME_DIR)/.vim') m4_dnl
+m4_ifelse(DT_ROFI, `yes', `$(HOME_DIR)/.config/rofi') m4_dnl
+m4_ifelse(DT_DEADD, `yes', `$(HOME_DIR)/.config/deadd') m4_dnl
+m4_ifelse(DT_WAYBAR, `yes', `$(HOME_DIR)/.config/waybar') m4_dnl
+m4_ifelse(DT_FOOT, `yes', `$(HOME_DIR)/.config/foot') m4_dnl
+m4_ifelse(DT_POWERLINE, `yes', `$(HOME_DIR)/.config/powerline') m4_dnl
+m4_ifelse(DT_SXHKD, `yes', `$(HOME_DIR)/.config/sxhkd') m4_dnl
+m4_ifelse(DT_BSPWM, `yes', `$(HOME_DIR)/.config/bspwm') m4_dnl
+m4_ifelse(DT_INPUTRC, `yes', `$(HOME_DIR)/.inputrc') m4_dnl
+m4_ifelse(DT_HOMEBIN, `yes', `$(HOME_DIR)/bin') m4_dnl
+m4_ifelse(DT_ZSH, `yes', `$(HOME_DIR)/.zshrc') m4_dnl
+m4_ifelse(DT_ZSH, `yes', `$(HOME_DIR)/.p10k.zsh') m4_dnl
+m4_ifelse(DT_BASH, `yes', `$(HOME_DIR)/.bashrc') m4_dnl
+m4_ifelse(DT_TMUX, `yes', `$(HOME_DIR)/.tmux.conf') m4_dnl
+m4_ifelse(DT_QTILE, `yes', `$(HOME_DIR)/.config/qtile/config.py') m4_dnl
+m4_ifelse(DT_SWAY, `yes', `$(HOME_DIR)/.config/sway/config') m4_dnl
+m4_ifelse(DT_SWAY, `yes', `$(HOME_DIR)/.config/sway/hid') m4_dnl
+m4_ifelse(DT_SWAY, `yes', `$(HOME_DIR)/.config/sway/autostart') m4_dnl
+m4_ifelse(DT_NEOVIM, `yes', `$(HOME_DIR)/.config/nvim') m4_dnl
+m4_ifelse(DT_MYCLI, `yes', `$(HOME_DIR)/.my.cnf') m4_dnl
+m4_ifelse(DT_MYCLI, `yes', `$(HOME_DIR)/.myclirc') m4_dnl
+m4_ifelse(DT_NEWSBOAT, `yes', `$(HOME_DIR)/.newsboat') m4_dnl
+m4_ifelse(DT_ALACRITTY, `yes', `$(HOME_DIR)/.config/alacritty') m4_dnl
$(M4_SYSFILE): $(CONFIG_FILE)
@@ -63,34 +63,45 @@ $(M4_SYSFILE): $(CONFIG_FILE)
Makefile: Makefile.m4 $(M4_SYSFILE)
$(call M4_EXEC)
-m4_ifelse(DT_OTHER_SYMLINKS, `yes', `m4_dnl
+m4_ifelse(DT_VIM, `yes', `m4_dnl
$(HOME_DIR)/.vimrc: Common/vimrc
$(call create_dotfile_symlink,Common/vimrc,.vimrc)
$(HOME_DIR)/.vim: Common/vim
$(call create_dotfile_symlink,Common/vim,.vim)
+')m4_dnl
+m4_ifelse(DT_ROFI, `yes', `m4_dnl
$(HOME_DIR)/.config/rofi: linux/rofi
$(call create_dotfile_symlink,linux/rofi,.config/rofi)
+')m4_dnl
+m4_ifelse(DT_DEADD, `yes', `m4_dnl
$(HOME_DIR)/.config/deadd: linux/deadd/
$(call create_dotfile_symlink,linux/deadd,.config/deadd)
+')m4_dnl
+m4_ifelse(DT_WAYBAR, `yes', `m4_dnl
$(HOME_DIR)/.config/waybar: linux/waybar
$(call create_dotfile_symlink,linux/waybar,.config/waybar)
+')m4_dnl
+m4_ifelse(DT_FOOT, `yes', `m4_dnl
$(HOME_DIR)/.config/foot: linux/foot
$(call create_dotfile_symlink,linux/foot,.config/foot)
-$(HOME_DIR)/.config/alacritty: linux/alacritty
- $(call create_dotfile_symlink,linux/alacritty,.config/alacritty)
-
+')m4_dnl
+m4_ifelse(DT_POWERLINE, `yes', `m4_dnl
$(HOME_DIR)/.config/powerline: linux/powerline_config
$(call create_dotfile_symlink,linux/powerline_config,.config/powerline)
+')m4_dnl
+m4_ifelse(DT_SXHKD, `yes', `m4_dnl
$(HOME_DIR)/.config/sxhkd: linux/sxhkd
$(call create_dotfile_symlink,linux/sxhkd,.config/sxhkd)
+')m4_dnl
+m4_ifelse(DT_BSPWM, `yes', `m4_dnl
$(HOME_DIR)/.config/bspwm: linux/bspwm
$(call create_dotfile_symlink,linux/bspwm,.config/bspwm)
@@ -190,16 +201,21 @@ Common/newsboat/config: Common/newsboat/config.m4
$(HOME_DIR)/.newsboat: Common/newsboat Common/newsboat/config
$(call create_dotfile_symlink,Common/newsboat,.newsboat)
+
')m4_dnl
+m4_ifelse(DT_ALACRITTY, `yes', `m4_dnl
+$(HOME_DIR)/.config/alacritty: linux/alacritty
+ $(call create_dotfile_symlink,linux/alacritty,.config/alacritty)
+')m4_dnl
# General package manager stuff
-m4_ifelse(DT_DISTRO, `debian', m4_dnl
+m4_ifelse(DT_DISTRO, `debian', `m4_dnl
DPKG_DEPENDENCIES := m4_dnl
m4_ifelse(DT_TOOLS, `yes', `highlight atool w3m mediainfo curl zsh vim git python3-pip zsh tmux nodejs catimg ripgrep silversearcher-ag',) m4_dnl
-m4_ifelse(DT_GREETD_TUIGREET', `yes', `greetd',) m4_dnl
+m4_ifelse(DT_GREETD_TUIGREET, `yes', `greetd',) m4_dnl
m4_ifelse(DT_TLP, `yes', `tlp',) m4_dnl
m4_dnl
-m4_ifelse(DT_SWAY, `yes', `sway swayidle physlock alacritty blueman network-manager-gnome wob wlogout wofi brightnessctl clipman xwayland seahorse fcitx5',) m4_dnl
+m4_ifelse(DT_SWAY, `yes', `sway swayidle physlock blueman network-manager-gnome wob wlogout wofi brightnessctl clipman xwayland seahorse fcitx5',) m4_dnl
m4_dnl
m4_ifelse(DT_QTILE, `yes', `python3-cffi python3-cairocffi pango pango-devel python3-dbus-next',) m4_dnl qtile core
m4_ifelse(DT_QTILE, `yes', `python3_xcffib xsecurelock',) m4_dnl qtile x11
@@ -223,16 +239,16 @@ update_packages:
@echo "Updating all packages..."
sudo apt-get update
sudo apt-get upgrade -y $(DPKG_DEPENDENCIES)
-)m4_dnl
+')m4_dnl
-m4_ifelse(DT_DISTRO, `fedora', m4_dnl
+m4_ifelse(DT_DISTRO, `fedora', `m4_dnl
DPKG_DEPENDENCIES := m4_dnl
m4_ifelse(DT_TOOLS, `yes', `highlight atool w3m mediainfo curl zsh vim-enhanced git python3-pip zsh tmux nodejs catimg ripgrep the_silver_searcher',) m4_dnl
-m4_ifelse(DT_GREETD_TUIGREET', `yes', `greetd',) m4_dnl
+m4_ifelse(DT_GREETD_TUIGREET, `yes', `greetd',) m4_dnl
m4_ifelse(DT_TLP, `yes', `tlp',) m4_dnl
m4_ifelse(DT_MYCLI, `yes', `mycli pspg',) m4_dnl
m4_dnl
-m4_ifelse(DT_SWAY, `yes', `sway swayidle alacritty blueman wob wlogout wofi brightnessctl clipman seahorse fcitx5 imsettings',) m4_dnl
+m4_ifelse(DT_SWAY, `yes', `sway swayidle blueman wob wlogout wofi brightnessctl clipman seahorse fcitx5 imsettings',) m4_dnl
m4_dnl
m4_ifelse(DT_QTILE, `yes', `python3-cffi python3-cairocffi pango pango-devel python3-dbus-next',) m4_dnl qtile core
m4_ifelse(DT_QTILE, `yes', `python3-xcffib xsecurelock',) m4_dnl qtile x11
@@ -254,21 +270,43 @@ install_packages:
update_packages:
@echo "Updating all packages..."
sudo dnf upgrade -y $(DPKG_DEPENDENCIES)
-)m4_dnl
-
+')m4_dnl
+# Global pip packages
PIP := pip
-PIP_FLAGS :=
+PIP_FLAGS := m4_ifelse(DT_DISTRO, `debian', `--break-system-packages')
PIP_DEPENDENCIES := m4_dnl
m4_ifelse(DT_QTILE, `yes', `qtile qtile_extras',) m4_dnl qtile core
+
install_pip_packages:
@missing_packages=""; \
for pkg in $(PIP_DEPENDENCIES); do \
- if [ "$(pip list | grep -sw "$$pkg" | wc -l)" = "0" ]; then \
+ if [ "$($PIP list | grep -sw "$$pkg" | wc -l)" = "0" ]; then \
+ missing_packages="$$missing_packages $$pkg"; \
+ fi; \
+ done; \
+ if [ -n "$$missing_packages" ]; then \
+ echo "Installing missing packages: $$missing_packages"; \
+ sudo $PIP $PIP_FLAGS install $$missing_packages; \
+ fi
+
+# Global rust packages
+DT_HOME_DIRECTORY/.cargo/bin/cargo:
+ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
+
+CARGO := cargo
+CARGO_FLAGS :=
+CARGO_DEPENDENCIES := m4_dnl
+m4_ifelse(DT_ALACRITTY, `yes', `alacritty',)
+
+install_cargo_packages: DT_HOME_DIRECTORY/.cargo/bin/cargo
+ @missing_packages=""; \
+ for pkg in $(CARGO_DEPENDENCIES); do \
+ if [ "$($$CARGO install --list | grep -sw "$$pkg" | wc -l)" = "0" ]; then \
missing_packages="$$missing_packages $$pkg"; \
fi; \
done; \
if [ -n "$$missing_packages" ]; then \
echo "Installing missing packages: $$missing_packages"; \
- sudo pip install $$missing_packages; \
+ sudo $CARGO $CARGO_FLAGS install $$missing_packages; \
fi
diff --git a/configure b/configure
index 606412c..c5df3ab 100755
--- a/configure
+++ b/configure
@@ -48,6 +48,16 @@ fi
: "${DT_HELIX:=no}"
: "${DT_MYCLI:=no}"
: "${DT_NEWSBOAT:=no}"
+: "${DT_ALACRITTY:=yes}"
+: "${DT_ROFI:=no}"
+: "${DT_DEADD:=no}"
+: "${DT_WAYBAR:=no}"
+: "${DT_FOOT:=no}"
+: "${DT_POWERLINE:=no}"
+: "${DT_SXHKD:=no}"
+: "${DT_BSPWM:=no}"
+: "${DT_INPUTRC:=yes}"
+: "${DT_VIM:=yes}"
radiolist_on() {
local value="$1"
@@ -170,6 +180,16 @@ FEATURES="$(dialog --stdout \
13 "tmux" $(checklist_on "${DT_NEOVIM}") \
15 "MyCLI" $(checklist_on "${DT_MYCLI}") \
16 "Newsboat" $(checklist_on "${DT_NEWSBOAT}") \
+ 17 "Alacritty" $(checklist_on "${DT_ALACRITTY}") \
+ 18 "Rofi" $(checklist_on "${DT_ROFI}") \
+ 19 "Deadd" $(checklist_on "${DT_DEADD}") \
+ 20 "Waybar (needed for sway)" $(checklist_on "${DT_WAYBAR}") \
+ 21 "Foot" $(checklist_on "${DT_FOOT}") \
+ 22 "Powerline" $(checklist_on "${DT_POWERLINE}") \
+ 23 "Sxhkd" $(checklist_on "${DT_SXHKD}") \
+ 24 "Bspwm" $(checklist_on "${DT_BSPWM}") \
+ 25 "Inputrc (usefull for bash, less, read etc)" $(checklist_on "${DT_INPUTRC}") \
+ 26 "Vim" $(checklist_on "${DT_VIM}") \
14 "Helix" $(checklist_on "${DT_HELIX}"))"
if [ "$?" -eq 1 ]; then exit 0; fi
@@ -189,6 +209,16 @@ DT_TMUX=no
DT_HELIX=no
DT_MYCLI=no
DT_NEWSBOAT=no
+DT_ALACRITTY=no
+DT_ROFI=no
+DT_DEADD=no
+DT_WAYBAR=no
+DT_FOOT=no
+DT_POWERLINE=no
+DT_SXHKD=no
+DT_BSPWM=no
+DT_INPUTRC=no
+DT_VIM=no
for choice in ${FEATURES}; do
case $choice in
@@ -208,6 +238,16 @@ for choice in ${FEATURES}; do
14) DT_HELIX=yes;;
15) DT_MYCLI=yes;;
16) DT_NEWSBOAT=yes;;
+ 17) DT_ALACRITTY=yes;;
+ 18) DT_ROFI=yes;;
+ 19) DT_DEADD=yes;;
+ 20) DT_WAYBAR=yes;;
+ 21) DT_FOOT=yes;;
+ 22) DT_POWERLINE=yes;;
+ 23) DT_SXHKD=yes;;
+ 24) DT_BSPWM=yes;;
+ 25) DT_INPUTRC=yes;;
+ 26) DT_VIM=yes;;
esac
done