Giter Club home page Giter Club logo

braindotdev's Introduction

๐Ÿ’ช๐Ÿป braindotdev ๐Ÿฆพ

With great brain comes great analysis paralysis

๐Ÿซ Arch Installation

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

๐ŸŠ Ubuntu Installation

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

What does this script do to your system?

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.

Aliases

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

GNOME

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

Python3.9

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

YouTube

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'

CLI Utilities

  • 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 of ls 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

Docker Setup

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
}

Flathub Programms

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.

Fonts

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

Git

  • Edit git/config/.gitconfig for your name and email. Default editor for git is set to vim.
  • The default git/config/.gitignore file contains the general filenames/patterns which aim to cover most of unnecessary files for git staging.

GNOME

  • 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 โ˜ ๏ธ

Kitty Terminal

Keyboard shortcuts

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.

Custom Kitty theme

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.

Pacman

  • Allowing parallel downloads upto 20.
  • Allowing color stdout.

Python 3.9

  • 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

VSCode

  • Just installs VSCode for now.
  • Planning to add complete set of key bindings and settings that do not require cloud login & sync.

ZSH

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

Author

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.