π - Personal Dotfiles (Managed by GNU Stow)
- DE: Gnome
- OS: Fedora Linux
- Shell: zsh
- Terminal: alacritty, foot
- Editor: Neovim (using LazyVim configuration)
- Browser: Librewolf/Firefox
- Fonts: Jetbrains Mono Nerd Font, SF Pro Mono
- Icons:
- Application: Skeouwaita
- Cursor: Catppuccin Cursor, Phinger Cursors
- Colorscheme: Catppuccin Mocha (Lavender)
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
Packages | Description |
---|---|
chsh | Util-Linux (system utilities) |
curl | Transfer a URL |
git | Version Control System |
jq | Command-line JSON processor |
stow | Manage farms of symbolik links |
tar | An archiving utility |
wget | The non-interactive network downloader |
zsh | Powerful interactive shell |
Packages List
Following packages that will be installed on the setup script:
Packages | Arch | Debian | Fedora | Void | Description |
---|---|---|---|---|---|
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 Packages | Description |
---|---|
amberol | Plays music, and nothing else |
flatseal | Utility to manage Flatpak Applications Permission |
junction | Application chooser for opening files and links |
gradience | Change the look of adwaita with ease |
Command Line Utilities (Mostly Modern Unix)
Packages | Arch | Debian | Fedora | Void | Description |
---|---|---|---|---|---|
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 syncwipe
- for shell clear animationstopgrade
- upgrade/update everything
Required version:
fzf
>= 0.30 (deps: bat, broot, fd lsd rg wl-copy)lsd
>= 0.23.1neovim
>= 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."
Firefox
Keyword | Search |
---|---|
:g | |
:y, :y/ (most viewed), :y// or :yt (most viewed by year) |
Youtube |
:r or :re, :r/ or r/ (subreddit) |
|
:q | Quora |
:gh, :gh/ (most stars) | GitHub |
:so | Stack Overflow |
:use | Unix Stack Exchange |
:dd | DevDocs |
:mdn | MDN Web Docs |
:var | CODELF |
:aw | Arch Wiki |
:fed | Ask Fedora |
:man | Mankier |
:cnf | Command Not Found |
:xsh | Explain Shell |
:ia or :wm | Internet Archive (Wayback Machine) |
:mw | Merriam Webster Dictionary |
:ud | Urban Dictionary |
:alt | AlternativeTo |
:subs | OpenSubtitles |
:dl | DeepL (to EN) |
:tl | Google Translate (to EN) |
:maps | Google Maps |
:lib or :aa | Anna's Archive |
:libgen or :lg | Library Genesis |
:gr | Goodreads |
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
Key | Action |
---|---|
Super + Enter | Open Foot (Terminal Emulator) |
Super + T | Open Alacritty inside tmux (Terminal Emulator) |
Super + Shift + Q | Close window |
Super + Shift + M | Maximize window |
Super + Shift + 1-4 | Move window to workspace number 1-4 |
Super + 1-4 | Switch to workspace number 1-4 |
Ctrl + Alt + Left/Right | Move to the Left/Right workspace |
Ctrl + Alt + Shift Left/Right | Move window one workspace to the Left/Right |
Alt + Tab | Switch windows |
Super + Tab | Switch Application (Gnome default alt-tab behaviour) |
Super + Shift + D | Hide all normal windows |
Super + Shift + W | Change Wallpaper Randomly |
Ctrl + Alt + T | Open Gnome Terminal |
Super + N | Open Neovim (Text Editor) |
Super + F | Open Foliate (Ebook Reader) |
Super + E | Open Nautilus (File Manager) |
Ctrl + Alt + Del | Rickroll (Opens on Foot Terminal) |
Super + Shift + R | Record a screencast |
Super + I | Open Settings |
Ctrl + Shift + Esc | System Monitor |
Super + Shift + E | Logout/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
Super = Windows Logo Key
Neovim
- Leader - to show which-key
- Leader + s + k - to search all keybindings
- Official Documentation
Leader = Space
Tmux
- Prefix + ? - to show the list of all keybindings
- Official Documentation
Prefix = Ctrl + a or Ctrl + b
Zsh
Key | Details |
---|---|
Ctrl + L | Clear screen and scroll back with animations (requires wipe) |
Alt + Enter | Accept and hold (execute command and don't clear it) |
Alt + Left/Right | Dircycle plugin (Browser like navigating directory stacks dirs -v ) |
Ctrl-x + Ctrl-v | Edit and paste clipboard (Similar to edit command-line(Ctrl-x +Ctrl-e )) |
Ctrl + Q | Save input (Pressing Ctrl-q will Store/Restore input to buffer) |
Ctrl-x + Ctrl-q | Paste then edit saved input |
Ctrl + J | Insert command substitution ($() ) |
Alt + S | Insert sudo at the beggining of the line |
Alt + Shift + S | Execute previous command with sudo (sudo !! + enter) |
Alt + L | Execute ls (if the buffer is empty else transform it to lowercase) |
Alt + G | Execute git status (if inside on a git repository) |
Ctrl + / | View in pager (open in pager the previous executed command) |
Ctrl + D | Force exit (by default if the buffer is not empty, zsh won't exit) |
Ctrl + Z | Fancy Ctrl-Z plugin |
. | Rationalise dot (Expands .. to ../..) |
Fzf Widgets
Key | Details |
---|---|
Ctrl + Tab | Fzf completion ** and fzf-tab-completion plugin (rebinded instead of tab) |
Alt + M | Manpages Widget (list all manpages can preview with tldr, and cheat.sh) |
Ctrl + F | Ripgrep Widget (ripgrep launcher + fzf as secondary filter) |
Alt + I | Locate Widget (quickly find files with index database using locate command) |
Ctrl + T | File Widget (Fzf Default Keybindings) |
Alt + C | Cd Widget (Fzf Default Keybindings) |
Alt + Shift + C | Cd Recent Directory Widget (based on your dirstack) |
Ctrl + R | History Widget (reverse history search, if there's atuin installed use it) |
Alt + A | Alias Widget (search all aliases) |
Alt + F | Functions Widget (search function list) |
Alt + D | Dictionary 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