With great brain comes great analysis paralysis
So you're a person of exquisite taste -- braindotai basks in the radiant splendor of Arch BTW Linux, the most refined, cutting-edge distribution that makes mere mortals tremble; should you, too, be a connoisseur of the finer digital things, indulge yourself and bask in its sublime elegance, but be warned: once you've tasted its boundless possibilities, there is no turning back from the elite code-crafting aristocracy!
sudo wget -qO- https://raw.githubusercontent.com/braindotai/braindotdev/arch/install.sh | bash
Well now you're a person with a penchant for the tried and true -- braindotai finds solace in the warm embrace of Ubuntu, a distribution as reliable as an old friend, yet ever-evolving to meet the demands of the modern digital age; should you, too, seek a harmonious balance between stability and innovation, partake in this time-honored offering, but be forewarned: once you've experienced its user-friendly charms, you may never stray from the welcoming folds of the relaxedness!
sudo wget -qO- https://raw.githubusercontent.com/braindotai/braindotdev/ubuntu/install.sh | bash
It makes your system bloom with productivity by installing some of the most essential softwares and libraries, to basically give your system a makeover with the finest tools.
This project is setup with the most clean Unix philosophy:
Write programs that do one thing and do it well.
Whole project is written in shell script, making it portable and easy to use. Each project directory stands for a module, with a self explanatory name of what it does.
Let's go through a series of software installations and configurations this project performs on your system to give you a cutting-edge computing experience.
System
Alias | Description | Command |
---|---|---|
open | Opens current directory in file explorer | xdg-open . |
dropcache | Flushes kernel page cache, helpful for freeing some extra ram when you're low on memory | echo 3 sudo tee /proc/sys/vm/drop_caches |
zshreload | Reloads ZSH configuration file | source ~/.zshrc |
rm | Trashes files with confirmation | rmtrash -v |
rmdir | Trashes directories | rmdirtrash |
mkdir | Creates directories with parents | mkdir -p |
ls | Lists files with icons, colors | eza --icons=always --color=always --no-time --no-permissions --no-user --no-filesize --group-directories-first |
lst | Lists files with icons, colors with tree view | eza --icons=always --color=always --no-time --no-permissions --no-user --no-filesize --group-directories-first --tree --level=2 |
Alias | Description | Command |
---|---|---|
wp | Sets a natural desktop wallpaper from unsplash for your Gnome Desktop. Old wallpaper is replaced with new ones | A wget request https://source.unsplash.com/1920x1080/?mountain,nature,seashore |
bc | Automatically connects to the most latest connected bluetooth device | bluetoothctl connect $(bluetoothctl devices |
dconfd | Dumps GNOME configuration to the project | (Gnome-specific) dconf dump / > ~/Desktop/GitHub/braindotdev/gnome/dconf/config/dconf-settings.conf |
dconfl | Loads GNOME configuration from the project | (Gnome-specific) dconf load / < ~/Desktop/GitHub/braindotdev/gnome/dconf/config/dconf-settings.conf |
Alias | Description | Command |
---|---|---|
ipy | Opens IPython terminal | clear && ipython |
py | Runs Python 3.9 interpreter | clear && python3.9 |
pyi | Installs package using pip | python3.9 -m pip install |
pyinc | Installs package with no cache using pip | python3.9 -m pip install --no-cache-dir |
pyup | Upgrades package using pip | python3.9 -m pip install --upgrade |
pyun | Uninstalls package using pip | python3.9 -m pip uninstall |
pyupip | Upgrades pip itself | python3.9 -m pip install --upgrade pip |
pyvc | Creates and activates a virtual environment | python3.9 -m venv .venv && source .venv/bin/activate && pyupip |
pyva | Activates the virtual environment | source .venv/bin/activate |
pyf | Lists frozen packages using pip | pip freeze |
pyfr | Freezes package list to requirements.txt | pip freeze > requirements.txt |
Alias | Description | Command |
---|---|---|
yt-video | Downloads YouTube video/playlist and saves it inside ~/Videos/YouTube/ | yt-dlp -o '~/Videos/YouTube/%(title)s.%(ext)s' |
yt-audio | Downloads YouTube audio/playlist and saves it inside ~/Music/YouTube/ | yt-dlp --extract-audio --audio-format mp3 -o '~/Music/YouTube/%(title)s.%(ext)s' |
paru
: A package manager for Arch Linux.stow
: A tool for managing files and directories.fastfetch
: A utility for fetching packages quickly.cpufetch
: A utility for fetching CPU-specific packages.pacseek
: A utility for searching packages.speedtest
: A tool for testing internet speed (via speedtest-cli package).gdu
: A tool for generating disk usage statistics.toipe
: A utility for displaying information about the system.duf
: A utility for displaying file systems' disk usage.tldr
: A utility for displaying concise descriptions of Linux commands.yt-dlp
: A command-line YouTube video downloader.btop
: A tool for monitoring system resources (CPU, memory, etc.).autojump
: A utility for quickly jumping to frequently used directories.rmtrash
: A utility for deleting files.termdown
: A utility for starting timer in terminal.xclipd
: A utility for managing clipboard contents.nvm
: A tool for managing Node.js versions (not specific to Arch Linux).unrar
: A utility for extracting RAR archives.cuda
: A utility for managing CUDA-enabled GPU devices.earlyoom
: A utility for monitoring and preventing system crashes due to low memory.jq
: A lightweight JSON processor, helpful to pipe and beautify any json output in the terminal.eza
: A better version ofls
command.zoxide
: A utility for quickly navigating through directories, it has a memory which makes you walk through your directory like ease.xclip
: A utility for managing clipboard contents.touchegg
: A tool for allowing gesture controls on your laptop's trackpad.bluez-utils
: bluetoothctl for cli bluetooth interface
Installs Docker and Docker Compose, and sets max concurrent pull and push values to 20 to make your docker pull & push concurrent and faster.
docker/config/docker.json
simlink to > /etc/docker/
{
"max-concurrent-uploads": 20,
"max-concurrent-downloads": 20
}
Programs | Description |
---|---|
com.github.finefindus.eyedropper | An eye dropper tool that allows you to select colors from your screen. Useful for designers and artists. |
com.github.huluti.Curtail | A terminal-based music player that supports multiple formats. Great for those who prefer command-line interfaces. |
com.github.jeromerobert.pdfarranger | A PDF editor that allows you to reorder, resize, and rotate pages. Helpful for students and professionals working with documents. |
com.github.tchx84.Flatseal | A graphical user interface for Flatpak, making it easier to manage apps. Useful for those who prefer a GUI over the command line. |
com.mattjakeman.ExtensionManager | An app that manages extensions for various platforms like Firefox and Google Chrome. Great for developers and power users. |
fr.handbrake.ghb | A video transcoder that converts videos between different formats, such as MP4 to AVI or FLV to MP3. Useful for media enthusiasts. |
io.github.giantpinkrobots.flatsweep | A tool that helps you keep your Flatpak installation clean by removing unused files and folders. Great for those who want a clutter-free system. |
io.github.jeffshee.Hidamari | A screenshot-taking app with various features like zooming, cropping, and saving to different formats. Helpful for bloggers and content creators. |
io.gitlab.adhami33.Footage | An app that helps you manage your video footage by trimming, merging, and converting files. Useful for filmmakers and videographers. |
org.audacityteam.Audacity | A free audio editor that allows you to record, edit, and mix audio files. Great for musicians and podcasters. |
org.gnome.Snapshot | An app that helps you take snapshots of your screen or selected area, with options for editing and saving. Useful for taking quick screenshots. |
org.gtk.Gtk3theme.Adwaita-dark | A dark theme for GTK 3 applications, providing a more visually appealing experience. Great for those who prefer darker UIs. |
org.gtk.Gtk3theme.adw-gtk3-dark | Another dark theme for GTK 3 apps, offering an alternative to the Adwaita-dark theme. Useful for users who want more options. |
org.libreoffice.LibreOffice | A free and open-source office suite that allows you to create documents, spreadsheets, and presentations. Great for students and professionals. |
org.nickvision.tubeconverter | An app that converts YouTube videos to different formats like MP4 or AVI, with features like quality selection and subtitles support. Useful for those who want to download and convert YouTube videos. |
org.pitivi.Pitivi | A free and open-source video editor that allows you to create professional-looking videos with transitions, effects, and more. Great for filmmakers and videographers. |
sh.cider.Cider | An app that helps you manage your Cider installation by installing or removing cider plugins. Useful for developers who want to customize their experience. |
org.localsend.localsend_app | An app that allows you to send local files or folders to other devices on the same network, with features like file transfer and folder sharing. Great for collaborative work. |
com.discordapp.Discord | A popular communication platform for gamers and communities, allowing real-time chat, voice, and video conversations. Useful for socializing and connecting with others. |
Installs Apple San Fransico fonts for desktop environment and Jet Brains Mono for Mono which is gonna be used in VSCode and the Kitty terminal.
Fonts | Showcase |
---|---|
Apple San Fransico | ![]() |
Jet Brains Mono | ![]() |
- Edit
git/config/.gitconfig
for your name and email. Default editor for git is set tovim
. - The default
git/config/.gitignore
file contains the general filenames/patterns which aim to cover most of unnecessary files for git staging.
- Clean redundant default gnome apps:
gnome-text-editor;
totem totem-pl-parser
epiphany
simple-scan
gnome-console
gnome-contacts
gnome-text-editor
gnome-weather
gnome-tour
- Load my dconf settings and key bindings for the GNOME Desktop Environment.
Section/Category | Key Binding | Description |
---|---|---|
Window Management | <Alt>a |
Begin moving a window |
<Alt>s |
Begin resizing a window | |
<Control>q |
Close a window | |
<Alt>d |
Minimize a window | |
<Alt><Super>Left |
Move window to the left monitor | |
<Alt><Super>Right |
Move window to the right monitor | |
<Shift><Alt>Left |
Move window to the left workspace | |
<Shift><Alt>Right |
Move window to the right workspace | |
<Super>1 to <Super>5 |
Switch to workspace 1-5 | |
<Shift><Super>Left |
Switch to the left workspace | |
<Shift><Super>Right |
Switch to the right workspace | |
<Alt>Tab |
Switch between applications | |
<Shift><Alt>Tab |
Switch between applications in reverse order | |
F11 |
Toggle fullscreen mode | |
Application Launcher | <Super>c |
Launch calculator |
<Super>i |
Launch control center | |
<Super>e |
Open home directory | |
Custom Keybindings | <Super>k |
Launch Kitty terminal emulator (maximized) |
<Super>q |
Launch Slack | |
<Super>Return |
Launch Brave Browser (Default profile) | |
<Super>apostrophe |
Launch Brave Browser (Profile 1) | |
<Super>s |
Launch Sublime Text | |
<Super>space |
Launch Visual Studio Code | |
<Super>d |
Launch Discord | |
Screenshots/Recordings | <Super>Print |
Capture a screenshot |
<Shift><Super>w |
Capture a screenshot of a window | |
<Shift><Super>r |
Show screen recording UI | |
<Shift><Super>s |
Show screenshot UI |
- Load my set of extensions for best complete GNOME experience.
Extension Name | Why It's So Good |
---|---|
Airpod-Battery-Monitor | Displays the battery level of connected AirPods, making it easier to monitor their charge. |
AlphabeticalAppGrid | Arranges application icons in alphabetical order, making it easier to find apps quickly. |
appindicatorsupport | Integrates application indicators (for third-party apps) into the top panel. |
awesome-tiles | Adds a tiling window manager functionality to GNOME, improving multitasking efficiency. |
blur-my-shell | Applies a blur effect to the GNOME Shell, enhancing the visual aesthetics. |
caffeine | Prevents the system from going to sleep, useful for presentations or media playback. |
clipboard-indicator | Displays a clipboard manager, allowing easy access to copied items. |
desktop-workspace-animation | Adds smooth animations when switching between workspaces, improving the visual experience. |
force quite | Provides a quick force quite button on top pannel. |
grand-theft-focus | Automatically focuses the most recently used window, increasing productivity. |
hotedge | Allows triggering actions (e.g., show desktop) by moving the cursor to specific screen edges. |
just-perfection-desktop | Enhances the desktop experience with various tweaks and customizations. |
Lock Keys | Get system popup whenever capslock/numlock is pressed. |
mediacontrols | Integrates media controls (play/pause, skip) into the top panel for easy access. |
middleclickclose | Allows closing windows by middle-clicking on their title bars, a convenient shortcut. |
monitor-brightness-volume | Provides easy keyboard shortcuts to adjust brightness and volume levels. |
no-titlebar-when-maximized | Hides the title bar when windows are maximized, creating a cleaner look. |
notification-timeout | Customizes the timeout duration for notifications. |
quick-settings-avatar | Adds an avatar icon to the quick settings menu for a personalized touch. |
quicksettings-audio-devices-hider | Hides audio device entries from the quick settings menu, decluttering the interface. |
quicksettings-audio-devices-renamer | Renames audio device entries in the quick settings menu for better clarity. |
rounded-window-corners | Applies rounded corners to windows, providing a modern and sleek look. |
SettingsCenter | Offers a central location to manage various GNOME extensions and settings. |
Space-bar | Adds a customizable workspace indicator to the top panel. |
Vitals | Displays system resource usage (CPU, RAM, etc.) in the top panel, useful for monitoring. |
X11 gestures | Adds gesture support for touchpad devices, enabling efficient navigation and actions. |
Yeah I know, its total of 26 ☠️
Editable at: kitty/config/kitty.conf
Shortcut | Description |
---|---|
ctrl+shift+enter |
Split terminal automatically based on vertical and horizontal space |
ctrl+shift+w |
Close current selected terminal pane, or close the tab if only a single pane is present |
ctrl+shift+t |
New tab |
ctrl+alt+n |
Rename the current tab |
ctrl+up/down/left/right |
Change focus to the pane in the up/down/left/right position |
Although my above custom key bindings get's the job done for me, literally, but Kitty do comes with shit load of more shortcuts, check official docs for more.
Editable at: kitty/config/current-theme.conf
In addition to the keyboard shortcuts, this kity config also has my custom made color scheme inspired by purple theme.
- Allowing parallel downloads upto 20.
- Allowing color stdout.
- Installing python3.9 and pip3.9
- Installing basic python3.9 libraries
nvitop # best tool to check live processes on your NVIDIA GPU.
numpy
matplotlib
tqdm # best progress bar utility
pandas
seaborn
ipython
- Just installs VSCode for now.
- Planning to add complete set of key bindings and settings that do not require cloud login & sync.
Utility | Description |
---|---|
zsh | A powerful shell that improves upon the functionality of Bash |
Oh My Zsh | A framework for managing the Zsh configuration |
Powerlevel10k | A popular and highly customizable Zsh theme |
zsh-autosuggestions | A plugin that suggests commands based on your history and completions |
zsh-syntax-highlighting | A plugin that provides syntax highlighting for the shell |
zsh-autocomplete | A plugin that adds advanced autocomplete functionality to Zsh |
zsh-auto-notify | A plugin that sends desktop notifications when a command completes |
zsh-autoswitch-virtualenv | A plugin that automatically switches Python virtual environments based on the current directory |