karbs

my fork of LARBS with my builds of suckless and dotfiles
git clone git://git.kocotian.pl/karbs.git
Log | Files | Refs | README | LICENSE

README.md (3098B)


      1 # Luke's Auto-Rice Bootstraping Scripts (LARBS)
      2 
      3 
      4 ## Installation:
      5 
      6 On an Arch based distribution as root, run the following:
      7 
      8 ```
      9 curl -LO larbs.xyz/larbs.sh
     10 sh larbs.sh
     11 ```
     12 
     13 That's it.
     14 
     15 ## What is LARBS?
     16 
     17 LARBS is a script that autoinstalls and autoconfigures a fully-functioning
     18 and minimal terminal-and-vim-based Arch Linux environment.
     19 
     20 LARBS can be run on a fresh install of Arch or Artix Linux, and provides you
     21 with a fully configured diving-board for work or more customization.
     22 
     23 ## Customization
     24 
     25 By default, LARBS uses the programs [here in progs.csv](progs.csv) and installs
     26 [my dotfiles repo (voidrice) here](https://github.com/lukesmithxyz/voidrice),
     27 but you can easily change this by either modifying the default variables at the
     28 beginning of the script or giving the script one of these options:
     29 
     30 - `-r`: custom dotfiles repository (URL)
     31 - `-p`: custom programs list/dependencies (local file or URL)
     32 - `-a`: a custom AUR helper (must be able to install with `-S` unless you
     33   change the relevant line in the script
     34 
     35 ### The `progs.csv` list
     36 
     37 LARBS will parse the given programs list and install all given programs. Note
     38 that the programs file must be a three column `.csv`.
     39 
     40 The first column is a "tag" that determines how the program is installed, ""
     41 (blank) for the main repository, `A` for via the AUR or `G` if the program is a
     42 git repository that is meant to be `make && sudo make install`ed. `V`if it's for
     43 the void linux distribution's xbps package manager.
     44 
     45 The second column is the name of the program in the repository, or the link to
     46 the git repository, and the third comment is a description (should be a verb
     47 phrase) that describes the program. During installation, LARBS will print out
     48 this information in a grammatical sentence. It also doubles as documentation
     49 for people who read the csv or who want to install my dotfiles manually.
     50 
     51 Depending on your own build, you may want to tactically order the programs in
     52 your programs file. LARBS will install from the top to the bottom.
     53 
     54 If you include commas in your program descriptions, be sure to include double
     55 quotes around the whole description to ensure correct parsing.
     56 
     57 ### The script itself
     58 
     59 The script is extensively divided into functions for easier readability and
     60 trouble-shooting. Most everything should be self-explanatory.
     61 
     62 The main work is done by the `installationloop` function, which iterates
     63 through the programs file and determines based on the tag of each program,
     64 which commands to run to install it. You can easily add new methods of
     65 installations and tags as well.
     66 
     67 Note that programs from the AUR can only be built by a non-root user. What
     68 LARBS does to bypass this by default is to temporarily allow the newly created
     69 user to use `sudo` without a password (so the user won't be prompted for a
     70 password multiple times in installation). This is done ad-hocly, but
     71 effectively with the `newperms` function. At the end of installation,
     72 `newperms` removes those settings, giving the user the ability to run only
     73 several basic sudo commands without a password (`shutdown`, `reboot`,
     74 `pacman -Syu`).