This document shows the programs and configurations I have in the distributions I use. I currently work with:
- Pop! OS 20.04 - Gnome - Ubuntu based / Debian.
- Manjaro 20.2 - Gnome/Qtile - Arch.
File management and installation on the system has been done using dotbot.
You can test all the fonts in programmingfonts.org.
Rofi is a popular, easy and simple application launcher. Is a dmenu
program. In a 'tiling window' desktops environments is commonly executed by Alt + D
.
Rofi installation:
-
Debian:
sudo apt install rofi
-
Arch:
sudo pacman -S rofi
Add the following command to your custom shortcuts in order to executed like the above animation (launcher + icons).
-
Run programs:
rofi -show drun -show-icons
-
Show windows
rofi -show window -show-icons
Copy the photon-orange.rasi
theme to /usr/share/rofi/themes
to complete the installation:
sudo cp ./config/rofi/photon-orange/photon-orange.rasi /usr/share/rofi/themes
And set the theme typing:
rofi-theme-selector
The terminals I normally use are:
- Alacritty
- Terminator
- rxvt-unicode
To change the default terminal type:
sudo update-alternatives --config x-terminal-emulator
A table will appear where the desired terminal is selected with a number.
My favorite shell is zsh. It's very easy to configure and you can add extensions that improve its capabilities. The extension for it to look like in the image is PowerLevel10k. This version includes a program to configure it quickly and easily 😄.
Plugins (inside of /.oh-my-zsh/plugins/
:
-
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git echo "source ${(q-)PWD}/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc
-
git clone https://github.com/zsh-users/zsh-autosuggestions.git ~/.zsh/zsh-autosuggestions source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh
Under testing. Replace powelevel10 by "oh-my-posh"
PopShell is a great and powerful tool for Linux distributions with Gnome as desktop environment that automatically manages the windows of the operating system by placing them in a logical way. At the same time, it adjusts keyboard shortcuts using the Vim shortcut map.
Import/Export PopOS / Ubuntu configuration:
- Export:
dconf dump / > popos_debian.conf
- Import:
dconf load -f /org/gnome/shell/extensions/pop-shell/ < backuppp
-
Qtile
-
Multimonitor: mons
Save and apply your Desktop Environment configuration using this tool. The repository is hosted by flatpak in this link.
flatpak install flathub io.github.vikdevelop.SaveDesktop
Run the program:
flatpak run io.github.vikdevelop.SaveDesktop
- VSCode
- Pycharm
- NVim
Neovim is a fork – with additions – of Vim that strives to improve the extensibility and maintainability of Vim. Neovim has the same configuration syntax as Vim; thus the same configuration file can be used with both editors, although there are minor differences in details of options. If the added features of Neovim are not used, Neovim is compatible with almost all of Vim's features.
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
-
Qtile
-
Multimonitor: mons
- VSCode
- Pycharm
- NVim
Neovim is a fork – with additions – of Vim that strives to improve the extensibility and maintainability of Vim. Neovim has the same configuration syntax as Vim; thus the same configuration file can be used with both editors, although there are minor differences in details of options. If the added features of Neovim are not used, Neovim is compatible with almost all of Vim's features.
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
- MarkText
- Focalboard
- Boostnote
- Dendron (a VSCode extension)
- [Paper (Flatpak app)](Flathub—An app store and build service for Linux)
-
I don't care about cookies [[chrome engine](I don't care about cookies - Chrome Web Store)] [firefox]
-
Vimium [chrome engine] ]firefox]
MailSpring is an Open Source and powerful mail client. I am using the "predawn" theme that the user "asparc" has modified.
To modify the theme you have to open the directory where it is installed.
-
In Ubuntu:
~/snap/mailspring/common/packages/predawn
-
Enable the developer flags (Developer --> Run with debug flags)
-
Reload the theme at each change by typing:
AppEnv.themes.setActiveTheme('ui-light'); // default theme (for example). AppEnv.themes.setActiveTheme('predawn'); // Custom theme.
LazyGit is a powerful command-line Git manager. The user interface is excellent and the ease of getting used to keyboard shortcuts increases your productivity. It brings a lot of value to your day-to-day work. You can see in the image an example of this same repository while I create it 😉.
Installation:
-
Debian
sudo apt install lazygit
-
Arch:
sudo pacman -S lazygit
Ranger is a powerful command-line file manager written in Python that allows you to move around very quickly using Vim's shortcuts.
Installing typing:
-
Debian:
sudo apt install ranger
-
Arch:
sudo pacman -S ranger
BatCat is an extension for the shell that allows the contents of the formatted files to be viewed. It makes it easier to understand the code when we make a 'cat' on them. With the command batcat <file>
we start it up. In the .zshrc
file I have an alias to launch it with cat
, keeping the original functionality of cat
intact (to copy the content of a file the original cat
is more useful since the lines of code don't appear).
In the following image you can see a simple example of a file in Python:
fzf is a very agile search engine for directories, files and commands on the interpreter's history, allowing searches using regular expressions and selecting the results from a list of best candidates. The use of the library is focused in its basic part on three commands:
Atajo | Resultado |
---|---|
Control+T | Búsqueda de ficheros |
Control+R | Búsqueda en el historial de comandos |
Alt+C | Búsqueda de directorios |
Install:
-
Debian:
sudo apt install fzf
-
Arch:
sudo pacman -S fzf
Configuration:
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install
In tiling window manager environments or environments focused on hyper-customization and keyboard use it is not common to have the widget to connect to a network via Wi-Fi. The NMTUI command line tool allows in an agile way to connect using a simple interface.
Command line disk analyzer in the style of the GUI version of Baobab.
Install:
-
Debian:
sudo apt install ncdu
Trash-cli is a command line interface that helps prevent permanent file deletion that we would do with rm
. With trash-cli we send files to the trash, list the contents, vary or restore files with a simple use of its commands:]
trash-put envía archivos y carpetas a la papelera
trash-empty eliminar el contenido de la papelera
trash-list lista el contenido de la papelera
trash-restore restaura un archivo de la papelera
trash-rm elimina un único archivo de la papelera
Installation:
pip3 install -U trash-cli
exa is a software to enhance the ls
terminal command.
Based on colorls
and lsd
(LSDeluxe) and written in the Rust language, exa adds one more element of configuration: it allows you to configure the elements you want to display. Use is made of alias
to launch different configurations.
Installation:
-
Debian, by downloading the binary from the releases section and using
dpkg
:sudo apt install exa
-
Arch:
sudo pacman -S exa
Ctop is a command line container manager that allows you to see the status of Docker containers as well as CPU and memory consumption with auto-refresh. Ideal for when you have several services at once and want to monitor performance. In the animation they have in their repository you can see an example:
From habd.as: rupa/z is an amazing shell script that allows users to traverse a filesystem in no time flat. Use it if you spend any time at all changing directories in a *nix environment. It will improve productivity and spare fat fingers quite a bit of backpedaling.
An alternative written in Rust there are another tool for it: zoxide.
Interactive cheatsheets on the command-line. Link.
Lightweight Spotify client for command line.
- github-markdown-toc