summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com>2024-05-06 14:48:46 -0400
committerTheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com>2024-05-06 14:48:46 -0400
commit46791cfbe3a4fef2af5caaeec3f0672f977b6a38 (patch)
tree827e2b323ef752af60b59fcf5583aefe8ac2add0
parentc952055166eebbdb276836603f256483be4add3f (diff)
Updates scripts
-rw-r--r--public/categories/index.html2
-rw-r--r--public/es/categories/index.html2
-rw-r--r--public/es/index.html2
-rw-r--r--public/es/series/index.html2
-rw-r--r--public/es/tags/index.html2
-rw-r--r--public/index.html2
-rw-r--r--public/ko/categories/index.html2
-rw-r--r--public/ko/index.html2
-rw-r--r--public/ko/series/index.html2
-rw-r--r--public/ko/tags/index.html2
-rw-r--r--public/series/index.html2
-rw-r--r--public/tags/index.html2
-rwxr-xr-xpublic/thesiah.sh174
-rwxr-xr-xstatic/thesiah.sh174
14 files changed, 284 insertions, 88 deletions
diff --git a/public/categories/index.html b/public/categories/index.html
index e1f94d3..66e3bc9 100644
--- a/public/categories/index.html
+++ b/public/categories/index.html
@@ -18,7 +18,7 @@ crafted by HTML5 UP.
Ported to Hugo by Simon Bruder.">
<link rel="alternate" type="application/rss+xml" href="https://thesiah.xyz/categories/index.xml" title="THESIAH">
- <meta name="generator" content="Hugo 0.125.5">
+ <meta name="generator" content="Hugo 0.125.6">
<link rel="stylesheet" href="/css/main.min.09224b467f2c555409865abcdf41f1274d28443d62fe5328ebcd73347b9dd264ae5252ade861e8ea1e4e114804b96f4720a7117f83b8e24922fd71f04afbbb08.css" integrity="sha512-CSJLRn8sVVQJhlq830HxJ00oRD1i/lMo681zNHud0mSuUlKt6GHo6h5OEUgEuW9HIKcRf4O44kki/XHwSvu7CA==">
diff --git a/public/es/categories/index.html b/public/es/categories/index.html
index a799073..be29238 100644
--- a/public/es/categories/index.html
+++ b/public/es/categories/index.html
@@ -18,7 +18,7 @@ crafted by HTML5 UP.
Ported to Hugo by Simon Bruder.">
<link rel="alternate" type="application/rss+xml" href="https://thesiah.xyz/es/categories/index.xml" title="THESIAH">
- <meta name="generator" content="Hugo 0.125.5">
+ <meta name="generator" content="Hugo 0.125.6">
<link rel="stylesheet" href="/css/main.min.09224b467f2c555409865abcdf41f1274d28443d62fe5328ebcd73347b9dd264ae5252ade861e8ea1e4e114804b96f4720a7117f83b8e24922fd71f04afbbb08.css" integrity="sha512-CSJLRn8sVVQJhlq830HxJ00oRD1i/lMo681zNHud0mSuUlKt6GHo6h5OEUgEuW9HIKcRf4O44kki/XHwSvu7CA==">
diff --git a/public/es/index.html b/public/es/index.html
index fcb6641..4554d18 100644
--- a/public/es/index.html
+++ b/public/es/index.html
@@ -18,7 +18,7 @@ crafted by HTML5 UP.
Ported to Hugo by Simon Bruder.">
<link rel="alternate" type="application/rss+xml" href="https://thesiah.xyz/es/index.xml" title="THESIAH">
- <meta name="generator" content="Hugo 0.125.5">
+ <meta name="generator" content="Hugo 0.125.6">
<link rel="stylesheet" href="/css/main.min.09224b467f2c555409865abcdf41f1274d28443d62fe5328ebcd73347b9dd264ae5252ade861e8ea1e4e114804b96f4720a7117f83b8e24922fd71f04afbbb08.css" integrity="sha512-CSJLRn8sVVQJhlq830HxJ00oRD1i/lMo681zNHud0mSuUlKt6GHo6h5OEUgEuW9HIKcRf4O44kki/XHwSvu7CA==">
diff --git a/public/es/series/index.html b/public/es/series/index.html
index d3565e9..f651eed 100644
--- a/public/es/series/index.html
+++ b/public/es/series/index.html
@@ -18,7 +18,7 @@ crafted by HTML5 UP.
Ported to Hugo by Simon Bruder.">
<link rel="alternate" type="application/rss+xml" href="https://thesiah.xyz/es/series/index.xml" title="THESIAH">
- <meta name="generator" content="Hugo 0.125.5">
+ <meta name="generator" content="Hugo 0.125.6">
<link rel="stylesheet" href="/css/main.min.09224b467f2c555409865abcdf41f1274d28443d62fe5328ebcd73347b9dd264ae5252ade861e8ea1e4e114804b96f4720a7117f83b8e24922fd71f04afbbb08.css" integrity="sha512-CSJLRn8sVVQJhlq830HxJ00oRD1i/lMo681zNHud0mSuUlKt6GHo6h5OEUgEuW9HIKcRf4O44kki/XHwSvu7CA==">
diff --git a/public/es/tags/index.html b/public/es/tags/index.html
index 30577b4..e350dbf 100644
--- a/public/es/tags/index.html
+++ b/public/es/tags/index.html
@@ -18,7 +18,7 @@ crafted by HTML5 UP.
Ported to Hugo by Simon Bruder.">
<link rel="alternate" type="application/rss+xml" href="https://thesiah.xyz/es/tags/index.xml" title="THESIAH">
- <meta name="generator" content="Hugo 0.125.5">
+ <meta name="generator" content="Hugo 0.125.6">
<link rel="stylesheet" href="/css/main.min.09224b467f2c555409865abcdf41f1274d28443d62fe5328ebcd73347b9dd264ae5252ade861e8ea1e4e114804b96f4720a7117f83b8e24922fd71f04afbbb08.css" integrity="sha512-CSJLRn8sVVQJhlq830HxJ00oRD1i/lMo681zNHud0mSuUlKt6GHo6h5OEUgEuW9HIKcRf4O44kki/XHwSvu7CA==">
diff --git a/public/index.html b/public/index.html
index 8e81023..af1963e 100644
--- a/public/index.html
+++ b/public/index.html
@@ -18,7 +18,7 @@ crafted by HTML5 UP.
Ported to Hugo by Simon Bruder.">
<link rel="alternate" type="application/rss+xml" href="https://thesiah.xyz/index.xml" title="THESIAH">
- <meta name="generator" content="Hugo 0.125.5">
+ <meta name="generator" content="Hugo 0.125.6">
<link rel="stylesheet" href="/css/main.min.09224b467f2c555409865abcdf41f1274d28443d62fe5328ebcd73347b9dd264ae5252ade861e8ea1e4e114804b96f4720a7117f83b8e24922fd71f04afbbb08.css" integrity="sha512-CSJLRn8sVVQJhlq830HxJ00oRD1i/lMo681zNHud0mSuUlKt6GHo6h5OEUgEuW9HIKcRf4O44kki/XHwSvu7CA==">
diff --git a/public/ko/categories/index.html b/public/ko/categories/index.html
index 7900ff0..add2191 100644
--- a/public/ko/categories/index.html
+++ b/public/ko/categories/index.html
@@ -18,7 +18,7 @@ crafted by HTML5 UP.
Ported to Hugo by Simon Bruder.">
<link rel="alternate" type="application/rss+xml" href="https://thesiah.xyz/ko/categories/index.xml" title="THESIAH">
- <meta name="generator" content="Hugo 0.125.5">
+ <meta name="generator" content="Hugo 0.125.6">
<link rel="stylesheet" href="/css/main.min.09224b467f2c555409865abcdf41f1274d28443d62fe5328ebcd73347b9dd264ae5252ade861e8ea1e4e114804b96f4720a7117f83b8e24922fd71f04afbbb08.css" integrity="sha512-CSJLRn8sVVQJhlq830HxJ00oRD1i/lMo681zNHud0mSuUlKt6GHo6h5OEUgEuW9HIKcRf4O44kki/XHwSvu7CA==">
diff --git a/public/ko/index.html b/public/ko/index.html
index 7bf9f56..608b6c1 100644
--- a/public/ko/index.html
+++ b/public/ko/index.html
@@ -18,7 +18,7 @@ crafted by HTML5 UP.
Ported to Hugo by Simon Bruder.">
<link rel="alternate" type="application/rss+xml" href="https://thesiah.xyz/ko/index.xml" title="THESIAH">
- <meta name="generator" content="Hugo 0.125.5">
+ <meta name="generator" content="Hugo 0.125.6">
<link rel="stylesheet" href="/css/main.min.09224b467f2c555409865abcdf41f1274d28443d62fe5328ebcd73347b9dd264ae5252ade861e8ea1e4e114804b96f4720a7117f83b8e24922fd71f04afbbb08.css" integrity="sha512-CSJLRn8sVVQJhlq830HxJ00oRD1i/lMo681zNHud0mSuUlKt6GHo6h5OEUgEuW9HIKcRf4O44kki/XHwSvu7CA==">
diff --git a/public/ko/series/index.html b/public/ko/series/index.html
index 1d52acd..22085e9 100644
--- a/public/ko/series/index.html
+++ b/public/ko/series/index.html
@@ -18,7 +18,7 @@ crafted by HTML5 UP.
Ported to Hugo by Simon Bruder.">
<link rel="alternate" type="application/rss+xml" href="https://thesiah.xyz/ko/series/index.xml" title="THESIAH">
- <meta name="generator" content="Hugo 0.125.5">
+ <meta name="generator" content="Hugo 0.125.6">
<link rel="stylesheet" href="/css/main.min.09224b467f2c555409865abcdf41f1274d28443d62fe5328ebcd73347b9dd264ae5252ade861e8ea1e4e114804b96f4720a7117f83b8e24922fd71f04afbbb08.css" integrity="sha512-CSJLRn8sVVQJhlq830HxJ00oRD1i/lMo681zNHud0mSuUlKt6GHo6h5OEUgEuW9HIKcRf4O44kki/XHwSvu7CA==">
diff --git a/public/ko/tags/index.html b/public/ko/tags/index.html
index 58b1286..30242d9 100644
--- a/public/ko/tags/index.html
+++ b/public/ko/tags/index.html
@@ -18,7 +18,7 @@ crafted by HTML5 UP.
Ported to Hugo by Simon Bruder.">
<link rel="alternate" type="application/rss+xml" href="https://thesiah.xyz/ko/tags/index.xml" title="THESIAH">
- <meta name="generator" content="Hugo 0.125.5">
+ <meta name="generator" content="Hugo 0.125.6">
<link rel="stylesheet" href="/css/main.min.09224b467f2c555409865abcdf41f1274d28443d62fe5328ebcd73347b9dd264ae5252ade861e8ea1e4e114804b96f4720a7117f83b8e24922fd71f04afbbb08.css" integrity="sha512-CSJLRn8sVVQJhlq830HxJ00oRD1i/lMo681zNHud0mSuUlKt6GHo6h5OEUgEuW9HIKcRf4O44kki/XHwSvu7CA==">
diff --git a/public/series/index.html b/public/series/index.html
index ea3ed0b..1afb940 100644
--- a/public/series/index.html
+++ b/public/series/index.html
@@ -18,7 +18,7 @@ crafted by HTML5 UP.
Ported to Hugo by Simon Bruder.">
<link rel="alternate" type="application/rss+xml" href="https://thesiah.xyz/series/index.xml" title="THESIAH">
- <meta name="generator" content="Hugo 0.125.5">
+ <meta name="generator" content="Hugo 0.125.6">
<link rel="stylesheet" href="/css/main.min.09224b467f2c555409865abcdf41f1274d28443d62fe5328ebcd73347b9dd264ae5252ade861e8ea1e4e114804b96f4720a7117f83b8e24922fd71f04afbbb08.css" integrity="sha512-CSJLRn8sVVQJhlq830HxJ00oRD1i/lMo681zNHud0mSuUlKt6GHo6h5OEUgEuW9HIKcRf4O44kki/XHwSvu7CA==">
diff --git a/public/tags/index.html b/public/tags/index.html
index b73c473..39f6883 100644
--- a/public/tags/index.html
+++ b/public/tags/index.html
@@ -18,7 +18,7 @@ crafted by HTML5 UP.
Ported to Hugo by Simon Bruder.">
<link rel="alternate" type="application/rss+xml" href="https://thesiah.xyz/tags/index.xml" title="THESIAH">
- <meta name="generator" content="Hugo 0.125.5">
+ <meta name="generator" content="Hugo 0.125.6">
<link rel="stylesheet" href="/css/main.min.09224b467f2c555409865abcdf41f1274d28443d62fe5328ebcd73347b9dd264ae5252ade861e8ea1e4e114804b96f4720a7117f83b8e24922fd71f04afbbb08.css" integrity="sha512-CSJLRn8sVVQJhlq830HxJ00oRD1i/lMo681zNHud0mSuUlKt6GHo6h5OEUgEuW9HIKcRf4O44kki/XHwSvu7CA==">
diff --git a/public/thesiah.sh b/public/thesiah.sh
index 7ff0865..ab8817d 100755
--- a/public/thesiah.sh
+++ b/public/thesiah.sh
@@ -10,6 +10,7 @@ dotfilesrepo="https://github.com/TheSiahxyz/.dotfiles.git"
progsfile="https://raw.githubusercontent.com/TheSiahxyz/THESIAH/main/static/progs.csv"
aurhelper="yay"
repobranch="main"
+initsys="$(readlink /sbin/init | awk -F'-' '{print $1}')"
export TERM=ansi
### FUNCTIONS ###
@@ -75,7 +76,7 @@ adduserandpass() {
# Adds user `$name` with password $pass1.
whiptail --infobox "Adding user \"$name\"..." 7 50
useradd -m -g wheel -s /bin/zsh "$name" >/dev/null 2>&1 ||
- usermod -a -G wheel "$name" && mkdir -p /home/"$name" && chown "$name":wheel /home/"$name"
+ usermod -a -G wheel "$name" && mkdir -p /home/"$name"/{.config,Documents,Downloads,Music,Pictures,Videos} /home/"$name"/Media/{personal,sda,sdb,sdc,sdd,ssd,storage} /home/"$name"/Torrents/{complete,incomplete} /home/"$name"/.local/{bin,share,src,state} && chown "$name":wheel /home/"$name"
export repodir="/home/$name/.local/src"
mkdir -p "$repodir"
chown -R "$name":wheel "$(dirname "$repodir")"
@@ -171,7 +172,6 @@ pipinstall() {
# runit
initinstall() {
- initsys="$(readlink /sbin/init | awk -F'-' '{print $1}')"
initpkg="$1-$initsys"
whiptail --title "SI Installation" \
--infobox "Installing the package \`$1\` and the corresponding init package \'$initpkg'\ ($n of $total). $1 $initpkg $2" 9 70
@@ -288,45 +288,126 @@ installffaddons() {
addsudo() {
echo "%wheel ALL=(ALL:ALL) ALL" >/etc/sudoers.d/00-thesiah-wheel-can-sudo
- echo "%wheel ALL=(ALL:ALL) NOPASSWD: /usr/bin/shutdown,/usr/bin/reboot,/usr/bin/systemctl suspend,/usr/bin/wifi-menu,/usr/bin/mount,/usr/bin/umount,/usr/bin/pacman -Syu,/usr/bin/pacman -Syyu,/usr/bin/pacman -Syyu --noconfirm,/usr/bin/loadkeys,/usr/bin/pacman -Syyuw --noconfirm,/usr/bin/pacman -S -y --config /etc/pacman.conf --,/usr/bin/pacman -S -y -u --config /etc/pacman.conf --,/usr/bin/brillo" >/etc/sudoers.d/01-thesiah-cmds-without-password
+ echo "%wheel ALL=(ALL:ALL) NOPASSWD: /usr/bin/shutdown,/usr/bin/reboot,/usr/bin/systemctl suspend,/usr/bin/wifi-menu,/usr/bin/mount,/usr/bin/umount,/usr/bin/pacman -Syu,/usr/bin/pacman -Syyu,/usr/bin/pacman -Syyu --noconfirm,/usr/bin/loadkeys,/usr/bin/pacman -Syyuw --noconfirm,/usr/bin/pacman -S -y --config /etc/pacman.conf --,/usr/bin/pacman -S -y -u --config /etc/pacman.conf --" >/etc/sudoers.d/01-thesiah-cmds-without-password
echo "Defaults editor=/usr/bin/nvim" >/etc/sudoers.d/02-thesiah-visudo-editor
mkdir -p /etc/sysctl.d
echo "kernel.dmesg_restrict = 0" >/etc/sysctl.d/dmesg.conf
}
pamgnupg() {
- echo "auth optional pam_gnupg.so store-only" >>/etc/pam.d/system-login
- echo "session optional pam_gnupg.so " >>/etc/pam.d/system-login
+ echo "auth optional pam_gnupg.so store-only" >>/etc/pam.d/system-login >/dev/null 2>&1
+ echo "session optional pam_gnupg.so " >>/etc/pam.d/system-login >/dev/null 2>&1
}
ufwsetup() {
- [ -x "$(command -v "ufw")" ] || installpkg ufw >/dev/null 2>&1
- ufw default deny incoming # block all incoming connections by default
- ufw allow 80
- ufw allow 443
- ufw allow 25/tcp
- ufw allow 587/tcp
- ufw allow 3478/udp
- ufw allow 5349/tcp
- ufw allow 10000/udp
- ufw allow in ssh
- ufw allow in IMAPS
- ufw allow in POP3
- ufw allow in SMTP
- ufw allow in 'WWW Full'
- ufw allow in 'Postfix SMTPS'
- ufw allow in 'Mail Submission'
-
+ whiptail --infobox "Setting service ufw..." 7 50
+ [ -x "$(command -v "ufw")" ] || installpkg ufw && install ufw-"$initsys"
+ ufw default deny incoming >/dev/null 2>&1
+ ufw allow 80 >/dev/null 2>&1
+ ufw allow 443 >/dev/null 2>&1
+ ufw allow 25/tcp >/dev/null 2>&1
+ ufw allow 587/tcp >/dev/null 2>&1
+ ufw allow 3478/udp >/dev/null 2>&1
+ ufw allow 5349/tcp >/dev/null 2>&1
+ ufw allow 10000/udp >/dev/null 2>&1
+ ufw allow in ssh >/dev/null 2>&1
+ ufw allow in IMAPS >/dev/null 2>&1
+ ufw allow in POP3 >/dev/null 2>&1
+ ufw allow in SMTP >/dev/null 2>&1
+ ufw allow in 'WWW Full' >/dev/null 2>&1
+ ufw allow in 'Postfix SMTPS' >/dev/null 2>&1
+ ufw allow in 'Mail Submission' >/dev/null 2>&1
+ ufw enable >/dev/null 2>&1
case "$(readlink -f /sbin/init)" in
- "runit-init")
- ufw enable
+ "runit")
+ ln -s /etc/runit/sv/ufw /run/runit/service/ >/dev/null 2>&1
+ sv start ufw >/dev/null 2>&1
;;
- "openrc-init")
- rc-update add ufw default
- rc-service ufw start
+ "openrc")
+ rc-update add ufw default >/dev/null 2>&1
+ rc-service ufw start >/dev/null 2>&1
;;
- "s6-svscan")
- s6-rc -u change "$1"
+ "s6")
+ ln -s /etc/s6/sv/ufw /run/s6/services/ >/dev/null 2>&1
+ s6-svc -u /run/s6/services/ufw >/dev/null 2>&1
+ ;;
+ esac
+}
+
+sambasetup() {
+ whiptail --infobox "Setting service samba..." 7 50
+ [ -x "$(command -v "samba")" ] || installpkg samba && installpkg samba-"$initsys"
+ ufw allow 137/tcp >/dev/null 2>&1
+ ufw allow 137/udp >/dev/null 2>&1
+ ufw allow 138/tcp >/dev/null 2>&1
+ ufw allow 138/udp >/dev/null 2>&1
+ ufw allow 139/tcp >/dev/null 2>&1
+ ufw allow 445/tcp >/dev/null 2>&1
+ ufw reload >/dev/null 2>&1
+ $pass1 | smbpasswd -a $name >/dev/null 2>&1
+ case "$initsys" in
+ "runit")
+ ln -s /etc/runit/sv/smbd /run/runit/service/ >/dev/null 2>&1
+ ln -s /etc/runit/sv/nmbd /run/runit/service/ >/dev/null 2>&1
+ sv start smbd >/dev/null 2>&1
+ sv start nmbd >/dev/null 2>&1
+ ;;
+ "openrc")
+ rc-update add samba default >/dev/null 2>&1
+ rc-service samba start >/dev/null 2>&1
+ ;;
+ "s6")
+ ln -s /etc/s6/sv/smbd /run/s6/services/ >/dev/null 2>&1
+ ln -s /etc/s6/sv/nmbd /run/s6/services/ >/dev/null 2>&1
+ s6-svc -u /run/s6/services/smbd >/dev/null 2>&1
+ s6-svc -u /run/s6/services/nmbd >/dev/null 2>&1
+ ;;
+ esac
+}
+
+tlpsetup() {
+ whiptail --infobox "Setting service tlp..." 7 50
+ [ -x "$(command -v "tlp")" ] || installpkg tlp && installpkg tlp-"$initsys"
+ sed -Ei "s/^#(CPU_ENERGY_PERF_POLICY_ON_AC=).*/\1balance_power/" /etc/tlp.conf >/dev/null 2>&1
+ sed -Ei "s/^#(CPU_ENERGY_PERF_POLICY_ON_BAT=).*/\1poewr/" /etc/tlp.conf >/dev/null 2>&1
+ sed -Ei "s/^#(PLATFORM_PROFILE_ON_AC=).*/\1balanced/" /etc/tlp.conf >/dev/null 2>&1
+ sed -Ei "s/^#(PLATFORM_PROFILE_ON_BAT=).*/\1low-power/" /etc/tlp.conf >/dev/null 2>&1
+ sed -Ei "s/^#(START_CHARGE_THRESH_BAT0=).*/\150/" /etc/tlp.conf >/dev/null 2>&1
+ sed -Ei "s/^#(STOP_CHARGE_THRESH_BAT0=).*/\175/" /etc/tlp.conf >/dev/null 2>&1
+ sed -Ei "s/^#(START_CHARGE_THRESH_BAT1=).*/\150/" /etc/tlp.conf >/dev/null 2>&1
+ sed -Ei "s/^#(STOP_CHARGE_THRESH_BAT1=).*/\175/" /etc/tlp.conf >/dev/null 2>&1
+ case "$initsys" in
+ "runit")
+ ln -s /etc/runit/sv/tlp /run/runit/service/ >/dev/null 2>&1
+ sv start tlp >/dev/null 2>&1
+ ;;
+ "openrc")
+ rc-update add tlp default >/dev/null 2>&1
+ rc-service tlp start >/dev/null 2>&1
+ ;;
+ "s6")
+ ln -s /etc/s6/sv/tlp /run/s6/services/ >/dev/null 2>&1
+ s6-svc -u /run/s6/services/tlp >/dev/null 2>&1
+ ;;
+ esac
+ tlp start >/dev/null 2>&1
+}
+
+cronsetup() {
+ whiptail --infobox "Setting service cronjob..." 7 50
+ [ -x "$(command -v "cronie")" ] || installpkg cronie && installpkg cronie-"$initsys"
+ case "$initsys" in
+ "runit")
+ ln -s /etc/runit/sv/cronie /run/runit/service/ >/dev/null 2>&1
+ sv start cronie >/dev/null 2>&1
+ ;;
+ "openrc")
+ rc-update add cronie default >/dev/null 2>&1
+ rc-service cronie start >/dev/null 2>&1
+ ;;
+ "s6")
+ ln -s /etc/s6/sv/cronie /run/s6/services/ >/dev/null 2>&1
+ s6-svc -u /run/s6/services/cronie >/dev/null 2>&1
;;
esac
}
@@ -386,6 +467,23 @@ Defaults:%wheel runcwd=*" >/etc/sudoers.d/thesiah-temp
# Make pacman colorful, concurrent downloads and Pacman eye-candy.
grep -q "ILoveCandy" /etc/pacman.conf || sed -i "/#VerbosePkgLists/a ILoveCandy" /etc/pacman.conf
sed -Ei "s/^#(ParallelDownloads).*/\1 = 5/;/^#Color$/s/#//" /etc/pacman.conf
+awk '
+/^#\[lib32-gremlins\]$/, /^#Include = \/etc\/pacman\.d\/mirrorlist$/ {
+ sub(/^#/, "");
+ print;
+ next;
+}
+{ print }
+' /etc/pacman.conf | sudo tee /etc/pacman.conf
+awk '
+/^#\[lib32\]$/, /^#Include = \/etc\/pacman\.d\/mirrorlist$/ {
+ sub(/^#/, "");
+ print;
+ next;
+}
+{ print }
+' /etc/pacman.conf | sudo tee /etc/pacman.conf
+
# Make grub fast
sed -Ei "s/^(GRUB_GFXMODE=).*/\11024x768x8/" /etc/default/grub
@@ -480,23 +578,23 @@ pamgnupg || exit 1
# Create an ecrypted folder
[ -d /home/"$name"/Media ] || mkdir -p /home/"$name"/Media && chown "$name":wheel /home/"$name"/Media
-printf '\nyes\nyes\n' | mount -t ecryptfs Media Media -o passphrase_passwd="$epass1",ecryptfs_cipher=aes,ecryptfs_key_bytes=32,ecryptfs_enable_filename_crypto=y,ecryptfs_passthrough=n || exit 1
-umount /home/"$name"/Media
+printf '\nyes\nyes\n' | mount -t ecryptfs Media Media -o passphrase_passwd="$epass1",ecryptfs_cipher=aes,ecryptfs_key_bytes=32,ecryptfs_enable_filename_crypto=y,ecryptfs_passthrough=n >/dev/null 2>&1 || exit 1
+umount /home/"$name"/Media >/dev/null 2>&1
# ufw set up
ufwsetup || error "Failed to set up ufw rules."
+# samba set up
+sambasetup || error "Failed to set up samba."
+
# tlp set up
-sed -Ei "s/^#(START_CHARGE_THRESH_BAT0=).*/\150/" /etc/tlp.conf
-sed -Ei "s/^#(STOP_CHARGE_THRESH_BAT0=).*/\175/" /etc/tlp.conf
-sed -Ei "s/^#(START_CHARGE_THRESH_BAT1=).*/\150/" /etc/tlp.conf
-sed -Ei "s/^#(STOP_CHARGE_THRESH_BAT1=).*/\175/" /etc/tlp.conf
+tlpsetup || error "Failed to set up tlp"
+
+# cronjob set up
+cronsetup || error "Failed to set up cron"
# Change /bin/sh from bash to dash
ln -sf dash /bin/sh
-mkdir -p /home/$name/{.config,Documents,Downloads,Music,Pictures,Videos} /home/$name/Media/{flash,personal,sda,sdb,sdc,sdd,storage} /home/$name/Torrents/{complete,incomplete} /home/$name/.local/{bin,share,src,state} >/dev/null 2>&1
-chown -R "$name":wheel /home/"$name"
-
# Last message! Install complete!
finalize
diff --git a/static/thesiah.sh b/static/thesiah.sh
index 7ff0865..ab8817d 100755
--- a/static/thesiah.sh
+++ b/static/thesiah.sh
@@ -10,6 +10,7 @@ dotfilesrepo="https://github.com/TheSiahxyz/.dotfiles.git"
progsfile="https://raw.githubusercontent.com/TheSiahxyz/THESIAH/main/static/progs.csv"
aurhelper="yay"
repobranch="main"
+initsys="$(readlink /sbin/init | awk -F'-' '{print $1}')"
export TERM=ansi
### FUNCTIONS ###
@@ -75,7 +76,7 @@ adduserandpass() {
# Adds user `$name` with password $pass1.
whiptail --infobox "Adding user \"$name\"..." 7 50
useradd -m -g wheel -s /bin/zsh "$name" >/dev/null 2>&1 ||
- usermod -a -G wheel "$name" && mkdir -p /home/"$name" && chown "$name":wheel /home/"$name"
+ usermod -a -G wheel "$name" && mkdir -p /home/"$name"/{.config,Documents,Downloads,Music,Pictures,Videos} /home/"$name"/Media/{personal,sda,sdb,sdc,sdd,ssd,storage} /home/"$name"/Torrents/{complete,incomplete} /home/"$name"/.local/{bin,share,src,state} && chown "$name":wheel /home/"$name"
export repodir="/home/$name/.local/src"
mkdir -p "$repodir"
chown -R "$name":wheel "$(dirname "$repodir")"
@@ -171,7 +172,6 @@ pipinstall() {
# runit
initinstall() {
- initsys="$(readlink /sbin/init | awk -F'-' '{print $1}')"
initpkg="$1-$initsys"
whiptail --title "SI Installation" \
--infobox "Installing the package \`$1\` and the corresponding init package \'$initpkg'\ ($n of $total). $1 $initpkg $2" 9 70
@@ -288,45 +288,126 @@ installffaddons() {
addsudo() {
echo "%wheel ALL=(ALL:ALL) ALL" >/etc/sudoers.d/00-thesiah-wheel-can-sudo
- echo "%wheel ALL=(ALL:ALL) NOPASSWD: /usr/bin/shutdown,/usr/bin/reboot,/usr/bin/systemctl suspend,/usr/bin/wifi-menu,/usr/bin/mount,/usr/bin/umount,/usr/bin/pacman -Syu,/usr/bin/pacman -Syyu,/usr/bin/pacman -Syyu --noconfirm,/usr/bin/loadkeys,/usr/bin/pacman -Syyuw --noconfirm,/usr/bin/pacman -S -y --config /etc/pacman.conf --,/usr/bin/pacman -S -y -u --config /etc/pacman.conf --,/usr/bin/brillo" >/etc/sudoers.d/01-thesiah-cmds-without-password
+ echo "%wheel ALL=(ALL:ALL) NOPASSWD: /usr/bin/shutdown,/usr/bin/reboot,/usr/bin/systemctl suspend,/usr/bin/wifi-menu,/usr/bin/mount,/usr/bin/umount,/usr/bin/pacman -Syu,/usr/bin/pacman -Syyu,/usr/bin/pacman -Syyu --noconfirm,/usr/bin/loadkeys,/usr/bin/pacman -Syyuw --noconfirm,/usr/bin/pacman -S -y --config /etc/pacman.conf --,/usr/bin/pacman -S -y -u --config /etc/pacman.conf --" >/etc/sudoers.d/01-thesiah-cmds-without-password
echo "Defaults editor=/usr/bin/nvim" >/etc/sudoers.d/02-thesiah-visudo-editor
mkdir -p /etc/sysctl.d
echo "kernel.dmesg_restrict = 0" >/etc/sysctl.d/dmesg.conf
}
pamgnupg() {
- echo "auth optional pam_gnupg.so store-only" >>/etc/pam.d/system-login
- echo "session optional pam_gnupg.so " >>/etc/pam.d/system-login
+ echo "auth optional pam_gnupg.so store-only" >>/etc/pam.d/system-login >/dev/null 2>&1
+ echo "session optional pam_gnupg.so " >>/etc/pam.d/system-login >/dev/null 2>&1
}
ufwsetup() {
- [ -x "$(command -v "ufw")" ] || installpkg ufw >/dev/null 2>&1
- ufw default deny incoming # block all incoming connections by default
- ufw allow 80
- ufw allow 443
- ufw allow 25/tcp
- ufw allow 587/tcp
- ufw allow 3478/udp
- ufw allow 5349/tcp
- ufw allow 10000/udp
- ufw allow in ssh
- ufw allow in IMAPS
- ufw allow in POP3
- ufw allow in SMTP
- ufw allow in 'WWW Full'
- ufw allow in 'Postfix SMTPS'
- ufw allow in 'Mail Submission'
-
+ whiptail --infobox "Setting service ufw..." 7 50
+ [ -x "$(command -v "ufw")" ] || installpkg ufw && install ufw-"$initsys"
+ ufw default deny incoming >/dev/null 2>&1
+ ufw allow 80 >/dev/null 2>&1
+ ufw allow 443 >/dev/null 2>&1
+ ufw allow 25/tcp >/dev/null 2>&1
+ ufw allow 587/tcp >/dev/null 2>&1
+ ufw allow 3478/udp >/dev/null 2>&1
+ ufw allow 5349/tcp >/dev/null 2>&1
+ ufw allow 10000/udp >/dev/null 2>&1
+ ufw allow in ssh >/dev/null 2>&1
+ ufw allow in IMAPS >/dev/null 2>&1
+ ufw allow in POP3 >/dev/null 2>&1
+ ufw allow in SMTP >/dev/null 2>&1
+ ufw allow in 'WWW Full' >/dev/null 2>&1
+ ufw allow in 'Postfix SMTPS' >/dev/null 2>&1
+ ufw allow in 'Mail Submission' >/dev/null 2>&1
+ ufw enable >/dev/null 2>&1
case "$(readlink -f /sbin/init)" in
- "runit-init")
- ufw enable
+ "runit")
+ ln -s /etc/runit/sv/ufw /run/runit/service/ >/dev/null 2>&1
+ sv start ufw >/dev/null 2>&1
;;
- "openrc-init")
- rc-update add ufw default
- rc-service ufw start
+ "openrc")
+ rc-update add ufw default >/dev/null 2>&1
+ rc-service ufw start >/dev/null 2>&1
;;
- "s6-svscan")
- s6-rc -u change "$1"
+ "s6")
+ ln -s /etc/s6/sv/ufw /run/s6/services/ >/dev/null 2>&1
+ s6-svc -u /run/s6/services/ufw >/dev/null 2>&1
+ ;;
+ esac
+}
+
+sambasetup() {
+ whiptail --infobox "Setting service samba..." 7 50
+ [ -x "$(command -v "samba")" ] || installpkg samba && installpkg samba-"$initsys"
+ ufw allow 137/tcp >/dev/null 2>&1
+ ufw allow 137/udp >/dev/null 2>&1
+ ufw allow 138/tcp >/dev/null 2>&1
+ ufw allow 138/udp >/dev/null 2>&1
+ ufw allow 139/tcp >/dev/null 2>&1
+ ufw allow 445/tcp >/dev/null 2>&1
+ ufw reload >/dev/null 2>&1
+ $pass1 | smbpasswd -a $name >/dev/null 2>&1
+ case "$initsys" in
+ "runit")
+ ln -s /etc/runit/sv/smbd /run/runit/service/ >/dev/null 2>&1
+ ln -s /etc/runit/sv/nmbd /run/runit/service/ >/dev/null 2>&1
+ sv start smbd >/dev/null 2>&1
+ sv start nmbd >/dev/null 2>&1
+ ;;
+ "openrc")
+ rc-update add samba default >/dev/null 2>&1
+ rc-service samba start >/dev/null 2>&1
+ ;;
+ "s6")
+ ln -s /etc/s6/sv/smbd /run/s6/services/ >/dev/null 2>&1
+ ln -s /etc/s6/sv/nmbd /run/s6/services/ >/dev/null 2>&1
+ s6-svc -u /run/s6/services/smbd >/dev/null 2>&1
+ s6-svc -u /run/s6/services/nmbd >/dev/null 2>&1
+ ;;
+ esac
+}
+
+tlpsetup() {
+ whiptail --infobox "Setting service tlp..." 7 50
+ [ -x "$(command -v "tlp")" ] || installpkg tlp && installpkg tlp-"$initsys"
+ sed -Ei "s/^#(CPU_ENERGY_PERF_POLICY_ON_AC=).*/\1balance_power/" /etc/tlp.conf >/dev/null 2>&1
+ sed -Ei "s/^#(CPU_ENERGY_PERF_POLICY_ON_BAT=).*/\1poewr/" /etc/tlp.conf >/dev/null 2>&1
+ sed -Ei "s/^#(PLATFORM_PROFILE_ON_AC=).*/\1balanced/" /etc/tlp.conf >/dev/null 2>&1
+ sed -Ei "s/^#(PLATFORM_PROFILE_ON_BAT=).*/\1low-power/" /etc/tlp.conf >/dev/null 2>&1
+ sed -Ei "s/^#(START_CHARGE_THRESH_BAT0=).*/\150/" /etc/tlp.conf >/dev/null 2>&1
+ sed -Ei "s/^#(STOP_CHARGE_THRESH_BAT0=).*/\175/" /etc/tlp.conf >/dev/null 2>&1
+ sed -Ei "s/^#(START_CHARGE_THRESH_BAT1=).*/\150/" /etc/tlp.conf >/dev/null 2>&1
+ sed -Ei "s/^#(STOP_CHARGE_THRESH_BAT1=).*/\175/" /etc/tlp.conf >/dev/null 2>&1
+ case "$initsys" in
+ "runit")
+ ln -s /etc/runit/sv/tlp /run/runit/service/ >/dev/null 2>&1
+ sv start tlp >/dev/null 2>&1
+ ;;
+ "openrc")
+ rc-update add tlp default >/dev/null 2>&1
+ rc-service tlp start >/dev/null 2>&1
+ ;;
+ "s6")
+ ln -s /etc/s6/sv/tlp /run/s6/services/ >/dev/null 2>&1
+ s6-svc -u /run/s6/services/tlp >/dev/null 2>&1
+ ;;
+ esac
+ tlp start >/dev/null 2>&1
+}
+
+cronsetup() {
+ whiptail --infobox "Setting service cronjob..." 7 50
+ [ -x "$(command -v "cronie")" ] || installpkg cronie && installpkg cronie-"$initsys"
+ case "$initsys" in
+ "runit")
+ ln -s /etc/runit/sv/cronie /run/runit/service/ >/dev/null 2>&1
+ sv start cronie >/dev/null 2>&1
+ ;;
+ "openrc")
+ rc-update add cronie default >/dev/null 2>&1
+ rc-service cronie start >/dev/null 2>&1
+ ;;
+ "s6")
+ ln -s /etc/s6/sv/cronie /run/s6/services/ >/dev/null 2>&1
+ s6-svc -u /run/s6/services/cronie >/dev/null 2>&1
;;
esac
}
@@ -386,6 +467,23 @@ Defaults:%wheel runcwd=*" >/etc/sudoers.d/thesiah-temp
# Make pacman colorful, concurrent downloads and Pacman eye-candy.
grep -q "ILoveCandy" /etc/pacman.conf || sed -i "/#VerbosePkgLists/a ILoveCandy" /etc/pacman.conf
sed -Ei "s/^#(ParallelDownloads).*/\1 = 5/;/^#Color$/s/#//" /etc/pacman.conf
+awk '
+/^#\[lib32-gremlins\]$/, /^#Include = \/etc\/pacman\.d\/mirrorlist$/ {
+ sub(/^#/, "");
+ print;
+ next;
+}
+{ print }
+' /etc/pacman.conf | sudo tee /etc/pacman.conf
+awk '
+/^#\[lib32\]$/, /^#Include = \/etc\/pacman\.d\/mirrorlist$/ {
+ sub(/^#/, "");
+ print;
+ next;
+}
+{ print }
+' /etc/pacman.conf | sudo tee /etc/pacman.conf
+
# Make grub fast
sed -Ei "s/^(GRUB_GFXMODE=).*/\11024x768x8/" /etc/default/grub
@@ -480,23 +578,23 @@ pamgnupg || exit 1
# Create an ecrypted folder
[ -d /home/"$name"/Media ] || mkdir -p /home/"$name"/Media && chown "$name":wheel /home/"$name"/Media
-printf '\nyes\nyes\n' | mount -t ecryptfs Media Media -o passphrase_passwd="$epass1",ecryptfs_cipher=aes,ecryptfs_key_bytes=32,ecryptfs_enable_filename_crypto=y,ecryptfs_passthrough=n || exit 1
-umount /home/"$name"/Media
+printf '\nyes\nyes\n' | mount -t ecryptfs Media Media -o passphrase_passwd="$epass1",ecryptfs_cipher=aes,ecryptfs_key_bytes=32,ecryptfs_enable_filename_crypto=y,ecryptfs_passthrough=n >/dev/null 2>&1 || exit 1
+umount /home/"$name"/Media >/dev/null 2>&1
# ufw set up
ufwsetup || error "Failed to set up ufw rules."
+# samba set up
+sambasetup || error "Failed to set up samba."
+
# tlp set up
-sed -Ei "s/^#(START_CHARGE_THRESH_BAT0=).*/\150/" /etc/tlp.conf
-sed -Ei "s/^#(STOP_CHARGE_THRESH_BAT0=).*/\175/" /etc/tlp.conf
-sed -Ei "s/^#(START_CHARGE_THRESH_BAT1=).*/\150/" /etc/tlp.conf
-sed -Ei "s/^#(STOP_CHARGE_THRESH_BAT1=).*/\175/" /etc/tlp.conf
+tlpsetup || error "Failed to set up tlp"
+
+# cronjob set up
+cronsetup || error "Failed to set up cron"
# Change /bin/sh from bash to dash
ln -sf dash /bin/sh
-mkdir -p /home/$name/{.config,Documents,Downloads,Music,Pictures,Videos} /home/$name/Media/{flash,personal,sda,sdb,sdc,sdd,storage} /home/$name/Torrents/{complete,incomplete} /home/$name/.local/{bin,share,src,state} >/dev/null 2>&1
-chown -R "$name":wheel /home/"$name"
-
# Last message! Install complete!
finalize