Cabooshy's Musings

CBSH - A Post Install Script for Arch Linux and Debian GNU/Linux

CBSH is the name of my Post Installation Script for Arch and Debian(WIP). It installs my Qtile Desktop, along with a bunch of supporting programs i use.

An Example of my Desktop
An Example of my Qtile Desktop, running a couple terminal emulators and Doom Emacs

Theme Showcase

Click me to view some images of how the desktop looks with the different themes.

Installing CBSH

– Arch Linux

To install CBSH on Arch Linux and Arch based Linux Distros, run the below:

$ git clone https://gitlab.com/cabooshyy/cbsh/cbsh-arch/cbsh.git
$ cd cbsh
$ ./cbsh

– Debian GNU/Linux (WORK IN PROGRESS)

The Debian install is similar to the above though we use a different TWM instead due to Qtile not being in the official repos, i haven't thought too much on what i want to use (maybe DWM or BSPWM? not too sure yet.), but keep an eye on the gitlab for updates.

To Install CBSH on Debian GNU/Linux and Debian Based Distros (Ubuntu, Linux Mint, Pop_OS! etc.), run the below:

$ git clone https://gitlab.com/cabooshyy/cbsh/cbsh-deb/cbsh
$ cd cbsh
$ ./cbsh

How do i update CBSH?

Using your Package Manager! Just update your system as you normally would and if there are updates to the packages they will be downloaded and placed inside /etc/cbsh.

We never touch $HOME! Why? Because we don't want to overwrite any existing configs, and any changes you may have made to them since installing CBSH. So its up to you to copy them from /etc/cbsh to your $HOME directory should you want to use the updated configuration files.

As an example, say i'd pushed an update to zsh-cbsh and you wanted to use the updated config file, you'd copy the new file from /etc/cbsh into your $HOME, and if i'd pushed an update to qtile-cbsh you'd do the same procedure, but remember its inside a .config directory, your file manager likely has dotfiles hidden by default (Most, if not all have CTRL+H as the "Hide/Unhide hidden files" keybind). and copy the new config to your $HOME's .config directory.

Setting a Wallpaper

By Default, i do not provide a wallpaper setter, because Qtile has built-in support for setting a wallpaper. However, should you want to use one, you can easily remove the "wallpaper=" declaration in the screen setup section of the qtile config and use a program such as feh, nitrogen, sxiv etc. to manage and set your wallpapers.

Keybindings

In addition to the following Tables, i am working on a nice way to quickly pull up what your keybinds are without needing to resort to a website, i will be including only the useful keybinds in this list, otherwise we'd be here for the next 5 years reading through every single Vanilla Emacs keybind that Doom Emacs doesn't rebind.

QTILE KEYBINDS

By Default Qtile uses mod4 (The Super/Windows Key) as the MODKEY, you can change this to whatever modkey you feel comfortable with.

General Keybinds

KEYBINDS ASSOCIATED ACTION
MODKEY + ALT + L Lock Screen using Betterlockscreen
SHIFT + PRINT Take Screenshot with Flameshot
MODKEY + ENTER Open Terminal (Default is ST)
MODKEY + 1-9 Switch to Group 1-9
MODKEY + SHIFT + 1-9 Switch to and send Focused window to Group 1-9
MODKEY + F11 Terminal Scratchpad
MODKEY + F12 Qtile Shell Scratchpad
MODKEY + SHIFT + C Kill (Close) Focused Window
MODKEY + CTRL + R Restart Qtile
MODKEY + CTRL + Q Logout of Qtile (Quit Session)
XF86AudioMute/Play/Next/Prev/Stop Media Key binds for playerctl and amixer for mute
KEYBINDS ASSOCIATED ACTION
MODKEY + H / J / K / L Move Focus: Left / Down / Up / Right
MODKEY + SHIFT + H / J / K / L Move Window: Left / Down / Up / Right
MODKEY + CTRL + H / J / K / L Grow/Shrink Window: Left / Down / Up / Right
MODKEY + N Normalise (Reset) The Window Sizes
KEYBINDS ASSOCIATED ACTION
MODKEY + SHIFT + ENTER Toggle between sides of Stack (in Master/Stack Layout)
MODKEY + SHIFT + T Toggle Between Enabled Layouts
MODKEY + TAB Toggle Floating on Focused Window

Emacs Keychords

KEYBINDS ASSOCIATED ACTION
Control + E E Launch DOOM Emacs
Control + E B Open iBuffer inside Emacs
Control + E D Open Dired insed Emacs
Control + E V Open vterm inside Emacs

Run launcher Keychords

KEYBINDS ASSOCIATED ACTION
MODKEY + D D Open dmenu
MODKEY + D R Open Rofi (Not installed by default, given as an alternative)

dmenu script Keychords

KEYBINDS ASSOCIATED ACTION
MODKEY + P C Runs dm-config script (Lists a selection of config files which are opened in emacs.)
MODKEY + P T Runs dm-theme script (Changes Qtile and Emacs Themes.)
MODKEY + P L Runs dm-logout script (same script Ctrl+Mod+Q executes.)

Doom Emacs Keybinds

Emacs refers to Alt as M- (Meta), so whenever you see a command here (or online) that prefixes it with M-, its talking about Alt.

KEYBINDS COMMAND DESCRIPTION
M-x Run Command M-x is a command prompt, think Sublime and VSCode's Command Palettes
SPC . find-file Opens dired file manager in split
SPC f r counsel-recentf Open Recent Files
SPC h r r doom/reload Reload's Doom Emacs
SPC t b doom-big-font-mode Toggle's Doom Emacs' Big Font Mode
SPC t l doom/toggle-line-numbers Toggle Line Numbers
SPC w d evil-window-delete Delete Window (split)
SPC w q evil-quit Quits Window (split)
SPC w s evil-window-split Split Window Horizontally
SPC w v evil-window-vsplit Split Window Vetically

Footer

Copyright © 2022 Cameron Miller (Cabooshy).

This Site is Licensed under the Creative Commons Attribution-NoDerivatives 4.0 International License (CC-BY-ND 4.0).

You can find the Source Code for the site at My Gitlab.