niksingh710 / gdots

The Graphical Interface that i Like to interact with. [Hyprland+Waybar+Much tools].
79 stars 3 forks source link
dotfiles dots hypr-dots hyprland hyprland-config hyprland-dots scripts waybar waybar-config waybar-scripts

![image](https://github.com/niksingh710/gdots/assets/60490474/d8c152e5-8f4e-4b78-a386-31531584881f)


These are my dot files for Graphical Instance on my system.
I use **[Arch Linux](https://archlinux.org)** as My main OS and **[Hyprland](https://hyprland.org)** as my window manager.
The configuration is highly dependent on **[pywal](https://github.com/dylanaraps/pywal)** i prefer a fork for 16-base colors **[pywal16](https://github.com/eylles/pywal16)**
![GitHub repo size](https://img.shields.io/github/repo-size/niksingh710/gdots) ![GitHub Org's stars](https://img.shields.io/github/stars/niksingh710%2Fgdots) ![GitHub forks](https://img.shields.io/github/forks/niksingh710/gdots) ![GitHub last commit](https://img.shields.io/github/last-commit/niksingh710/gdots)

General Read **If you are Reading this, you are probably interested in my dotfiles.
I have a few things to say before you start using them.** > *I use autologin via `~/.zprofile`* ```zsh # Ensures me getting auto logged in into Hyprland check() { command -v "$1" &>/dev/null } check center-align && { echo "$USER" | center-align } check Hyprland && { pgrep -x Hyprland &>/dev/null || Hyprland &>/dev/null } || { echo "Hyprland Not found will not launch it as GUI instance" } ```
> **GTK**: adw-gtk3 (gradience for colors) **KDE/QT**: Kvantum (pywal theme)
> [nwg-look-bin,qt6ct]

- *Wal**: My most of the colors are generated from `pywal16` i have added templates but if you want to look at a generated file for reference, You can find that at `extra/wal` this is in the same format as it will be generated inside `~/.cache/wal`. It has been generated using image below ![wall_secondary](https://github.com/niksingh710/gdots/assets/60490474/7e9a9661-6bd5-4aa5-a552-7c793781d2f6) - **Stow** : Stow is the tool i prefer to manage my dot files (i use `xstow` to be exact but it shouldn't matter). ```bash stow ./dir -t ``` e.g ```bash stow .config -t ~/.config ``` Will create softlinks to all the dir inside repos `.config` to `~/.config/` - **Pywal** : As i have mentioned earlier i use a pywal fork. It provides a 16 base color scheme. **pywal16** provides `.lighten(val%)` and `.darken(val%)` to lighten or darken the colors. I use them in my templates so normal `pywal` won't work here. ```bash wal -a 92 --cols16 darken --recursive -i ./path/to/wallpaper/or/dir -o after-wal ``` You can check about `wal` command args by doing `wal --help` I want to grab your attention here for the `after-wal` script. - **after-wal** : This will be executed after wal command is executed.
The `wal` command will generate all the color schemes from the `~/.config/wal/templates/` dir and place them in `~/.cache/wal`.
It is the after wal command that places the color schemes in the right place and does the right thing.
e.g - It copies `colors-waybar.css` to `~/.config/waybar/colors.css` (this file is in .gitignore) - It copies kvantum theme with a name of `pywal` also takes care for dir creation. - It copies gradience theme with a name of `pywal` also takes care for dir creation. - It copies background image for firefox to `~/.mozilla/firefox/xxxx.default/chrome/`
This is acheived by placing a `bg` named file in the `mozilla` dir and then finding the file by using `fd` command and placing `wallpaper.png` to that dir - It generates a blurred version fo the wallpaper with name `~/.cache/wal-blurr.png` After executing stow you will find this command in you `~/.local/bin` dir.

Prerequisites

[!Note] Tools that are required to get the config working.
You can prefer -git version of the packages if something is not working.

Required:
yay -S hyprland hyprlock hypridle hyprpicker xdg-desktop-portal-hyprland hyprshade \
  gradience waybar rofi-lbonn-wayland-git libnotify swaync \
  jq slurp grim grimblast-git hyprland-scratchpad-git xstow firefox firefox-pwa-bin \
  foot unzip unrar nwg-look-bin qt6ct kvantum zathura vimiv networkmanager bluez-utils \
  brightnessctl pipewire pipewire-pulse batify

[!Note] For hyrshade check out their documentation for -> hyprshade For batify check out their documentation for -> batify

Optional but Recommended
yay -S udiskie geoclue android-udev android-tools scrcpy networkmanager-dmenu-git kdeconnect mpv

[!Note] Mako can be used as all configuration regarding pywal and waybar DND is available in the config. Currently i am using swaync but i keep switching between mako and swaync.

Setup

git clone -b master --single-branch https://github.com/niksingh710/gdots.git ~/.gdots
cd ~/.gdots
xstow .config -t ~/.config
xstow bin -t ~/.local/bin

Previews

image

image image

Window opacty can be toggled using Super+Shift+O

More Previews

Waybar

Waybar uses many scripts those should be available in ~/.local/bin and waybar specific scripts are available in bin dir of waybar.

Waybar get's colors from a css file that get's copied there by after-wal

I have a keybind in my config that toggles it. Super+b -> killall -SIGUSR1 waybar

Waybar get's started by a script ~/.local/bin/bar.sh that switches it's output based on connected monitors.

image image
More Previews | | Update Tooltip Preview ![image](https://github.com/niksingh710/gdots/assets/60490474/b55509a2-3cb2-4e32-9e73-62503689b2cf) | | --------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |

Firefox

The Firefox theme i use is ShyFox. Checkout the documentation for the setup. I have the current state of my theme in my extra/chrome.shyfox dir. The theme is so nice that it has floating tabs url bar and much more. (Check further preview)

Keymaps i have setted up With my setup in my SideBerry and all of my extensions. e.g:

And Many more. Shortcuts are to be made by personal preference but then also if you feel i should list them or you want my one those are higly likely to be like vim ping on issue.

image

More Previews | ![image](https://github.com/niksingh710/gdots/assets/60490474/6e4671bf-2c02-48a0-b210-471ac5c68944) | ![image](https://github.com/niksingh710/gdots/assets/60490474/58c9449c-0158-4db9-9406-34af8221f51a) | | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | ![image](https://github.com/niksingh710/gdots/assets/60490474/acbc83be-364b-4eea-9d56-5ff72d72ce34)
Rofi | ![image](https://github.com/niksingh710/gdots/assets/60490474/52eddafd-9227-4d99-becc-5942ecd556db) | ![image](https://github.com/niksingh710/gdots/assets/60490474/46531dc3-f76f-499d-ad98-c085e77fbf5b) | | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |

#### [Shell](https://github.com/niksingh710/cli) > [!Note] > Shell is seprate from this repository to keep it working on servers and other Os those are incompatible with this kind of graphical configuration state.