Compare commits

..

No commits in common. "ffd214ad68fa2962ba2dd3e99027ffd7b2e1e500" and "916e8a08d181339ce8b2da33593cf1814d5c7dd6" have entirely different histories.

3 changed files with 24 additions and 20 deletions

View file

@ -22,7 +22,7 @@ with a fully configured diving-board for work or more customization.
## Customization ## Customization
By default, LARBS uses the programs [here in progs.csv](static/progs.csv) and installs By default, LARBS uses the programs [here in progs.csv](static/progs.csv) and installs
[my dotfiles repo (voidrice) here](https://github.com/filippo-ferrari/voidrice), [my dotfiles repo (voidrice) here](https://github.com/lukesmithxyz/voidrice),
but you can easily change this by either modifying the default variables at the but you can easily change this by either modifying the default variables at the
beginning of the script or giving the script one of these options: beginning of the script or giving the script one of these options:

View file

@ -6,8 +6,8 @@
### OPTIONS AND VARIABLES ### ### OPTIONS AND VARIABLES ###
dotfilesrepo="https://github.com/filippo-ferrari/voidrice.git" dotfilesrepo="https://github.com/lukesmithxyz/voidrice.git"
progsfile="https://raw.githubusercontent.com/filippo-ferrari/LARBS/master/static/progs.csv" progsfile="https://raw.githubusercontent.com/LukeSmithxyz/LARBS/master/static/progs.csv"
aurhelper="yay" aurhelper="yay"
repobranch="master" repobranch="master"
export TERM=ansi export TERM=ansi
@ -26,7 +26,7 @@ error() {
welcomemsg() { welcomemsg() {
whiptail --title "Welcome!" \ whiptail --title "Welcome!" \
--msgbox "Welcome to F's version of Luke's Auto-Rice Bootstrapping Script!\\n\\nThis script will automatically install a fully-featured Linux desktop, which I use as my main machine.\\n\\n-Luke" 10 60 --msgbox "Welcome to Luke's Auto-Rice Bootstrapping Script!\\n\\nThis script will automatically install a fully-featured Linux desktop, which I use as my main machine.\\n\\n-Luke" 10 60
whiptail --title "Important Note!" --yes-button "All ready!" \ whiptail --title "Important Note!" --yes-button "All ready!" \
--no-button "Return..." \ --no-button "Return..." \
@ -84,12 +84,25 @@ refreshkeys() {
;; ;;
*) *)
whiptail --infobox "Enabling Arch Repositories for more a more extensive software collection..." 7 40 whiptail --infobox "Enabling Arch Repositories for more a more extensive software collection..." 7 40
if ! grep -q "^\[universe\]" /etc/pacman.conf; then
echo "[universe]
Server = https://universe.artixlinux.org/\$arch
Server = https://mirror1.artixlinux.org/universe/\$arch
Server = https://mirror.pascalpuffke.de/artix-universe/\$arch
Server = https://mirrors.qontinuum.space/artixlinux-universe/\$arch
Server = https://mirror1.cl.netactuate.com/artix/universe/\$arch
Server = https://ftp.crifo.org/artix-universe/\$arch
Server = https://artix.sakamoto.pl/universe/\$arch" >>/etc/pacman.conf
pacman -Sy --noconfirm >/dev/null 2>&1
fi
pacman --noconfirm --needed -S \ pacman --noconfirm --needed -S \
artix-keyring artix-archlinux-support >/dev/null 2>&1 artix-keyring artix-archlinux-support >/dev/null 2>&1
grep -q "^\[extra\]" /etc/pacman.conf || for repo in extra community; do
echo "[extra] grep -q "^\[$repo\]" /etc/pacman.conf ||
echo "[$repo]
Include = /etc/pacman.d/mirrorlist-arch" >>/etc/pacman.conf Include = /etc/pacman.d/mirrorlist-arch" >>/etc/pacman.conf
pacman -Sy --noconfirm >/dev/null 2>&1 done
pacman -Sy >/dev/null 2>&1
pacman-key --populate archlinux >/dev/null 2>&1 pacman-key --populate archlinux >/dev/null 2>&1
;; ;;
esac esac
@ -225,19 +238,14 @@ installffaddons(){
IFS=' ' IFS=' '
sudo -u "$name" mkdir -p "$pdir/extensions/" sudo -u "$name" mkdir -p "$pdir/extensions/"
for addon in $addonlist; do for addon in $addonlist; do
if [ "$addon" = "ublock-origin" ]; then
addonurl="$(curl -sL https://api.github.com/repos/gorhill/uBlock/releases/latest | grep -E 'browser_download_url.*\.firefox\.xpi' | cut -d '"' -f 4)"
else
addonurl="$(curl --silent "https://addons.mozilla.org/en-US/firefox/addon/${addon}/" | grep -o 'https://addons.mozilla.org/firefox/downloads/file/[^"]*')" addonurl="$(curl --silent "https://addons.mozilla.org/en-US/firefox/addon/${addon}/" | grep -o 'https://addons.mozilla.org/firefox/downloads/file/[^"]*')"
fi
file="${addonurl##*/}" file="${addonurl##*/}"
sudo -u "$name" curl -LOs "$addonurl" > "$addontmp/$file" sudo -u "$name" curl -LOs "$addonurl" > "$addontmp/$file"
id="$(unzip -p "$file" manifest.json | grep "\"id\"")" id="$(unzip -p "$file" manifest.json | grep "\"id\"")"
id="${id%\"*}" id="${id%\"*}"
id="${id##*\"}" id="${id##*\"}"
mv "$file" "$pdir/extensions/$id.xpi" sudo -u "$name" mv "$file" "$pdir/extensions/$id.xpi"
done done
chown -R "$name:$name" "$pdir/extensions"
# Fix a Vim Vixen bug with dark mode not fixed on upstream: # Fix a Vim Vixen bug with dark mode not fixed on upstream:
sudo -u "$name" mkdir -p "$pdir/chrome" sudo -u "$name" mkdir -p "$pdir/chrome"
[ ! -f "$pdir/chrome/userContent.css" ] && sudo -u "$name" echo ".vimvixen-console-frame { color-scheme: light !important; } [ ! -f "$pdir/chrome/userContent.css" ] && sudo -u "$name" echo ".vimvixen-console-frame { color-scheme: light !important; }
@ -356,7 +364,7 @@ profilesini="$browserdir/profiles.ini"
# Start librewolf headless so it generates a profile. Then get that profile in a variable. # Start librewolf headless so it generates a profile. Then get that profile in a variable.
sudo -u "$name" librewolf --headless >/dev/null 2>&1 & sudo -u "$name" librewolf --headless >/dev/null 2>&1 &
sleep 1 sleep 1
profile="$(sed -n "/Default=.*.default-default/ s/.*=//p" "$profilesini")" profile="$(sed -n "/Default=.*.default-release/ s/.*=//p" "$profilesini")"
pdir="$browserdir/$profile" pdir="$browserdir/$profile"
[ -d "$pdir" ] && makeuserjs [ -d "$pdir" ] && makeuserjs
@ -369,7 +377,7 @@ pkill -u "$name" librewolf
# Allow wheel users to sudo with password and allow several system commands # Allow wheel users to sudo with password and allow several system commands
# (like `shutdown` to run without password). # (like `shutdown` to run without password).
echo "%wheel ALL=(ALL:ALL) ALL" >/etc/sudoers.d/00-larbs-wheel-can-sudo echo "%wheel ALL=(ALL:ALL) ALL" >/etc/sudoers.d/00-larbs-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 --" >/etc/sudoers.d/01-larbs-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 -u -y --config /etc/pacman.conf --,/usr/bin/pacman -S -y -u --config /etc/pacman.conf --" >/etc/sudoers.d/01-larbs-cmds-without-password
echo "Defaults editor=/usr/bin/nvim" >/etc/sudoers.d/02-larbs-visudo-editor echo "Defaults editor=/usr/bin/nvim" >/etc/sudoers.d/02-larbs-visudo-editor
mkdir -p /etc/sysctl.d mkdir -p /etc/sysctl.d
echo "kernel.dmesg_restrict = 0" > /etc/sysctl.d/dmesg.conf echo "kernel.dmesg_restrict = 0" > /etc/sysctl.d/dmesg.conf

View file

@ -69,7 +69,3 @@ A,mutt-wizard-git,"is a light-weight terminal-based email system."
,slock,"allows you to lock your computer, and quickly unlock with your password." ,slock,"allows you to lock your computer, and quickly unlock with your password."
,socat,"is a utility which establishes two byte streams and transfers data between them." ,socat,"is a utility which establishes two byte streams and transfers data between them."
,moreutils,"is a collection of useful unix tools." ,moreutils,"is a collection of useful unix tools."
A,logseq-desktop, "a note taking application"
,deluge, "a torrent client"
,neofetch, "a swagging tool"
A,vscodium-bin, "open-source binary of vscode"

1 #TAG NAME IN REPO (or git url) PURPOSE (should be a verb phrase to sound right while installing)
69 slock allows you to lock your computer, and quickly unlock with your password.
70 socat is a utility which establishes two byte streams and transfers data between them.
71 moreutils is a collection of useful unix tools.
A logseq-desktop a note taking application
deluge a torrent client
neofetch a swagging tool
A vscodium-bin open-source binary of vscode