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 |