dootsfile

July 26, 2023 ยท View on GitHub

๐Ÿ  - Personal Dotfiles (Managed by GNU Stow)

Bocchi

Tools Overview

Installation

Automatic:

Prerequisites

Any Nerd Fonts installed and used by your terminal emulator to display icon (Highly Recommended: JetBrains Mono, since most of the config using this font)

You can use my script to download any Nerd Fonts (requires fzf)

bash -c "$(curl -Ls https://raw.githubusercontent.com/lime-desu/bin/main/nf-dl)"
Setup Script Dependencies

You don't need to install any of these item listed below since they are already installed on your system, and included on the setup script as well

PackagesDescription
chshUtil-Linux (system utilities)
curlTransfer a URL
gitVersion Control System
jqCommand-line JSON processor
stowManage farms of symbolik links
tarAn archiving utility
wgetThe non-interactive network downloader
zshPowerful interactive shell
Packages List

Applications:

Following packages that will be installed on the setup script:

PackagesArchDebianFedoraVoidDescription
alacrittyโœ“โœ—โœ“โœ“Fast, cross-platform, OpenGL terminal Emulator
foliateโœ“โœ—โœ“โœ“A Simple and modern GTK eBook reader
footโœ“โœ“โœ“โœ“Lightweight Wayland terminal emulator
mpvโœ“โœ“โœ“โœ“A media player
kittyโœ“โœ“โœ“โœ“Cross-platform, fast, feature rich, GPU based terminal
Flatpak PackagesDescription
amberolPlays music, and nothing else
flatsealUtility to manage Flatpak Applications Permission
junctionApplication chooser for opening files and links
gradienceChange the look of adwaita with ease

Command Line Utilities (Mostly Modern Unix)

PackagesArchDebianFedoraVoidDescription
batโœ“โœ“โœ“โœ“A Cat(1) clone with wings
brootโœ“โœ—โœ—โœ“A tree explorer and a customizable launcher
btopโœ“โœ“โœ“โœ“Modern Resources Monitor Utility
cavaโœ—โœ“โœ“โœ“Console-based Audio Visualizezr for Alsa
chafaโœ“โœ“โœ“โœ“Terminal graphics and character art generator.
deltaโœ“โœ—โœ“โœ“Syntax-highlighting pager for git, diff etc.
dustโœ“โœ—โœ—โœ“A more intuitive version of du in rust
exaโœ“โœ“โœ“โœ“Modern replacement for ls
fdโœ“โœ“โœ“โœ“Simple, fast and user-friendly alternative to find
fuckโœ“โœ“โœ“โœ“App that corrects your previous console command
fzfโœ“โœ“โœ“โœ“A command-line fuzzy finder
lsdโœ“โœ—โœ“โœ“Ls command with pretty colors and some other stuff
neofetchโœ“โœ“โœ“โœ“CLI system information tool
ripgrepโœ“โœ“โœ“โœ“Command Line oriented search tool
starshipโœ“โœ—โœ—โœ“Cross platform shell prompt
tldrโœ“โœ—โœ“โœ“Fast and customizable TLDR Client (tealdeer)
tmuxโœ“โœ“โœ“โœ“A terminal multiplexer
unzipโœ“โœ“โœ“โœ“A utility for unpacking zip files
wl-clipboardโœ“โœ“โœ“โœ“Command-line copy/paste utilities for Wayland

Foliate is available on Debian, but it isn't available on Ubuntu (only on 3rd party repo PPA) so I didn't include it. If the package manager can't find all the necessary packages, it will fail to install and won't do anything

Optional Packages (install via cargo):

  • atuin - for shell history sync
  • wipe - for shell clear animations
  • topgrade - upgrade/update everything

Required version:

  • fzf >= 0.30 (deps: bat, broot, fd lsd rg wl-copy)
  • lsd >= 0.23.1
  • neovim >= 0.8.0 (deps: C Compiler and Nodejs)

Also include essential group of packages for building and compiling

Note Prior running the script ensure that environment variable are set. (echo $XDG_CURRENT_DESKTOP)

if command -v curl >/dev/null 2>&1; then
  bash -c "$(curl -Ls https://raw.githubusercontent.com/lime-desu/dootsfile/main/setup.sh)"
else
  bash -c "$(wget -O - https://raw.githubusercontent.com/lime-desu/dootsfile/main/setup.sh)"
fi

Warning Please review the script first before executing. Don't blindly run it. Consider running it on a new machine

Note The info on this README may be outdated. Configuration in this repo are subject to change overtime."

Keybindings

Firefox
KeywordSearch
:gGoogle
:y,
:y/ (most viewed),
:y// or :yt (most viewed by year)
Youtube
:r or :re,
:r/ or r/ (subreddit)
Reddit
:qQuora
:gh, :gh/ (most stars)GitHub
:soStack Overflow
:useUnix Stack Exchange
:ddDevDocs
:mdnMDN Web Docs
:varCODELF
:awArch Wiki
:fedAsk Fedora
:manMankier
:cnfCommand Not Found
:xshExplain Shell
:ia or :wmInternet Archive (Wayback Machine)
:mwMerriam Webster Dictionary
:udUrban Dictionary
:altAlternativeTo
:subsOpenSubtitles
:dlDeepL (to EN)
:tlGoogle Translate (to EN)
:mapsGoogle Maps
:lib or :aaAnna's Archive
:libgen or :lgLibrary Genesis
:grGoodreads

And many more some weeb and pirate stuff.. You can find all of the list on about:preferences#search

Pro Tip: Pressing Ctrl-L or Alt-D will focus on search bar

Adding custom search engine:

By default it is disabled you have to enabled it first, on about:config add this line and set it to true

browser.urlbar.update2.engineAliasRefresh

Also suggest me some good search engines to add...

GNOME
KeyAction
Super + EnterOpen Foot (Terminal Emulator)
Super + TOpen Alacritty inside tmux (Terminal Emulator)
Super + Shift + QClose window
Super + Shift + MMaximize window
Super + Shift + 1-4Move window to workspace number 1-4
Super + 1-4Switch to workspace number 1-4
Ctrl + Alt + Left/RightMove to the Left/Right workspace
Ctrl + Alt + Shift Left/RightMove window one workspace to the Left/Right
Alt + TabSwitch windows
Super + TabSwitch Application (Gnome default alt-tab behaviour)
Super + Shift + DHide all normal windows
Super + Shift + WChange Wallpaper Randomly
Ctrl + Alt + TOpen Gnome Terminal
Super + NOpen Neovim (Text Editor)
Super + FOpen Foliate (Ebook Reader)
Super + EOpen Nautilus (File Manager)
Ctrl + Alt + DelRickroll (Opens on Foot Terminal)
Super + Shift + RRecord a screencast
Super + IOpen Settings
Ctrl + Shift + EscSystem Monitor
Super + Shift + ELogout/Exit

Shell Extension bindings:

  • Arcmenu: Super + D - Arcmenu runner

  • Colorpicker: Super + 0 - Toggle colorpicker

  • Pop Os Shell: Super + R - Adjustment Mode

  • Pano: Ctrl + Shift + V - Show pano clipboard

  • UserTheme: Ctrl + Super + 1-7 - Change topbar theme style

  • Official Documentation

  • Pop Os Shell Keyboard Shortcuts

Super = Windows Logo Key

Neovim

Leader = Space

Tmux

Prefix = Ctrl + a or Ctrl + b

Zsh
KeyDetails
Ctrl + LClear screen and scroll back with animations (requires wipe)
Alt + EnterAccept and hold (execute command and don't clear it)
Alt + Left/RightDircycle plugin (Browser like navigating directory stacks dirs -v)
Ctrl-x + Ctrl-vEdit and paste clipboard (Similar to edit command-line(Ctrl-x+Ctrl-e))
Ctrl + QSave input (Pressing Ctrl-q will Store/Restore input to buffer)
Ctrl-x + Ctrl-qPaste then edit saved input
Ctrl + JInsert command substitution ($())
Alt + SInsert sudo at the beggining of the line
Alt + Shift + SExecute previous command with sudo (sudo !! + enter)
Alt + LExecute ls (if the buffer is empty else transform it to lowercase)
Alt + GExecute git status (if inside on a git repository)
Ctrl + /View in pager (open in pager the previous executed command)
Ctrl + DForce exit (by default if the buffer is not empty, zsh won't exit)
Ctrl + ZFancy Ctrl-Z plugin
.Rationalise dot (Expands .. to ../..)
Fzf Widgets
KeyDetails
Ctrl + TabFzf completion ** and fzf-tab-completion plugin (rebinded instead of tab)
Alt + MManpages Widget (list all manpages can preview with tldr, and cheat.sh)
Ctrl + FRipgrep Widget (ripgrep launcher + fzf as secondary filter)
Alt + ILocate Widget (quickly find files with index database using locate command)
Ctrl + TFile Widget (Fzf Default Keybindings)
Alt + CCd Widget (Fzf Default Keybindings)
Alt + Shift + CCd Recent Directory Widget (based on your dirstack)
Ctrl + RHistory Widget (reverse history search, if there's atuin installed use it)
Alt + AAlias Widget (search all aliases)
Alt + FFunctions Widget (search function list)
Alt + DDictionary Widget (based on /usr/share/dict/words)

Alt + ? will show list of fzf keybinds

List all zsh keybinds: bindkey -M <keymap> (bindkey -l to list all keymap) To know/change keybinding sequence code: showkey -a