old larbs was bloated xd
15
LICENSE.md
@ -1,3 +1,14 @@
|
||||
# License
|
||||
# Copyright 2017 Luke Smith, under the GPLv3 License
|
||||
|
||||
GPLv3
|
||||
LARBS is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
133
README.md
Normal file
@ -0,0 +1,133 @@
|
||||
# Luke's Auto-Rice Bootstraping Scripts (LARBS)
|
||||
|
||||
[Official Website: larbs.xyz](http://larbs.xyz)
|
||||
|
||||
LARBS is a quick series of scripts deployable on a fresh installation of Arch
|
||||
Linux. They automatically install and setup a fully-featured, but still
|
||||
lightweight tiling window manager "suite", meant to be minimal and
|
||||
keyboard-based. It is based on
|
||||
[my dotfiles](https://github.com/lukesmithxyz/voidrice) and install programs
|
||||
that can be seen
|
||||
[here](https://github.com/LukeSmithxyz/LARBS/blob/master/src/progs.csv).
|
||||
|
||||
LARBS is also intensely well-documented. Users can press `super+F1` at any time
|
||||
to view a full guide and explanation of the keyboard shortcuts. The only
|
||||
advised foreknowledge for potential users is a general familiarity with vim.
|
||||
|
||||
Now there are also small scripts like `getkeys` which display the default
|
||||
bindings for the different terminal programs used by the system. Users can also
|
||||
press `super+shift+e` at any time to watch a growing list of tutorial videos on
|
||||
the same programs and other basic concepts from [my YouTube channel](https://youtube.com/c/lukesmithxyz).
|
||||
|
||||
You can also easily fork these scripts for your own purposes to deploy your own
|
||||
configs if you like. All the actual scripts do is install a `.csv` list of
|
||||
programs of your choice and set up system basics.
|
||||
|
||||
## Requirements
|
||||
|
||||
An already installed Arch Linux or derivative system (works on Manjaro and
|
||||
Antergos as well). Works on Parabola too, but due to repository differences,
|
||||
some minor programs might not install. Check the program list.
|
||||
|
||||
If you have a non-systemd system, you might also have to manually set up
|
||||
Pulseaudio and Network Manager after running the script.
|
||||
|
||||
## Installation
|
||||
|
||||
### On an already existing Arch install
|
||||
|
||||
Boot up a fresh Arch install and run the following as the root user.
|
||||
|
||||
```sh
|
||||
curl -LO lukesmith.xyz/larbs.sh #Downloads the script.
|
||||
bash larbs.sh #Runs it.
|
||||
```
|
||||
|
||||
Once that all is done, you should be able to log out, then log in as your newly
|
||||
created user and type `startx` to begin the graphical environment. Congrats!
|
||||
Note that if the graphical environment doesn't start correctly, you might want
|
||||
to see what kind of drivers your computer needs to run Arch and install them
|
||||
via `pacman` manually.
|
||||
|
||||
### Installing Arch automatically
|
||||
|
||||
I also have a script here for installing Arch automatically. I *only* wrote this
|
||||
script so I could quickly install then test the other scripts on new computers,
|
||||
but theoretically you could use it as well. *BUT* this is a lazy, pre-alpha
|
||||
script which does not give you many options (it automatically chooses the New
|
||||
York time zone, US English, GRUB, Network Manager, etc). Even more important, it
|
||||
automatically partitions /dev/sda without asking, so unless, you have no
|
||||
non-backed up data on your machine, I don't advise running it unless you don't
|
||||
mind a full wipe. That said, you can run it like this after booting into an Arch
|
||||
live environment:
|
||||
|
||||
```sh
|
||||
curl -LO lukesmith.xyz/arch.sh #Downloads the script.
|
||||
bash arch.sh #Runs it.
|
||||
```
|
||||
|
||||
After the system installs, you'll have the option of bootstrapping automatically
|
||||
into installing my configs as well.
|
||||
|
||||
Don't be worried if the installation of the first programs seems to take a
|
||||
while. As general dependencies are installed, things will move very quickly.
|
||||
Still, since this is a total online install, it might take a little longer than
|
||||
just installing a distro from an ISO.
|
||||
|
||||
## Details
|
||||
|
||||
In addition to installing all the needed dependencies, LARBS also:
|
||||
|
||||
- Enables `wheel` users to run basic commands without passwords including
|
||||
shuttting down, rebooting and updating packages.
|
||||
- Installs and enables NetworkManager and Pulseaudio.
|
||||
- Disables the beep.
|
||||
|
||||
## Version
|
||||
|
||||
We're close to what can be called LARBS 2.0, and here are some of the major
|
||||
changes since the original version.
|
||||
|
||||
- More documentation in the `getkeys` program and `mod+shift-e`.
|
||||
- Luke's build of st is now the default terminal, instead of urxvt. This
|
||||
includes:
|
||||
- Full unicode compatibility
|
||||
- vim-like bindings
|
||||
- Scrollback with keys and mouse, clipboard use and other add ons to
|
||||
the default st build
|
||||
- Xresources colors, allowing the use of wal/pywal
|
||||
- i3status is the status bar instead of Polybar, which was bloated and failed
|
||||
to build on many machines. The new i3status includes the modules below, all
|
||||
of which are constructed to be as minimal and light on system resources as
|
||||
possible:
|
||||
- Weather forecasts using `wttr.in`, with highs, lows and rain chance.
|
||||
- Current song information from `mpd`
|
||||
- Unread mail from Luke's `mutt-wizard`
|
||||
- Possible pacman updates
|
||||
- Status of torrents in transmission-daemon
|
||||
- Expected date, time, battery, internet and volume modules
|
||||
- Switch from mocp to mpd/ncmpcpp for music.
|
||||
- System is more minimalist/suckless.
|
||||
- dmenu is used instead of rofi for simplicity's sake.
|
||||
- Deployment of my new mutt-wizard for secure offline email configuration
|
||||
instead of config files for the user to manually edit.
|
||||
- Firefox instead of qutebrowser for default browser (qutebrowser configs
|
||||
remain for qutebrowser afeccionados)
|
||||
- A default profile of Firefox including some privacy features, an ad-blocker
|
||||
and VimVixen, for vim-based keyboard shortcuts.
|
||||
- Extensive implementation of dmenu, including for mounting/unmounting drives,
|
||||
display selection, confirmation for shutdown and other crucial commands, link
|
||||
handling and screen/audio recording.
|
||||
- Updates to config files can be pulled with git now.
|
||||
- i3 window resize now intuitive directions
|
||||
- Removal of a lot of brainlethood in the original design, where I relocated
|
||||
configs for alleged extensibility's sake. That's all been fixed now.
|
||||
- Configs for the new versions of qutebrowser, newsboat/newsbeuter, neomutt,
|
||||
etc.
|
||||
- Link handling scripts for mutt, newsboat and vim
|
||||
- vi mode is now default in bash (with retention of emacs-mode ctrl-l)
|
||||
- Caps lock functions both as a super key and escape key with xcape.
|
||||
- Use of the much better, newer version of my shortcut-sync.
|
||||
- And the repository is *significantly* smaller than it was before, meaning a
|
||||
faster download.
|
||||
- A million and one other tweaks and bug fixes.
|
@ -6,9 +6,6 @@
|
||||
#which means RIP in peace qq your data unless you've already backed up all of your drive.
|
||||
|
||||
pacman -S --noconfirm dialog || { echo "Error at script start: Are you sure you're running this as the root user? Are you sure you have an internet connection?"; exit; }
|
||||
RED='\033[0;31m'
|
||||
BLUE='\033[0;34m'
|
||||
NC='\033[0m'
|
||||
|
||||
dialog --defaultno --title "DON'T BE A BRAINLET!" --yesno "This is an Arch install script that is very rough around the edges.\n\nOnly run this script if you're a big-brane who doesn't mind deleting your entire /dev/sda drive.\n\nThis script is only really for me so I can autoinstall Arch.\n\nt. Luke" 15 60 || exit
|
||||
|
||||
@ -20,6 +17,19 @@ dialog --defaultno --title "Time Zone select" --yesno "Do you want use the defau
|
||||
|
||||
dialog --no-cancel --inputbox "Enter partitionsize in gb, separated by space (swap & root)." 10 60 2>psize
|
||||
|
||||
pass1=$(dialog --no-cancel --passwordbox "Enter a root password." 10 60 3>&1 1>&2 2>&3 3>&1)
|
||||
pass2=$(dialog --no-cancel --passwordbox "Retype password." 10 60 3>&1 1>&2 2>&3 3>&1)
|
||||
|
||||
while true; do
|
||||
[[ "$pass1" != "" && "$pass1" == "$pass2" ]] && break
|
||||
pass1=$(dialog --no-cancel --passwordbox "Passwords do not match or are not present.\n\nEnter password again." 10 60 3>&1 1>&2 2>&3 3>&1)
|
||||
pass2=$(dialog --no-cancel --passwordbox "Retype password." 10 60 3>&1 1>&2 2>&3 3>&1)
|
||||
done
|
||||
|
||||
export pass="$pass1"
|
||||
|
||||
|
||||
|
||||
IFS=' ' read -ra SIZE <<< $(cat psize)
|
||||
|
||||
re='^[0-9]+$'
|
||||
@ -54,28 +64,52 @@ w
|
||||
EOF
|
||||
partprobe
|
||||
|
||||
mkfs.ext4 /dev/sda4
|
||||
mkfs.ext4 /dev/sda3
|
||||
mkfs.ext4 /dev/sda1
|
||||
yes | mkfs.ext4 /dev/sda4
|
||||
yes | mkfs.ext4 /dev/sda3
|
||||
yes | mkfs.ext4 /dev/sda1
|
||||
mkswap /dev/sda2
|
||||
swapon /dev/sda2
|
||||
mount /dev/sda3 /mnt
|
||||
mkdir /mnt/boot
|
||||
mkdir -p /mnt/boot
|
||||
mount /dev/sda1 /mnt/boot
|
||||
mkdir /mnt/home
|
||||
mkdir -p /mnt/home
|
||||
mount /dev/sda4 /mnt/home
|
||||
|
||||
|
||||
pacstrap /mnt base base-devel
|
||||
|
||||
genfstab -U /mnt >> /mnt/etc/fstab
|
||||
cat tz.tmp > /mnt/tzfinal.tmp
|
||||
cp tz.tmp /mnt/tzfinal.tmp
|
||||
rm tz.tmp
|
||||
curl https://raw.githubusercontent.com/LukeSmithxyz/LARBS/master/src/chroot.sh > /mnt/chroot.sh && arch-chroot /mnt bash chroot.sh && rm /mnt/chroot.sh
|
||||
|
||||
cat comp > /mnt/etc/hostname && rm comp
|
||||
### BEGIN
|
||||
arch-chroot /mnt echo "root:$pass" | chpasswd
|
||||
|
||||
TZuser=$(cat tzfinal.tmp)
|
||||
|
||||
ln -sf /usr/share/zoneinfo/$TZuser /etc/localtime
|
||||
|
||||
hwclock --systohc
|
||||
|
||||
echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
|
||||
echo "en_US ISO-8859-1" >> /etc/locale.gen
|
||||
locale-gen
|
||||
|
||||
pacman --noconfirm --needed -S networkmanager
|
||||
systemctl enable NetworkManager
|
||||
systemctl start NetworkManager
|
||||
|
||||
pacman --noconfirm --needed -S grub && grub-install --target=i386-pc /dev/sda && grub-mkconfig -o /boot/grub/grub.cfg
|
||||
|
||||
pacman --noconfirm --needed -S dialog
|
||||
larbs() { curl -O https://raw.githubusercontent.com/LukeSmithxyz/LARBS/master/src/larbs.sh && bash larbs.sh ;}
|
||||
dialog --title "Install Luke's Rice" --yesno "This install script will easily let you access Luke's Auto-Rice Boostrapping Scripts (LARBS) which automatically install a full Arch Linux i3-gaps desktop environment.\n\nIf you'd like to install this, select yes, otherwise select no.\n\nLuke" 15 60 && larbs
|
||||
### END
|
||||
|
||||
|
||||
mv comp /mnt/etc/hostname
|
||||
|
||||
dialog --defaultno --title "Final Qs" --yesno "Eject CD/ROM (if any)?" 5 30 && eject
|
||||
dialog --defaultno --title "Final Qs" --yesno "Reboot computer?" 5 30 && reboot
|
||||
dialog --defaultno --title "Final Qs" --yesno "Return to chroot environment?" 6 30 && arch-chroot /mnt
|
||||
clear
|
@ -1,14 +0,0 @@
|
||||
# Copyright 2017 Luke Smith, under the GPLv3 License
|
||||
|
||||
LARBS is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
138
docs/README.md
@ -1,138 +0,0 @@
|
||||
# Luke's Auto-Rice Bootstraping Scripts (LARBS)
|
||||
|
||||
[Official Website: larbs.xyz](http://larbs.xyz)
|
||||
|
||||
LARBS is a quick series of scripts deployable on a fresh installation of Arch
|
||||
Linux. They automatically install and setup a fully-featured, but still
|
||||
lightweight tiling window manager "suite", meant to be minimal and
|
||||
keyboard-based. It is based on
|
||||
[my dotfiles](https://github.com/lukesmithxyz/voidrice) and install programs
|
||||
that can be seen
|
||||
[here](https://github.com/LukeSmithxyz/LARBS/blob/master/src/progs.csv).
|
||||
|
||||
LARBS is also intensely well-documented. Users can press `super+F1` at any time
|
||||
to view a full guide and explanation of the keyboard shortcuts. The only
|
||||
advised foreknowledge for potential users is a general familiarity with vim.
|
||||
|
||||
Now there are also small scripts like `getkeys` which display the default
|
||||
bindings for the different terminal programs used by the system. Users can also
|
||||
press `super+shift+e` at any time to watch a growing list of tutorial videos on
|
||||
the same programs and other basic concepts from [my YouTube channel](https://youtube.com/c/lukesmithxyz).
|
||||
|
||||
You can also easily fork these scripts for your own purposes to deploy your own
|
||||
configs if you like. All the actual scripts do is install a `.csv` list of
|
||||
programs of your choice and set up system basics.
|
||||
|
||||
## Requirements
|
||||
|
||||
An already installed Arch Linux or derivative system (works on Manjaro and
|
||||
Antergos as well). Works on Parabola too, but due to repository differences,
|
||||
some minor programs might not install. Check the program list.
|
||||
|
||||
If you have a non-systemd system, you might also have to manually set up
|
||||
Pulseaudio and Network Manager after running the script.
|
||||
|
||||
## Installation
|
||||
|
||||
### On an already existing Arch install
|
||||
|
||||
Boot up a fresh Arch install and run the following as the root user.
|
||||
|
||||
```sh
|
||||
curl -LO lukesmith.xyz/larbs.sh #Downloads the script.
|
||||
bash larbs.sh #Runs it.
|
||||
```
|
||||
|
||||
Once that all is done, you should be able to log out, then log in as your newly
|
||||
created user and type `startx` to begin the graphical environment. Congrats!
|
||||
Note that if the graphical environment doesn't start correctly, you might want
|
||||
to see what kind of drivers your computer needs to run Arch and install them
|
||||
via `pacman` manually.
|
||||
|
||||
### Installing Arch automatically
|
||||
|
||||
I also have a script here for installing Arch automatically. I *only* wrote this
|
||||
script so I could quickly install then test the other scripts on new computers,
|
||||
but theoretically you could use it as well. *BUT* this is a lazy, pre-alpha
|
||||
script which does not give you many options (it automatically chooses the New
|
||||
York time zone, US English, GRUB, Network Manager, etc). Even more important, it
|
||||
automatically partitions /dev/sda without asking, so unless, you have no
|
||||
non-backed up data on your machine, I don't advise running it unless you don't
|
||||
mind a full wipe. That said, you can run it like this after booting into an Arch
|
||||
live environment:
|
||||
|
||||
```sh
|
||||
curl -LO lukesmith.xyz/arch.sh #Downloads the script.
|
||||
bash arch.sh #Runs it.
|
||||
```
|
||||
|
||||
After the system installs, you'll have the option of bootstrapping automatically
|
||||
into installing my configs as well.
|
||||
|
||||
Don't be worried if the installation of the first programs seems to take a
|
||||
while. As general dependencies are installed, things will move very quickly.
|
||||
Still, since this is a total online install, it might take a little longer than
|
||||
just installing a distro from an ISO.
|
||||
|
||||
## Details
|
||||
|
||||
In addition to installing all the needed dependencies, LARBS also:
|
||||
|
||||
- Enables `wheel` users to run basic commands without passwords including
|
||||
shuttting down, rebooting and updating packages.
|
||||
- Installs and enables NetworkManager and Pulseaudio.
|
||||
- Disables the beep.
|
||||
|
||||
## Version
|
||||
|
||||
We're close to what can be called LARBS 2.0, and here are some of the major
|
||||
changes since the original version.
|
||||
|
||||
- More documentation in the `getkeys` program and `mod+shift-e`.
|
||||
- Luke's build of st is now the default terminal, instead of urxvt. This
|
||||
includes:
|
||||
- Full unicode compatibility
|
||||
- vim-like bindings
|
||||
- Scrollback with keys and mouse, clipboard use and other add ons to
|
||||
the default st build
|
||||
- Xresources colors, allowing the use of wal/pywal
|
||||
- i3status is the status bar instead of Polybar, which was bloated and failed
|
||||
to build on many machines. The new i3status includes the modules below, all
|
||||
of which are constructed to be as minimal and light on system resources as
|
||||
possible:
|
||||
- Weather forecasts using `wttr.in`, with highs, lows and rain chance.
|
||||
- Current song information from `mpd`
|
||||
- Unread mail from Luke's `mutt-wizard`
|
||||
- Possible pacman updates
|
||||
- Status of torrents in transmission-daemon
|
||||
- Expected date, time, battery, internet and volume modules
|
||||
- Switch from mocp to mpd/ncmpcpp for music.
|
||||
- System is more minimalist/suckless.
|
||||
- dmenu is used instead of rofi for simplicity's sake.
|
||||
- Deployment of my new mutt-wizard for secure offline email configuration
|
||||
instead of config files for the user to manually edit.
|
||||
- Firefox instead of qutebrowser for default browser (qutebrowser configs
|
||||
remain for qutebrowser afeccionados)
|
||||
- A default profile of Firefox including some privacy features, an ad-blocker
|
||||
and VimVixen, for vim-based keyboard shortcuts.
|
||||
- Extensive implementation of dmenu, including for mounting/unmounting drives,
|
||||
display selection, confirmation for shutdown and other crucial commands, link
|
||||
handling and screen/audio recording.
|
||||
- Updates to config files can be pulled with git now.
|
||||
- i3 window resize now intuitive directions
|
||||
- Removal of a lot of brainlethood in the original design, where I relocated
|
||||
configs for alleged extensibility's sake. That's all been fixed now.
|
||||
- Configs for the new versions of qutebrowser, newsboat/newsbeuter, neomutt,
|
||||
etc.
|
||||
- Link handling scripts for mutt, newsboat and vim
|
||||
- vi mode is now default in bash (with retention of emacs-mode ctrl-l)
|
||||
- Caps lock functions both as a super key and escape key with xcape.
|
||||
- Use of the much better, newer version of my shortcut-sync.
|
||||
- And the repository is *significantly* smaller than it was before, meaning a
|
||||
faster download.
|
||||
- A million and one other tweaks and bug fixes.
|
||||
|
||||
### Soon to be added features
|
||||
|
||||
*At this point, all the planned features are there, and it's now just an issue
|
||||
of fine-tuning them.*
|
13
docs/TODO.md
@ -1,13 +0,0 @@
|
||||
# To-Do List
|
||||
|
||||
(No particular order.)
|
||||
|
||||
+ Scripts for Parabola
|
||||
+ Scripts for OpenRC distros
|
||||
+ For Arch
|
||||
+ For Parabola
|
||||
+ Smart installer for graphics drivers
|
||||
+ Pulseaudio sinks on my default
|
||||
+ Improvement of the arch.sh script, making it available for public use:
|
||||
+ Options for partition sizes and drive choice
|
||||
+ Options for localization and keyboards
|
141
larbs.sh
Executable file
@ -0,0 +1,141 @@
|
||||
#!/bin/bash
|
||||
|
||||
# You can provide a custom repository with -r or a custom programs csv with -p.
|
||||
# Otherwise, the script will use my defaults.
|
||||
|
||||
while getopts ":r:p:h" o; do
|
||||
case "${o}" in
|
||||
h)
|
||||
echo -e "Optional arguments for custom use:\n-r: Dotfiles repository\n-p: Dependencies and programs csv" && exit ;;
|
||||
r)
|
||||
dotfilesrepo=${OPTARG} ;;
|
||||
p)
|
||||
progsfile=${OPTARG} ;;
|
||||
*)
|
||||
echo "-$OPTARG is not a valid option." && exit ;;
|
||||
esac
|
||||
done
|
||||
|
||||
[ -z ${dotfilesrepo+x} ] && dotfilesrepo="https://github.com/lukesmithxyz/voidrice.git"
|
||||
[ -z ${progsfile+x} ] && progsfile="https://raw.githubusercontent.com/LukeSmithxyz/LARBS/master/progs.csv"
|
||||
|
||||
pacman -S --noconfirm --needed dialog || { echo "Error at script start: Are you sure you're running this as the root user? Are you sure you're using an Arch-based distro? ;-) Are you sure you have an internet connection?"; exit; }
|
||||
dialog --title "Welcome!" --msgbox "Welcome to Luke's Auto-Rice Bootstrapping Script!\n\nThis script will automatically install a fully-featured i3wm Arch Linux desktop, which I use as my main machine.\n\n-Luke" 10 60
|
||||
|
||||
name=$(dialog --no-cancel --inputbox "First, please enter a name for the user account." 10 60 3>&1 1>&2 2>&3 3>&1)
|
||||
|
||||
re="^[a-z_][a-z0-9_-]*$"
|
||||
while ! [[ "${name}" =~ ${re} ]]; do
|
||||
name=$(dialog --no-cancel --inputbox "Username not valid. Give a username beginning with a letter, with only lowercase letters, - and _." 10 60 3>&1 1>&2 2>&3 3>&1)
|
||||
done
|
||||
|
||||
pass1=$(dialog --no-cancel --passwordbox "Enter a password for that user." 10 60 3>&1 1>&2 2>&3 3>&1)
|
||||
pass2=$(dialog --no-cancel --passwordbox "Retype password." 10 60 3>&1 1>&2 2>&3 3>&1)
|
||||
|
||||
while [ $pass1 != $pass2 ]
|
||||
do
|
||||
pass1=$(dialog --no-cancel --passwordbox "Passwords do not match.\n\nEnter password again." 10 60 3>&1 1>&2 2>&3 3>&1)
|
||||
pass2=$(dialog --no-cancel --passwordbox "Retype password." 10 60 3>&1 1>&2 2>&3 3>&1)
|
||||
unset pass2
|
||||
done
|
||||
|
||||
dialog --infobox "Adding user \"$name\"..." 4 50
|
||||
useradd -m -g wheel -s /bin/bash $name
|
||||
echo "$name:$pass1" | chpasswd
|
||||
|
||||
dialog --title "Let's get this party started!" --msgbox "The rest of the installation will now be totally automated, so you can sit back and relax.\n\nIt will take some time, but when done, you can relax even more with your complete system.\n\nNow just press <OK> and the system will begin installation!" 13 60 || { clear; exit; }
|
||||
|
||||
dialog --infobox "Refreshing Arch Keyring..." 4 40
|
||||
pacman --noconfirm -Sy archlinux-keyring &>/dev/null
|
||||
|
||||
# Give packerwrapper a list of programs. Finds only those needing installation
|
||||
# then, it sorts them into $mainqueue and $aurqueue for progs installable from
|
||||
# main repo or AUR.
|
||||
posprogs=$(pacman -Sl | awk '{print $2}')
|
||||
packerwrapper() { \
|
||||
for arg in "$@"
|
||||
do
|
||||
pacman -Q "$arg" &>/dev/null && continue
|
||||
pacman -Qg "$arg" &>/dev/null && continue
|
||||
grep "^$arg$" <<< $posprogs &>/dev/null && mainqueue="$mainqueue $arg" && continue
|
||||
aurqueue="$aurqueue $arg"
|
||||
done ;}
|
||||
|
||||
dialog --infobox "Getting program list..." 4 40
|
||||
packerwrapper $(curl -sL $progsfile | grep ^, | cut -d ',' -f2)
|
||||
|
||||
count=$(echo "$mainqueue" | wc -w)
|
||||
|
||||
for x in $mainqueue
|
||||
do
|
||||
n=$((n+1))
|
||||
dialog --title "LARBS Installation" --infobox "Downloading and installing program $n out of $count: $x...\n\nThe first programs will take more time due to dependencies." 8 70
|
||||
pacman --noconfirm --needed -S "$x" &>/dev/null
|
||||
done
|
||||
|
||||
sed -e "/#LARBS/d" /etc/sudoers
|
||||
echo "%wheel ALL=(ALL) NOPASSWD: ALL #LARBS" >> /etc/sudoers
|
||||
|
||||
[[ -f /usr/bin/packer ]] || (
|
||||
dialog --infobox "Installing \"packer\", an AUR helper..." 10 60
|
||||
cd /tmp
|
||||
rm -rf /tmp/packer*
|
||||
curl -sO https://aur.archlinux.org/cgit/aur.git/snapshot/packer.tar.gz &&
|
||||
sudo -u $name tar -xvf packer.tar.gz &>/dev/null &&
|
||||
cd packer &&
|
||||
sudo -u $name makepkg --noconfirm -si &>/dev/null
|
||||
cd /tmp)
|
||||
|
||||
count=$(echo "$aurqueue" | wc -w)
|
||||
|
||||
n=0
|
||||
for prog in $aurqueue
|
||||
do
|
||||
n=$((n+1))
|
||||
dialog --infobox "Downloading and installing program $n out of $count: $prog..." 10 60
|
||||
sudo -u $name packer -S --noconfirm "$prog" &>/dev/null
|
||||
done
|
||||
|
||||
# Downloading and installing dotfiles
|
||||
dialog --infobox "Downloading and installing config files..." 4 60
|
||||
rm -rf /tmp/dotfiles/
|
||||
sudo -u $name git clone --depth 1 $dotfilesrepo /tmp/dotfiles &>/dev/null &&
|
||||
sudo -u $name rsync -rl /tmp/dotfiles/ /home/$name
|
||||
|
||||
sudo -u $name curl -s https://raw.githubusercontent.com/LukeSmithxyz/shortcut-sync/master/shortcuts.sh > /home/$name/.scripts/shortcuts.sh && chown $name:wheel /home/$name/.scripts/shortcuts.sh && chmod +x /home/$name/.scripts/shortcuts.sh
|
||||
|
||||
dialog --infobox "Preparing welcome message..." 4 50
|
||||
echo "exec_always --no-startup-id notify-send -i ~/.scripts/larbs.png '<b>Welcome to LARBS:</b> Press Super+F1 for the manual.' -t 10000" >> /home/$name/.config/i3/config
|
||||
|
||||
dialog --infobox "Reseting Pulseaudio..." 4 50
|
||||
killall pulseaudio
|
||||
sudo -u $name pulseaudio --start
|
||||
|
||||
# For installing programs via git. Give full url as argument
|
||||
gitinstall() { \
|
||||
dir=$(mktemp -d)
|
||||
dialog --infobox "Installing \"$(basename $1)\" from source..." 4 40
|
||||
git clone --depth 1 "$1" $dir
|
||||
cd $dir
|
||||
make
|
||||
make install
|
||||
}
|
||||
|
||||
gitinstall https://github.com/lukesmithxyz/st.git &>/dev/null
|
||||
|
||||
gitinstall https://github.com/lukesmithxyz/dmenu.git &>/dev/null
|
||||
|
||||
dialog --infobox "Enabling Network Manager..." 4 40
|
||||
systemctl enable NetworkManager
|
||||
systemctl start NetworkManager
|
||||
|
||||
dialog --infobox "Getting rid of that retarded error beep sound..." 10 50
|
||||
rmmod pcspkr
|
||||
echo "blacklist pcspkr" > /etc/modprobe.d/nobeep.conf
|
||||
|
||||
dialog --infobox "Updating sudoers file..." 4 40
|
||||
sed -e "/#LARBS/d" /etc/sudoers
|
||||
echo "%wheel ALL=(ALL) NOPASSWD: /usr/bin/shutdown,/usr/bin/reboot,/usr/bin/wifi-menu,/usr/bin/mount,/usr/bin/umount,/usr/bin/pacman -Syu,/usr/bin/pacman -Syyu,/usr/bin/packer -Syu,/usr/bin/packer -Syyu,/usr/bin/systemctl restart NetworkManager,/usr/bin/rc-service NetworkManager restart, /usr/bin/pacman -Syyu --noconfirm #LARBS" >> /etc/sudoers
|
||||
|
||||
dialog --title "All done!" --msgbox "Congrats! Provided there were no hidden errors, the script completed successfully and all the programs and configuration files should be in place.\n\nTo run the new graphical environment, log out and log back in as your new user, then run the command \"startx\" to start the graphical environment.\n\n-Luke" 12 80
|
||||
clear
|
109
progs.csv
Normal file
@ -0,0 +1,109 @@
|
||||
,arandr,gui adjustment of screen
|
||||
,base-devel,sudo and compilation software
|
||||
,calcurse,calendar
|
||||
,compton,transparency and removing tearing
|
||||
,dmenu,command runner
|
||||
,dosfstools,file system compatibility
|
||||
,dunst,notification system
|
||||
,exfat-utils,file system compatibility
|
||||
,feh,image viewer
|
||||
,ffmpeg,audio/video recording and splicing
|
||||
,firefox,default browser
|
||||
,git,dling config repos
|
||||
,gnome-keyring,system keyring
|
||||
,gnome-themes-extra,for dark GTK theme
|
||||
,gvim,text editor
|
||||
,i3-gaps,window manager
|
||||
,i3blocks,status bar
|
||||
,i3lock,screen lock
|
||||
,mpc,music daemon control
|
||||
,mpd,music daemon
|
||||
,mpv,video/gif player
|
||||
,ncmpcpp,music player
|
||||
,network-manager-applet,GUI wifi manager
|
||||
,networkmanager,network manager
|
||||
,newsboat,RSS reader
|
||||
,ttf-emojione-color,emoji fonts
|
||||
,ntfs-3g,file system compatibility
|
||||
,packer,AUR manager
|
||||
,pamixer,audio system control
|
||||
,pulseaudio,audio system
|
||||
,pulseaudio-alsa,audio system
|
||||
,pulsemixer,audio system manager
|
||||
,python-pywal,colorscheme generator
|
||||
,rsync,
|
||||
,sc-im,spreadsheet manager
|
||||
,screenkey,screencasting keyboard view
|
||||
,speedometer,internet traffic view
|
||||
,tmux,multiplexer and dropdown
|
||||
,ttf-inconsolata,mono font
|
||||
,ttf-linux-libertine,non-mono fonts
|
||||
,unclutter-xfixes-git,hides mouse if idle
|
||||
,unrar,extraction
|
||||
,unzip,extraction
|
||||
,urlview,url parser for terminal apps
|
||||
,vim-pathogen,vim package manager
|
||||
,w3m,,
|
||||
,wget,
|
||||
,xcape,for double mapping of escape
|
||||
,xdotool,moving windows on command
|
||||
,xorg-server,graphical environment
|
||||
,xorg-xdpyinfo,screencasting
|
||||
,xorg-xinit,graphical environment
|
||||
,xssstate,screen idle detection
|
||||
,youtube-dl,downloads youtube videos
|
||||
,youtube-viewer,watch YT videos without browser
|
||||
,zathura,pdf reader
|
||||
,zathura-djvu,djvu reader
|
||||
,zathura-pdf-mupdf,pdf compatibility
|
||||
,poppler,ranger pdf previews
|
||||
,ranger,file manager
|
||||
,mediainfo,ranger audio/video info preview
|
||||
,atool,ranger archive previews
|
||||
,fzf,ranger fuzzy finder
|
||||
,highlight,ranger previews highlighted
|
||||
|
||||
|
||||
D,asciiquarium,terminal screensaver
|
||||
D,bash-pipes,terminal screensaver
|
||||
D,cli-visualizer,music/audio visualizer
|
||||
D,cmatrix,terminal screensaver
|
||||
D,figlet,text decoration
|
||||
D,htop-vim-git,system info
|
||||
lock screen",D,imagemagick,"image conversion and modification
|
||||
D,neofetch,system stats
|
||||
D,projectm-pulseaudio,music/audio visualizer
|
||||
D,screenfetch,system stats
|
||||
D,scrot,screenshots
|
||||
|
||||
T,transmission-cli,torrent
|
||||
T,transmission-remote-cli-git,torrent interface
|
||||
|
||||
L,libreoffice-fresh,office suite
|
||||
|
||||
X,biber,LaTeX references
|
||||
X,texlive-lang,LaTeX packages
|
||||
X,texlive-most,LaTeX packages
|
||||
X,vim-live-latex-preview,latex preview
|
||||
|
||||
B,blender,video modification and modelling
|
||||
|
||||
G,gimp,image modification
|
||||
|
||||
F,noto-fonts,Near Eastern Fonts
|
||||
F,noto-fonts-cjk,East Asian fonts
|
||||
F,ttf-ancient-fonts,rare and ancient fonts
|
||||
|
||||
E,neomutt,email client
|
||||
E,notmuch,email system (indexing and search)
|
||||
E,notmuch-mutt,email system (indexing and search)
|
||||
E,offlineimap,email system (mail sync)
|
||||
|
||||
P,pandoc,file conversion
|
||||
P,pandoc-citeproc,citations through pandoc
|
||||
|
||||
R,r,statistics and calculator
|
||||
|
||||
U,rxvt-unicode,alternate terminal
|
||||
U,urxvt-perls,perl scripts for urxvt
|
||||
U,urxvt-resize-font-git,resize urxvt font
|
Can't render this file because it has a wrong number of fields in line 46.
|
@ -1,23 +0,0 @@
|
||||
#Potential variables: timezone, lang and local
|
||||
|
||||
passwd
|
||||
|
||||
TZuser=$(cat tzfinal.tmp)
|
||||
|
||||
ln -sf /usr/share/zoneinfo/$TZuser /etc/localtime
|
||||
|
||||
hwclock --systohc
|
||||
|
||||
echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
|
||||
echo "en_US ISO-8859-1" >> /etc/locale.gen
|
||||
locale-gen
|
||||
|
||||
pacman --noconfirm --needed -S networkmanager
|
||||
systemctl enable NetworkManager
|
||||
systemctl start NetworkManager
|
||||
|
||||
pacman --noconfirm --needed -S grub && grub-install --target=i386-pc /dev/sda && grub-mkconfig -o /boot/grub/grub.cfg
|
||||
|
||||
pacman --noconfirm --needed -S dialog
|
||||
larbs() { curl -O https://raw.githubusercontent.com/LukeSmithxyz/LARBS/master/src/larbs.sh && bash larbs.sh ;}
|
||||
dialog --title "Install Luke's Rice" --yesno "This install script will easily let you access Luke's Auto-Rice Boostrapping Scripts (LARBS) which automatically install a full Arch Linux i3-gaps desktop environment.\n\nIf you'd like to install this, select yes, otherwise select no.\n\nLuke" 15 60 && larbs
|
113
src/larbs.sh
@ -1,113 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
pacman -S --noconfirm --needed dialog || { echo "Error at script start: Are you sure you're running this as the root user? Are you sure you're using an Arch-based distro? ;-) Are you sure you have an internet connection?"; exit; }
|
||||
dialog --title "Welcome!" --msgbox "Welcome to Luke's Auto-Rice Bootstrapping Script!\n\nThis script will automatically install a fully-featured i3wm Arch Linux desktop, which I use as my main machine.\n\n-Luke" 10 60
|
||||
|
||||
name=$(dialog --no-cancel --inputbox "First, please enter a name for the user account." 10 60 3>&1 1>&2 2>&3 3>&1)
|
||||
|
||||
re="^[a-z_][a-z0-9_-]*$"
|
||||
while ! [[ "${name}" =~ ${re} ]]; do
|
||||
name=$(dialog --no-cancel --inputbox "Username not valid. Give a username beginning with a letter, with only lowercase letters, - and _." 10 60 3>&1 1>&2 2>&3 3>&1)
|
||||
done
|
||||
|
||||
pass1=$(dialog --no-cancel --passwordbox "Enter a password for that user." 10 60 3>&1 1>&2 2>&3 3>&1)
|
||||
pass2=$(dialog --no-cancel --passwordbox "Retype password." 10 60 3>&1 1>&2 2>&3 3>&1)
|
||||
|
||||
while [ $pass1 != $pass2 ]
|
||||
do
|
||||
pass1=$(dialog --no-cancel --passwordbox "Passwords do not match.\n\nEnter password again." 10 60 3>&1 1>&2 2>&3 3>&1)
|
||||
pass2=$(dialog --no-cancel --passwordbox "Retype password." 10 60 3>&1 1>&2 2>&3 3>&1)
|
||||
unset pass2
|
||||
done
|
||||
|
||||
dialog --infobox "Adding user \"$name\"..." 4 50
|
||||
useradd -m -g wheel -s /bin/bash $name >/dev/tty6
|
||||
echo "$name:$pass1" | chpasswd >/dev/tty6
|
||||
|
||||
cmd=(dialog --separate-output --nocancel --buildlist "Press <SPACE> to select the packages you want to install. LARBS will install all the packages you put in the right column.
|
||||
|
||||
Use \"^\" and \"\$\" to move to the left and right columns respectively. Press <ENTER> when done." 22 76 16)
|
||||
options=(X "LaTeX packages" off
|
||||
L "Libreoffice" off
|
||||
G "GIMP" off
|
||||
B "Blender" off
|
||||
E "Emacs" off
|
||||
F "Fonts for unicode and other languages" off
|
||||
T "Transmission torrent client" off
|
||||
D "Music visualizers and decoration" off
|
||||
P "Pandoc and R/Rmarkdown" off
|
||||
)
|
||||
choices=$("${cmd[@]}" "${options[@]}" 2>&1 >/dev/tty)
|
||||
|
||||
let="\(\|[a-z]\|$(echo $choices | sed -e "s/ /\\\|/g")\)"
|
||||
|
||||
dialog --title "Let's get this party started!" --msgbox "The rest of the installation will now be totally automated, so you can sit back and relax.\n\nIt will take some time, but when done, you can relax even more with your complete system.\n\nNow just press <OK> and the system will begin installation!" 13 60 || { clear; exit; }
|
||||
|
||||
clear
|
||||
|
||||
dialog --infobox "Refreshing Arch Keyring..." 4 40
|
||||
pacman --noconfirm -Sy archlinux-keyring >/dev/tty6
|
||||
|
||||
dialog --infobox "Getting program list..." 4 40
|
||||
curl https://raw.githubusercontent.com/LukeSmithxyz/larbs/master/src/progs.csv > /tmp/progs.csv
|
||||
rm /tmp/aur_queue &>/dev/tty6
|
||||
count=$(cat /tmp/progs.csv | grep -G ",$let," | wc -l)
|
||||
n=0
|
||||
installProgram() { ( (pacman --noconfirm --needed -S $1 &>/dev/tty6 && echo $1 installed.) || echo $1 >> /tmp/aur_queue) || echo $1 >> /tmp/larbs_failed ;}
|
||||
|
||||
for x in $(cat /tmp/progs.csv | grep -G ",$let," | awk -F, {'print $1'})
|
||||
do
|
||||
n=$((n+1))
|
||||
dialog --title "LARBS Installation" --infobox "Downloading and installing program $n out of $count: $x...\n\nThe first programs will take more time due to dependencies. You can watch the output on tty6." 8 70
|
||||
installProgram $x >/dev/tty6
|
||||
done
|
||||
|
||||
dialog --infobox "Preparing the user script..." 4 40
|
||||
echo "%wheel ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
|
||||
cd /tmp
|
||||
if [ $1 = "devel" ]
|
||||
then curl https://raw.githubusercontent.com/LukeSmithxyz/larbs/devel/src/larbs_user.sh > /tmp/larbs_user.sh;
|
||||
else curl https://raw.githubusercontent.com/LukeSmithxyz/larbs/master/src/larbs_user.sh > /tmp/larbs_user.sh;
|
||||
fi
|
||||
sudo -u $name bash /tmp/larbs_user.sh
|
||||
rm -f /tmp/larbs_user.sh
|
||||
|
||||
dialog --infobox "Installing \"st\" from source..." 4 40
|
||||
cd /tmp
|
||||
rm -rf st
|
||||
git clone --depth 1 https://github.com/lukesmithxyz/st.git
|
||||
cd st
|
||||
make
|
||||
make install
|
||||
cd /tmp
|
||||
|
||||
dialog --infobox "Installing \"dmenu\" from source..." 4 40
|
||||
cd /tmp
|
||||
rm -rf dmenu
|
||||
git clone --depth 1 https://github.com/lukesmithxyz/dmenu.git
|
||||
cd dmenu
|
||||
make
|
||||
make install
|
||||
cd /tmp
|
||||
|
||||
# Install R Markdown if R was chosen and installed.
|
||||
[[ -e /usr/bin/R ]] && (
|
||||
dialog --infobox "Installing R Markdown..." 4 40
|
||||
cp /home/$name/.Rprofile ~ 2>/dev/tty6
|
||||
echo "install.packages('rmarkdown')" | R -q --no-save 2>/dev/null)
|
||||
|
||||
|
||||
dialog --infobox "Enabling Network Manager..." 4 40
|
||||
systemctl enable NetworkManager
|
||||
systemctl start NetworkManager
|
||||
|
||||
dialog --infobox "Getting rid of that retarded error beep sound..." 10 50
|
||||
rmmod pcspkr
|
||||
echo "blacklist pcspkr" > /etc/modprobe.d/nobeep.conf
|
||||
|
||||
dialog --infobox "Updating sudoers file..." 4 40
|
||||
sed -e "/^%wheel.*ALL$/d" /etc/sudoers
|
||||
echo "%wheel ALL=(ALL) NOPASSWD: /usr/bin/shutdown,/usr/bin/reboot,/usr/bin/mount,/usr/bin/umount,/usr/bin/pacman -Syu,/usr/bin/pacman -Syyu,/usr/bin/packer -Syu,/usr/bin/packer -Syyu,/usr/bin/systemctl restart NetworkManager,/usr/bin/rc-service NetworkManager restart, /usr/bin/pacman -Syyu --noconfirm" >> /etc/sudoers
|
||||
|
||||
dialog --title "All done!" --msgbox "Congrats! Provided there were no hidden errors, the script completed successfully and all the programs and configuration files should be in place.\n\nTo run the new graphical environment, log out and log back in as your new user, then run the command \"startx\" to start the graphical environment.\n\n-Luke" 12 80
|
||||
clear
|
@ -1,60 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
#Install an AUR package manually.
|
||||
aurinstall() { curl -O https://aur.archlinux.org/cgit/aur.git/snapshot/$1.tar.gz && tar -xvf $1.tar.gz && cd $1 && makepkg --noconfirm -si && cd .. && rm -rf $1 $1.tar.gz ;}
|
||||
|
||||
#aurcheck runs on each of its arguments, if the argument is not already installed, it either uses packer to install it, or installs it manually.
|
||||
aurcheck() {
|
||||
qm=$(pacman -Qm | awk '{print $1}')
|
||||
for arg in "$@"
|
||||
do
|
||||
if [[ $qm = *"$arg"* ]]; then
|
||||
echo $arg is already installed.
|
||||
else
|
||||
echo $arg not installed.
|
||||
packer --noconfirm -S $arg >/dev/null || aurinstall $arg
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
dialog --infobox "Installing \"packer\", an AUR helper..." 10 60
|
||||
aurcheck packer >/dev/null
|
||||
|
||||
count=$(cat /tmp/aur_queue | wc -l)
|
||||
n=0
|
||||
|
||||
for prog in $(cat /tmp/aur_queue)
|
||||
do
|
||||
n=$((n+1))
|
||||
dialog --infobox "Downloading and installing program $n out of $count: $prog..." 10 60
|
||||
aurcheck $prog >/dev/null
|
||||
done
|
||||
|
||||
dialog --infobox "Downloading and installing config files..." 4 60
|
||||
git clone --depth 1 https://github.com/lukesmithxyz/voidrice.git >/dev/null &&
|
||||
rsync -va voidrice/ /home/$(whoami) >/dev/null &&
|
||||
rm -rf voidrice >/dev/null
|
||||
|
||||
dialog --infobox "Readying mutt-wizard..." 4 60
|
||||
git clone --depth 1 https://github.com/lukesmithxyz/mutt-wizard.git /home/$(whoami)/.config/mutt >/dev/null
|
||||
|
||||
dialog --infobox "Generating bash/ranger/qutebrowser shortcuts..." 4 60
|
||||
git clone --depth 1 https://github.com/LukeSmithxyz/shortcut-sync.git >/dev/null &&
|
||||
rsync shortcut-sync/shortcuts.sh ~/.scripts/ >/dev/null &&
|
||||
rsync shortcut-sync/folders ~/.scripts/ >/dev/null &&
|
||||
rsync shortcut-sync/configs ~/.scripts/ >/dev/null &&
|
||||
bash /home/$(whoami)/.scripts/shortcuts.sh >/dev/null &&
|
||||
rm -rf shortcut-sync/ >/dev/null
|
||||
|
||||
dialog --infobox "Creating LARBS Firefox profile..." 4 60
|
||||
mkdir -p ~/.mozilla/firefox
|
||||
git clone --depth 1 https://github.com/LukeSmithxyz/mozilla-larbs.git >/dev/null &&
|
||||
rsync -r mozilla-larbs/firefox/* ~/.mozilla/firefox/
|
||||
|
||||
dialog --infobox "Preparing welcome message..." 4 50
|
||||
|
||||
echo "exec_always --no-startup-id notify-send -i ~/.scripts/larbs.png '<b>Welcome to LARBS:</b> Press Super+F1 for the manual.' -t 10000" >> /home/$(whoami)/.config/i3/config
|
||||
|
||||
dialog --infobox "Reseting Pulseaudio..." 4 50
|
||||
killall pulseaudio >/dev/null
|
||||
pulseaudio --start >/dev/null
|
100
src/progs.csv
@ -1,100 +0,0 @@
|
||||
arandr,,gui adjustment of screen
|
||||
asciiquarium,D,terminal screensaver
|
||||
atool,r,ranger archive previews
|
||||
base-devel,,sudo and compilation software
|
||||
bash-pipes,D,terminal screensaver
|
||||
biber,X,LaTeX references
|
||||
blender,B,video modification and modelling
|
||||
calcurse,,calendar
|
||||
cli-visualizer,D,music/audio visualizer
|
||||
cmatrix,D,terminal screensaver
|
||||
compton,,transparency and removing tearing
|
||||
discount,?,
|
||||
dmenu,,command runner
|
||||
dosfstools,,file system compatibility
|
||||
dunst,,notification system
|
||||
emacs,E,everything
|
||||
exfat-utils,,file system compatibility
|
||||
feh,,image viewer
|
||||
ffmpeg,,audio/video recording and splicing
|
||||
figlet,D,text decoration
|
||||
firefox,,default browser
|
||||
fzf,r,ranger fuzzy finder
|
||||
gimp,G,image modification
|
||||
git,,dling config repos
|
||||
gnome-keyring,,system keyring
|
||||
gnome-themes-extra,,for dark GTK theme
|
||||
gvim,,text editor
|
||||
highlight,r,ranger previews highlighted
|
||||
htop-vim-git,D,system info
|
||||
i3-gaps,,window manager
|
||||
i3blocks,,status bar
|
||||
i3lock,,screen lock
|
||||
imagemagick,D,"image conversion and modification, lock screen"
|
||||
libcaca,r,
|
||||
libreoffice-fresh,L,office suite
|
||||
mediainfo,r,ranger audio/video info preview
|
||||
mpc,,music daemon control
|
||||
mpd,,music daemon
|
||||
mpv,,video/gif player
|
||||
ncmpcpp,,music player
|
||||
neofetch,D,system stats
|
||||
neomutt,e,email client
|
||||
network-manager-applet,,GUI wifi manager
|
||||
networkmanager,,network manager
|
||||
newsboat,,RSS reader
|
||||
notmuch,e,email system (indexing and search)
|
||||
notmuch-mutt,e,email system (indexing and search)
|
||||
noto-fonts,F,Near Eastern Fonts
|
||||
noto-fonts-cjk,F,East Asian fonts
|
||||
noto-fonts-emoji,,emoji fonts
|
||||
ntfs-3g,,file system compatibility
|
||||
offlineimap,e,email system (mail sync)
|
||||
packer,,AUR manager
|
||||
pamixer,,audio system control
|
||||
pandoc,P,file conversion
|
||||
pandoc-citeproc,P,citations through pandoc
|
||||
poppler,r,ranger pdf previews
|
||||
projectm-pulseaudio,D,music/audio visualizer
|
||||
pulseaudio,,audio system
|
||||
pulseaudio-alsa,,audio system
|
||||
pulsemixer,,audio system manager
|
||||
python-pywal,,colorscheme generator
|
||||
r,P,statistics and calculator
|
||||
ranger,r,file manager
|
||||
rsync,,
|
||||
rxvt-unicode,U,alternate terminal
|
||||
sc-im,,spreadsheet manager
|
||||
screenfetch,D,system stats
|
||||
screenkey,,screencasting keyboard view
|
||||
scrot,D,screenshots
|
||||
speedometer,,internet traffic view
|
||||
texlive-lang,X,LaTeX packages
|
||||
texlive-most,X,LaTeX packages
|
||||
tmux,,multiplexer and dropdown
|
||||
transmission-cli,T,torrent
|
||||
transmission-remote-cli-git,T,torrent interface
|
||||
ttf-ancient-fonts,F,rare and ancient fonts
|
||||
ttf-inconsolata,,mono font
|
||||
ttf-linux-libertine,,non-mono fonts
|
||||
unclutter-xfixes-git,,hides mouse if idle
|
||||
unrar,,extraction
|
||||
unzip,,extraction
|
||||
urlview,,url parser for terminal apps
|
||||
urxvt-perls,U,perl scripts for urxvt
|
||||
urxvt-resize-font-git,U,resize urxvt font
|
||||
vim-live-latex-preview,X,latex preview
|
||||
vim-pathogen,,vim package manager
|
||||
w3m,?,
|
||||
wget,,
|
||||
xcape,,for double mapping of escape
|
||||
xdotool,,moving windows on command
|
||||
xorg-server,,graphical environment
|
||||
xorg-xdpyinfo,,screencasting
|
||||
xorg-xinit,,graphical environment
|
||||
xssstate,,screen idle detection
|
||||
youtube-dl,,downloads youtube videos
|
||||
youtube-viewer,,watch YT videos without browser
|
||||
zathura,,pdf reader
|
||||
zathura-djvu,,djvu reader
|
||||
zathura-pdf-mupdf,,pdf compatibility
|
|
103
src/sudoers
@ -1,103 +0,0 @@
|
||||
## sudoers file.
|
||||
##
|
||||
## This file MUST be edited with the 'visudo' command as root.
|
||||
## Failure to use 'visudo' may result in syntax or file permission errors
|
||||
## that prevent sudo from running.
|
||||
##
|
||||
## See the sudoers man page for the details on how to write a sudoers file.
|
||||
##
|
||||
|
||||
##
|
||||
## Host alias specification
|
||||
##
|
||||
## Groups of machines. These may include host names (optionally with wildcards),
|
||||
## IP addresses, network numbers or netgroups.
|
||||
# Host_Alias WEBSERVERS = www1, www2, www3
|
||||
|
||||
##
|
||||
## User alias specification
|
||||
##
|
||||
## Groups of users. These may consist of user names, uids, Unix groups,
|
||||
## or netgroups.
|
||||
# User_Alias ADMINS = millert, dowdy, mikef
|
||||
|
||||
##
|
||||
## Cmnd alias specification
|
||||
##
|
||||
## Groups of commands. Often used to group related commands together.
|
||||
# Cmnd_Alias PROCESSES = /usr/bin/nice, /bin/kill, /usr/bin/renice, \
|
||||
# /usr/bin/pkill, /usr/bin/top
|
||||
# Cmnd_Alias REBOOT = /sbin/halt, /sbin/reboot, /sbin/poweroff
|
||||
|
||||
##
|
||||
## Defaults specification
|
||||
##
|
||||
## You may wish to keep some of the following environment variables
|
||||
## when running commands via sudo.
|
||||
##
|
||||
## Locale settings
|
||||
# Defaults env_keep += "LANG LANGUAGE LINGUAS LC_* _XKB_CHARSET"
|
||||
##
|
||||
## Run X applications through sudo; HOME is used to find the
|
||||
## .Xauthority file. Note that other programs use HOME to find
|
||||
## configuration files and this may lead to privilege escalation!
|
||||
# Defaults env_keep += "HOME"
|
||||
##
|
||||
## X11 resource path settings
|
||||
# Defaults env_keep += "XAPPLRESDIR XFILESEARCHPATH XUSERFILESEARCHPATH"
|
||||
##
|
||||
## Desktop path settings
|
||||
# Defaults env_keep += "QTDIR KDEDIR"
|
||||
##
|
||||
## Allow sudo-run commands to inherit the callers' ConsoleKit session
|
||||
# Defaults env_keep += "XDG_SESSION_COOKIE"
|
||||
##
|
||||
## Uncomment to enable special input methods. Care should be taken as
|
||||
## this may allow users to subvert the command being run via sudo.
|
||||
# Defaults env_keep += "XMODIFIERS GTK_IM_MODULE QT_IM_MODULE QT_IM_SWITCHER"
|
||||
##
|
||||
## Uncomment to use a hard-coded PATH instead of the user's to find commands
|
||||
# Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
|
||||
##
|
||||
## Uncomment to send mail if the user does not enter the correct password.
|
||||
# Defaults mail_badpass
|
||||
##
|
||||
## Uncomment to enable logging of a command's output, except for
|
||||
## sudoreplay and reboot. Use sudoreplay to play back logged sessions.
|
||||
# Defaults log_output
|
||||
# Defaults!/usr/bin/sudoreplay !log_output
|
||||
# Defaults!/usr/local/bin/sudoreplay !log_output
|
||||
# Defaults!REBOOT !log_output
|
||||
|
||||
##
|
||||
## Runas alias specification
|
||||
##
|
||||
|
||||
##
|
||||
## User privilege specification
|
||||
##
|
||||
root ALL=(ALL) ALL
|
||||
|
||||
## Uncomment to allow members of group wheel to execute any command
|
||||
%wheel ALL=(ALL) ALL
|
||||
|
||||
## Same thing without a password
|
||||
#%wheel ALL=(ALL) NOPASSWD: ALL
|
||||
|
||||
##Here I give wheel users the ability to run core non-harmless commands without a password.
|
||||
%wheel ALL=(ALL) NOPASSWD: /usr/bin/shutdown,/usr/bin/reboot,/usr/bin/mount,/usr/bin/umount,/usr/bin/pacman -Syu,/usr/bin/pacman -Syyu,/usr/bin/packer -Syu,/usr/bin/packer -Syyu,/usr/bin/systemctl restart NetworkManager,/usr/bin/rc-service NetworkManager restart, /usr/bin/pacman -Syyu --noconfirm
|
||||
|
||||
#This keeps you from needing to reinsert your passwords in each different terminal a wheel user uses sudo in.
|
||||
Defaults !tty_tickets
|
||||
|
||||
## Uncomment to allow members of group sudo to execute any command
|
||||
# %sudo ALL=(ALL) ALL
|
||||
|
||||
## Uncomment to allow any user to run sudo if they know the password
|
||||
## of the user they are running the command as (root by default).
|
||||
# Defaults targetpw # Ask for the password of the target user
|
||||
# ALL ALL=(ALL) ALL # WARNING: only use this together with 'Defaults targetpw'
|
||||
|
||||
## Read drop-in files from /etc/sudoers.d
|
||||
## (the '#' here does not indicate a comment)
|
||||
#includedir /etc/sudoers.d
|
@ -1,97 +0,0 @@
|
||||
## sudoers file.
|
||||
##
|
||||
## This file MUST be edited with the 'visudo' command as root.
|
||||
## Failure to use 'visudo' may result in syntax or file permission errors
|
||||
## that prevent sudo from running.
|
||||
##
|
||||
## See the sudoers man page for the details on how to write a sudoers file.
|
||||
##
|
||||
|
||||
##
|
||||
## Host alias specification
|
||||
##
|
||||
## Groups of machines. These may include host names (optionally with wildcards),
|
||||
## IP addresses, network numbers or netgroups.
|
||||
# Host_Alias WEBSERVERS = www1, www2, www3
|
||||
|
||||
##
|
||||
## User alias specification
|
||||
##
|
||||
## Groups of users. These may consist of user names, uids, Unix groups,
|
||||
## or netgroups.
|
||||
# User_Alias ADMINS = millert, dowdy, mikef
|
||||
|
||||
##
|
||||
## Cmnd alias specification
|
||||
##
|
||||
## Groups of commands. Often used to group related commands together.
|
||||
# Cmnd_Alias PROCESSES = /usr/bin/nice, /bin/kill, /usr/bin/renice, \
|
||||
# /usr/bin/pkill, /usr/bin/top
|
||||
# Cmnd_Alias REBOOT = /sbin/halt, /sbin/reboot, /sbin/poweroff
|
||||
|
||||
##
|
||||
## Defaults specification
|
||||
##
|
||||
## You may wish to keep some of the following environment variables
|
||||
## when running commands via sudo.
|
||||
##
|
||||
## Locale settings
|
||||
# Defaults env_keep += "LANG LANGUAGE LINGUAS LC_* _XKB_CHARSET"
|
||||
##
|
||||
## Run X applications through sudo; HOME is used to find the
|
||||
## .Xauthority file. Note that other programs use HOME to find
|
||||
## configuration files and this may lead to privilege escalation!
|
||||
# Defaults env_keep += "HOME"
|
||||
##
|
||||
## X11 resource path settings
|
||||
# Defaults env_keep += "XAPPLRESDIR XFILESEARCHPATH XUSERFILESEARCHPATH"
|
||||
##
|
||||
## Desktop path settings
|
||||
# Defaults env_keep += "QTDIR KDEDIR"
|
||||
##
|
||||
## Allow sudo-run commands to inherit the callers' ConsoleKit session
|
||||
# Defaults env_keep += "XDG_SESSION_COOKIE"
|
||||
##
|
||||
## Uncomment to enable special input methods. Care should be taken as
|
||||
## this may allow users to subvert the command being run via sudo.
|
||||
# Defaults env_keep += "XMODIFIERS GTK_IM_MODULE QT_IM_MODULE QT_IM_SWITCHER"
|
||||
##
|
||||
## Uncomment to use a hard-coded PATH instead of the user's to find commands
|
||||
# Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
|
||||
##
|
||||
## Uncomment to send mail if the user does not enter the correct password.
|
||||
# Defaults mail_badpass
|
||||
##
|
||||
## Uncomment to enable logging of a command's output, except for
|
||||
## sudoreplay and reboot. Use sudoreplay to play back logged sessions.
|
||||
# Defaults log_output
|
||||
# Defaults!/usr/bin/sudoreplay !log_output
|
||||
# Defaults!/usr/local/bin/sudoreplay !log_output
|
||||
# Defaults!REBOOT !log_output
|
||||
|
||||
##
|
||||
## Runas alias specification
|
||||
##
|
||||
|
||||
##
|
||||
## User privilege specification
|
||||
##
|
||||
root ALL=(ALL) ALL
|
||||
|
||||
## Uncomment to allow members of group wheel to execute any command
|
||||
#%wheel ALL=(ALL) ALL
|
||||
|
||||
## Same thing without a password
|
||||
%wheel ALL=(ALL) NOPASSWD: ALL
|
||||
|
||||
## Uncomment to allow members of group sudo to execute any command
|
||||
# %sudo ALL=(ALL) ALL
|
||||
|
||||
## Uncomment to allow any user to run sudo if they know the password
|
||||
## of the user they are running the command as (root by default).
|
||||
# Defaults targetpw # Ask for the password of the target user
|
||||
# ALL ALL=(ALL) ALL # WARNING: only use this together with 'Defaults targetpw'
|
||||
|
||||
## Read drop-in files from /etc/sudoers.d
|
||||
## (the '#' here does not indicate a comment)
|
||||
#includedir /etc/sudoers.d
|
@ -1,21 +0,0 @@
|
||||
#Potential variables: timezone, lang and local
|
||||
|
||||
passwd
|
||||
|
||||
ln -sf /usr/share/zoneinfo/America/New_York /etc/localtime
|
||||
|
||||
hwclock --systohc
|
||||
|
||||
echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
|
||||
echo "en_US ISO-8859-1" >> /etc/locale.gen
|
||||
locale-gen
|
||||
|
||||
pacman --noconfirm --needed -S networkmanager
|
||||
systemctl enable NetworkManager
|
||||
systemctl start NetworkManager
|
||||
|
||||
pacman --noconfirm --needed -S grub && grub-install --target=i386-pc /dev/sda && grub-mkconfig -o /boot/grub/grub.cfg
|
||||
|
||||
pacman --noconfirm --needed -S dialog
|
||||
larbs() { curl -O http://larbs.xyz/larbs.sh && bash larbs.sh ;}
|
||||
dialog --title "Install Luke's Rice" --yesno "This install script will easily let you access Luke's Auto-Rice Boostrapping Scripts (LARBS) which automatically install a full Arch Linux i3-gaps desktop environment.\n\nIf you'd like to install this, select yes, otherwise select no.\n\nLuke" 15 60 && larbs
|
@ -1,121 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
blue() { printf "\n\033[0;34m $* \033[0m\n\n" && (echo $* >> /tmp/LARBS.log) ;}
|
||||
red() { printf "\n\033[0;31m $* \033[0m\n\n" && (echo ERROR: $* >> /tmp/LARBS.log) ;}
|
||||
|
||||
NAME=$(whoami)
|
||||
|
||||
blue Activating Pulseaudio if not already active...
|
||||
pulseaudio --start && blue Pulseaudio enabled...
|
||||
|
||||
#Install an AUR package manually.
|
||||
aurinstall() { curl -O https://aur.archlinux.org/cgit/aur.git/snapshot/$1.tar.gz && tar -xvf $1.tar.gz && cd $1 && makepkg --noconfirm -si && cd .. && rm -rf $1 $1.tar.gz ;}
|
||||
|
||||
#aurcheck runs on each of its arguments, if the argument is not already installed, it either uses packer to install it, or installs it manually.
|
||||
aurcheck() {
|
||||
qm=$(pacman -Qm | awk '{print $1}')
|
||||
for arg in "$@"
|
||||
do
|
||||
if [[ $qm = *"$arg"* ]]; then
|
||||
echo $arg is already installed.
|
||||
else
|
||||
echo $arg not installed
|
||||
blue Now installing $arg...
|
||||
if [[ -e /usr/bin/packer ]]
|
||||
then
|
||||
(packer --noconfirm -S $arg && blue $arg now installed) || red Error installing $arg.
|
||||
else
|
||||
(aurinstall $arg && blue $arg now installed) || red Error installing $arg.
|
||||
fi
|
||||
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
blue Installing AUR programs...
|
||||
blue \(This may take some time.\)
|
||||
|
||||
cat << "EOF"
|
||||
[0;1;33;93mm[0;1;32;92mm[0m [0;1;34;94mm[0m [0;1;31;91mm[0m [0;1;33;93mm[0;1;32;92mmm[0;1;36;96mmm[0m [0;1;32;92mmm[0;1;36;96mmm[0;1;34;94mmm[0;1;35;95mm[0m [0;1;31;91mmm[0;1;33;93mmm[0;1;32;92mm[0m [0;1;36;96mm[0m [0;1;31;91mm[0m [0;1;33;93mmm[0;1;32;92mmm[0;1;36;96mmm[0m [0;1;35;95mm[0m
|
||||
[0;1;32;92m#[0;1;36;96m#[0m [0;1;35;95m#[0m [0;1;33;93m#[0m [0;1;32;92m#[0m [0;1;34;94m"[0;1;35;95m#[0m [0;1;34;94m#[0m [0;1;32;92m#[0m [0;1;34;94m#[0;1;35;95m#[0m [0;1;31;91m#[0;1;33;93m#[0m [0;1;32;92m#[0m [0;1;31;91m#[0m
|
||||
[0;1;36;96m#[0m [0;1;34;94m#[0m [0;1;31;91m#[0m [0;1;32;92m#[0m [0;1;36;96m#[0;1;34;94mmm[0;1;35;95mmm[0;1;31;91m"[0m [0;1;35;95m#[0m [0;1;36;96m#[0m [0;1;35;95m#[0m [0;1;31;91m#[0;1;33;93m#[0m [0;1;32;92m#[0m [0;1;36;96m#m[0;1;34;94mmm[0;1;35;95mmm[0m [0;1;33;93m#[0m
|
||||
[0;1;34;94m#m[0;1;35;95mm#[0m [0;1;33;93m#[0m [0;1;36;96m#[0m [0;1;34;94m#[0m [0;1;31;91m"[0;1;33;93mm[0m [0;1;31;91m#[0m [0;1;34;94m#[0m [0;1;31;91m#[0m [0;1;33;93m"[0;1;32;92m"[0m [0;1;36;96m#[0m [0;1;34;94m#[0m [0;1;32;92m"[0m
|
||||
[0;1;34;94m#[0m [0;1;33;93m#[0m [0;1;32;92m"m[0;1;36;96mmm[0;1;34;94mm"[0m [0;1;35;95m#[0m [0;1;32;92m"[0m [0;1;33;93m#[0m [0;1;34;94mmm[0;1;35;95m#m[0;1;31;91mm[0m [0;1;33;93m#[0m [0;1;34;94m#[0m [0;1;35;95m#m[0;1;31;91mmm[0;1;33;93mmm[0m [0;1;36;96m#[0m
|
||||
EOF
|
||||
|
||||
|
||||
gpg --recv-keys 5FAF0A6EE7371805 #Add the needed gpg key for neomutt
|
||||
|
||||
aurcheck packer i3-gaps vim-pathogen tamzen-font-git urxvt-resize-font-git polybar python-pywal xfce-theme-blackbird || red Error with basic AUR installations...
|
||||
#Also installing i3lock, since i3-gaps was only just now installed.
|
||||
sudo pacman -S --noconfirm --needed i3lock
|
||||
|
||||
#packer --noconfirm -S ncpamixer-git speedometer cli-visualizer
|
||||
|
||||
choices=$(cat /tmp/.choices)
|
||||
for choice in $choices
|
||||
do
|
||||
case $choice in
|
||||
1)
|
||||
aurcheck vim-live-latex-preview
|
||||
git clone https://github.com/lukesmithxyz/latex-templates.git && mkdir -p /home/$NAME/Documents/LaTeX && rsync -va latex-templates /home/$NAME/Documents/LaTeX && rm -rf latex-templates
|
||||
;;
|
||||
6)
|
||||
aurcheck ttf-ancient-fonts
|
||||
;;
|
||||
7)
|
||||
aurcheck transmission-remote-cli-git
|
||||
;;
|
||||
8)
|
||||
aurcheck bash-pipes cli-visualizer speedometer neofetch
|
||||
;;
|
||||
esac
|
||||
done
|
||||
cat << "EOF"
|
||||
|
||||
▄ ▄
|
||||
▌▒█ ▄▀▒▌
|
||||
▌▒▒▀▄ ▄▀▒▒▒▐
|
||||
▐▄▀▒▒▀▀▀▀▄▄▄▀▒▒▒▒▒▐
|
||||
▄▄▀▒▒▒▒▒▒▒▒▒▒▒█▒▒▄█▒▐
|
||||
▄▀▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▀██▀▒▌
|
||||
▐▒▒▒▄▄▄▒▒▒▒▒▒▒▒▒▒▒▒▒▀▄▒▒▌
|
||||
▌▒▒▐▄█▀▒▒▒▒▄▀█▄▒▒▒▒▒▒▒█▒▐
|
||||
▐▒▒▒▒▒▒▒▒▒▒▒▌██▀▒▒▒▒▒▒▒▒▀▄▌
|
||||
▌▒▀▄██▄▒▒▒▒▒▒▒▒▒▒▒░░░░▒▒▒▒▌
|
||||
▌▀▐▄█▄█▌▄▒▀▒▒▒▒▒▒░░░░░░▒▒▒▐
|
||||
▐▒▀▐▀▐▀▒▒▄▄▒▄▒▒▒▒▒░░░░░░▒▒▒▒▌
|
||||
▐▒▒▒▀▀▄▄▒▒▒▄▒▒▒▒▒▒░░░░░░▒▒▒▐
|
||||
▌▒▒▒▒▒▒▀▀▀▒▒▒▒▒▒▒▒░░░░▒▒▒▒▌
|
||||
▐▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐
|
||||
▀▄▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▄▒▒▒▒▌
|
||||
▀▄▒▒▒▒▒▒▒▒▒▒▄▄▄▀▒▒▒▒▄▀
|
||||
▐▀▒▀▄▄▄▄▄▄▀▀▀▒▒▒▒▒▄▄▀
|
||||
▐▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▀▀
|
||||
|
||||
EOF
|
||||
|
||||
|
||||
|
||||
browsers=$(cat /tmp/.browch)
|
||||
for choice in $browsers
|
||||
do
|
||||
case $choice in
|
||||
3)
|
||||
gpg --recv-keys 865E6C87C65285EC #Key required for Palemoon install.
|
||||
aurcheck palemoon-bin
|
||||
;;
|
||||
4)
|
||||
aurcheck waterfox-bin
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
blue Downloading config files...
|
||||
git clone https://github.com/lukesmithxyz/voidrice.git && rsync -va voidrice/ /home/$NAME && rm -rf voidrice
|
||||
|
||||
blue Generating bash/ranger/qutebrowser shortcuts...
|
||||
cd /home/$NAME/
|
||||
python /home/$NAME/.config/Scripts/shortcuts.py
|
||||
|
@ -1,268 +0,0 @@
|
||||
#!/bin/bash
|
||||
blue() { printf "\n\033[0;34m $* \033[0m\n\n" && (echo $* >> /tmp/LARBS.log) ;}
|
||||
red() { printf "\n\033[0;31m $* \033[0m\n\n" && (echo ERROR: $* >> /tmp/LARBS.log) ;}
|
||||
|
||||
echo "LARBS started $(date)" >> /tmp/LARBS.log
|
||||
chmod 777 /tmp/LARBS.log
|
||||
|
||||
pacman -S --noconfirm --needed dialog || (echo "Error at script start: Are you sure you're running this as the root user? Are you sure you have an internet connection?" && exit)
|
||||
|
||||
dialog --title "Welcome!" --msgbox "Welcome to Luke's Auto-Rice Bootstrapping Script!\n\nThis script will automatically install a fully-featured i3wm Parabola GNU/Linux desktop, which I use as my main machine.\n\n-Luke" 10 60
|
||||
|
||||
dialog --no-cancel --inputbox "First, please enter a name for the user account." 10 60 2> /tmp/.name
|
||||
|
||||
dialog --no-cancel --passwordbox "Enter a password for that user." 10 60 2> /tmp/.pass1
|
||||
dialog --no-cancel --passwordbox "Reype password." 10 60 2> /tmp/.pass2
|
||||
|
||||
while [ $(cat /tmp/.pass1) != $(cat /tmp/.pass2) ]
|
||||
do
|
||||
dialog --no-cancel --passwordbox "Passwords do not match.\n\nEnter password again." 10 60 2> /tmp/.pass1
|
||||
dialog --no-cancel --passwordbox "Reype password." 10 60 2> /tmp/.pass2
|
||||
done
|
||||
|
||||
chmod 777 /tmp/.name
|
||||
NAME=$(cat /tmp/.name)
|
||||
shred -u /tmp/.name
|
||||
useradd -m -g wheel -s /bin/bash $NAME
|
||||
|
||||
echo "$NAME:$(cat /tmp/.pass1)" | chpasswd
|
||||
#I shred the password for safety's sake.
|
||||
shred -u /tmp/.pass1
|
||||
shred -u /tmp/.pass2
|
||||
|
||||
cmd=(dialog --separate-output --checklist "Select additional packages to install with <SPACE>:" 22 76 16)
|
||||
options=(1 "LaTeX packages" off
|
||||
2 "Libreoffice Suite" off
|
||||
3 "GIMP" off
|
||||
4 "Blender" off
|
||||
5 "Emacs" off
|
||||
6 "Fonts for unicode and other languages" off
|
||||
7 "transmission torrent client" off
|
||||
8 "Music visualizers and decoration" off
|
||||
)
|
||||
choices=$("${cmd[@]}" "${options[@]}" 2>&1 >/dev/tty)
|
||||
echo $choices > /tmp/.choices
|
||||
|
||||
brow=(dialog --separate-output --checklist "Select a browser (none or multiple possible):" 22 76 16)
|
||||
options=(1 "qutebrowser" off
|
||||
2 "Firefox" off
|
||||
3 "Palemoon" off
|
||||
4 "Waterfox" off
|
||||
)
|
||||
browch=$("${brow[@]}" "${options[@]}" 2>&1 >/dev/tty)
|
||||
echo $browch > /tmp/.browch
|
||||
|
||||
dialog --title "Let's get this party started!" --msgbox "The rest of the installation will now be totally automated, so you can sit back and relax.\n\nIt will take some time, but when done, you can relax even more with your complete system.\n\nNow just press <OK> and the system will begin installation!" 13 60
|
||||
|
||||
clear
|
||||
|
||||
cat << "EOF"
|
||||
|
||||
mmmmm # mmm
|
||||
# "# mmm mmm mmm# m m " #
|
||||
#mmmm" #" # " # #" "# "m m" m#"
|
||||
# "m #"""" m"""# # # #m# "
|
||||
# " "#mm" "mm"# "#m## "# #
|
||||
m"
|
||||
EOF
|
||||
sleep 1
|
||||
cat << "EOF"
|
||||
|
||||
mmmm m mmm
|
||||
#" " mmm mm#mm " #
|
||||
"#mmm #" # # m#"
|
||||
"# #"""" # "
|
||||
"mmm#" "#mm" "mm #
|
||||
EOF
|
||||
sleep 1
|
||||
|
||||
#Prints metal gay
|
||||
cat << "EOF"
|
||||
|
||||
[0;1;34;94mmmm[0m [0;34mmmmm[0m [0;34mm[0m
|
||||
[0;34mm"[0m [0;34m"[0m [0;34mm"[0m [0;34m"m[0m [0;37m#[0m
|
||||
[0;34m#[0m [0;34mmm[0m [0;37m#[0m [0;37m#[0m [0;37m#[0m
|
||||
[0;37m#[0m [0;37m#[0m [0;37m#[0m [0;37m#[0m [0;1;30;90m"[0m
|
||||
[0;37m"mmm"[0m [0;1;30;90m#mm#[0m [0;1;30;90m#[0m
|
||||
|
||||
EOF
|
||||
sleep .5
|
||||
cat << "EOF"
|
||||
|
||||
|
||||
- = .--._
|
||||
- - ~_= =~_- = - `. `-.
|
||||
==~_ = =_ ~ - = .-' `.
|
||||
--=~_ - ~ == - = .' _..:._
|
||||
---=~ _~ = =- = `. .--.' `.
|
||||
--=_-=- ~= _ - = - _.' `. .--.:
|
||||
-=_~ -- = = ~- .' : : :
|
||||
-=-_ ~= = - _-`--. : .--: D
|
||||
-=~ _= = -~_= `; .'.: ,`---'@
|
||||
--=_= = ~- -= .' .' `._ `-.__.'
|
||||
--== ~_ - = =- .' .' _.`---'
|
||||
--=~_= = - = ~ .'--'' . `-..__.--.
|
||||
jgs--==~ _= - ~-= =-~_- `-..___( ===;
|
||||
--==~_==- =__ ~-= - - .' `---'
|
||||
|
||||
EOF
|
||||
sleep .5
|
||||
|
||||
blue Now installing main programs...
|
||||
|
||||
pacman --noconfirm --needed -Sy base-devel xorg-xinit xorg-server noto-fonts rxvt-unicode feh ffmpeg pulseaudio pulseaudio-alsa wireless_tools arandr pavucontrol pamixer mpv wget rofi vim w3m ranger mediainfo poppler highlight tmux calcurse htop newsboat mpd mpc ncmpcpp network-manager-applet networkmanager imagemagick atool libcaca compton transset-df markdown mupdf evince rsync git youtube-dl youtube-viewer cups scrot unzip unrar ntfs-3g offlineimap msmtp notmuch notmuch-mutt dosfstools r pandoc python-dbus python-gobject xf86-video-intel neomutt unclutter-xfixes-git || (red Error installing basic packages. Check your internet connection and pacman keyring.)
|
||||
pacman --noconfirm --needed -S fzf || (red Error with peripheral programs.)
|
||||
|
||||
cat << "EOF"
|
||||
_____________________________
|
||||
< Drink whole milk every day! >
|
||||
-----------------------------
|
||||
\ ____________
|
||||
\ |__________|
|
||||
/ /\
|
||||
/ / \
|
||||
/___________/___/|
|
||||
| | |
|
||||
| ==\ /== | |
|
||||
| O O | \ \ |
|
||||
| < | \ \|
|
||||
/| | \ \
|
||||
/ | \_____/ | / /
|
||||
/ /| | / /|
|
||||
/||\| | /||\/
|
||||
-------------|
|
||||
| | | |
|
||||
<__/ \__>
|
||||
EOF
|
||||
|
||||
for choice in $choices
|
||||
do
|
||||
case $choice in
|
||||
1)
|
||||
blue Now installing LaTeX packages...
|
||||
|
||||
cat << "EOF"
|
||||
|
||||
[0;1;34;94mmmmmm[0m [0;37mm[0m [0;37m""#[0m [0;1;30;90m""#[0m [0;1;30;90m"[0m [0;34mm[0m [0;37mmmmmmmm[0m [0;1;30;90mm[0m [0;1;30;90mm[0m
|
||||
[0;34m#[0m [0;34mm[0m [0;34mmm[0m [0;37mmmm[0m [0;37mmm#mm[0m [0;37mmm[0;1;30;90mm[0m [0;1;30;90m#[0m [0;1;30;90m#[0m [0;1;34;94mmmm[0m [0;1;34;94mm[0m [0;1;34;94mmm[0m [0;34mmmmm[0m [0;34m#[0m [0;37mmmm[0m [0;37m#[0m [0;1;30;90mmmm[0m [0;1;30;90m#[0m [0;1;30;90m#[0m
|
||||
[0;34m#[0m [0;37m#"[0m [0;37m#[0m [0;37m#[0m [0;37m"[0m [0;1;30;90m#[0m [0;1;30;90m"[0m [0;1;30;90m#[0m [0;1;30;90m#[0m [0;1;34;94m#[0m [0;1;34;94m#[0m [0;34m#"[0m [0;34m#[0m [0;34m#"[0m [0;34m"#[0m [0;37m#[0m [0;37m"[0m [0;1;30;90m#[0m [0;1;30;90m#[0m [0;1;30;90m#"[0m [0;1;30;90m#[0m [0;1;34;94m##[0m
|
||||
[0;37m#[0m [0;37m#[0m [0;37m#[0m [0;1;30;90m"""m[0m [0;1;30;90m#[0m [0;1;30;90mm""[0;1;34;94m"#[0m [0;1;34;94m#[0m [0;1;34;94m#[0m [0;34m#[0m [0;34m#[0m [0;34m#[0m [0;37m#[0m [0;37m#[0m [0;37m#[0m [0;1;30;90mm"""#[0m [0;1;30;90m#[0m [0;1;34;94m#""""[0m [0;1;34;94mm""m[0m
|
||||
[0;37mmm#mm[0m [0;1;30;90m#[0m [0;1;30;90m#[0m [0;1;30;90m"mmm"[0m [0;1;34;94m"mm[0m [0;1;34;94m"mm"#[0m [0;1;34;94m"m[0;34mm[0m [0;34m"mm[0m [0;34mmm#mm[0m [0;37m#[0m [0;37m#[0m [0;37m"#m"#[0m [0;1;30;90m#mmmmm[0m [0;1;30;90m"mm[0;1;34;94m"#[0m [0;1;34;94m#[0m [0;1;34;94m"#mm"[0m [0;34mm"[0m [0;34m"m[0m [0;34m#[0m [0;37m#[0m [0;37m#[0m
|
||||
[0;1;30;90mm[0m [0;1;30;90m#[0m
|
||||
[0;1;30;90m""[0m
|
||||
|
||||
[0;37m#[0m [0;1;30;90m#[0m [0;1;34;94mm[0;34mmmmm[0m [0;34mmmmmmmm[0m [0;34mmmm[0;37mmmm[0m [0;37mmmmm[0m [0;37mm[0m
|
||||
[0;34mm[0m [0;34mm[0m [0;34mmmm[0m [0;37mm[0m [0;37mmm[0m [0;37mmmm#[0m [0;37mmm[0;1;30;90mm[0m [0;1;30;90mm[0m [0;1;30;90mm[0m [0;1;30;90mmmm[0m [0;1;34;94m#[0m [0;1;34;94mm[0m [0;1;34;94mmmm[0m [0;34m#[0m [0;34m#[0m [0;37m#[0m [0;37m#[0m [0;37mm"[0m [0;1;30;90m"m[0m [0;1;30;90m#[0m
|
||||
[0;34m"m[0m [0;34mm[0m [0;34mm"[0m [0;37m#"[0m [0;37m"#[0m [0;37m#"[0m [0;37m"[0m [0;37m#"[0m [0;1;30;90m"#[0m [0;1;30;90m#"[0m [0;1;30;90m"[0m [0;1;30;90m#[0m [0;1;34;94m#[0m [0;1;34;94m#"[0m [0;1;34;94m"[0m [0;1;34;94m#[0m [0;1;34;94mm"[0m [0;34m#[0m [0;34m"[0m [0;34m#[0;37mmmmm"[0m [0;37m#[0m [0;37m#mm[0;1;30;90mmmm[0m [0;1;30;90m#[0m [0;1;30;90m#[0m [0;1;30;90m#[0m
|
||||
[0;37m#m#m#[0m [0;37m#[0m [0;37m#[0m [0;1;30;90m#[0m [0;1;30;90m#[0m [0;1;30;90m#[0m [0;1;30;90m#[0m [0;1;34;94m#[0m [0;1;34;94m#[0m [0;1;34;94m#[0m [0;34m#"#[0m [0;34m"""m[0m [0;37m#[0m [0;37m#[0m [0;1;30;90m#[0m [0;1;30;90m#[0m [0;1;30;90m#[0m [0;1;34;94m#[0m [0;1;34;94m"[0m
|
||||
[0;37m#[0m [0;37m#[0m [0;1;30;90m"#m#"[0m [0;1;30;90m#[0m [0;1;30;90m"#[0;1;34;94mm##[0m [0;1;34;94m"#mm"[0m [0;1;34;94m"mm"[0;34m#[0m [0;34m"#mm"[0m [0;34m#[0m [0;34m"m[0m [0;37m"mmm"[0m [0;37m#[0;1;30;90mmmmm"[0m [0;1;30;90m#[0m [0;1;30;90m#[0m [0;1;34;94m#mm#[0m [0;1;34;94m#[0m
|
||||
|
||||
EOF
|
||||
pacman --noconfirm --needed -S texlive-most texlive-lang biber
|
||||
;;
|
||||
2)
|
||||
blue Now installing LibreOffice Suite...
|
||||
pacman --noconfirm --needed -S libreoffice-fresh
|
||||
;;
|
||||
3)
|
||||
blue Now installing GIMP...
|
||||
pacman --noconfirm --needed -S gimp
|
||||
;;
|
||||
4)
|
||||
blue Now installing Blender...
|
||||
pacman --noconfirm --needed -S blender
|
||||
;;
|
||||
5)
|
||||
blue Now installing Emacs...
|
||||
pacman --noconfirm --needed -S emacs
|
||||
;;
|
||||
6)
|
||||
blue Now installing extra fonts...
|
||||
pacman --noconfirm --needed -S noto-fonts-cjk noto-fonts-emoji
|
||||
;;
|
||||
7)
|
||||
blue Now installing transmission...
|
||||
pacman --noconfirm --needed -S transmission-cli
|
||||
;;
|
||||
8)
|
||||
blue Now installing visualizers and decoration...
|
||||
pacman --noconfirm --needed -S projectm-pulseaudio cmatrix asciiquarium screenfetch
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
#Prints gay [autism intensifies]
|
||||
cat << "EOF"
|
||||
|
||||
|
||||
[0;1;33;93m#[0;1;32;92m"[0m [0;1;31;91mm[0m [0;1;36;96m"[0m [0;1;35;95m"[0m [0;1;31;91mm[0m [0;1;32;92m"[0m [0;1;31;91mm"[0;1;33;93m"[0m [0;1;36;96m"[0m [0;1;33;93m"[0;1;32;92m#[0m
|
||||
[0;1;32;92m#[0m [0;1;35;95mm[0;1;31;91mmm[0m [0;1;32;92mm[0m [0;1;34;94mm[0m [0;1;31;91mmm[0;1;33;93m#m[0;1;32;92mm[0m [0;1;36;96mm[0;1;34;94mmm[0m [0;1;33;93mm[0;1;32;92mmm[0m [0;1;34;94mm[0;1;35;95mmm[0;1;31;91mmm[0m [0;1;35;95mm[0;1;31;91mmm[0m [0;1;36;96mm[0m [0;1;34;94mmm[0m [0;1;31;91mm[0;1;33;93mm#[0;1;32;92mmm[0m [0;1;34;94mm[0;1;35;95mmm[0m [0;1;33;93mm[0m [0;1;32;92mm[0;1;36;96mm[0m [0;1;35;95mm[0;1;31;91mmm[0m [0;1;32;92mm[0;1;36;96mmm[0m [0;1;31;91mmm[0;1;33;93m#m[0;1;32;92mm[0m [0;1;36;96mm[0;1;34;94mmm[0m [0;1;33;93mm[0;1;32;92mmm[0m [0;1;35;95mmm[0;1;31;91mm[0m [0;1;36;96m#[0m
|
||||
[0;1;36;96m#[0m [0;1;31;91m"[0m [0;1;32;92m#[0m [0;1;36;96m#[0m [0;1;35;95m#[0m [0;1;32;92m#[0m [0;1;35;95m#[0m [0;1;32;92m#[0m [0;1;34;94m"[0m [0;1;35;95m#[0m [0;1;31;91m#[0m [0;1;33;93m#[0m [0;1;33;93m#[0m [0;1;34;94m#"[0m [0;1;31;91m#[0m [0;1;32;92m#[0m [0;1;35;95m#"[0m [0;1;33;93m#[0m [0;1;32;92m#[0;1;36;96m"[0m [0;1;34;94m#[0m [0;1;31;91m#[0m [0;1;32;92m"[0m [0;1;34;94m#[0m [0;1;32;92m#[0m [0;1;35;95m#[0m [0;1;32;92m#"[0m [0;1;34;94m#[0m [0;1;35;95m#[0m [0;1;33;93m"[0m [0;1;34;94m#[0m
|
||||
[0;1;34;94m#[0m [0;1;33;93mm"[0;1;32;92m""[0;1;36;96m#[0m [0;1;34;94m#[0m [0;1;31;91m#[0m [0;1;36;96m#[0m [0;1;31;91m#[0m [0;1;36;96m"[0;1;34;94m""[0;1;35;95mm[0m [0;1;31;91m#[0m [0;1;33;93m#[0m [0;1;32;92m#[0m [0;1;32;92m#[0m [0;1;35;95m#[0m [0;1;33;93m#[0m [0;1;36;96m#[0m [0;1;31;91m#"[0;1;33;93m""[0;1;32;92m"[0m [0;1;36;96m#[0m [0;1;35;95m#[0m [0;1;33;93m"[0;1;32;92m""[0;1;36;96mm[0m [0;1;35;95m#[0m [0;1;36;96m#[0m [0;1;31;91m#[0m [0;1;36;96m#"[0;1;34;94m""[0;1;35;95m"[0m [0;1;33;93m""[0;1;32;92m"m[0m [0;1;35;95m#[0m
|
||||
[0;1;35;95m#[0m [0;1;32;92m"m[0;1;36;96mm"[0;1;34;94m#[0m [0;1;35;95m"[0;1;31;91mmm[0;1;33;93m"#[0m [0;1;34;94m"m[0;1;35;95mm[0m [0;1;31;91mm[0;1;33;93mm#[0;1;32;92mmm[0m [0;1;34;94m"m[0;1;35;95mmm[0;1;31;91m"[0m [0;1;33;93m#[0m [0;1;32;92m#[0m [0;1;36;96m#[0m [0;1;32;92mm[0;1;36;96mm#[0;1;34;94mmm[0m [0;1;31;91m#[0m [0;1;32;92m#[0m [0;1;34;94m"[0;1;35;95mmm[0m [0;1;33;93m"#[0;1;32;92mmm[0;1;36;96m"[0m [0;1;34;94m#[0m [0;1;31;91m#[0m [0;1;32;92m"m[0;1;36;96mmm[0;1;34;94m"[0m [0;1;35;95mm[0;1;31;91mm#[0;1;33;93mmm[0m [0;1;34;94m#[0m [0;1;31;91mm[0;1;33;93mm#[0;1;32;92mmm[0m [0;1;34;94m"#[0;1;35;95mmm[0;1;31;91m"[0m [0;1;33;93m"[0;1;32;92mmm[0;1;36;96mm"[0m [0;1;31;91m#[0m
|
||||
[0;1;31;91m"[0;1;33;93m"[0m [0;1;31;91m"[0;1;33;93m"[0m
|
||||
|
||||
EOF
|
||||
|
||||
for choice in $browch
|
||||
do
|
||||
case $choice in
|
||||
1)
|
||||
blue Now installing qutebrowser...
|
||||
pacman --noconfirm --needed -S qutebrowser gst-libav gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly
|
||||
;;
|
||||
2)
|
||||
blue Now installing Firefox...
|
||||
pacman --noconfirm --needed -S firefox
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
cat << "EOF"
|
||||
________________________
|
||||
< >tfw too hot to handle >
|
||||
------------------------
|
||||
\ . . .
|
||||
\ . . . ` ,
|
||||
\ .; . : .' : : : .
|
||||
\ i..`: i` i.i.,i i .
|
||||
\ `,--.|i |i|ii|ii|i:
|
||||
UooU\.'@@@@@@`.||'
|
||||
\__/(@@@@@@@@@@)'
|
||||
(@@@@@@@@)
|
||||
`YY~~~~YY'
|
||||
|| ||
|
||||
EOF
|
||||
|
||||
curl https://raw.githubusercontent.com/LukeSmithxyz/larbs/master/src/sudoers_tmp > /etc/sudoers
|
||||
|
||||
cd /tmp
|
||||
blue Changing working directory to /tmp/...
|
||||
blue Downloading next portion of the script \(larbs_userp.sh\)...
|
||||
curl https://raw.githubusercontent.com/LukeSmithxyz/larbs/master/src/larbs_userp.sh > /tmp/larbs_userp.sh && blue Running larbs_userp.sh script as $NAME...
|
||||
sudo -u $NAME bash /tmp/larbs_userp.sh || red Error when running larbs_userp.sh...
|
||||
rm -f /tmp/larbs_userp.sh
|
||||
|
||||
#Prints gay "ALMOST THERE!"
|
||||
cat << "EOF"
|
||||
[0;1;33;93mm[0;1;32;92mm[0m [0;1;34;94mm[0m [0;1;33;93mm[0m [0;1;34;94mm[0m [0;1;35;95mm[0;1;31;91mmm[0;1;33;93mm[0m [0;1;36;96mmm[0;1;34;94mmm[0m [0;1;35;95mm[0;1;31;91mmm[0;1;33;93mmm[0;1;32;92mmm[0m [0;1;31;91mm[0;1;33;93mmm[0;1;32;92mmm[0;1;36;96mmm[0m [0;1;34;94mm[0m [0;1;33;93mm[0m [0;1;32;92mmm[0;1;36;96mmm[0;1;34;94mmm[0m [0;1;35;95mm[0;1;31;91mmm[0;1;33;93mmm[0m [0;1;36;96mmm[0;1;34;94mmm[0;1;35;95mmm[0m [0;1;33;93mm[0m
|
||||
[0;1;32;92m#[0;1;36;96m#[0m [0;1;35;95m#[0m [0;1;32;92m#[0;1;36;96m#[0m [0;1;34;94m#[0;1;35;95m#[0m [0;1;31;91mm"[0m [0;1;32;92m"m[0m [0;1;36;96m#[0;1;34;94m"[0m [0;1;31;91m"[0m [0;1;32;92m#[0m [0;1;36;96m#[0m [0;1;35;95m#[0m [0;1;32;92m#[0m [0;1;36;96m#[0m [0;1;31;91m#[0m [0;1;32;92m"[0;1;36;96m#[0m [0;1;34;94m#[0m [0;1;32;92m#[0m
|
||||
[0;1;36;96m#[0m [0;1;34;94m#[0m [0;1;31;91m#[0m [0;1;36;96m#[0m [0;1;34;94m#[0;1;35;95m#[0m [0;1;31;91m#[0m [0;1;33;93m#[0m [0;1;36;96m#[0m [0;1;34;94m"[0;1;35;95m#m[0;1;31;91mmm[0m [0;1;36;96m#[0m [0;1;34;94m#[0m [0;1;31;91m#[0;1;33;93mmm[0;1;32;92mmm[0;1;36;96m#[0m [0;1;34;94m#m[0;1;35;95mmm[0;1;31;91mmm[0m [0;1;33;93m#[0;1;32;92mmm[0;1;36;96mmm[0;1;34;94m"[0m [0;1;35;95m#m[0;1;31;91mmm[0;1;33;93mmm[0m [0;1;36;96m#[0m
|
||||
[0;1;34;94m#m[0;1;35;95mm#[0m [0;1;33;93m#[0m [0;1;34;94m#[0m [0;1;35;95m"[0;1;31;91m"[0m [0;1;33;93m#[0m [0;1;32;92m#[0m [0;1;34;94m#[0m [0;1;33;93m"[0;1;32;92m#[0m [0;1;34;94m#[0m [0;1;35;95m#[0m [0;1;33;93m#[0m [0;1;34;94m#[0m [0;1;35;95m#[0m [0;1;32;92m#[0m [0;1;34;94m"[0;1;35;95mm[0m [0;1;31;91m#[0m [0;1;34;94m"[0m
|
||||
[0;1;34;94m#[0m [0;1;33;93m#[0m [0;1;32;92m#m[0;1;36;96mmm[0;1;34;94mmm[0m [0;1;35;95m#[0m [0;1;32;92m#[0m [0;1;36;96m#[0;1;34;94mmm[0;1;35;95m#[0m [0;1;31;91m"[0;1;33;93mmm[0;1;32;92mm#[0;1;36;96m"[0m [0;1;35;95m#[0m [0;1;31;91m#[0m [0;1;32;92m#[0m [0;1;35;95m#[0m [0;1;31;91m#m[0;1;33;93mmm[0;1;32;92mmm[0m [0;1;36;96m#[0m [0;1;31;91m"[0m [0;1;33;93m#m[0;1;32;92mmm[0;1;36;96mmm[0m [0;1;35;95m#[0m
|
||||
EOF
|
||||
|
||||
|
||||
blue Enabling Network Manager...
|
||||
systemctl enable NetworkManager
|
||||
systemctl start NetworkManager
|
||||
|
||||
blue Getting rid of that retarded error beep sound...
|
||||
rmmod pcspkr
|
||||
echo "blacklist pcspkr" > /etc/modprobe.d/nobeep.conf
|
||||
|
||||
blue Implementing temporary sudoers file...
|
||||
curl https://raw.githubusercontent.com/LukeSmithxyz/larbs/master/src/sudoers > /etc/sudoers
|
||||
|
||||
dialog --title "All done!" --msgbox "Congrats! Provided there were no hidden errors, the script completed successfully and all the programs and configuration files should be in place.\n\nTo run the new graphical environment, log out and log back in as your new user, then run the command \"startx\" to start the graphical environment.\n\n-Luke" 12 80
|
||||
clear
|
@ -1,69 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
#This is a lazy script I have for auto-installing Parabola.
|
||||
#It's not officially part of LARBS, but I use it for testing.
|
||||
#DO NOT RUN THIS YOURSELF because Step 1 is it reformatting /dev/sda WITHOUT confirmation,
|
||||
#which means RIP in peace qq your data unless you've already backed up all of your drive.
|
||||
|
||||
pacman -S --noconfirm dialog || (echo "Error at script start: Are you sure you're running this as the root user? Are you sure you have an internet connection?" && exit)
|
||||
RED='\033[0;31m'
|
||||
BLUE='\033[0;34m'
|
||||
NC='\033[0m'
|
||||
|
||||
dialog --defaultno --title "DON'T BE A BRAINLET!" --yesno "This is an Parabola install script that is very rough around the edges.\n\nOnly run this script if you're a big-brane who doesn't mind deleting your entire /dev/sda drive.\n\nThis script is only really for me so I can autoinstall Parabola.\n\nt. Luke" 15 60 || exit
|
||||
|
||||
dialog --defaultno --title "DON'T BE A BRAINLET!" --yesno "Do you think I'm meming? Only select yes to DELET your entire /dev/sda and reinstall Parabola.\n\nTo stop this script, press no." 10 60 || exit
|
||||
|
||||
dialog --no-cancel --inputbox "Enter a name for your computer." 10 60 2> comp
|
||||
|
||||
timedatectl set-ntp true
|
||||
|
||||
cat <<EOF | fdisk /dev/sda
|
||||
o
|
||||
n
|
||||
p
|
||||
|
||||
|
||||
+200M
|
||||
n
|
||||
p
|
||||
|
||||
|
||||
+12G
|
||||
n
|
||||
p
|
||||
|
||||
|
||||
+25G
|
||||
n
|
||||
p
|
||||
|
||||
|
||||
w
|
||||
EOF
|
||||
partprobe
|
||||
|
||||
mkfs.ext4 /dev/sda4
|
||||
mkfs.ext4 /dev/sda3
|
||||
mkfs.ext4 /dev/sda1
|
||||
mkswap /dev/sda2
|
||||
swapon /dev/sda2
|
||||
mount /dev/sda3 /mnt
|
||||
mkdir /mnt/boot
|
||||
mount /dev/sda1 /mnt/boot
|
||||
mkdir /mnt/home
|
||||
mount /dev/sda4 /mnt/home
|
||||
|
||||
|
||||
pacstrap /mnt base base-devel
|
||||
|
||||
genfstab -U /mnt >> /mnt/etc/fstab
|
||||
|
||||
curl http://lukesmith.xyz/larbs/chrootp.sh > /mnt/chroot.sh && arch-chroot /mnt bash chroot.sh && rm /mnt/chroot.sh
|
||||
|
||||
cat comp > /mnt/etc/hostname && rm comp
|
||||
|
||||
dialog --defaultno --title "Final Qs" --yesno "Eject CD/ROM (if any)?" 5 30 && eject
|
||||
dialog --defaultno --title "Final Qs" --yesno "Reboot computer?" 5 30 && reboot
|
||||
dialog --defaultno --title "Final Qs" --yesno "Return to chroot environment?" 6 30 && arch-chroot /mnt
|
||||
clear
|
@ -1,10 +0,0 @@
|
||||
|
||||
|
||||
# LARBS WELCOME:
|
||||
exec_always $term -n welcome -e welcome
|
||||
for_window [instance="welcome"] floating enable
|
||||
for_window [instance="welcome"] resize set 625 400
|
||||
for_window [instance="welcome"] border pixel 0
|
||||
# WARNING! While the above welcome message is there, do not place commands below it!
|
||||
# They will be deleted by the "hello" bash command.
|
||||
exec --no-startup-id notify-send -i ~/.scripts/larbs.png "Welcome to LARBS!"
|
@ -1,77 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<link rel='stylesheet' type='text/css' href='style.css'>
|
||||
<link rel="icon" type="image/png" href="pix/faveicon.ico">
|
||||
<title>LARBS—Luke's Auto-Rice Bootstrapping Scripts</title>
|
||||
</head>
|
||||
<h1>LARBS</h1>
|
||||
|
||||
<h2><a target="_blank" href="https://lukesmith.xyz">Luke's</a> Auto-Rice Bootstrapping Scripts</h2>
|
||||
|
||||
<table class="image">
|
||||
<caption align="bottom">(Not actually Luke)</caption>
|
||||
<tr><td><a href="pix/arch.jpg"><img src="pix/larbs.png" width="300"></a></td></tr>
|
||||
</table>
|
||||
|
||||
<p>The LARBS are a series of shell scripts that will automatically install a fully-featured i3-gaps Desktop Environment, providing a perfect composite of both functionality and customizability.</p>
|
||||
|
||||
<p><a target="_blank" href="https://github.com/lukesmithxyz/larbs">Github link</a>.</p>
|
||||
|
||||
<p><b>Want to know what LARBS installs and configures? Check out <a href="programs.html">What's Inside of LARBS?</a></b></p>
|
||||
|
||||
<p><b>Want to see some screenshots of LARBS? <a href="previews.html">Previews of LARBS</a>.</b></p>
|
||||
|
||||
<p><b>If you have questions, <a href="mailto:luke@lukesmith.xyz">email me</a> or ask on <a target="_blank" href="https://forum.lukesmith.xyz">the forum</a>.</b></p>
|
||||
|
||||
<h3>Installation</h3>
|
||||
|
||||
<p>LARBS can be installed on any derivative of Arch Linux that uses the Arch repositories (including Manjaro, Antergos and Parabola, etc.). I recommend you to install it on a fresh installation to avoid conflict with other desktop environments, although you can run it on an already existing install. <b>Note:</b> LARBS will install config files in the home directory of the user you give it. It will not wipe your Documents or anything, but it will overwrite your <code>~/.bashrc</code>, etc. If you have config files you want to hold on to, either back them up or you can select to install LARBS to another user.</p>
|
||||
|
||||
<p>To install, simply log in as the root user and run the following in the terminal:</p>
|
||||
|
||||
<code>
|
||||
curl -LO lukesmith.xyz/larbs.sh</br>
|
||||
|
||||
bash larbs.sh
|
||||
|
||||
</code>
|
||||
|
||||
<p>This will begin a prompt and the installation after some setup. Installation time will vary depending on your internet connection. Don't be worried if it takes even a little more than an hour: it's setting <em>everything</em> up.</p>
|
||||
|
||||
<h3>Learning the system is fun and easy!</h3>
|
||||
|
||||
<p>You can figure out about the system in a lot of different ways:</p>
|
||||
|
||||
<ul>
|
||||
<li>The documentation on the <a href="https://github.com/lukesmithxyz/voidrice">Github</a> page.</li>
|
||||
<li>By pressing Super+F1 while in the system itself at any time. (Also <a target="_blank" href="https://github.com/LukeSmithxyz/voidrice/blob/master/.config/i3/i3_guide.rmd">here</a>.)</li>
|
||||
<li>The many illustrative videos on <a target="_blank" href="https://youtube.com/lukesmithxyz">my YouTube channel</a>.</li>
|
||||
<li>By just installing it and diving in!</li>
|
||||
</ul>
|
||||
|
||||
<h3>Contact!</h3>
|
||||
|
||||
<p>You can also ask me questions via email at <a href="mailto:luke@lukesmith.xyz">luke@lukesmith.xyz</a>.</p>
|
||||
|
||||
<p>I'll be posting updates about LARBS either on <a target="_blank" href="https://lukesmith.xyz/rss.xml">my RSS feed</a> or on <a target="_blank" href="https://twitter.com/lukesfiat">Twitter</a>.</p>
|
||||
|
||||
<h3>You do the math!</h3>
|
||||
|
||||
<footer>
|
||||
<a href="https://gnu.org"><img src="pix/gnu-linux.jpg"></a> +
|
||||
<a href="https://i3wm.org"><img src="pix/i3.jpg"></a> +
|
||||
<a href="http://www.vim.org"><img src="pix/vim.jpg"></a> +
|
||||
<a href="https://en.wikipedia.org/wiki/Autism"><img src="pix/autism.jpg"></a> =
|
||||
<a href="http://larbs.xyz"><img src="pix/larbs.jpg"></a>
|
||||
|
||||
<hr>
|
||||
|
||||
<img src="pix/brainlet.jpg"> +
|
||||
<a href="http://larbs.xyz"><img src="pix/larbs.jpg"></a> =
|
||||
<img src="pix/big_brane.jpg">
|
||||
</footer>
|
||||
|
||||
</html>
|
BIN
www/pix/arch.jpg
Before Width: | Height: | Size: 68 KiB |
BIN
www/pix/arch.png
Before Width: | Height: | Size: 46 KiB |
Before Width: | Height: | Size: 5.6 KiB |
Before Width: | Height: | Size: 77 KiB |
Before Width: | Height: | Size: 47 KiB |
Before Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 12 KiB |
BIN
www/pix/i3.jpg
Before Width: | Height: | Size: 4.6 KiB |
Before Width: | Height: | Size: 4.4 KiB |
BIN
www/pix/vim.jpg
Before Width: | Height: | Size: 5.8 KiB |
@ -1,33 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<link rel='stylesheet' type='text/css' href='style.css'>
|
||||
<link rel="icon" type="image/png" href="pix/faveicon.ico">
|
||||
<title>LARBS Previews</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Previews of LARBS</h1>
|
||||
|
||||
<p>Here are a couple of screenshots of what LARBS can look like. It's easily customizable, so these all holistically should give you an idea.</p>
|
||||
|
||||
<p>Feel free to send in your own pix of gettin' stuff done in the system (or at least pretending to look that way).</p>
|
||||
|
||||
<div id="prev">
|
||||
|
||||
<a href="previews/pic.jpg"><img width="650px" src="previews/pic.jpg"></a>
|
||||
|
||||
<a href="previews/bow.png"><img width="650px" src="previews/bow.png.jpg"></a>
|
||||
|
||||
<a href="previews/larbs.png"><img width="650px" src="previews/larbs.png"></a>
|
||||
|
||||
<a href="previews/asian.png.jpg"><img width="650px" src="previews/asian.png"></a>
|
||||
|
||||
<a href="previews/varg.png.jpg"><img width="650px" src="previews/varg.png"></a>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
Before Width: | Height: | Size: 1.9 MiB |
Before Width: | Height: | Size: 406 KiB |
Before Width: | Height: | Size: 600 KiB |
Before Width: | Height: | Size: 194 KiB |
Before Width: | Height: | Size: 89 KiB |
Before Width: | Height: | Size: 348 KiB |
Before Width: | Height: | Size: 416 KiB |
Before Width: | Height: | Size: 610 KiB |
Before Width: | Height: | Size: 420 KiB |
@ -1,77 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<link rel='stylesheet' type='text/css' href='style.css'>
|
||||
<link rel="icon" type="image/png" href="pix/faveicon.ico">
|
||||
<title>Programs Installed in LARBS</title>
|
||||
</head>
|
||||
<h1>What's Inside of LARBS?</h1>
|
||||
|
||||
<a href="index.html">Back to main page</a>
|
||||
|
||||
<p>LARBS has everything you need to have a /comfy/ Linux ricing configuration without any of the work.</p>
|
||||
|
||||
<h2>Installed by Default</h2>
|
||||
|
||||
<ul>
|
||||
<li>i3-gaps (window manager)</li>
|
||||
<li>polybar – status bar (the thing at the top)</li>
|
||||
<li>qutebrowser – a vim-based and extensible browser</li>
|
||||
<li>st (<a target="_blank" href="https://github.com/lukesmithxyz/st">my own personal build</a>) – terminal emulator (Mod+Enter)</li>
|
||||
<li>rofi – run prompt (Mod+d)</li>
|
||||
<li>ranger – file browser (Mod+r; also numerous tools for getting previews)</li>
|
||||
<li>sc-im – a vim-centered terminal spreadsheet manager</li>
|
||||
<li>neomutt – email (Mod+e; requires some setup)</li>
|
||||
<li>w3m – terminal browser and tool for viewing images in the terminal</li>
|
||||
<li>newsbeuter – RSS reader (Mod+n)</li>
|
||||
<li>ncmpcpp – Music player (Mod+m)</li>
|
||||
<li>mpv – video player (also views gifs)</li>
|
||||
<li>calcurse – calendar and schedule application (Mod+y)</li>
|
||||
<li>htop – system moniter (Mod+i)</li>
|
||||
<li>youtube-dl – terminal tool for downloading online videos/audio/playlists from various sites</li>
|
||||
<li>feh (image viewer and used for wallpapers)</li>
|
||||
<li>mupdf – .pdf viewer</li>
|
||||
<li>scrot – for taking screenshots</li>
|
||||
<li>tmux – terminal multiplexer</li>
|
||||
<li>R – used as a calculator (Mod+a), but can be used generally as well</li>
|
||||
<li>pavucontrol – audio manager (Mod+A)</li>
|
||||
</ul>
|
||||
|
||||
<h3>Tools</h3>
|
||||
<p>Programs here you won't necessarily use directly, but are important tools for other programs.</p>
|
||||
|
||||
<ul>
|
||||
<li>Pulseaudio – audio system</li>
|
||||
<li>Network Manager – exactly what it sound like</li>
|
||||
<li>mediainfo, poppler, highlight, w3m, atool, libcaca – programs for getting previews of various things in ranger; each has additional uses</li>
|
||||
<li>notmuch, notmuch-mutt, offlineimap, msmtp – backend email tools</li>
|
||||
<li>unzip, unrar – for archive extraction</li>
|
||||
<li>ntfs-3g, dosfstools – for handling Windows-formatted USBs</li>
|
||||
<li>mpd – backend for music/audio</li>
|
||||
<li>compton – composite manager</li>
|
||||
</ul>
|
||||
|
||||
<h2>Optional installation</h2>
|
||||
|
||||
<h3>LaTeX Packages</h3>
|
||||
|
||||
<p>If you choose this option, you'll get all LaTeX packages (texlive-most, texlive-lang), biber for references and the vim-live-latex-preview for automatic compiling.</p>
|
||||
|
||||
<h3>Decoration</h3>
|
||||
|
||||
<p>If this option is chosen, you get Project M (a visualizer; Mod+V), cmatrix, asciiquarium, bash-pipes (terminal screensavers), screenfetch and neofetch (for posting on 4chan, duh), cli-visualizer and speedometer (for network speeds).</p>
|
||||
|
||||
<h3>Other programs you can individually select</h3>
|
||||
|
||||
<p>GIMP (image creator, editing program), Blender (video editor), the Libreoffice Suite (fully-featured equivalents of Word/Excel/Powerpoint, etc.), Emacs.</p>
|
||||
|
||||
<p>You can also get transmission, a torrent client, which by default, I have the terminal interface installed (Mod+F6).</p>
|
||||
|
||||
<p>There is also an option to install more complete fonts, giving you fonts for emojis, Chinese, Japanese, Korean and ancient languages.</p>
|
||||
|
||||
|
||||
<a href="index.html">Back to main page</a>
|
||||
|
||||
</html>
|
@ -1,30 +0,0 @@
|
||||
html{padding-bottom: 450px;}
|
||||
body{margin:40px auto;max-width:650px;line-height:1.6;font-size:18px;color:#333;padding:0
|
||||
10px}
|
||||
|
||||
|
||||
caption {
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
table {
|
||||
margin: 0px auto;
|
||||
}
|
||||
|
||||
h1,h2,h3,h4{text-align:center;line-height:1.2}
|
||||
|
||||
footer img {
|
||||
max-height: 75px;
|
||||
vertical-align: middle;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
#prev {
|
||||
max-width: 650px;
|
||||
}
|
||||
|
||||
footer {
|
||||
font-size: xx-large;
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
}
|