carbsdocs

Documentation source for carbs
git clone git://git.ckyln.com/carbsdocs.git
Log | Files | Refs

carbs.tex (10620B)


      1 \documentclass[12pt]{article}
      2 \usepackage[utf8]{inputenc}
      3 \usepackage{comment}
      4 \usepackage{subfiles}
      5 \usepackage{hyperref}
      6 
      7 \setlength{\parskip}{1em}
      8 \setlength{\parindent}{0em}
      9 
     10 \title{CARBS Documentation}
     11 \author{Cem Keylan}
     12 
     13 \begin{document}
     14 \maketitle
     15 Cem's Auto-Rice Bootstrapping Script is a semi-automated simple 
     16 bash script for Arch Linux and derivatives to install a fully-functioning 
     17 meta desktop environment.
     18 
     19 CARBS Version: 1.1 
     20 
     21 \newpage
     22 Copyright (c)  2019 Cem Keylan. 
     23 
     24 Permission is granted to copy, distribute and/or modify this document
     25 under the terms of the GNU Free Documentation License, Version 1.3
     26 or any later version published by the Free Software Foundation;
     27 with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
     28 
     29 A copy of the license can be found on\\ \url{https://www.gnu.org/licenses/fdl-1.3-standalone.html}
     30 \newpage
     31 \setlength{\parskip}{0em}
     32 \tableofcontents
     33 \setlength{\parskip}{1em}
     34 \newpage
     35 
     36 \begin{flushleft}
     37 \section{Preamble and Pre-Install Notes}
     38 CARBS, unlike LARBS, does not install a meta-distribution, it installs 
     39 a meta desktop environment. You are in complete charge of how you handle 
     40 your system and users.
     41 
     42 \subsection{sudo}
     43 It is recommended to install sudo and configure it yourself, but the 
     44 script does this by itself in-case you didn't
     45 
     46 \verb|username ALL=(ALL) ALL|
     47 
     48 I personally prefer (and implemented in the script by default) the 
     49 optional \verb|NOPASSWD:| but it is up to your personal preference. This is 
     50 not the secure way if someone has physical access to your computer, or your
     51 computer accepts remote connections.
     52 
     53 \verb|cem ALL=(ALL) NOPASSWD: ALL|
     54 
     55 You should then switch to your user and head to your home directory.
     56 \section{Installation}
     57 Installing CARBS is simple, you can simply type
     58 
     59 \verb|bash -c "$(curl -L cemkeylan.com/carbs)"|
     60 
     61 to your terminal and it will start installing, there may be some prompts that 
     62 you will be answering, so do not leave your computer. You can also do a 
     63 non-interactive install
     64 \subsection{Non-Interactive}
     65 If you want to have a non-interactive install download the script with
     66 
     67 \verb|curl -LO cemkeylan.com/carbs|
     68 
     69 And make it executable with 
     70 
     71 \verb|chmod +x carbs|
     72 
     73 CARBS runs with the \verb|-n| flag in order to run non-interactively.
     74 
     75 Current version of carbs require you to choose your x11 keymap during the setup. 
     76 It defaults to US Keyboard if no option is given. So, for example, if you want 
     77 to install CARBS non-interactively with a Russian keyboard you would type
     78 \begin{verbatim}
     79 ./carbs -n -k ru
     80 \end{verbatim}
     81 \subsection{Post-Install}
     82 You should reboot after the installation is complete.
     83 \newpage
     84 \end{flushleft}
     85 \section{CARBS keybindings}
     86 
     87 Note: More information can be found on \verb|$HOME/.config/sxhkd/sxhkdrc|
     88 
     89 \subsection{Common Keybindings}
     90 \begin{verbatim}
     91 Terminal:                               Alt+Return    
     92 Rofi:                                   Alt+D
     93 dmenu_run:                              Alt+U
     94 Browser:                                Alt+O
     95 Music Player:                           Alt+M     
     96 File Manager:                           Alt+N
     97 Neomutt:                                Alt+Shift+M    
     98 Spawn Editor:                           Ctrl+Alt+E
     99 Pass Menu:                              Alt+P
    100 DSH:                                    Meta+O
    101 
    102 Close Application:                      Alt+Shift+Q
    103 \end{verbatim}
    104 \subsection{Window Keybindings}
    105 \begin{verbatim}
    106 Change focused window (Alt+...): 
    107 Next:                                   J
    108 Previous:                               K
    109 
    110 Change Layout:
    111 
    112 Tiling:                                 Meta+T
    113 Floating:                               Meta+F
    114 Monocle:                                Meta+M
    115 Fibonacci Spiral:                       Meta+S
    116 Fibonacci Dwindle:                      Meta+D
    117 
    118 Toggle tiling/floating:                 Alt+Shift+Space
    119 
    120 Switch to the previous selected layout: Alt+Space
    121 
    122 Fullscreen:                             Alt+F
    123 
    124 Switch to workspace: Alt+Number
    125 Move focused window to workspace:       Alt+Shift+Number
    126 \end{verbatim}
    127 \subsection{Nightmode and Wallpaper Keybindings}
    128 \begin{verbatim}
    129 Change Wallpaper:                       Meta+W
    130 Random Wallpaper :                      Meta+Shift+W
    131 Override Nightmode:                     Meta+E
    132 Disable Override:                       Meta+Shift+E
    133 Change Xresources:                      Alt+X
    134 \end{verbatim}
    135 Note: Random Wallpaper does not work when overriden
    136 \subsection{Power and System Keybindings}
    137 \begin{verbatim}
    138 Shutdown:                               Meta+Shift+N  
    139 Suspend:                                Meta+Shift+S
    140 Reboot:                                 Meta+Shift+R    
    141 Reload dwm:                             Alt+Shift+E
    142 \end{verbatim}
    143 
    144 \subsection{Other Keybindings}
    145 \begin{verbatim}
    146 Open this documentation:                Meta+F1
    147 \end{verbatim}
    148 
    149 \newpage
    150 \section{Simple Terminal (st)}
    151 st is suckless.org's Simple Terminal. It is lightweight and extensible. CARBS 
    152 deploys my build of st which includes my modifications to the terminal.
    153 \subsection{Features and Patches}
    154 \verb|scrollback| for adding
    155 
    156 externalpipe
    157 
    158 alpha
    159 
    160 xresources
    161 
    162 \subsection{Keybindings}
    163 \begin{verbatim}
    164 
    165 Zoom in:                                Meta+Shift+J
    166 Zoom out:                               Meta+Shift+K
    167 Reset zoom:                             Meta+Shift+H
    168 
    169 Scroll Up:                              Ctrl+Shift+U
    170 Scroll Down:                            Ctrl+Shift+D
    171 
    172 Open URL:                               Meta+Shift+O
    173 Copy URL:                               Meta+Shift+C
    174 Copy Output:                            Ctrl+Shift+O 
    175 Edit Terminal on $EDITOR:               Ctrl+Shift+E 
    176 \end{verbatim}
    177 
    178 \newpage
    179 \section{slstatus}
    180 slstatus is used to feed information to the dwm bar. It works out of the box, but 
    181 may require a little configuration according to your needs. You can clone the repository
    182 with \verb|git clone git://git.ckyln.com/slstatus|
    183 
    184 \subsection{Configuration}
    185 As with most suckless software, slstatus is configured by editing the \verb|config.h| file.
    186 Firstly, copy \verb|config.def.h| file to \verb|config.h|
    187 
    188 At the bottom of the file, you can see the commented
    189 \begin{verbatim}
    190 //{ ipv4,       " %s |",                 "eth0"  },
    191 //{ wifi_essid, " %s |",                 "wlan0" },
    192 //{ ipv4,       " %s |",                 "wlan0" },
    193 \end{verbatim}
    194 You should uncomment those by deleting the \verb|//| in the beginning. You can later change
    195 \verb|eth0| and the \verb|wlan0| to your ethernet and your wireless adapters respectively.
    196 
    197 \newpage
    198 \section{List of software installed}
    199 By default, CARBS will install the software listed in \verb|progs.csv|. You can download
    200 the current file by typing
    201 
    202 \verb|./carbs -P /path/to/download/progs.csv|
    203 
    204 You can edit that file, and ask CARBS to run the script with the given file instead.
    205 
    206 \verb|./carbs -p /path/to/your/own/progs.csv|
    207 
    208 You can also check them out from\\ \url{https://git.ckyln.com/carbs/file/progs.csv.html} or\\
    209 \url{https://github.com/cemkeylan/carbs/blob/master/progs.csv}.
    210 
    211 \newpage
    212 \section{Scripts and Aliases}
    213 I have written many scripts (I also modified some scripts written by others). So 
    214 I felt the need to document each of them.
    215 \subsection{vim}
    216 \verb|alias vim=nvim| \\I am lazy.
    217 \subsection{checksunset}
    218 This is a rather optional script that is not included by default because of privacy concerns.
    219 
    220 You can add your longitude and lattitude and it can check the sunrise and the sunset times to 
    221 better fit the night mode. If you do not add your location, the script also checks for your 
    222 geolocation based on your IP address. The script exits if it has checked those times already 
    223 today. The times are stored in \$HOME/.sunset file
    224 
    225 As I said, this is a HUGE privacy concern, so the night mode script is not reliant on this to 
    226 work, you can simply add a value of your own to \$HOME/.sunset or edit the script, 
    227 and it should be fine.
    228 
    229 Usage Example: Edit your crontab and add 
    230 
    231 \verb|*/5 * * * * $HOME/.local/bin/checksunset|
    232 
    233 \subsection[nightmodetoggle]{nightmodetoggle\protect\footnote{I will be rewriting this script. 
    234 It does not have any issues with its functions, it is just written poorly.}}
    235 nightmodetoggle has 3 mandatory options, click, disable, and cron.
    236 
    237 Cron: This is named cron, because I use it on my crontab. It checks the time and 
    238 switches between themes. This command also puts up a random wallpaper from the current theme.
    239 I added this to my crontab with 
    240 
    241 \verb|*/15 * * * * $HOME/.local/bin/nightmodetoggle cron|
    242 
    243 Click: Overrides the Nightmode to switch themes it also disables the cron command. That also 
    244 means, you won't get a random background image, when you execute 
    245 
    246 \verb|nightmodetoggle cron|
    247 
    248 Disable: Disables the override and runs 
    249 
    250 \subsection{nightmodecheck}
    251 A command for the slstatus to check whether it is using nightmode or not, and whether it is 
    252 overriden or not.
    253 \subsection{shortcuts}
    254 CARBS has a program for creating shortcuts, in a similar fashion to Luke Smith's
    255 shortcuts. My version is an sh script instead of bash script. It also uses a single file for creating all of the shortcuts.
    256 
    257 Currently it supports shellshortcuts, dsh, and lf.
    258 
    259 \subsubsection{.config/files}
    260 The configuration has a simple syntax. You begin with "f" for files and "d" 
    261 for directories, leave a space and you enter the shortcut, and enter the 
    262 file/directory you want to be shortcutted.\ 
    263 
    264 e.g.
    265 \begin{verbatim}
    266 f cv  ~/.config/nvim/init.vim
    267 d bin ~/.local/bin
    268 \end{verbatim}
    269 \subsubsection{dsh}
    270 dsh stands for dmenushortcuts. You can enter the shortcut inside, and it will
    271 spawn a terminal with the file/directory opened with your editor/file manager.
    272 \subsection{wallset}
    273 Brings up current theme's wallpapers in a dmenu prompt and you can simply choose between them 
    274 change the wallpaper
    275 
    276 \newpage
    277 \section{Final Notes, Issues, Contributing and Contact Information}
    278 Even though CARBS is fully functional, it is still much a work-in-progress, and I would love 
    279 to get your feedback on this project.
    280 
    281 CARBS currently does not install a GTK theme, because I don't use a single application that 
    282 utilizes GTK, but I will be adding a GTK theme. Any suggestions are welcome.
    283 
    284 My Mail Address: \verb|cem@ckyln.com|
    285 
    286 If you have any issues/suggestions, you can either open an issue or mail me.
    287 
    288 If you want to create a pull request, I would prefer being mailed the patch file, however, 
    289 a GitHub PR is also fine.
    290 
    291 Have suggestions for this documentation? You can either mail me the suggestion, or the 
    292 .tex file is on \url{https://git.ckyln.com/raw/carbsdocs/carbs.tex}, you can simply edit 
    293 and send me the patch file in a mail.
    294 
    295 \end{document}