Retrilz's Dotfiles


General

Hyprlock

Terminals

GTK & Qt

【 πŸ‡¬πŸ‡§ English 】 【 πŸ‡·πŸ‡Ί Русский 】

Last README modification
# Navigation - [Installation](#installation) - [Detailed overview](#detailed-overview) - [Dependencies](#dependencies) - required packages. - [Hyprland](#hyprland) - dynamic tiling Wayland compositor. - [Keybinds](#keybinds) - all key combinations. - [Icons](#icons) - icon pack. - [Cursor](#cursor) - cursor theme. - [Fonts](#fonts) - font installation. - [Hypridle](#hypridle) - idle behavior. - [Hyprlock](#hyprlock) - lock screen. - [Waybar](#waybar) - Wayland bar. - [Vicinae](#vicinae) - focused launcher. - [Wlogout](#wlogout) - logout menu. - [Terminal](#terminal) - terminal settings. - [Nwg-look](#nwg-look) - GTK settings. - [Qt](#qt) - Qt settings. - [Swaync](#swaync) - notifications. - [Waypaper](#waypaper) - GUI for easy wallpaper management. - [Wallpapers](#wallpapers) - collection of wallpapers. - [Fastfetch](#fastfetch) - show off your Linux. > [!WARNING] > My configs are not designed for universal use and are not 100% automated, so they may require manual adjustments. I do not guarantee the correct operation of the configs or software on your system. # Installation > [!NOTE] > You must have a working Hyprland before installation. > [!IMPORTANT] > The installation script has only been tested on **Arch Linux**. 0. System update: ``` sudo pacman -Syu ``` 1. Run the [installation script](./Scripts/install.sh): ``` curl -fsSL https://revaks-git.duckdns.org/revaks/dotfiles/raw/branch/main/Scripts/install.sh | bash ``` - Installs the [necessary packages](#dependencies). - Clones this repository to `~/dotfiles`. - Creates a backup of your configs in `~/.config-backups/$date_time`. - Applies the new configs from this repository. ## After installation Actions you probably want to do. **General:** - Add your wallpapers to `~/Pictures/Wallpapers`. - Run `p10k configure` to configure the terminal theme. - Remove unnecessary Zsh plugins for you in `~/.zshrc`: ```zsh plugins=(...) ``` **PC users:** - Disable the `custom/backlight` Waybar module in `~/.config/waybar/config.jsonc`. ## Restoring config backup ``` ~/dotfiles/Scripts/restore.sh ``` # Detailed overview ## Dependencies Packages installed by [`install.sh`](./Scripts/install.sh).
System and interface | Package | Description | | :--------- | :--------------------------- | | `hyprlock` | Lock screen | | `hypridle` | Idle management daemon | | `hyprshot` | Screenshot tool | | `kitty` | Terminal emulator | | `nwg-look` | GTK theme configuration tool | | `swaync` | Notification center | | `vicinae` | Native launcher | | `waybar` | Wayland status bar | | `waypaper` | Wallpaper manager | | `wlogout` | Logout menu | | `awww` | Wallpaper daemon | | `zsh` | Command shell |
Utilities and tools | Package | Description | | :----------------------- | :------------------------------- | | `base-devel` | Development tools for AUR builds | | `brightnessctl` | Brightness control | | `fastfetch` | System information viewer | | `git` | Version control system | | `gpu-screen-recorder` | GPU-accelerated screen recorder | | `grim` | Wayland screenshot tool | | `gnome-keyring` | Stores encryption keys | | `imagemagick` | Image manipulation tools | | `lsd` | `ls` alternative with icons | | `nautilus` | File manager | | `network-manager-applet` | Network management tray applet | | `pavucontrol` | PulseAudio volume control | | `playerctl` | Media player control | | `satty` | Screenshot tool | | `trash-cli` | Command-line trash utility | | `uwsm` | Wayland session manager | | `wl-clip-persist` | Clipboard persistence | | `wl-clipboard` | Wayland clipboard utilities | | `yay` | AUR helper |
Networking, audio and portals | Package | Description | | :---------------------------- | :----------------------------- | | `bluez` | Bluetooth stack | | `blueman` | Bluetooth manager | | `networkmanager` | Network connection manager | | `pipewire` | Audio and video server | | `pipewire-alsa` | ALSA compatibility layer | | `pipewire-pulse` | PulseAudio compatibility layer | | `polkit-gnome` | PolicyKit authentication agent | | `xdg-desktop-portal` | Desktop portal service | | `xdg-desktop-portal-gtk` | GTK portal backend | | `xdg-desktop-portal-hyprland` | Hyprland portal backend | | `xdg-desktop-portal-wlr` | wlroots portal backend | | `xdg-utils` | XDG integration utilities |
Appearance and themes | Package | Description | | :------------------------ | :---------------------------------- | | `adw-gtk-theme` | Adwaita theme for GTK | | `darkly-bin` | Qt5/Qt6 dark theme | | `frameworkintegration` | KDE workspace integration framework | | `inter-font` | Inter font family | | `matugen-bin` | Generate themes from wallpapers | | `noto-fonts` | Noto font family | | `noto-fonts-cjk` | Noto fonts for CJK languages | | `noto-fonts-emoji` | Noto emoji fonts | | `noto-fonts-extra` | Additional Noto fonts | | `papirus-icon-theme` | Papirus icon theme | | `qt5ct-kde` | Qt5 theme configuration | | `qt6ct-kde` | Qt6 theme configuration | | `ttf-jetbrains-mono-nerd` | JetBrains Mono with Nerd glyphs |
## Hyprland Dynamic tiling Wayland compositor. - [[General](./Configs/.config/hypr/hyprland/general.conf)] - [[Autostart](./Configs/.config/hypr/hyprland/autostart.conf)] - [[Keybindings](./Configs/.config/hypr/hyprland/keybindings.conf)] - [[Monitor configuration](./Configs/.config/hypr/hyprland/monitors.conf)] - [[Window and workspace rules](./Configs/.config/hypr/hyprland/rules.conf)] ## Keybinds
Application launch | Keys | Action | | :------------------------------------------------- | :------------------------------------ | | Super + W | Terminal (Kitty) | | Super + Shift + W | Terminal in floating mode | | Super + R | Application menu (Vicinae) | | Super + E | File manager (Nautilus) | | Super + C | Code editor (VSCodium\*) | | Super + B | Browser (Brave\*) | | Super + K | Password manager (KeePassXC\*) | | Super + V | Clipboard (Vicinae Clipboard) | | Super + N | Notification center (SwayNC) | | Super + Shift + E | Emoji menu (Vicinae Emoji) | | Super + Shift + P | Wallpaper selector (Vicinae + Script) | \*VSCodium, Brave, KeePassXC - are NOT installed automatically by the [installation script](./Scripts/install.sh).
Window interaction | Keys | Action | | :-------------------------------------------------------- | :---------------------------------- | | Super + Shift + Q | Close active window | | F11 | Fullscreen | | Super + A | Maximize active window | | Super + F | Toggle window to "float" mode | | Super + Shift + A | Switch to pseudo-tiling mode | | Super + S | Pin window on top of all workspaces | | Super + D | Toggle window split mode | | Alt + Tab | Switch to the next window | | Super + Arrows | Move focus between windows | | Super + Control + Arrows | Resize active window | | Super + Shift + Arrows | Move windows | | Super + LMB | Move windows with the mouse | | Super + RMB | Resize windows with the mouse |
Workspaces | Keys | Action | | :----------------------------------------------------- | :--------------------------------- | | Super + [0-9] | Switch between workspaces 1 to 10 | | Super + Shift + [0-9] | Move window to workspace 1 to 10 | | Super + Tab | Switch to a special workspace | | Super + Shift + Tab | Move window to a special workspace |
Screen/power management | Keys | Action | | :----------------------------------------------- | :--------------------------- | | Super + L | Lock screen | | Super + Alt + D | Turn display on/off | | Super + Alt + S | Lock screen and put to sleep |
Screenshots | Keys | Action | | :------------------------------------------------- | :----------------------------------------------------------------- | | Print | Screenshot of the entire screen | | Shift + Print | Screenshot of the selected area | | Super + Shift + S | Satty (screenshot annotation tool) | | Super + Print | Screenshot and auto upload to [Zipline](https://zipline.diced.sh/) |
Other | Keys | Action | | :------------------------------------------------- | :------------------------------------------------------- | | Super + Escape | Hide/show Waybar | | Super +Alt + P | Random background + Generate theme (matugen) | | Super + Shift + R | Start/stop recording a screen area (gpu-screen-recorder) | | Super + H | Toggle windows and layers visibility on screen share | | Super + M | Mute/unmute microphone | | Super + Z | Zoom in | | Super + Mouse wheel | Zoom in/out | | Super + Shift + Z | Reset zoom |
## Icons https://github.com/PapirusDevelopmentTeam/papirus-icon-theme ``` sudo pacman -S papirus-icon-theme ``` ## Cursor https://github.com/ful1e5/Bibata_Cursor The [installation script](./Scripts/install.sh) installs the [`Bibata-Modern-Classic`](https://github.com/ful1e5/Bibata_Cursor/releases/tag/v2.0.7) cursor theme. ``` mkdir -p /tmp/bibata curl -L https://github.com/ful1e5/Bibata_Cursor/releases/download/v2.0.7/Bibata-Modern-Classic.tar.xz -o /tmp/bibata/bibata.tar.xz tar -xf /tmp/bibata/bibata.tar.xz -C /tmp/bibata sudo cp -r /tmp/bibata/Bibata-Modern-Classic /usr/share/icons/ ``` ## Fonts - [Noto](https://www.google.com/get/noto/) - all languages + emoji + special characters: ``` sudo pacman -S noto-fonts noto-fonts-emoji noto-fonts-cjk noto-fonts-extra ``` - [JetBrains Mono Nerd](https://www.jetbrains.com/lp/mono/) for [Waybar](#waybar) and [Kitty](#terminal): ``` sudo pacman -S ttf-jetbrains-mono-nerd ``` - [Inter](https://rsms.me/inter/) required font for [Hyprlock](#hyprlock): ``` sudo pacman -S inter-font ``` ## Hypridle Idle behavior. [[config](./Configs/.config/hypr/hypridle.conf)] https://wiki.hypr.land/Hypr-Ecosystem/hypridle | https://github.com/hyprwm/hypridle ``` sudo pacman -S hypridle ``` | Action | Timeout | | -------------------- | ------- | | Brightness reduction | 10 min. | | Notification | 13 min. | | Session lock | 15 min. | | Screen off | 16 min. | | Sleep mode | 18 min. | ## Hyprlock Lock screen. [[config](./Configs/.config/hypr/hyprlock.conf)] https://github.com/hyprwm/hyprlock ``` sudo pacman -S hyprlock ``` ## Waybar Wayland bar. [[config](./Configs/.config/waybar/)] https://github.com/Alexays/Waybar ``` sudo pacman -S waybar ``` ## Vicinae Focused launcher. [[config](./Configs/.config/vicinae/)] https://github.com/vicinaehq/vicinae ``` yay -S vicinae-bin ``` ## Wlogout Logout menu. [[config](./Configs/.config/wlogout/)] https://github.com/ArtsyMacaw/wlogout ``` yay -S wlogout ```
Screenshot ![Screenshot](https://share.rzx.ovh/go/rdots-wlogout)
## Terminal Terminal emulator - [Kitty](https://sw.kovidgoyal.net/kitty) [[config](./Configs/.config/kitty/)] Shell - [Zsh](https://www.zsh.org/) [[config](./Configs/.zshrc)] Extension for Zsh - [Oh My Zsh](https://github.com/ohmyzsh/ohmyzsh) Theme - [powerlevel10k](https://github.com/romkatv/powerlevel10k) [[config](./Configs/.p10k.zsh)]
Kitty keybinds
Window and tab management | Keys | Action | | :---------------------------------------------- | :------------------------------------- | | Ctrl + A > X | Close active window | | Ctrl + Q | Close kitty window | | Ctrl + A > ] | Next window | | Ctrl + A > [ | Previous window | | Ctrl + A > . | Move window forward | | Ctrl + A > , | Move window back | | Ctrl + A > C | Create a new tab in the same directory | | Ctrl + A > 1-9 | Go to tab 1-9 | | Ctrl + A > 0 | Go to tab 10 | | Ctrl + A > , | Set tab title | | F11 | Fullscreen mode |
Window splitting | Keys | Action | | :---------------------------------------------------------------- | :-------------------------------------------- | | Ctrl + Shift + T | Create a new window with horizontal splitting | | Ctrl + A > - | Horizontal splitting in the current directory | | Ctrl + A > Shift + - | Horizontal splitting | | Ctrl + A > \| | Vertical splitting in the current directory | | Ctrl + A > Shift + \| | Vertical splitting | | F4 | Split window | | F7 | Rotate window layout |
Movement and focus | Keys | Action | | :---------------------------------------------------------------------------- | :------------------------------- | | Shift + ↑ | Move window up | | Shift + ↓ | Move window down | | Shift + ← | Move window left | | Shift + β†’ | Move window right | | Alt + ↑ / Ctrl + A > K | Focus on the window above | | Alt + ↓ / Ctrl + A > J | Focus on the window below | | Alt + ← / Ctrl + A > H | Focus on the window to the left | | Alt + β†’ / Ctrl + A > L | Focus on the window to the right | | Ctrl + A > Q | Focus on a visible window |
Resizing windows | Keys | Action | | :-------------------------------------------- | :------------------------ | | Alt + N | Make window narrower | | Alt + W | Make window wider | | Alt + U | Make window taller | | Alt + D | Make window shorter | | Ctrl + Home | Reset window size | | Ctrl + A > Z | Zoom in/out window (zoom) |
Font | Keys | Action | | :-------------------------------------------------------------- | :----------------- | | Ctrl + = / Ctrl + + | Increase font size | | Ctrl + - | Decrease font size | | Ctrl + 0 | Reset font size |
Miscellaneous | Keys | Action | | :--------------------------------------------------------------- | :--------------------------- | | Ctrl + A > Shift + E | Edit kitty.conf in a new tab | | Ctrl + A > Shift + R | Reload kitty configuration | | Ctrl + A > Shift + D | Debug configuration | | Ctrl + A > Space | Hints mode | | F3 | Hints mode for everything | | Ctrl + A > Ctrl + A | Send ^A (as in tmux) | | Ctrl + A > T | Select theme | | Ctrl + A > S | Save session |
Installing Kitty and Zsh: ``` sudo pacman -S kitty zsh ``` Changing the shell: ``` chsh -s $(which zsh) ``` Installing Oh My Zsh: ``` sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" ``` Installing the powerlevel10k theme: ``` git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k ``` Installing plugins for zsh via Oh My Zsh: - [zsh-syntax-highlighting](https://github.com/zsh-users/zsh-syntax-highlighting): ``` git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting ``` - [zsh-autosuggestions](https://github.com/zsh-users/zsh-autosuggestions): ``` git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions ``` Installing [lsd](https://github.com/lsd-rs/lsd) (ls replacement): ``` sudo pacman -S lsd ``` ## Nwg-look GTK settings. [[config](./Configs/.config/nwg-look/)] https://github.com/nwg-piotr/nwg-look https://github.com/lassekongo83/adw-gtk3 ``` sudo pacman -S nwg-look adw-gtk-theme ``` ``` gsettings set org.gnome.desktop.interface gtk-theme 'adw-gtk3-dark' && gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark' ``` ## Qt Qt6 settings. [[config](./Configs/.config/qt6ct/)] Qt5 settings. [[config](./Configs/.config/qt5ct/)] https://aur.archlinux.org/packages/qt6ct-kde https://aur.archlinux.org/packages/qt5ct-kde https://github.com/Bali10050/Darkly ``` yay -S qt6cd-kde qt5ct-kde darkly-qt5-git darkly-qt6-git ``` ## SwayNC Notifications. [[config](./Configs/.config/swaync/)] https://github.com/ErikReider/SwayNotificationCenter ``` sudo pacman -S swaync ``` ## Waypaper GUI for easy wallpaper management. https://github.com/anufrievroman/waypaper ``` yay -S waypaper ``` For static images and gifs (required): ``` sudo pacman -S awww ``` For videos (optional): ``` yay -S mpvpaper ``` ### Wallpapers - [Matugen](https://revaks-git.duckdns.org/revaks/wallpapers) - [Monochrome](https://share.rzx.ovh/folder/cm8q1lxwp000mln01qsqbpb7f) ## Fastfetch Show off your linux [[config](./Configs/.config/fastfetch/)] https://github.com/fastfetch-cli/fastfetch ``` sudo pacman -S fastfetch ```