π - 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)"
fiWarning 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 -lto list all keymap) To know/change keybinding sequence code:showkey -a