summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorstkhan <personal@slickd.xyz>2024-01-01 00:51:36 +0000
committerstkhan <personal@slickd.xyz>2024-01-01 00:51:36 +0000
commit9b160a482ac271fb5678e15007752f5711731050 (patch)
tree643212d164e1ae32ed92dc77836f907775a0f2e4
init commit
-rw-r--r--Depmfile1
-rw-r--r--Makefile7
-rw-r--r--README3
-rwxr-xr-xdepm28
4 files changed, 39 insertions, 0 deletions
diff --git a/Depmfile b/Depmfile
new file mode 100644
index 0000000..d72e491
--- /dev/null
+++ b/Depmfile
@@ -0,0 +1 @@
+ARCH_PACKAGES: feh mpc
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..b944fa3
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,7 @@
+all: install
+
+install:
+ cp depm /usr/local/bin
+uninstall:
+ rm -r /usr/local/bin/depm
+
diff --git a/README b/README
new file mode 100644
index 0000000..b00d1b3
--- /dev/null
+++ b/README
@@ -0,0 +1,3 @@
+depm - A simple dependency manager for git projects
+
+Create a Depmfile like the example, and run depm to pull dependencies.
diff --git a/depm b/depm
new file mode 100755
index 0000000..c939670
--- /dev/null
+++ b/depm
@@ -0,0 +1,28 @@
+#!/bin/sh
+
+os=$(cat /etc/os-release | grep ID | head -n 1)
+DEPMFILE=Depmfile
+
+if [[ ! -f Depmfile ]]; then
+ echo "This repository does not have a Depmfile."
+ exit
+fi
+
+install_arch() {
+ ARCH_PACKAGES=$(grep ARCH_PACKAGES ${DEPMFILE} | sed 's/ARCH_PACKAGES: //g')
+ if [[ $ARCH_PACKAGES == "" ]]; then
+ echo "Repository does not have any dependencies for Arch Linux"
+ else
+ pacman -S --needed $ARCH_PACKAGES
+ fi
+}
+
+
+case $os in
+ "ID=arch") install_arch;;
+ "ID=artix")
+ echo "WARNING: You may need standard Arch Linux repositories enabled in pacman."
+ install_arch;;
+
+ *) echo "Unknown OS\n You must manually install dependencies";;
+esac