No description
Find a file
2018-07-07 02:16:31 -04:00
docs minor readme formatting changes 2018-07-07 02:16:31 -04:00
src firefox profile download added 2018-07-07 02:15:54 -04:00
www progs.csv fix and doc changes 2018-06-17 19:08:33 -04:00
.gitignore urxvt progs added 2018-05-04 13:37:49 -07:00
LICENSE.md new progs installed/removed to match voidrice 2018-01-17 23:21:52 -07:00
README.md Make separation for documentation-related files 2017-11-24 01:16:24 -02:00

Luke's Auto-Rice Bootstraping Scripts (LARBS)

Official Website: larbs.xyz

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 as a base.

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, emacs, etc.).

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

This is just as easy. Log in as the root user and run the following.

curl -LO lukesmith.xyz/larbs.sh #Downloads the script.
bash larbs.sh #Runs it.

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.

Finally, it will use git to download my Voidrice dotfiles and will plop them in their proper location for instant use!

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!

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:

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.

How to Use

Once you're in the environment, just type Super / Mod / Windows + F1 to pull up a document that will explain everything.

Permission Details (sudoers file)

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:

  • shutdown
  • reboot
  • pacman -Syyu/pacman -Syu
  • packer -Syyu/packer -Syu
  • mount
  • umount
  • systemctl restart NetworkManager

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.

Version

We're close to what can be called LARBS 2.0, and here are some of the major changes since the original version.

  • Deployment of my new mutt-wizard for secure offline email configuration instead of config files for the user to manually edit.
  • System is more minimalist/suckless.
  • 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.
  • dmenu is used instead of rofi for simplicity's sake.
  • 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.
  • 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

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

Why I made this

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 sleek Linux configuration without hundreds of autistic hours. I did the work, so why should you?

I've also documented the configuration fairly well, check out the documentation on my voidrice repository for that.

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.

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.