feature: style update, waybar update, funny fastfetch update and other fixes
This commit is contained in:
@@ -0,0 +1,289 @@
|
||||
# Beesquit dotfiles (Hyprland + Neovim + Archlinux)
|
||||
These dotfiles are the full hyprland config with all the main parts configured. I find the keybinds and workflow with those quite comfortable and easy to understand and use.
|
||||
|
||||
[Screenshots to add]
|
||||
|
||||
|
||||
# Table of contents
|
||||
- [Components](#Components)
|
||||
- [Palette](#Palette)
|
||||
- [Features](#Features)
|
||||
- [Keybinds](#Keybinds)
|
||||
- [Issues](#Issues)
|
||||
- [Setup](#Setup)
|
||||
- [Configuration](#Configuration)
|
||||
- [Extra](#Extra)
|
||||
|
||||
|
||||
# Components
|
||||
| Component | Purpose | Config location | Notes |
|
||||
|-----------|-----------------------|-------------------------------------|--------------------------------------------|
|
||||
| hyprland | Window manager | ~/.config/hypr/ | Dwindle layout. Luafication in progress |
|
||||
| waybar | Bottom panel | ~/.config/waybar/ | Requires en_GB locale installed |
|
||||
| rofi | Universal selector | ~/.config/rofi/ | Acts as a selector in different cases |
|
||||
| dunst | Notification daemon | ~/.config/dunst/ | Scripts are laying with hyprland config |
|
||||
| awww | Wallpaper manager | ~/.config/hypr/ | Configured with hypland config |
|
||||
| hyprlock | Lockscreen manager | ~/.config/hypr/hyprlock.conf | Wallpaper configured with hyprland |
|
||||
| hypridle | Idle daemon | ~/.config/hypr/hypridle.conf | Just handles idling |
|
||||
| kitty | Terminal emulator | ~/.config/kitty/ | The ctrl+v is bound to the "paste" action |
|
||||
| thunar | GUI file manager | No special config | GTK theme "Colloid-Transparent-Dracula" |
|
||||
| neovim | Text/code editor | ~/.config/nvim/ | Powered by Lazyvim and stylized as an IDE |
|
||||
| yazi | Terminal file manager | ~/.config/yazi | More vim-like hotkey styling |
|
||||
| fastfetch | System fetcher | ~/.config/fastfetch | Supports different custom logos for any os |
|
||||
| bash | Shell | ~/.config/bash (or ~/.bash_profile) | Bash doesn't have zsh autocomplete I hate |
|
||||
| yadm | Dotfiles manager | No special config | Better alternative to chezmoi |
|
||||
|
||||
|
||||
# Palette
|
||||
You can find the full colors document at the `~/.config/hypr/docs/colors.md`. Most colors are based of the Jinx and Violet hair colors from the "Arcane" animated series:
|
||||
```hex
|
||||
Jinx Blue: #0661b4
|
||||
Vi Red: #a9124d
|
||||
```
|
||||
|
||||
And the most-used colors are the brighter shades of those:
|
||||
```hex
|
||||
Blue: #6aa0d2
|
||||
Red: #cb7194
|
||||
```
|
||||
|
||||
|
||||
# Features
|
||||
## Bash
|
||||
- Loooots of aliases
|
||||
- Simple yet useful prompt
|
||||
- Immediate and infinite history saving
|
||||
- Zoxide, pyenv and some other utilities integration
|
||||
|
||||
## Hyprland
|
||||
- Gnome styled workspace switching
|
||||
- Keyboard controls
|
||||
- Dwindle styled splitting
|
||||
- JetBrainsMono Nerd font
|
||||
|
||||
## Rofi
|
||||
- The app selector
|
||||
- The network-manager wrapper as well as VPN manager (supports sing-box, wireguard, netbird)
|
||||
- Clipboard manager
|
||||
|
||||
## Waybar
|
||||
- Icon to show current workspace number
|
||||
- The "caffeine" button to suppress hypridle sleeping.
|
||||
- The "projector" button to prevent laptop from sleeping when closing the lid.
|
||||
- Currently playing song integration
|
||||
- Calendar on hover over current time
|
||||
|
||||
## Kitty
|
||||
- Transparent background
|
||||
- Catppuccin-Mocha theme
|
||||
- Cursor trailing
|
||||
- `ctrl+v` bound to the paste action
|
||||
- Additional mouse buttons support
|
||||
|
||||
## Neovim
|
||||
- IDE-like environment
|
||||
- System clipboard
|
||||
- Commands `:qa`, `:wqa`, `:w` can now be written from upper case (like `:Qa`, `:WQA`)
|
||||
|
||||
## Yazi
|
||||
- More vim-like binds
|
||||
- Smart pasting
|
||||
|
||||
|
||||
# Keybinds
|
||||
## Notes
|
||||
- The meta key is the same key as the "Windows" key on windows or "Command" key on macOS or "Super" on some linuxes.
|
||||
- All the "hjkl" binds should also work with "arrow" keys.
|
||||
- You can also use some mouse binds for to interact with hyprland
|
||||
|
||||
## The hyprland keybinds:
|
||||
### Navigation
|
||||
|
||||
| Combination | Action |
|
||||
|---------------------|---------------------------------------------------------------------|
|
||||
| meta+a/d | Move to closest existing workspace on left/right |
|
||||
| meta+ctrl+a/d | Move 1 workspace to the left/right |
|
||||
| meta+shift+a/d | Move focused window to the closest existing workspace on left/right |
|
||||
| meta+ctrl+shift+a/d | Move focused window 1 workspace to the left/right |
|
||||
| meta+hjkl | Focus on window to the left/down/up/right |
|
||||
| meta+shift+hjkl | Move focused window to the left/down/up/right |
|
||||
| meta+ctrl+hjkl | Make focused window bigger on the left/down/up/right |
|
||||
| meta+f | Toggle focused window maximize mode |
|
||||
| meta+shift+f | Toggle focused window fullscreen mode |
|
||||
| meta+t | Toggle split layout for window groups |
|
||||
| meta+shift+t | Swap tiled window groups |
|
||||
| meta+p | Toggle focused window pseudo tiling |
|
||||
| meta+shift+p | Toggle focused window floating mode |
|
||||
| meta+tab | Swap workspaces between monitors |
|
||||
| alt+tab | Cycle between windows |
|
||||
| meta+0 | Focus on monitor start workspace (usually 100) |
|
||||
| alt+shift/shift+alt | Change keyboard layout |
|
||||
|
||||
### General
|
||||
|
||||
| Combination | Action |
|
||||
|---------------------|---------------------------------------------------------------------|
|
||||
| meta+F1 | Toggle performance mode (disables blur, shadows, etc) |
|
||||
| meta+q | Open terminal (kitty) |
|
||||
| meta+e | Open thunar file manager |
|
||||
| meta+r | Open rofi app manager |
|
||||
| meta+shift+r | Open rofi network manager |
|
||||
| meta+v | Open rofi clipboard manger |
|
||||
| meta+s | Open hyprpicker |
|
||||
| meta+shift+s | Make partial screenshot |
|
||||
| meta+c | Clear dunst notifications |
|
||||
| meta+`(backtick) | Lock session with hyprlock |
|
||||
| meta+w | Toggle waybar |
|
||||
| meta+shift+w | Toggle quickshell |
|
||||
| meta+shift+c | Kill focused window |
|
||||
| meta+shift+m | Exit Hyprland |
|
||||
|
||||
### Neovim
|
||||
|
||||
| Combination | Action |
|
||||
|---------------------|---------------------------------------------------------------------|
|
||||
| ctrl+hjkl | Focus on window to the left/down/up/right |
|
||||
| F2 | Toggle neotree |
|
||||
| space+f+g | Show telescope live-grep menu |
|
||||
| space+h | Show harpoon menu |
|
||||
| space+a | Add current file to harpoon |
|
||||
| space+l | Remove current file to harpoon |
|
||||
| space+shift+l | Clear all harpoon marks |
|
||||
| shift+h/l | Switch to next/previous harpoon mark |
|
||||
| F3 | Copy path to the current file |
|
||||
| F4 | Copy current file filename |
|
||||
| shift+\ | Comment out active line |
|
||||
| ' (apostrophe) | Play "q" macros (same as `@q`) |
|
||||
| ctrl+o | Go back |
|
||||
| ctrl+shift+i | Go forward |
|
||||
| gd | Go to definition |
|
||||
| space+e | Paste shell command output |
|
||||
| space+w | Delete all trailing spaces in the current file |
|
||||
| @+/ | Clear search |
|
||||
| shift+c (neotree) | Convert file into directory with the same name |
|
||||
| shift+f (neotree) | Toggle hidden files |
|
||||
| h/l (neotree) | Open/close node |
|
||||
|
||||
### Yazi
|
||||
|
||||
| Combination | Action |
|
||||
|---------------------|---------------------------------------------------------------------|
|
||||
| :+q+enter | Exit yazi |
|
||||
| :+q+a+enter | Exit yazi |
|
||||
| ; | Open shell |
|
||||
| gr | Go to / |
|
||||
| ge | Go to /etc |
|
||||
| gu | Go to /usr |
|
||||
| gv | Go to /var |
|
||||
| ga | Go to /run/media/$USER |
|
||||
| gc | Go to ~/.config |
|
||||
| gd | Go to ~/Downloads |
|
||||
| gp | Go to ~/Pictures |
|
||||
| shift+v | Select files |
|
||||
| shift+f | Maxize preview pane |
|
||||
|
||||
### Multimedia
|
||||
Default multimedia keys are bound to the actions they are considered to do.
|
||||
|
||||
|
||||
# Issues
|
||||
- The config is partially legacy. Some parts need rewriting to `lua`
|
||||
- The "focus on start workspace" always uses workspace number 100 on any monitor
|
||||
- Notifications are often showed on wrong display
|
||||
- Neovim sometimes triggers warnings for no reason
|
||||
- No simple wallpaper selector present
|
||||
- Waybar can sometimes fail to update charging status
|
||||
- Waybar looks bad on desktop (without brightness and battery)
|
||||
- Brightness changing is not available for hdmi, dp, etc connected displays
|
||||
- Fastfetch shows the run script instead of the users shell
|
||||
- Uwsm can be phased out
|
||||
|
||||
|
||||
# Setup
|
||||
## WARNING!
|
||||
The config setup script will overwrite the dotfiles for some programs!
|
||||
|
||||
Please backup your config first!
|
||||
|
||||
## Quick guide
|
||||
To install the base config run following commands:
|
||||
```sh
|
||||
sudo pacman -S --noconfirm --needed git
|
||||
git clone https://git.frik.su/beesquit/dotfiles
|
||||
./dotfiles/config-scripts/install-config.sh
|
||||
```
|
||||
|
||||
## Details
|
||||
The base installation script creates basic directory structure, bash "edit config" dir, installs the packages, imports dotfiles and sets some default apps.
|
||||
|
||||
The bash installation script is located at the:
|
||||
```sh
|
||||
~/config-scripts/install-config.sh
|
||||
```
|
||||
|
||||
You can also then install yay with this script:
|
||||
```sh
|
||||
~/config-scripts/install-yay.sh
|
||||
```
|
||||
|
||||
If you are using this config on the desktop (and especially if you are planning to play games) - you can use one more script to install software pack I find useful for this scenario:
|
||||
```sh
|
||||
~/config-scripts/install-additional.sh
|
||||
```
|
||||
|
||||
Keep in mind that gnome styled workspace switching "gnome style" is achieved by the use of the `hyprnome` package which is available in the `AUR`. It is installed in the "additional" script, but you can also install it manually
|
||||
```sh
|
||||
yay -S --needed --noconfirm hyprnome
|
||||
```
|
||||
|
||||
## Installed packages list
|
||||
### Base/system packages
|
||||
- **General**: `git`, `base-devel`, `less`, `jq`, `inetutils`, `python`, `bash`, `zoxide`, `yadm`
|
||||
- **Hyprland&core**: `hyprland`, `uwsm`, `brightnessctl`, `wl-clipboard`
|
||||
- **XDG Portals**: `xdg-desktop-portal-hyprland`, `xdg-desktop-portal`, `xdg-desktop-portal-gtk`, `xdg-desktop-portal-wlr`
|
||||
|
||||
### UI/Graphics
|
||||
- **Launchers&bars**: `rofi`, `waybar`, `dunst`
|
||||
- **Idle&lock**: `hypridle`, `hyprlock`
|
||||
- **Wallpaper&color**: `awww`, `hyprpicker`
|
||||
- **Screenshots**: `grim`, `slurp`
|
||||
- **Font**: `ttf-jetbrains-mono-nerd`
|
||||
- **GTK settings**: `nwg-look`
|
||||
|
||||
### Terminal & editors
|
||||
- **Terminal**: `kitty`
|
||||
- **File managers**: `yazi`, `thunar` + plugins, `gvfs` + all backends (mtp, afc, nfs, smb, goa, wsdd, dnssd, gphoto2)
|
||||
- **Editors**: `neovim`, `vi`, `vim`, `nano`
|
||||
- **Editors additions**: `tree-sitter-cli`, `ripgrep`, `fzf`
|
||||
|
||||
### Utilities
|
||||
- **Tools**: `nmap`, `btop`
|
||||
- **Fun**: `fastfetch`, `cowsay`
|
||||
|
||||
### Additional (optional user apps)
|
||||
- **Net**: `wireguard-tools`, `netbird-bin`
|
||||
- **Audio**: `pavucontrol`, `pamixer`
|
||||
- **Different apps**: `firefox`, `telegram`, `qbittorrent`, `opencode`
|
||||
- **Media**: `spotify`, `gimp`, `obs-studio`
|
||||
- **Office**: `obsidian-bin`, `libreoffice-fresh`
|
||||
- **DM**: `sddm`
|
||||
- **Helpers**: `hyprnome`, `git-credential-manager-bin`
|
||||
|
||||
### Optional (gaming)
|
||||
- **Apps**: `discord`
|
||||
- **Launchers**: `steam`, `prismlauncher`
|
||||
- **Libs**: `wine`
|
||||
|
||||
|
||||
# Configuration
|
||||
The hyprland config has "arbitrary_settings.conf" file in which you can set wallpaper for desktop and lockscreen, set bluring for lockscreen and toggle "gnome" styled workspace switching.
|
||||
|
||||
Other than that the configs are pretty plain and easy to change.
|
||||
|
||||
|
||||
# Tricks used in the config
|
||||
## Features
|
||||
- Gnome-styled workspace switching - skips empty workspaces between workspaces with opened windows. It is implemented with a `hyprnome` package and is ignored if the package is not present
|
||||
- You can switch between modes on the host using `mode-local` and `mode-remote`. It toggles OSC-52 profile and some more features making the workflow via ssh to that host more comfortable and integrated
|
||||
- You can manage additional aliases using `aliasm`, `aliasd`, `aliasr`, `aliass` commands
|
||||
- Projector key at the waybar is implemented using `systemd-inhibit`. Allows the laptop to not go to sleep on the lid close. It does not inhibit sleeping due to the idle timeout - for that you can use the `caffeine` button which inhibits the idle sleeping
|
||||
|
||||
Reference in New Issue
Block a user