diff options
| author | TheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com> | 2024-05-06 14:48:46 -0400 |
|---|---|---|
| committer | TheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com> | 2024-05-06 14:48:46 -0400 |
| commit | 46791cfbe3a4fef2af5caaeec3f0672f977b6a38 (patch) | |
| tree | 827e2b323ef752af60b59fcf5583aefe8ac2add0 | |
| parent | c952055166eebbdb276836603f256483be4add3f (diff) | |
Updates scripts
| -rw-r--r-- | public/categories/index.html | 2 | ||||
| -rw-r--r-- | public/es/categories/index.html | 2 | ||||
| -rw-r--r-- | public/es/index.html | 2 | ||||
| -rw-r--r-- | public/es/series/index.html | 2 | ||||
| -rw-r--r-- | public/es/tags/index.html | 2 | ||||
| -rw-r--r-- | public/index.html | 2 | ||||
| -rw-r--r-- | public/ko/categories/index.html | 2 | ||||
| -rw-r--r-- | public/ko/index.html | 2 | ||||
| -rw-r--r-- | public/ko/series/index.html | 2 | ||||
| -rw-r--r-- | public/ko/tags/index.html | 2 | ||||
| -rw-r--r-- | public/series/index.html | 2 | ||||
| -rw-r--r-- | public/tags/index.html | 2 | ||||
| -rwxr-xr-x | public/thesiah.sh | 174 | ||||
| -rwxr-xr-x | static/thesiah.sh | 174 |
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 |
