Plataform | Name |
---|---|
System | Debian Ubuntu |
Window Manager | I3WM |
Status Bar | i3Status |
Shell | ZSH |
Terminal | Alacritty |
Terminal Multiplexing | Tmux |
Code Editor | Nvim (layz) |
If you want to run script.sh, you should have the .dotfiles repository in your home folder. You also need to install the fonts in the Ubuntu folder.
This environment is designed for use with GNU Stow. Each folder represents a separate module, and the files within these folders are organized based on their intended locations in the HOME directory.
stow --adopt $FOLDER_MODULE
You could install GNUStow with comand
sudo apt install stow
for more information see https://www.gnu.org/software/stow/
First, you will need to install apt-packages.sh
to get essential packages. You will also need to install all the fonts in the Ubuntu folder.
Now, you have two options: using the Ubuntu GNOME interface or i3wm.
For the i3wm window manager, you need to run i3wm.sh
and use Stow for the modules: rofi
, dunst
, and i3wm
.
For the Ubuntu option, you need to run ubuntu-wm.sh
to remove all default GNOME shortcuts. You will also need to install the Forge GNOME extension to configure the window manager.
To get nvim working with everything set up, you should have ASDF installed. ASDF is configured with Zinit on ZSH, so you don’t need to install it separately—just link your .zshrc file.
By default, ZSH will start with ASDF global versions. This prevents Mason from crashing and eliminates the need to set the global version for every project that doesn't have a .tool-versions file. You can see versions on script.sh file.
Neovim is configured with LSP for Java, JavaScript, TypeScript, and Go.
Install JDTLS with Mason, and everything should work, including auto-imports. If you're working with Java and don’t have LSP features functioning, check if the options in nvim/ftplugin/java.lua
are correctly set.
When starting Neovim, you should not see any errors. If you do, please update Neovim and check if the global ASDF settings are working by running script.sh
I use Moonlander from ZSA with a custom layout featuring layers for tmux, gnome and nvim. To optimize my workflow, I prefer crafting macros rather than relyng solely on configurations. You can use my layout with the link below:
https://configure.zsa.io/moonlander/layouts/YVjWy/LLpoX/0
Key Combination | Action |
---|---|
SUPER + T | Open alacritty |
SUPER + C | Open Google Chrome |
SUPER + B | Open Laucher for search |
SUPER + Q | Close window |
SUPER + H | Focus right windown |
SUPER + J | Focus down windown |
SUPER + K | Focus up windown |
SUPER + L | Focus right windown |
SUPER + F | Active Windown fullscreen |
SUPER + Y | Change tile direction |
SUPER + M | Exit system |
SUPER + 1 | Change to workspace 1 |
SUPER + 2 | Change to workspace 2 |
SUPER + 3 | Change to workspace 3 |
SUPER + 4 | Change to workspace 4 |
SUPER + 5 | Change to workspace 5 |
SUPER + 6 | Change to workspace 6 |
SUPER + 7 | Change to workspace 8 |
SUPER + 9 | Change to workspace 9 |
SUPER + 0 | Change to workspace 10 |
SUPER + SHIFT + 1 | Move focus windown to workspace 1 |
SUPER + SHIFT + 2 | Move focus windown to workspace 2 |
SUPER + SHIFT + 3 | Move focus windown to workspace 3 |
SUPER + SHIFT + 4 | Move focus windown to workspace 4 |
SUPER + SHIFT + 5 | Move focus windown to workspace 5 |
SUPER + SHIFT + 6 | Move focus windown to workspace 6 |
SUPER + SHIFT + 7 | Move focus windown to workspace 7 |
SUPER + SHIFT + 8 | Move focus windown to workspace 8 |
SUPER + SHIFT + 9 | Move focus windown to workspace 9 |
SUPER + SHIFT + 0 | Move focus windown to workspace 0 |
I use default prefix for tmux (CTRL + b) but i have a layer on Moonlander.
Key Combination | ZSA Key | Tmux layer name | Description |
---|---|---|---|
PREFIX + X + Y | Q | kill pane | Quit currente seesion pressing yes |
PREFIX + W | W | List Sessi | List Sessions |
PREFIX + r | R | reload cfg | Source tmux file |
PREFIX + z | F | Focus Pane | Pane will became full screen |
PREFIX + % | Custom | v split | Split vertically |
PREFIX + " | Custom | h split | Split horizontally |
PREFIX + | Y | nameTab | Name/rename a tab |
PREFIX + PgUp | U | l up | PageUP view mode to scroll terminal |
PREFIX + PgDown | i | l down | PageDown view mod to scroll terminal |
PREFIX + Arrow left | H | left tmux | Move to left pane |
PREFIX + Arrow down | J | down tmux | Move to down pane |
PREFIX + Arrow up | K | up tmux | Move to up pane |
PREFIX + Arrow right | L | left tmux | Move to left pane |
PREFIX + 0 | 6 | win 0 | Move to tab 0 |
PREFIX + 1 | 7 | win 1 | Move to tab 1 |
PREFIX + 2 | 8 | win 2 | Move to tab 2 |
PREFIX + 3 | 9 | win 3 | Move to tab 3 |
PREFIX + 4 | 0 | win 4 | Move to tab 4 |