Skip to content

begbaj/gwyn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gwyn - an easy to configure, minimal bspwm template

A lightweight and modular BSPWM setup inspired by the excellent work of gh0stzk.
This project is intended for those who prefer a simpler, minimal configuration and modular structure.

BEFORE YOU COMPLAIN

This is something i'm sharing because I like to share what I do, but is also a totally personal project, which means that there is no insane testing on this code and there may be several bugs or not-so-clean code. I don't dedicate much time to this project so it may never be completed. If you have any suggestion or want to contribute, you're welcome to share!


Dependencies

Installation

Install required packages. On Arch-based distros, it should be enough to run this:

sudo pacman -S sxhkd rofi polybar picom feh dunst flameshot lxsession pamixer slock xss-lock xsetroot wmname

and install autowall.

Note: some of this are actually not strictly required since it is easy to remove the dependency by configuring the environment to not to use some of the tools. I've put them as required since I did not already prepare a "minimal" setup where only a few packages are actually required (like sxhkd, which you already have, polybar, rofi, picom etc.) Then, just run this:

cd .config/
mv bspwm/ bspwm.bak/ # only if you already have a bspwm configuration
git clone https://github.com/begbaj/gwyn.git
mv gwyn/ bspwm/

and then run bspwm.


Structure

Note: This structure is not yet implemented.

The BSPWM configuration folder will follow this layout:

BSPWM/
  ├── bin/
  │   ├── loader.sh                  # Theme loader
  │   └── loadlogic/                 # Logic modules defining how components are applied
  │       └── <function-component>.sh
  │
  ├── globals/                       # Shared configurations (fonts, colors, constants)
  │   └── <component-global>.sh
  │
  ├── themes/                        # Individual theme definitions
  │   ├── .build/                    # Builded configurations currently used by current theme
  │   └── <theme-name>/
  │       ├── config.sh              # Core theme configuration (colors, wallpaper, etc.)
  │       ├── dunst/                 # Component-specific configs
  │       ├── polybar/
  │       └── rofi/
  │
  └── bspwmrc                        # Main BSPWM configuration entry point

Example theme structure

islands/
  ├── config.sh
  ├── dunst/
  ├── polybar/
  ├── bspwm/
  └── rofi/

Notice

Commit messages may sometimes be uninformative. Development moves quickly, and detailed commit messages are not always the focus at this stage.


Todo

  • Refactor and clean up existing code
  • [-] Implement full modular structure
  • [-] General improvements and optimizations

Releases

No releases published

Packages

 
 
 

Contributors