Documentation source for carbs
git clone git://
Log | Files | Refs

commit 69bf8e9ba4e324a2f0af0306a6ca7f20ddeaf572
Author: Cem Keylan <>
Date:   Fri, 18 Oct 2019 13:14:33 +0300

dwm initial commit

A.gitignore | 9+++++++++
A.gitlab-ci.yml | 8++++++++
Acarbs.tex | 269+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 286 insertions(+), 0 deletions(-)

diff --git a/.gitignore b/.gitignore @@ -0,0 +1,9 @@ +*.aux +*.log +*.pdf +*.toc +*.fdb_latexmk +*.fls +*.synctex* +*.dvi +*.out diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml @@ -0,0 +1,8 @@ +image: blang/latex + +build: + script: + - latexmk -pdf + artifacts: + paths: + - "*.pdf" diff --git a/carbs.tex b/carbs.tex @@ -0,0 +1,269 @@ +\documentclass[14pt]{article} +\usepackage[utf8]{inputenc} +\usepackage{comment} +\usepackage{subfiles} +\usepackage{hyperref} + +\setlength{\parskip}{1em} +\setlength{\parindent}{0em} + +\title{CARBS Documentation} +\author{Cem Keylan} + +\begin{document} +\maketitle +Cem's Auto-Rice Bootstrapping Script is a semi-automated simple +bash script for Arch Linux and derivatives to install a fully-functioning +meta desktop environment. + +CARBS Version: 1.1 + +\newpage +Copyright (c) 2019 Cem Keylan. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 +or any later version published by the Free Software Foundation; +with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. + +A copy of the license can be found on\\ \url{} +\newpage +\setlength{\parskip}{0em} +\tableofcontents +\setlength{\parskip}{1em} +\newpage + +\begin{flushleft} +\section{Preamble and Pre-Install Notes} +CARBS, unlike LARBS, does not install a meta-distribution, it installs +a meta desktop environment. You are in complete charge of how you handle +your system and users. + +\subsection{sudo} +It is recommended to install sudo and configure it yourself, but the +script does this by itself in-case you didn't + +\verb|username ALL=(ALL) ALL| + +I personally prefer (and implemented in the script by default) the +optional \verb|NOPASSWD:| but it is up to your personal preference. This is +not the secure way if someone has physical access to your computer, or your +computer accepts remote connections. + +\verb|cem ALL=(ALL) NOPASSWD: ALL| + +You should then switch to your user and head to your home directory. +\section{Installation} +Installing CARBS is simple, you can simply type + +\verb|bash -c "$(curl -L"| + +to your terminal and it will start installing, there may be some prompts that +you will be answering, so do not leave your computer. You can also do a +non-interactive install +\subsection{Non-Interactive} +If you want to have a non-interactive install download the script with + +\verb|curl -LO| + +And make it executable with + +\verb|chmod +x carbs| + +CARBS runs with the \verb|-n| flag in order to run non-interactively. + +Current version of carbs require you to choose your x11 keymap during the setup. +It defaults to US Keyboard if no option is given. So, for example, if you want +to install CARBS non-interactively with a Russian keyboard you would type +\begin{verbatim} +./carbs -n -k ru +\end{verbatim} +\subsection{Post-Install} +You should reboot after the installation is complete. +\newpage +\end{flushleft} +\section{dwm keybindings} + +\subsection{Common Keybindings} +\begin{verbatim} +Terminal: Alt+Return +Rofi: Alt+D +dmenu_run: Alt+U +Browser: Alt+O +Music Player: Alt+M +File Manager: Alt+N +Neomutt: Alt+Shift+M + +Close Application: Alt+Shift+Q +\end{verbatim} +\subsection{Window Keybindings} +\begin{verbatim} +Change focused window (Alt+...): +Next: J +Previous: K + +Change Layout: + +Tiling: Meta+T +Floating: Meta+F +Monocle: Meta+M +Fibonacci Spiral: Meta+S +Fibonacci Dwindle: Meta+D + +Toggle tiling/floating: Alt+Shift+Space + +Switch to the previous selected layout: Alt+Space + +Fullscreen: Alt+F + +Switch to workspace: Alt+Number +Move focused window to workspace: Alt+Shift+Number +\end{verbatim} +\subsection{Nightmode and Wallpaper Keybindings} +\begin{verbatim} +Change Wallpaper: Meta+W +Random Wallpaper : Meta+Shift+W +Override Nightmode: Meta+E +Disable Override: Meta+Shift+E +\end{verbatim} +Note: Random Wallpaper does not work when overriden +\subsection{Power and System Keybindings} +\begin{verbatim} +Shutdown: Meta+Shift+N +Suspend: Meta+Shift+S +Reboot: Meta+Shift+R +Reload DWM: Alt+Shift+E +\end{verbatim} + +\newpage +\section{Simple Terminal (st)} +st is's Simple Terminal. It is lightweight and extensible. CARBS +deploys my build of st which includes my modifications to the terminal. +\subsection{Features and Patches} +This build of st contains a little modified version of the Dracula theme and +Solarized Light theme patches. The terminal defaults to Dracula. I initially +applied the Solarized Both patch, but did not quite like the colors of Solarized +Dark, so I changed the colors to fit the Dracula theme. + +Other patches include: +\begin{verbatim} +scrollback +externalpipe +alpha +\end{verbatim} + +\subsection{Keybindings} +\begin{verbatim} +Switch between themes: F6 + +Zoom in: Meta+Shift+J +Zoom out: Meta+Shift+K +Reset zoom: Meta+Shift+H + +Scroll Up: Ctrl+Shift+U +Scroll Down: Ctrl+Shift+D + +Open URL: Meta+Shift+O +Copy URL: Meta+Shift+C +Copy Output: Ctrl+Shift+O +Edit Terminal on $EDITOR: Ctrl+Shift+E +\end{verbatim} + +\newpage +\section{slstatus} +slstatus is used to feed information to the dwm bar. It works out of the box, but +may require a little configuration according to your needs. You can clone the repository +with \verb|git clone git://| + +\subsection{Configuration} +As with most suckless software, slstatus is configured by editing the \verb|config.h| file. +Firstly, copy \verb|config.def.h| file to \verb|config.h| + +At the bottom of the file, you can see the commented +\begin{verbatim} +//{ ipv4, " %s |", "eth0" }, +//{ wifi_essid, " %s |", "wlan0" }, +//{ ipv4, " %s |", "wlan0" }, +\end{verbatim} +You should uncomment those by deleting the \verb|//| in the beginning. You can later change +\verb|eth0| and the \verb|wlan0| to your ethernet and your wireless adapters respectively. + +\newpage +\section{List of software installed} +By default, CARBS will install the software listed in \verb|progs.csv| . You can download +the current file by typing + +\verb|./carbs -P /path/to/download/progs.csv| + +You can edit that file, and ask CARBS to run the script with the given file instead. + +\verb|./carbs -p /path/to/your/own/progs.csv| + +\newpage +\section{Scripts and Aliases} +I have written many scripts (I also modified some scripts written by others). So +I felt the need to document each of them. +\subsection{vim} +\verb|alias vim=nvim| \\I am lazy. +\subsection{checksunset} +This is a rather optional script that is not included by default because of privacy concerns. + +You can add your longitude and lattitude and it can check the sunrise and the sunset times to +better fit the night mode. If you do not add your location, the script also checks for your +geolocation based on your IP address. The script exits if it has checked those times already +today. The times are stored in \$HOME/.sunset file + +As I said, this is a HUGE privacy concern, so the night mode script is not reliant on this to +work, you can simply add a value of your own to \$HOME/.sunset or edit the script, +and it should be fine. + +Usage Example: Edit your crontab and add + +\verb|*/5 * * * * $HOME/.local/bin/checksunset| + +\subsection[nightmodetoggle]{nightmodetoggle\protect\footnote{I will be rewriting this script. +It does not have any issues with its functions, it is just written poorly.}} +nightmodetoggle has 3 mandatory options, click, disable, and cron. + +Cron: This is named cron, because I use it on my crontab. It checks the time and +switches between themes. This command also puts up a random wallpaper from the current theme. +I added this to my crontab with + +\verb|*/15 * * * * $HOME/.local/bin/nightmodetoggle cron| + +Click: Overrides the Nightmode to switch themes it also disables the cron command. That also +means, you won't get a random background image, when you execute + +\verb|nightmodetoggle cron| + +Disable: Disables the override and runs + +\verb|nightmodetoggle cron| + +\subsection{nightmodecheck} +A command for the slstatus to check whether it is using nightmode or not, and whether it is +overriden or not. +\subsection{wallset} +Brings up current theme's wallpapers in a dmenu prompt and you can simply choose between them +change the wallpaper + +\newpage +\section{Final Notes, Issues, Contributing and Contact Information} +Even though CARBS is fully functional, it is still much a work-in-progress, and I would love +to get your feedback on this project. + +CARBS currently does not install a GTK theme, because I don't use a single application that +utilizes GTK, but I will be adding a GTK theme. Any suggestions are welcome. + +My Mail Address: \verb|| + +If you have any issues/suggestions, you can either open an issue or mail me. + +If you want to create a pull request, I would prefer being mailed the patch file, however, +a GitHub PR is also fine. + +Have suggestions for this documentation? You can either mail me the suggestion, or the +.tex file is on \url{}, you can simply edit +and send me the patch file in a mail. + +\end{document}