2017-11-24 03:16:24 +00:00
# Luke's Auto-Rice Bootstraping Scripts (LARBS)
2018-05-04 21:06:02 +00:00
[Official Website: larbs.xyz ](http://larbs.xyz )
2017-11-24 03:16:24 +00:00
2017-11-24 04:04:35 +00:00
This is a set of scripts either can either (1) install Arch Linux automatically
with a typical Arch ISOed USB, and perhaps more prominently (2) automatically
install and configure all of the prerequisites for an advanced Linux desktop
environment, using my configs [here ](https://github.com/LukeSmithxyz/voidrice )
as a base.
2017-11-24 03:16:24 +00:00
2017-11-24 04:04:35 +00:00
## About
Really, the goal of this script is to start a kind of Linux meta-distribution
which makes the more nuanced aspects of an advanced Linux setup available to
even Linux newbies. Of course, it's also a great tool for advanced users who
want to get into tiling window managers and just generally cool-looking and
efficient worksetups.
All the core stuff we be installed without prompt, but you'll have the option
to install some of the larger non-essential packages (LaTeX, LibreOffice,
2018-06-09 12:29:38 +00:00
emacs, etc.).
2017-11-24 04:04:35 +00:00
2018-06-09 12:29:38 +00:00
## Requirements
2018-07-07 06:16:31 +00:00
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.
2018-06-09 12:29:38 +00:00
2018-07-07 06:16:31 +00:00
If you have a non-systemd system, you might also have to manually set up
Pulseaudio and Network Manager after running the script.
2017-11-24 03:16:24 +00:00
## Installation
2017-11-24 04:04:35 +00:00
### On an already existing Arch install
2017-11-24 03:16:24 +00:00
This is just as easy. Log in as the root user and run the following.
2017-11-24 04:04:35 +00:00
```sh
2018-05-04 21:06:02 +00:00
curl -LO lukesmith.xyz/larbs.sh #Downloads the script.
2017-11-24 03:16:24 +00:00
bash larbs.sh #Runs it.
```
2017-11-24 04:04:35 +00:00
After prompting you for some settings and some package choices, the system will
install my full i3-gaps tiling window manager Desktop Environment. If you don't
know what that means, don't worry, because I've gone to great lengths to write
readable instructions about how to go PRO super quick with this system.
2017-11-24 03:16:24 +00:00
2017-11-24 04:04:35 +00:00
Finally, it will use `git` to download my
[Voidrice ](https://github.com/lukesmithxyz/voidrice )
dotfiles and will plop them in their proper location for instant use!
2017-11-24 03:16:24 +00:00
2017-11-24 04:04:35 +00:00
Then, finally, 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!
2017-11-24 03:16:24 +00:00
2017-11-24 04:04:35 +00:00
### Installing Arch automatically
2017-11-24 03:16:24 +00:00
2017-11-24 04:04:35 +00:00
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:
2017-11-24 03:16:24 +00:00
2017-11-24 04:04:35 +00:00
```sh
2018-05-04 21:06:02 +00:00
curl -LO lukesmith.xyz/arch.sh #Downloads the script.
2017-11-24 03:16:24 +00:00
bash arch.sh #Runs it.
```
2017-11-24 04:04:35 +00:00
After the system installs, you'll have the option of bootstrapping automatically
into installing my configs as well.
2018-07-07 06:16:31 +00:00
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.
2017-11-24 03:16:24 +00:00
## How to Use
2017-11-24 04:04:35 +00:00
Once you're in the environment, just type `Super` / `Mod` / `Windows` + `F1` to
pull up a document that will explain everything.
2017-11-24 03:16:24 +00:00
## Permission Details (sudoers file)
2017-11-24 04:04:35 +00:00
These script will give your new created user (and those others you put in the
`wheel` group) sudo access (with a password), but will also allow some commands
to be run without any password confirmation. Those include:
2017-11-24 03:16:24 +00:00
+ `shutdown`
+ `reboot`
+ `pacman -Syyu` /`pacman -Syu`
+ `packer -Syyu` /`packer -Syu`
+ `mount`
+ `umount`
+ `systemctl restart NetworkManager`
2017-11-24 04:04:35 +00:00
Additionally, if you've put your password in a terminal window already, you will
not need to repeat putting it in in other terminal windows.
2017-11-24 03:16:24 +00:00
## Version
2018-07-07 06:16:31 +00:00
We're close to what can be called LARBS 2.0, and here are some of the major
changes since the original version.
2018-06-09 12:29:38 +00:00
2018-07-07 06:16:31 +00:00
- Deployment of my new mutt-wizard for secure offline email configuration
instead of config files for the user to manually edit.
2018-06-09 12:29:38 +00:00
- System is more minimalist/suckless.
2018-07-07 06:16:31 +00:00
- 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
2018-06-09 12:29:38 +00:00
- Switch from mocp to mpd/ncmpcpp for music.
- dmenu is used instead of rofi for simplicity's sake.
2018-07-07 06:16:31 +00:00
- Firefox instead of qutebrowser for default browser (qutebrowser configs
remain for qutebrowser afeccionados)
- Extensive implementation of dmenu, including for mounting/unmounting drives,
display selection, confirmation for shutdown and other crucial commands, link
handling and screen/audio recording.
2018-06-09 12:29:38 +00:00
- Updates to config files can be pulled with git now.
- i3 window resize now intuitive directions
2018-07-07 06:16:31 +00:00
- 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.
2018-06-09 12:29:38 +00:00
- 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.
2018-07-07 06:16:31 +00:00
- And the repository is *significantly* smaller than it was before, meaning a
faster download.
2018-06-09 12:29:38 +00:00
- A million and one other tweaks and bug fixes.
2017-11-24 04:04:35 +00:00
2018-07-07 06:16:31 +00:00
### Soon to be added features
- A custom build of Firefox with privacy and efficiently settings and add-ons
for clean and flexible navigation without crap in your face.
- A little script that can stream tutorial videos directly about specific parts
of the system.
- A terminal command that shows important bindings for major programs.
2017-11-24 03:16:24 +00:00
## Why I made this
2017-11-24 04:04:35 +00:00
When you've installed Arch Linux 6 gorrillian times like me, you get pretty sick
of having to reproduce your favorite configuration on fresh installs over and
over. When you're a C-list YouTube celebrity, it gets even more difficult when
literally thousands of people ask you how to do X or get Y.
The LARBS are a final solution to all of that. These scripts are to be run on a
fresh install of Arch Linux, and they create a user, install all required
programs and set up dotfiles directly from Github to give normal people a fairly
2018-07-07 06:16:31 +00:00
sleek Linux configuration without hundreds of autistic hours. I did the work, so
2017-11-24 04:04:35 +00:00
why should you?
2017-11-24 03:16:24 +00:00
2017-11-24 04:04:35 +00:00
I've also documented the configuration fairly well, check out the documentation
on my **voidrice** repository for that.
2017-11-24 03:16:24 +00:00
2018-06-09 12:29:38 +00:00
## Customization
You can clone and edit the scripts to meet your own requirements, it's simple enough to use your own dotfiles by changing the relevant lines in `larbs_user.sh` and the desired programs in `progs.csv` . Be sure make sure to refer to your offline versions of these files in the scripts if you do so.
2017-11-24 03:16:24 +00:00
2018-06-09 12:29:38 +00:00
In the future, I'm planning even more customization, including the automatic generation of the programs menu, so that should make specialized deployments even easier.