My Personal Debian/i3-wm Setup Script: Easy installation and configuration for a clean, minimalistic, and visually appealing desktop environment.
Find a file
Salim Zaidi 2a1e3ca081 Updates
2023-06-25 12:16:55 +01:00
[ign] Updates 2023-06-25 12:16:55 +01:00
config Updates 2023-06-25 11:20:47 +01:00
fonts Update fonts 2023-06-24 20:10:59 +01:00
optional Initial Commit 2023-06-20 17:45:22 +01:00
theme Adding dark theme 2023-06-23 13:56:08 +01:00
1-software.sh Updates 2023-06-25 09:25:11 +01:00
2-setup.sh Update 2023-06-23 14:22:11 +01:00
3-fonts.sh Update fonts 2023-06-24 20:10:59 +01:00
4-rice.sh Update 2023-06-23 14:22:11 +01:00
README.md Updates 2023-06-25 12:16:55 +01:00
run_me.sh Update 2023-06-24 09:49:52 +01:00


Logo

Debian Minimal Setup with i3

Automate and Style Your Debian Setup with BlueNova!

About The Project


BlueNova Dracula Darkness Nord Horizon Pink
Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 3 Screenshot 3 Screenshot 3
Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 3 Screenshot 3 Screenshot 3
Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 3 Screenshot 3 Screenshot 3
Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 3 Screenshot 3 Screenshot 3

This project is a shell script that automates the installation process for a minimal Debian system, along with the i3 window manager and Ly Console Display Manager. It aims to provide an easy and efficient way to set up a Debian-based desktop environment with a Stylish lightweight and customizable window manager.

The script installs the necessary packages and applications required for daily drive and a functional and beutiful i3wm setup, with Ly Console Display Manager, and other recommended utilities. It also configures various system settings to optimize the user experience and provides a clean minimal and stylish i3 configuration.

Pre-Installation

To use this script and set up your Debian system with my i3 config and Ly, follow these steps:

  1. Install a fresh minimal Debian system. You can download the minimal installation ISO from the official Debian website and follow their installation guide.

  2. Once the base system is installed:

Install git and vim

sudo apt install -y git vim

Clone this repo

git clone https://github.com/zedsalim/debian-z
cd debian-z
ls
.git   config  optional  1-software.sh  3-fonts.sh  README.md
[ign]  fonts   theme     2-setup.sh     4-rice.sh   run_me.sh

Categorization of the directories and the scripts

The apps.sh script is to install all the apps and the packages needed for a minimal Debian system, you can custumize it as you need.

  1. Scripts:
    1-software.sh: A script responsible for install all the softwares and the packages needed for a minimal Debian system, (you must see what inside it and you can custumize it as you need).
    2-setup.sh: A script that handles the initial setup of the i3wm environment and Ly Console Display Manager.
    3-fonts.sh: A script for font configuration and installation.
    4-rice.sh: A script that performs further customization or "ricing" of Debian-Z i3wm environment.
    run_me.sh: A script meant to be executed to apply the configurations and setups provided by other scripts (this is the only script you need to run)

  2. Directories (Do not modify):
    config: The configuration file for the Debian-Z setup.
    fonts: A directory containing font files used in the Debian-Z configuration.
    theme: A directory with theme-related files.
    optional: A folder containing optional configuration files and scripts that are not necessary for the basic setup (check them out).

  3. Other Files (Delete them if you want):
    README.md: A Markdown file serving as the main documentation or guide for this project.
    [ign]: A folder that contains Essential Files for the README.md.

Please note that the directories are marked as "Do not modify" to indicate that they contain important files and resources that should not be altered unless you have specific knowledge or intention to modify them.

Installation

To install this setup, simply run ./run_me.sh, enter your password, and wait for the installation to complete.

./run_me.sh

Post-Installation

Press Super + Shift + h to view the Guide and read it all. NOTE: The 'Super' Key is the 'Windows' Key

Usage

The Super key is the Windows key

Keybindings:

    

Window Manager Keybindings:

Keybinding Action
super + shift + h Opens this Guide
super + Escape Reloads sxhkd config
super + q Closes the current window
super + shift + c Reloads the i3 window manager configuration
super + shift + r Restarts the i3 window manager
super + shift + q Exits i3 window manager
<h3>Application Keybindings:</h3>
<table>
  <tr>
    <th>Keybinding</th>
    <th>Action</th>
  </tr>
  <tr>
    <td>super + Return (Enter)</td>
    <td>Launches alacritty terminal</td>
  </tr>
  <tr>
    <td>super + shift + Return (Enter)</td>
    <td>Launches alacritty terminal in floating mode</td>
  </tr>
  <tr>
    <td>super + p</td>
    <td>Opens rofi application</td>
  </tr>
  <tr>
    <td>alt + w</td>
    <td>Opens rofi (show mode)</td>
  </tr>
  <tr>
    <td>super + n</td>
    <td>Opens pcmanfm file manager</td>
  </tr>
  <tr>
    <td>super + r</td>
    <td>Opens ranger file manager</td>
  </tr>
  <tr>
    <td>super + g</td>
    <td>Opens Github Desktop (not installed by default)</td>
  </tr>
  <tr>
    <td>super + w</td>
    <td>Launches Brave Browser</td>
  </tr>
  <tr>
    <td>super + c</td>
    <td>Launches VSCodium</td>
  </tr>
  <tr>
    <td>super + d</td>
    <td>Launches Discord (not installed by default)</td>
  </tr>
  <tr>
    <td>super + t</td>
    <td>Launches Telegram Desktop</td>
  </tr>
  <tr>
    <td>Print (Impr écran Syst)</td>
    <td>Opens flameshot screenshot tool (GUI mode)</td>
  </tr>
</table>

<h3>Audio Keybindings:</h3>
<table>
  <tr>
    <th>Keybinding</th>
    <th>Action</th>
  </tr>
  <tr>
    <td>XF86AudioMute</td>
    <td>Toggles audio mute</td>
  </tr>
  <tr>
    <td>XF86AudioLowerVolume</td>
    <td>Decreases audio volume by 2%</td>
  </tr>
  <tr>
    <td>XF86AudioRaiseVolume</td>
    <td>Increases audio volume by 2%</td>
  </tr>
</table>

<h3>Brightness Keybindings:</h3>
<table>
  <tr>
    <th>Keybinding</th>
    <th>Action</th>
  </tr>
  <tr>
    <td>XF86MonBrightnessDown</td>
    <td>Decreases audio volume by 10%</td>
  </tr>
  <tr>
    <td>XF86MonBrightnessUp</td>
    <td>Increases audio volume by 10%</td>
  </tr>
</table>

<h3>i3 Window Manager Keybindings:</h3>
<table>
  <tr>
    <th>Keybinding</th>
    <th>Action</th>
  </tr>
  <tr>
    <td>super + v</td>
    <td>Splits the current container vertically</td>
  </tr>
  <tr>
    <td>super + h</td>
    <td>Splits the current container horizontally</td>
  </tr>
  <tr>
    <td>super + f</td>
    <td>Toggles fullscreen mode for the current container</td>
  </tr>
  <tr>
    <td>super + shift + f</td>
    <td>Toggles floating mode for the current container</td>
  </tr>
  <tr>
    <td>super + control + space</td>
    <td>Toggles focus between tiling and floating mode</td>
  </tr>
  <tr>
    <td>super + alt + a</td>
    <td>Focuses on the parent container</td>
  </tr>
  <tr>
    <td>alt + shift + s</td>
    <td>Change container layout to stacked</td>
  </tr>
  <tr>
    <td>alt + shift + t</td>
    <td>Change container layout to tabbed</td>
  </tr>
  <tr>
    <td>alt + shift + e</td>
    <td>Change container layout to toggle split</td>
  </tr>

</table>

<h3>Workspace Keybindings:</h3>
<table>
  <tr>
    <th>Keybinding</th>
    <th>Action</th>
  </tr>
  <tr>
    <td>super + [1->9,0]</td>
    <td>Switches to the specified workspace</td>
  </tr>
  <tr>
    <td>super + shift + [1->9,0]</td>
    <td>Moves the current container to the specified workspace</td>
  </tr>
</table>

<h3>Window Movement Keybindings:</h3>
<table>
  <tr>
    <th>Keybinding</th>
    <th>Action</th>
  </tr>
  <tr>
    <td>super + [h, j, k, l]</td>
    <td>Focuses on the window in the specified direction</td>
  </tr>
  <tr>
    <td>super + shift + [h, j, k, l]</td>
    <td>Moves the window in the specified direction</td>
  </tr>
  <tr>
    <td>super + [Left, Down, Up, Right]</td>
    <td>Focuses on the window in the specified direction</td>
  </tr>
  <tr>
    <td>super + shift + [Left, Down, Up, Right]</td>
    <td>Moves the window in the specified direction</td>
  </tr>
  <tr>
    <td>super + b</td>
    <td>Focuses on the last two workspaces back and forth</td>
  </tr>
</table>

<h3>Additional Keybindings:</h3>
<table>
  <tr>
    <th>Keybinding</th>
    <th>Action</th>
  </tr>
  <tr>
    <td>alt + x (Where I keep all the courses and videos I need to learn from)</td>
    <td>Opens ranger in ~/Downloads/Watch (not created by default)</td>
  </tr>
  <tr>
    <td>alt + c</td>
    <td>Opens the confige files that i edit frequently</td>
  </tr>
  <tr>
    <td>alt + t</td>
    <td>Change the theme on the fly</td>
  </tr>
  <tr>
    <td>alt + b</td>
    <td>Opens my bookmarks (add yours inside ~/config/bookmarks.txt)</td>
  </tr>
  <tr>
    <td>alt + y (you must copy first the URL of a youtube video)</td>
    <td>Script that plays youtube videos using the mpv</td>
  </tr>
  <tr>
    <td>alt + s (Create your own schedule in ~/Pictures/schedule.png)</td>
    <td>Opens my Work/Studies Schedule</td>
  </tr>
  <tr>
    <td>F1 (Add your wallpapers in ~/.config/wallpapers/)</td>
    <td>Changing the wallpaper for the main monitor</td>
  </tr>
  <tr>
    <td>F2</td>
    <td>Changing the wallpaper for two monitors</td>
  </tr>
</table>

<h3>Gaps Keybindings:</h3>
<table>
  <tr>
    <th>Keybinding</th>
    <th>Action</th>
  </tr>
  <tr>
    <td>super + shift + n</td>
    <td>Adjusts inner and outer gaps simultaneously</td>
  </tr>
  <tr>
    <td>super + x</td>
    <td>Increases outer gaps by 5</td>
  </tr>
  <tr>
    <td>super + shift + x</td>
    <td>Decreases outer gaps by 5</td>
  </tr>
  <tr>
    <td>super + z</td>
    <td>Increases inner gaps by 5</td>
  </tr>
  <tr>
    <td>super + shift + z</td>
    <td>Decreases inner gaps by 5</td>
  </tr>
  <tr>
    <td>super + ctrl + [Left, Down, Up, Right]</td>
    <td>Resizes the current window</td>
  </tr>
</table>

<h3>System Keybindings:</h3>
<table>
  <tr>
    <th>Keybinding</th>
    <th>Action</th>
  </tr>
  <tr>
    <td>super + shift + b</td>
    <td>Reboots the system (sudo reboot)</td>
  </tr>
  <tr>
    <td>super + shift + s</td>
    <td>Shuts down the system (sudo shutdown now)</td>
  </tr>
</table>

Contact

Acknowledgments

https://github.com/drewgrif/i3gaps-debian

This script is built upon of the original script created by drewgrif . I would like to express my gratitude for his valuable contribution and the effort he put into developing the initial version. While I have made several tweaks and additions to suit my personal needs, the core functionality and inspiration behind this script stem from drewgrif work.

I am thankful to the open-source community for providing a platform for collaboration and sharing of ideas. This project wouldn't have been possible without the collective efforts of developers and enthusiasts who continuously contribute to the improvement of tools and resources within the Linux ecosystem.

Please note that any issues or limitations encountered in this modified script are solely my responsibility, and I encourage users to refer to the original script by drewgrif for a comprehensive understanding of its functionality and origins.

The original script: i3gaps-debian