LARBS/README.md
2018-08-01 20:25:18 -04:00

133 lines
6 KiB
Markdown

# 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.