diff options
| -rw-r--r-- | README.md | 2 | ||||
| -rwxr-xr-x | boobs.sh | 12 | ||||
| -rw-r--r-- | progs.csv | 147 | 
3 files changed, 154 insertions, 7 deletions
@@ -1,4 +1,4 @@ -# BOOBS: Base OS and Options Bootstrapping Script +# BOOBS: Base OS Options Bootstrapping Script  Taken from [LARBS](https://larbs.xyz/) and modified to suit my needs. @@ -1,6 +1,6 @@  #!/bin/sh -# BOOBS: Base OS and Options Bootstrapping Script +# BOOBS: Base OS Options Bootstrapping Script  # Yaroslav de la Peña Smirnov <yps@yaroslavps.com>  # based on Luke's Auto Rice Boostrapping Script (LARBS)  # by Luke Smith <luke@lukesmith.xyz> @@ -9,7 +9,7 @@  ### OPTIONS AND VARIABLES ###  dotfilesrepo="https://git.yaroslavps.com/configs/swayrice" -progsfile="" +progsfile="progs.csv"  aurhelper="yay" @@ -27,7 +27,7 @@ error() {  welcomemsg() {  	whiptail --title "Welcome!" \ -		--msgbox "Welcome to the Base OS and Options 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 the Base OS Options Bootstrapping Script!\\n\\nThis script will automatically install a fully-featured Linux desktop, which I use as my main machine.\\n" 10 60  	whiptail --title "Important Note!" --yes-button "All ready!" \  		--no-button "Return..." \ @@ -69,6 +69,7 @@ adduserandpass() {  	# Adds user `$name` with password $pass1.  	whiptail --infobox "Adding user \"$name\"..." 7 50  	useradd -m -s /bin/zsh "$name" +	rm -r /home/$name/*  	export repodir="/home/$name/src"  	export pkgbuildsdir="/home/$name/src/pkgbuilds"  	export dotsdir="/home/$name/src/personal" @@ -164,7 +165,7 @@ installationloop() {  		curl -Ls "$progsfile" | sed '/^#/d' >/tmp/progs.csv  	total=$(wc -l </tmp/progs.csv)  	aurinstalled=$(pacman -Qqm) -	while IFS=, read -r tag program comment; do +	while IFS=$'\t' read -r tag program comment; do  		n=$((n + 1))  		echo "$comment" | grep -q "^\".*\"$" &&  			comment="$(echo "$comment" | sed -E "s/(^\"|\"$)//g")" @@ -251,8 +252,7 @@ sed -i "s/-j2/-j$(nproc)/;/^#MAKEFLAGS/s/^#//" /etc/makepkg.conf  # and all build dependencies are installed.  installationloop -# Install the dotfiles in the user's home directory, but remove .git dir and -# other unnecessary files. +# Install the dotfiles in the user's home directory  putdotfiles "$dotfilesrepo" "$repobranch"  # Allow wheel users to sudo with password and allow several system commands diff --git a/progs.csv b/progs.csv new file mode 100644 index 0000000..a9e3ca5 --- /dev/null +++ b/progs.csv @@ -0,0 +1,147 @@ +#TYPE TAG '\t' NAME IN REPO (or git url) '\t' PURPOSE +#Type tags: +# A - AUR package name, to be installed with AUR helper (e.g. yay) +# P - git repo URL with PKGBUILD, to be installed with makepkg -si +# G - git repo URL with Makefile, to be installed with make install +# O - official Artix/Arch package name, to be installed with pacman +O	zsh						is a shell +O	zsh-syntax-highlighting	provides shell syntax highlighting +O	foot					is a simple terminal emulator +O	foot-terminfo			provides terminfo for foot +O	wireguard-tools			provides wireguard userspace utilities +O	mediainfo				provides tag information about media files +O	highlight				provides syntax highlighting for miscellaneous scripts +O	bind-tools				provides DNS tools +O	sway					is an i3-like Wayland compositor +O	swaybg					sets background for sway +O	swayidle				does something when computer has been idle +O	mako					is a notification daemon for Wayland +O	waybar					provides status bar for Wayland WMs +O	egl-wayland				provides egl for Wayland +O	man-db					provides manuals +O	xorg-server-xwayland	provides X program compatibility layer +O	qt5-wayland				provides Wayland support for Qt +O	wl-clipboard			is a clipboard manager for wayland +O	dbus					is needed by different programs +O	tmux					is a terminal multiplexer +O	htop					is a humane top +O	mupdf					is a backend for zathura (and pdf reader in its own) +O	mpd						is a music player daemon +O	ncmpcpp					is an mpd client +O	mpc						is an mpd control program +O	mpv						is a video player +O	libnotify				provides utilities for creating desktop notifications +O	cronie					provides a cron program +O	cronie-runit			provides cronie's runit scripts +O	metalog					is a syslog log manager +O	metalog-runit			provides metalog's runit scripts +O	dnsmasq					is a DNS forwarder and DHCP server +O	networkmanager			is what manages your network +O	networkmanager-runit	provides NetworkManager's runit scripts +O	dhcpcd					is a DHCP client +O	rsync					is a fast copying tool for remote and local fiels +O	grim					is a screenshot utility for Wayland +O	wf-recorder				is a screen recording utility for Wayland +O	slurp					is a tool for selecting coordinates on screen +O	ffmpeg					provides libraries and a tool for manipulating media +O	w3m						provides a TUI web browser and web tools +O	newsboat				is a TUI RSS/Atom newsreader +O	wget					is a tool for downloading files over HTTP +O	inkscape				is a vector-graphics drawing program +O	gimp					is a bitmap-graphics editing program +O	darktable				is a photo editing program +O	gcc						is the GNU compiler collection +O	gdb						is the GNU debugger +O	clang					is a C language compiler +O	wpa_supplicant			provides tools for connecting over WiFi +O	fontconfig				is a library for font access +O	papirus-icon-theme		is an icon theme +O	alsa-utils				provides utilities for ALSA +O	pipewire				is a media router and processor +O	pipewire-alsa			provides ALSA configuration for pipewire +O	pipewire-pulse			is a pulseaudio backend for pipewire +O	wireplumber				provides session management for pipewire +O	pamixer					provides tools for controlling pulseaudio +O	imagemagick				is an image manipulation library and tool +O	ntfs-3g					provides support for NTFS +O	unzip					is a ZIP archive tool +O	unrar					is a RAR archive tool +O	gnome-themes-extra		provides extra themes +O	telegram-desktop		is a desktop Telegram client +O	qt5ct					is a Qt configuration tool +O	bc						is a CLI calculator +O	btrfs-progs				provides userspace utils for btrfs +O	udisks2					is a removable disks management utility +O	dash					provides a simple sh +O	perl-term-readline-gnu	provides readline for perl scripts +O	transmission-cli		is a bittorrent daemon +O	transmission-remote-gtk is a frontend for transmission +O	python-pynvim			provides python compatibility for neovim +O	python-pip				provides a package manager for python +O	python-pillow			is needed by some scripts +O	python-i3ipc			is a python library to control i3/sway +O	pandoc-bin				is the statically-linked version of pandoc +O	acpi					provides tools for ACPI readings +O	acpid					is an ACPI events daemon +O	noto-fonts				provides Noto fonts +O	noto-fonts-cjk			provides Noto fonts for Chinese-Japanese-Korean +O	noto-fonts-emoji		provides Noto emojis +O	ttf-joypixels			is an 'icons' font +O	otf-latin-modern		is an OTF version of the font used by LaTeX +O	otf-latinmodern-math	is an OTF version of the font used by LaTeX formulas +O	polkit-gnome			is an authentication agent +O	zathura					is a reader for multiple electronic formats +O	zathura-pdf-mupdf		is a PDF backend for zathura that uses mupdf +O	zathura-djvu			is a DJVu backend for zathura +O	gst-libav				is a libav plugin for gst used by some programs +O	blueman					is a bluetooth manager +O	bluez					is a bluetooth daemon +O	bluez-runit				provides bluez's runit scripts +O	acpilight				provides utilities for controlling display brightness +O	xdg-user-dirs			provides utilities for managing user directories +O	xdg-desktop-portal		provides screensharing integration for Wayland +O	xdg-desktop-portal-wlr	provides xdg-desktop-portal backend for wlroots +O	terminus-font			provides TTY fonts +O	jq						is a json parser for shell scripts +O	isync					is an IMAP mailbox synchronizer +O	neomutt					is a TUI email client +O	notmuch					is a programming for managing email +O	pass					is a flexible password manager +O	translate-shell			is a CLI frontend for google translate et al +O	gnome-keyring			is used by other programs to store secrets +O	pacman-contrib			provides additional pacman utilities +O	ntp-runit				provides ntp's runit scripts +O	playerctl				is a tool for controlling media players +O	mpv-mpris				provides support for MPRIS to mpv +O	perl-image-exiftool		is a tool for reading EXIF metadata +O	fzf						is a fuzzy finder +O	chafa					is a tool for graphics in the terminal +O	cups					is a printing service daemon +O	cups-runit				provides cups' runit scripts +O	qutebrowser				is a browser with vim-like navigation +O	ripgrep					is a grep-like program with additional features +# AUR helper ¡THIS SHOULD GO BEFORE OTHER AUR PACKAGES! +P	https://aur.archlinux.org/yay.git	helps install AUR packages +# Custom PKGBUILDS +P	https://git.yaroslavps.com/pkgbuilds/nsxiv-yarps			is nsxiv with custom config +P	https://git.yaroslavps.com/pkgbuilds/waybar-mpris-yarps-git	is a waybar mpris module +P	https://git.yaroslavps.com/pkgbuilds/rofi-lbonn-yarps		is a Wayland-compatible rofi fork +# AUR programs +A	ttf-symbola						is a font with block symbols +A	pam-gnupg						provides tools for GPG key unlocking on login +A	ncpamixer						is a TUI pulse audio mixer +A	lf-sixel-git					is a fork of lf with sixel support +A	dragon-drop						is a terminal drag-n-drop tool +A	swaylock-effects-git			is a locker for sway +A	youtube-viewer					is a CLI youtube viewer +A	abook							is a TUI address book +A	compiledb						helps generate compile_commands.json +A	rofi-calc						is a rofi calculator module +A	rofi-file-browser-extended-git	is a rofi file browsing module +A	networkmanager-dmenu-git		is a rofi/dmenu network manager module +A	mpdris2							provides MPRIS support for mpd +A	yt-dlp-git						is tool for downloading youtube videos +A	yt-dlp-drop-in					emulates youtube-dl with yt-dlp +A	totp-cli						generates TOTP codes from the command line +A	lsix-git						used by scripts to draw images in the terminal +A	mkinitcpio-colors-git			allows to set the TTY colors on boot  | 
