Compare commits
4 Commits
ff25b19b6c
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
4752bed721
|
|||
|
4126c53488
|
|||
|
4dfabb4710
|
|||
|
b8890f7c5e
|
58
README.md
58
README.md
@@ -1,27 +1,44 @@
|
||||
# Simple Hyprland 🌟
|
||||
Welcome to the Simple Hyprland Guide! This repository is designed to help users set up a minimal Hyprland environment on Arch Linux. Although various scripts and configuration files are available elsewhere, they often result in bloated systems with many unused themes and configurations. This guide aims to provide a clear, concise, and minimal setup, allowing users to understand each step and customize their environment to their liking.
|
||||
# simple-hyprland (db123 fork) 🐱
|
||||
|
||||
By the end of this guide, you'll have a clean and functional Hyprland setup like this:
|
||||
**Personalized fork of [gaurav23b/simple-hyprland](https://github.com/gaurav23b/simple-hyprland) — customized for `db123` (Arch Linux, dual GPU, Catppuccin Mocha).**
|
||||
|
||||
| Component | Value |
|
||||
| ---------- | ---------------------------------------------------------- |
|
||||
| Hostname | `db123` |
|
||||
| OS | Arch Linux (rolling) |
|
||||
| CPU | 12th Gen Intel i3-12100 |
|
||||
| GPU | Intel UHD 730 + AMD Radeon RX 580 |
|
||||
| Monitor | HDMI-A-3, 1920x1080@74.97 |
|
||||
| Keyboard | `us,ir` (Win+Space toggle) |
|
||||
| Theme | Catppuccin Mocha (everything) |
|
||||
| Cursor | Bibata-Modern-Ice |
|
||||
| Compositor | Hyprland + plugins (hyprbars, hyprtrails, dynamic-cursors) |
|
||||
| Wallpaper | awww + mpvpaper |
|
||||
| Shell | fish |
|
||||
|
||||
## Quick Installation
|
||||
|
||||
```bash
|
||||
git clone https://git.db123.ir/db123/simple-hyprland.git ~/simple-hyprland
|
||||
cd ~/simple-hyprland/scripts/installer
|
||||
sudo sh install.sh
|
||||
```
|
||||
|
||||
## Screenshots
|
||||
|
||||
<img src="/assets/github_repo/images/final-setup-01.png" alt="final-setup-01">
|
||||
<img src="/assets/github_repo/images/final-setup-02.png" alt="final-setup-02">
|
||||
|
||||
##### Setup Walkthrough 👇 (Click to Play)
|
||||
[](https://www.youtube.com/watch?v=eNJorbKz_-U)
|
||||
## Credits
|
||||
|
||||
## Purpose ✨
|
||||
This guide is intended for:
|
||||
|
||||
**Newcomers transitioning to Hyprland who want to gain knowledge.** 👋 If you're new to Hyprland and looking to understand the ins and outs of setting it up, this guide will take you through the process step-by-step, explaining each component along the way.
|
||||
|
||||
**Users who wish to set up a minimal system their way, knowing what's happening at each step.** 🧠 Rather than relying on scripts that automate the process, this guide empowers you to build your Hyprland environment from the ground up, enabling you to customize and tweak every aspect according to your preferences.
|
||||
|
||||
**Individuals looking to save time by following a structured and efficient setup process.** ⏱️ While many guides and resources are available, they can be scattered and overwhelming. This guide consolidates the essential steps into a streamlined workflow, helping you get up and running with Hyprland quickly and efficiently.
|
||||
Forked from [gaurav23b/simple-hyprland](https://github.com/gaurav23b/simple-hyprland) — original guide author. Thanks to the [Hyprland project](https://github.com/hyprwm/Hyprland), [hyprdots](https://github.com/prasanthrangan/hyprdots), and the Catppuccin community.
|
||||
|
||||
## Getting Started 🚀
|
||||
|
||||
If you're new to this guide, you can start from the [Prerequisites section](docs/prerequisites.md). This document outlines the necessary tools, packages, and assumptions required for a smooth installation and setup process.
|
||||
|
||||
## Documentation 📚
|
||||
|
||||
1. [Prerequisites](docs/prerequisites.md)
|
||||
2. [Core Installation](docs/installation_Hypr.md)
|
||||
3. [Basic Configuration](docs/basic_configuration.md)
|
||||
@@ -30,6 +47,7 @@ If you're new to this guide, you can start from the [Prerequisites section](docs
|
||||
6. [Summary](docs/final.md)
|
||||
|
||||
## Compatibility ⚙️
|
||||
|
||||
While this guide is created with [Arch Linux](https://archlinux.org/) in mind, it can also be helpful for users of other distributions who are familiar with their package management and system tweaking.
|
||||
|
||||
## Quick Installation Script 🚀
|
||||
@@ -46,6 +64,7 @@ While this guide is created with [Arch Linux](https://archlinux.org/) in mind, i
|
||||
```
|
||||
sudo sh install.sh
|
||||
```
|
||||
|
||||
#### Important Notes:
|
||||
|
||||
- This script is user-centric and allows you to choose which components to install (Everything is asked, even for the core).
|
||||
@@ -55,12 +74,12 @@ While this guide is created with [Arch Linux](https://archlinux.org/) in mind, i
|
||||
|
||||
> **Note for Newcomers**: Although this script enables rapid setup, it's highly recommended to read through the documentation for those new to Hyprland. Understanding each step will greatly enhance your ability to customize and troubleshoot your environment.
|
||||
|
||||
|
||||
### Key Bindings 🎹
|
||||
|
||||
After installation, you'll want to familiarize yourself with the default key bindings. Here are some essential shortcuts to get you started:
|
||||
|
||||
#### General
|
||||
|
||||
- `Super + T`: Open the terminal (`$terminal`).
|
||||
- `Super + B`: Open the browser (`$browser`).
|
||||
- `Super + O`: Open notes application (`$notes`).
|
||||
@@ -71,6 +90,7 @@ After installation, you'll want to familiarize yourself with the default key bin
|
||||
- `Super + M`: Exit Hyprland.
|
||||
|
||||
#### Window Management & Workspace Navigation
|
||||
|
||||
- `Super + Q`: Close the active window.
|
||||
- `Super + W`: Toggle floating mode for the active window.
|
||||
- `Super + J`: Toggle split mode in the Dwindle layout.
|
||||
@@ -81,6 +101,7 @@ After installation, you'll want to familiarize yourself with the default key bin
|
||||
- `SUPER + SHIFT + [1-9]`: Move active window to workspace 1-9
|
||||
|
||||
#### Screen Brightness, Volume and Media Control
|
||||
|
||||
- `Brightness Up`: Increase the screen brightness by 5%.
|
||||
- `Brightness Down`: Decrease the screen brightness by 5%.
|
||||
- `Volume Up`: Increase the volume by 5%.
|
||||
@@ -92,6 +113,7 @@ After installation, you'll want to familiarize yourself with the default key bin
|
||||
- `Previous Track`: Go back to the previous track.
|
||||
|
||||
#### Miscellaneous
|
||||
|
||||
- `Super + V`: Open the clipboard history and paste the selected item.
|
||||
- `Super + P`: Open the color picker and copy the selected color to the clipboard.
|
||||
- `Super + L`: Lock the screen.
|
||||
@@ -104,11 +126,13 @@ After installation, you'll want to familiarize yourself with the default key bin
|
||||
Make sure to have applications installed corresponding to the binds. Feel free to customize these keybindings to better suit your needs. You can customize these and add more in your Hyprland configuration file (`~/.config/hypr/hyprland.conf`).
|
||||
|
||||
## Credits 🙏
|
||||
|
||||
Many configuration parts, themes, and scripts in this guide are sourced from the community. I extend my thanks to all contributors, especially the [Hyprland project](https://github.com/hyprwm/Hyprland) and other cool repositories like [hyprdots](https://github.com/prasanthrangan/hyprdots). If you find that credit has not been given where due, please feel free to open a Pull Request (PR).
|
||||
|
||||
## References 📖
|
||||
* [Hyprland Wiki](https://wiki.hyprland.org/)
|
||||
* [Hyprdots Repo](https://github.com/prasanthrangan/hyprdots)
|
||||
* [Hyprland-titus Repo](https://github.com/ChrisTitusTech/hyprland-titus) and more.
|
||||
|
||||
- [Hyprland Wiki](https://wiki.hyprland.org/)
|
||||
- [Hyprdots Repo](https://github.com/prasanthrangan/hyprdots)
|
||||
- [Hyprland-titus Repo](https://github.com/ChrisTitusTech/hyprland-titus) and more.
|
||||
|
||||
Feel free to explore the documentation and contribute to this guide if you find any improvements or have suggestions. 🤝
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -1,8 +1,18 @@
|
||||
[global]
|
||||
|
||||
#source = ~/.config/assets/myColors.conf
|
||||
|
||||
# user created manually
|
||||
frame_color = "#cba6f7"
|
||||
separator_color= frame
|
||||
highlight = "#cba6f7"
|
||||
|
||||
|
||||
follow = mouse
|
||||
indicate_hidden = yes
|
||||
|
||||
offset = 10x10
|
||||
# user modified manually
|
||||
offset = 5x5
|
||||
|
||||
notification_height = 0
|
||||
|
||||
@@ -13,12 +23,13 @@
|
||||
text_icon_padding = 0
|
||||
frame_width = 2
|
||||
|
||||
frame_color = "#a6adc8"
|
||||
separator_color = frame
|
||||
#frame_color = "#a6adc8"
|
||||
#separator_color = frame
|
||||
|
||||
sort = yes
|
||||
idle_threshold = 120
|
||||
font = monospace 10
|
||||
# user modified manually
|
||||
font = monospace 14
|
||||
line_height = 0
|
||||
markup = full
|
||||
alignment = left
|
||||
@@ -30,29 +41,38 @@
|
||||
|
||||
show_indicators = yes
|
||||
|
||||
min_icon_size = 0
|
||||
max_icon_size = 64
|
||||
min_icon_size = 54
|
||||
max_icon_size = 80
|
||||
|
||||
icon_path = /usr/share/icons/Papirus-Dark/16x16/status/:/usr/share/icons/Papirus-Dark/16x16/devices/:/usr/share/icons/Papirus-Dark/16x16/actions/:/usr/share/icons/Papirus-Dark/16x16/animations/:/usr/share/icons/Papirus-Dark/16x16/apps/:/usr/share/icons/Papirus-Dark/16x16/categories/:/usr/share/icons/Papirus-Dark/16x16/emblems/:/usr/share/icons/Papirus-Dark/16x16/emotes/:/usr/share/icons/Papirus-Dark/16x16/devices/mimetypes:/usr/share/icons/Papirus-Dark/16x16/panel/:/usr/share/icons/Papirus-Dark/16x16/places/
|
||||
|
||||
dmenu = /usr/bin/wofi -p dunst:
|
||||
dmenu = /usr/bin/tofi -p dunst:
|
||||
browser = /usr/bin/firefox --new-tab
|
||||
|
||||
title = Dunst
|
||||
class = Dunst
|
||||
|
||||
corner_radius = 10
|
||||
timeout = 5
|
||||
# user modified manually
|
||||
timeout = 7
|
||||
|
||||
# user created manually
|
||||
width = 450
|
||||
height = (0, 300)
|
||||
progress_bar_frame_width = 0
|
||||
progress_bar_corner_radius = 3
|
||||
icon_corner_radius = 4
|
||||
dmenu = tofi --show drun --prompt 'Open with'
|
||||
|
||||
[urgency_low]
|
||||
background = "#1e1e2e"
|
||||
foreground = "#CDD6F4"
|
||||
background = "#1e1e2e"
|
||||
foreground = "#cdd6f4"
|
||||
|
||||
[urgency_normal]
|
||||
background = "#1e1e2e"
|
||||
foreground = "#CDD6F4"
|
||||
background = "#1e1e2e"
|
||||
foreground = "#cdd6f4"
|
||||
|
||||
[urgency_critical]
|
||||
background = "#1e1e2e"
|
||||
foreground = "#CDD6F4"
|
||||
frame_color = "#FAB387"
|
||||
background = "#1e1e2e"
|
||||
foreground = "#cdd6f4"
|
||||
frame_color = "#fab387"
|
||||
|
||||
66
configs/hypr/appearance.conf
Normal file
66
configs/hypr/appearance.conf
Normal file
@@ -0,0 +1,66 @@
|
||||
#############################
|
||||
# Look & Feel
|
||||
#############################
|
||||
|
||||
general {
|
||||
gaps_in = 5
|
||||
gaps_out = 5
|
||||
border_size = 2
|
||||
|
||||
col.active_border = rgba($mauveAlpha) rgba($baseAlpha) rgba($baseAlpha) rgba($mauveAlpha) 45deg
|
||||
col.inactive_border = rgba($mauveAlpha) rgba($mauveAlpha) rgba($mauveAlpha) rgba($mauveAlpha) 45deg
|
||||
|
||||
resize_on_border = false
|
||||
allow_tearing = false
|
||||
layout = dwindle
|
||||
}
|
||||
|
||||
decoration {
|
||||
rounding = 10
|
||||
|
||||
# Window opacity: focused / unfocused
|
||||
# NOTE: if your terminal also has background_opacity,
|
||||
# the effective opacity = terminal_bg_opacity * hyprland_opacity
|
||||
active_opacity = 1.0
|
||||
inactive_opacity = 0.7
|
||||
|
||||
blur {
|
||||
enabled = true
|
||||
size = 3
|
||||
passes = 2
|
||||
new_optimizations = true
|
||||
vibrancy = 0.1696
|
||||
ignore_opacity = true
|
||||
}
|
||||
}
|
||||
|
||||
animations {
|
||||
enabled = true
|
||||
|
||||
bezier = wind, 0.05, 0.9, 0.1, 1.05
|
||||
bezier = winIn, 0.1, 1.1, 0.1, 1.1
|
||||
bezier = winOut, 0.3, -0.3, 0, 1
|
||||
bezier = liner, 1, 1, 1, 1
|
||||
|
||||
animation = windows, 1, 6, wind, slide
|
||||
animation = windowsIn, 1, 6, winIn, slide
|
||||
animation = windowsOut, 1, 5, winOut, slide
|
||||
animation = windowsMove, 1, 5, wind, slide
|
||||
animation = border, 1, 1, liner
|
||||
animation = borderangle, 1, 30, liner, loop
|
||||
animation = fade, 1, 10, default
|
||||
animation = workspaces, 1, 5, wind
|
||||
}
|
||||
|
||||
dwindle {
|
||||
preserve_split = true
|
||||
}
|
||||
|
||||
master {}
|
||||
|
||||
misc {
|
||||
force_default_wallpaper = 0
|
||||
disable_hyprland_logo = true
|
||||
disable_splash_rendering = true
|
||||
vrr = 0
|
||||
}
|
||||
29
configs/hypr/autostart.conf
Normal file
29
configs/hypr/autostart.conf
Normal file
@@ -0,0 +1,29 @@
|
||||
#############################
|
||||
# Autostart
|
||||
#############################
|
||||
# Programs launched on Hyprland startup.
|
||||
# Comment out any line to disable.
|
||||
|
||||
# ---- Core Services ---- #
|
||||
exec-once = /usr/lib/polkit-kde-authentication-agent-1
|
||||
exec-once = /usr/bin/dunst
|
||||
exec-once = waybar
|
||||
exec-once = hypridle
|
||||
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
||||
|
||||
# ---- Wallpaper ---- #
|
||||
exec-once = awww-daemon
|
||||
exec-once = awww img ~/.config/assets/backgrounds/cat_leaves.png --transition-fps 255 --transition-type outer --transition-duration 0.8
|
||||
exec-once = mpvpaper HDMI-A-3 ~/Downloads/walls/175436-853585098.mp4 --loop --no-audio --fps=30
|
||||
|
||||
# ---- Clipboard ---- #
|
||||
exec-once = wl-paste --type text --watch cliphist store
|
||||
exec-once = wl-paste --type image --watch cliphist store
|
||||
exec-once = rm "$HOME/.cache/cliphist/db"
|
||||
|
||||
# ---- User Apps ---- #
|
||||
exec-once = $terminal
|
||||
exec-once = udiskie
|
||||
exec-once = $element
|
||||
exec-once = $browser
|
||||
exec-once = hyprpm reload
|
||||
41
configs/hypr/env.conf
Normal file
41
configs/hypr/env.conf
Normal file
@@ -0,0 +1,41 @@
|
||||
#############################
|
||||
# Environment Variables
|
||||
#############################
|
||||
|
||||
# ---- Cursor ---- #
|
||||
env = XCURSOR_SIZE,24
|
||||
env = HYPRCURSOR_SIZE,24
|
||||
env = HYPRCURSOR_THEME, Bibata-Modern-Ice
|
||||
env = XCURSOR_THEME, Bibata-Modern-Ice
|
||||
|
||||
# ---- GPU (AMD) ---- #
|
||||
# Intel UHD 730 (integrated) + AMD Radeon RX 580
|
||||
env = LIBVA_DRIVER_NAME,radeonsi
|
||||
env = GBM_BACKEND,amdgpu
|
||||
env = AQ_DRM_DEVICES,/dev/dri/card2:/dev/dri/card1
|
||||
|
||||
# ---- Wayland ---- #
|
||||
env = XDG_SESSION_TYPE,wayland
|
||||
env = XDG_CURRENT_DESKTOP,Hyprland
|
||||
env = XDG_SESSION_DESKTOP,Hyprland
|
||||
|
||||
# ---- Electron ---- #
|
||||
env = ELECTRON_OZONE_PLATFORM_HINT,auto
|
||||
|
||||
# ---- Qt ---- #
|
||||
env = QT_QPA_PLATFORM,wayland
|
||||
env = QT_QPA_PLATFORMTHEME,qt5ct
|
||||
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
|
||||
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
|
||||
env = QT_STYLE_OVERRIDE,kvantum
|
||||
|
||||
# ---- Toolkit Backends ---- #
|
||||
env = GDK_BACKEND,wayland,x11,*
|
||||
env = SDL_VIDEODRIVER,wayland
|
||||
env = CLUTTER_BACKEND,wayland
|
||||
|
||||
# ---- App-specific ---- #
|
||||
env "YAZI_CONFIG_HOME=~/.config/yazi" yazi
|
||||
|
||||
# -- To use Firefox on Wayland, uncomment: -- #
|
||||
# env = MOZ_ENABLE_WAYLAND,1
|
||||
@@ -11,17 +11,18 @@ listener {
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 120 # 2min
|
||||
timeout = 2400 # 30min
|
||||
on-timeout = loginctl lock-session # lock screen when timeout has passed
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 300 # 5min
|
||||
timeout = 3600 # 1h
|
||||
on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed
|
||||
on-resume = hyprctl dispatch dpms on # screen on when activity is detected after timeout has fired.
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 900 # 30min
|
||||
on-timeout = systemctl suspend # suspend pc
|
||||
}
|
||||
# user modified manually
|
||||
#listener {
|
||||
# timeout = 2400 # 30min
|
||||
# on-timeout = systemctl suspend # suspend pc
|
||||
#}
|
||||
|
||||
@@ -1,406 +1,17 @@
|
||||
|
||||
# #######################################################################################
|
||||
# AUTOGENERATED HYPR CONFIG.
|
||||
# PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT,
|
||||
# OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS.
|
||||
# #######################################################################################
|
||||
|
||||
#autogenerated = 1 # remove this line to remove the warning
|
||||
|
||||
# This is an example Hyprland config file.
|
||||
# Refer to the wiki for more information.
|
||||
# https://wiki.hyprland.org/Configuring/Configuring-Hyprland/
|
||||
|
||||
# Please note not all available settings / options are set here.
|
||||
# For a full list, see the wiki
|
||||
|
||||
# You can split this configuration into multiple files
|
||||
# Create your files separately and then link them to this file like this:
|
||||
# source = ~/.config/hypr/myColors.conf
|
||||
|
||||
|
||||
################
|
||||
### MONITORS ###
|
||||
################
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||
monitor=,preferred,auto,1,mirror,DP-1
|
||||
###################
|
||||
### MY PROGRAMS ###
|
||||
###################
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/
|
||||
|
||||
# Set programs that you use
|
||||
$terminal = kitty
|
||||
$fileManager = nautilus
|
||||
$menu = tofi-drun -c ~/.config/tofi/configA --drun-launch=true
|
||||
$browser = thorium-browser --enable-features=UseOzonePlatform --ozone-platform=wayland
|
||||
$notes = obsidian
|
||||
$editor = code
|
||||
$editor-alt = subl
|
||||
$colorPicker = hyprpicker
|
||||
|
||||
# --enable-features=UseOzonePlatform --ozone-platform=wayland use this flag to launch CEF/Electron apps in wayland
|
||||
|
||||
#################
|
||||
### AUTOSTART ###
|
||||
#################
|
||||
|
||||
# Autostart necessary processes (like notifications daemons, status bars, etc.)
|
||||
# Or execute your favorite apps at launch like this:
|
||||
|
||||
exec-once=/usr/lib/polkit-kde-authentication-agent-1 #Polkit to manage passwords
|
||||
exec-once=/usr/bin/dunst
|
||||
exec-once=waybar # topbar
|
||||
exec-once = swww-daemon # wallpaper
|
||||
exec-once = swww img ~/.config/assets/backgrounds/cat_leaves.png --transition-fps 255 --transition-type outer --transition-duration 0.8
|
||||
exec-once = wl-paste --type text --watch cliphist store # clipboard
|
||||
exec-once = wl-paste --type image --watch cliphist store
|
||||
#exec-once = rm "$HOME/.cache/cliphist/db" #it'll delete history at every restart
|
||||
exec-once = hypridle
|
||||
|
||||
exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
||||
# exec-once = $terminal
|
||||
# exec-once = nm-applet &
|
||||
# exec-once = waybar & hyprpaper & firefox
|
||||
|
||||
#############################
|
||||
### ENVIRONMENT VARIABLES ###
|
||||
# simple-hyprland :: db123
|
||||
# Modular hyprland config
|
||||
#############################
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Environment-variables/
|
||||
|
||||
env = XCURSOR_SIZE,24
|
||||
env = HYPRCURSOR_SIZE,24
|
||||
|
||||
# Firefox
|
||||
# env = MOZ_ENABLE_WAYLAND,1
|
||||
|
||||
# Nvidia
|
||||
env = LIBVA_DRIVER_NAME,nvidia
|
||||
env = XDG_SESSION_TYPE,wayland
|
||||
env = GBM_BACKEND,nvidia-drm
|
||||
env = __GLX_VENDOR_LIBRARY_NAME,nvidia # remove if firefox crashes
|
||||
env = NVD_BACKEND,direct
|
||||
env = ELECTRON_OZONE_PLATFORM_HINT,auto
|
||||
|
||||
# QT
|
||||
env = QT_QPA_PLATFORM,wayland
|
||||
env = QT_QPA_PLATFORMTHEME,qt5ct
|
||||
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
|
||||
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
|
||||
env = QT_STYLE_OVERRIDE,kvantum
|
||||
|
||||
# Toolkit Backend Variables
|
||||
env = GDK_BACKEND,wayland,x11,*
|
||||
env = SDL_VIDEODRIVER,wayland
|
||||
env = CLUTTER_BACKEND,wayland
|
||||
|
||||
# XDG Specifications
|
||||
env = XDG_CURRENT_DESKTOP,Hyprland
|
||||
env = XDG_SESSION_TYPE,wayland
|
||||
env = XDG_SESSION_DESKTOP,Hyprland
|
||||
|
||||
|
||||
#####################
|
||||
### LOOK AND FEEL ###
|
||||
#####################
|
||||
|
||||
# Refer to https://wiki.hyprland.org/Configuring/Variables/
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#general
|
||||
general {
|
||||
gaps_in = 5
|
||||
gaps_out = 5
|
||||
|
||||
border_size = 2
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
|
||||
col.active_border = rgb(8aadf4) rgb(24273A) rgb(24273A) rgb(8aadf4) 45deg
|
||||
col.inactive_border = rgb(24273A) rgb(24273A) rgb(24273A) rgb(27273A) 45deg
|
||||
|
||||
# Set to true enable resizing windows by clicking and dragging on borders and gaps
|
||||
resize_on_border = true
|
||||
|
||||
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
|
||||
allow_tearing = false
|
||||
|
||||
layout = dwindle
|
||||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#decoration
|
||||
decoration {
|
||||
rounding = 10
|
||||
|
||||
# Change transparency of focused and unfocused windows
|
||||
active_opacity = 1.0
|
||||
inactive_opacity = 1.0
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#blur
|
||||
blur {
|
||||
enabled = true
|
||||
size = 3
|
||||
passes = 3
|
||||
new_optimizations = true
|
||||
vibrancy = 0.1696
|
||||
ignore_opacity = true
|
||||
}
|
||||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#animations
|
||||
animations {
|
||||
enabled = true
|
||||
|
||||
# Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
||||
|
||||
# bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
||||
|
||||
# animation = windows, 1, 7, myBezier
|
||||
# animation = windowsOut, 1, 7, default, popin 80%
|
||||
# animation = border, 1, 10, default
|
||||
# animation = borderangle, 1, 8, default
|
||||
# animation = fade, 1, 7, default
|
||||
# animation = workspaces, 1, 6, default
|
||||
|
||||
bezier = wind, 0.05, 0.9, 0.1, 1.05
|
||||
bezier = winIn, 0.1, 1.1, 0.1, 1.1
|
||||
bezier = winOut, 0.3, -0.3, 0, 1
|
||||
bezier = liner, 1, 1, 1, 1
|
||||
animation = windows, 1, 6, wind, slide
|
||||
animation = windowsIn, 1, 6, winIn, slide
|
||||
animation = windowsOut, 1, 5, winOut, slide
|
||||
animation = windowsMove, 1, 5, wind, slide
|
||||
animation = border, 1, 1, liner
|
||||
animation = borderangle, 1, 30, liner, loop
|
||||
animation = fade, 1, 10, default
|
||||
animation = workspaces, 1, 5, wind
|
||||
}
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||
dwindle {
|
||||
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||
preserve_split = true # You probably want this
|
||||
}
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
||||
master {
|
||||
|
||||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#misc
|
||||
misc {
|
||||
force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers
|
||||
disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :(
|
||||
disable_splash_rendering = true
|
||||
vrr = 0
|
||||
}
|
||||
|
||||
#############
|
||||
### INPUT ###
|
||||
#############
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#input
|
||||
input {
|
||||
kb_layout = us
|
||||
kb_variant =
|
||||
kb_model =
|
||||
kb_options =
|
||||
kb_rules =
|
||||
|
||||
follow_mouse = 1
|
||||
# force_no_accel = 1
|
||||
|
||||
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
||||
|
||||
touchpad {
|
||||
natural_scroll = true
|
||||
}
|
||||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#gestures
|
||||
gestures {
|
||||
gesture = 3, horizontal, workspace
|
||||
}
|
||||
|
||||
# Example per-device config
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
|
||||
device {
|
||||
name = epic-mouse-v1
|
||||
sensitivity = -0.5
|
||||
}
|
||||
|
||||
####################
|
||||
### KEYBINDINGSS ###
|
||||
####################
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/
|
||||
$mainMod = SUPER # Sets "Windows" key as main modifier
|
||||
|
||||
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||
bind = $mainMod, T, exec, $terminal
|
||||
bind = $mainMod, B, exec, $browser
|
||||
bind = $mainMod, O, exec, $notes
|
||||
bind = $mainMod, C, exec, $editor
|
||||
bind = $mainMod, S, exec, $editor-alt
|
||||
bind = $mainMod, Q, killactive,
|
||||
bind = $mainMod, M, exit,
|
||||
bind = $mainMod, F, exec, $fileManager
|
||||
bind = $mainMod, W, togglefloating,
|
||||
bind = $mainMod, A, exec, $menu
|
||||
# bind = $mainMod, P, pseudo, # dwindle
|
||||
bind = $mainMod, J, togglesplit, # dwindle
|
||||
|
||||
bind = SUPER, E, exec, jome -d | wl-copy #Emojipicker + clipboard copy
|
||||
|
||||
# Move focus with mainMod + arrow keys
|
||||
bind = $mainMod, left, movefocus, l
|
||||
bind = $mainMod, right, movefocus, r
|
||||
bind = $mainMod, up, movefocus, u
|
||||
bind = $mainMod, down, movefocus, d
|
||||
|
||||
# Move window position with mainMod + SHIFT + arrow keys
|
||||
bind = $mainMod SHIFT, left, movewindow, l
|
||||
bind = $mainMod SHIFT, right, movewindow, r
|
||||
bind = $mainMod SHIFT, up, movewindow, u
|
||||
bind = $mainMod SHIFT, down, movewindow, d
|
||||
|
||||
# Switch workspaces with mainMod + [0-9]
|
||||
bind = $mainMod, 1, workspace, 1
|
||||
bind = $mainMod, 2, workspace, 2
|
||||
bind = $mainMod, 3, workspace, 3
|
||||
bind = $mainMod, 4, workspace, 4
|
||||
bind = $mainMod, 5, workspace, 5
|
||||
bind = $mainMod, 6, workspace, 6
|
||||
bind = $mainMod, 7, workspace, 7
|
||||
bind = $mainMod, 8, workspace, 8
|
||||
bind = $mainMod, 9, workspace, 9
|
||||
bind = $mainMod, 0, workspace, 10
|
||||
|
||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
||||
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
||||
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
||||
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
||||
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
||||
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
||||
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
||||
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
||||
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
||||
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
||||
|
||||
# Example special workspace (scratchpad)
|
||||
#bind = $mainMod, S, togglespecialworkspace, magic
|
||||
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
|
||||
|
||||
# Scroll through existing workspaces with mainMod + scroll
|
||||
bind = $mainMod, mouse_down, workspace, e+1
|
||||
bind = $mainMod, mouse_up, workspace, e-1
|
||||
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
bindm = $mainMod, mouse:272, movewindow
|
||||
bindm = $mainMod, mouse:273, resizewindow
|
||||
|
||||
# Move/resize windows + Mouse
|
||||
bindm = $mainMod, Z, movewindow
|
||||
bindm = $mainMod, X, resizewindow
|
||||
|
||||
# Resize windows with mainMod + CTRL + arrow keys
|
||||
binde = $mainMod+Ctrl, Right, resizeactive, 30 0
|
||||
binde = $mainMod+Ctrl, Left, resizeactive, -30 0
|
||||
binde = $mainMod+Ctrl, Up, resizeactive, 0 -30
|
||||
binde = $mainMod+Ctrl, Down, resizeactive, 0 30
|
||||
|
||||
|
||||
# Clipboard
|
||||
bind = SUPER, V, exec, cliphist list | tofi -c ~/.config/tofi/configV | cliphist decode | wl-copy
|
||||
|
||||
# Colour Picker
|
||||
bind = $mainMod, P, exec, $colorPicker | wl-copy
|
||||
|
||||
# Screen locking
|
||||
bind = SUPER, L, exec, hyprlock
|
||||
|
||||
# wlogout
|
||||
bind = SUPER, ESCAPE, exec, wlogout
|
||||
|
||||
# waybar
|
||||
bind = Ctrl, Escape, exec, killall waybar || waybar # toggle waybar
|
||||
|
||||
# Screenshot
|
||||
# add --cursor flag to include cursor also, --freeze flag to freeze before selection
|
||||
bind = , Print, exec, grimblast --notify copysave screen # Entire screen + clipboard copy
|
||||
bind = SUPER, Print, exec, grimblast --notify copysave active # current Active window only + clipboard copy
|
||||
bind = SUPER ALT, Print, exec, grimblast --notify copysave area # Select area to take screenshot
|
||||
|
||||
# Volume and Media Control
|
||||
bind = , XF86AudioRaiseVolume, exec, pamixer -i 5
|
||||
bind = , XF86AudioLowerVolume, exec, pamixer -d 5
|
||||
bind = , XF86AudioMicMute, exec, pamixer --default-source -m
|
||||
bind = , XF86AudioMute, exec, pamixer -t
|
||||
bind = , XF86AudioPlay, exec, playerctl play-pause
|
||||
bind = , XF86AudioPause, exec, playerctl play-pause
|
||||
bind = , XF86AudioNext, exec, playerctl next
|
||||
bind = , XF86AudioPrev, exec, playerctl previous
|
||||
|
||||
# Screen brightness
|
||||
bind = , XF86MonBrightnessUp, exec, brightnessctl s +5%
|
||||
bind = , XF86MonBrightnessDown, exec, brightnessctl s 5%-
|
||||
|
||||
##############################
|
||||
### WINDOWS AND WORKSPACES ###
|
||||
##############################
|
||||
|
||||
## Use hyprctl clients to look for window class
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
||||
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
|
||||
|
||||
# Example windowrule v1
|
||||
# windowrule = float, ^(kitty)$
|
||||
windowrule = float, class:^(jome)$
|
||||
|
||||
# Example windowrule v2
|
||||
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
|
||||
windowrulev2 = opacity 0.90 0.90,class:^(Thorium-browser)$
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(Code)$
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(Arduino IDE)$
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(dev.warp.Warp)$
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(obsidian)$
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(code-url-handler)$
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(code-insiders-url-handler)$
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(kitty)$
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(org.gnome.Nautilus)$
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(org.kde.ark)$
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(nwg-look)$
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(qt5ct)$
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(qt6ct)$
|
||||
windowrulev2 = opacity 0.80 0.80,class:^(kvantummanager)$
|
||||
windowrulev2 = opacity 0.80 0.70,class:^(pavucontrol)$
|
||||
windowrulev2 = opacity 0.80 0.70,class:^(blueman-manager)$
|
||||
windowrulev2 = opacity 0.80 0.70,class:^(nm-applet)$
|
||||
windowrulev2 = opacity 0.70 0.70,class:^(Spotify)$
|
||||
windowrulev2 = opacity 0.70 0.70,initialTitle:^(Spotify Free)$
|
||||
windowrulev2 = opacity 0.80 0.70,class:^(nm-connection-editor)$
|
||||
windowrulev2 = opacity 0.80 0.70,class:^(org.kde.polkit-kde-authentication-agent-1)$
|
||||
windowrulev2 = opacity 0.80 0.70,class:^(polkit-gnome-authentication-agent-1)$
|
||||
windowrulev2 = opacity 0.80 0.70,class:^(org.freedesktop.impl.portal.desktop.gtk)$
|
||||
windowrulev2 = opacity 0.80 0.70,class:^(org.freedesktop.impl.portal.desktop.hyprland)$
|
||||
|
||||
windowrulev2 = float,class:^(kvantummanager)$
|
||||
windowrulev2 = float,class:^(qt5ct)$
|
||||
windowrulev2 = float,class:^(qt6ct)$
|
||||
windowrulev2 = float,class:^(nwg-look)$
|
||||
windowrulev2 = float,class:^(org.kde.ark)$
|
||||
windowrulev2 = float,class:^(pavucontrol)$
|
||||
windowrulev2 = float,class:^(blueman-manager)$
|
||||
windowrulev2 = float,class:^(nm-applet)$
|
||||
windowrulev2 = float,class:^(nm-connection-editor)$
|
||||
windowrulev2 = float,class:^(org.kde.polkit-kde-authentication-agent-1)$
|
||||
|
||||
# windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.
|
||||
|
||||
# layerrule = blur,waybar
|
||||
layerrule = ignorezero,tofi
|
||||
layerrule = ignorezero, dunst
|
||||
layerrule = blur,dunst
|
||||
# Edit the individual .conf files below to
|
||||
# customize any part of the setup.
|
||||
|
||||
source = ~/.config/hypr/mocha.conf
|
||||
source = ~/.config/hypr/env.conf
|
||||
source = ~/.config/hypr/monitors.conf
|
||||
source = ~/.config/hypr/user-programs.conf
|
||||
source = ~/.config/hypr/autostart.conf
|
||||
source = ~/.config/hypr/appearance.conf
|
||||
source = ~/.config/hypr/input.conf
|
||||
source = ~/.config/hypr/keybinds.conf
|
||||
source = ~/.config/hypr/windowrules.conf
|
||||
source = ~/.config/hypr/plugins.conf
|
||||
|
||||
@@ -1,19 +1,36 @@
|
||||
#user created manually
|
||||
source = $HOME/.config/hypr/mocha.conf
|
||||
$lock_main = rgb(203, 166, 247)
|
||||
$lock_outer_color = rgb(203, 166, 247)
|
||||
$lock_inner_color = rgb(30, 30, 30)
|
||||
$lock_font_color = rgb(166, 173, 200)
|
||||
|
||||
#user added manually
|
||||
$accent = $mauve
|
||||
$accentAlpha = $mauveAlpha
|
||||
$font = JetBrainsMono Nerd Font
|
||||
|
||||
background {
|
||||
monitor =
|
||||
path = ~/.config/assets/backgrounds/cat_leaves_blurred.png # only png supported for now
|
||||
}
|
||||
|
||||
general {
|
||||
hide_cursor = true
|
||||
}
|
||||
|
||||
input-field {
|
||||
monitor =
|
||||
size = 200, 50
|
||||
outline_thickness = 3
|
||||
outline_thickness = 2
|
||||
dots_size = 0.33 # Scale of input-field height, 0.2 - 0.8
|
||||
dots_spacing = 0.15 # Scale of dots' absolute size, 0.0 - 1.0
|
||||
dots_center = true
|
||||
dots_rounding = -1 # -1 default circle, -2 follow input-field rounding
|
||||
outer_color = rgb(a6adc8)
|
||||
inner_color = rgb(11111b)
|
||||
font_color = rgb(a6adc8)
|
||||
# user modified manually
|
||||
outer_color = $lock_outer_color
|
||||
inner_color = $lock_inner_color
|
||||
font_color = $lock_font_color
|
||||
fade_on_empty = true
|
||||
fade_timeout = 1000 # Milliseconds before fade_on_empty is triggered.
|
||||
placeholder_text = <i>Input Password...</i> # Text rendered in the input box when it's empty.
|
||||
@@ -36,7 +53,8 @@ input-field {
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:1000] echo "$TIME"
|
||||
color = rgba(a6adc8)
|
||||
# user modified manually
|
||||
color = $lock_font_color
|
||||
font_size = 55
|
||||
font_family = Fira Semibold
|
||||
position = -100, 40
|
||||
@@ -46,10 +64,23 @@ label {
|
||||
shadow_size = 10
|
||||
}
|
||||
|
||||
#user added manually
|
||||
label {
|
||||
monitor =
|
||||
text = Hello
|
||||
color = rgba(a6adc8)
|
||||
text = Layout: $LAYOUT
|
||||
color = $text
|
||||
font_size = 20
|
||||
font_family = $font
|
||||
position = 30, -30
|
||||
halign = left
|
||||
valign = top
|
||||
}
|
||||
|
||||
label {
|
||||
monitor =
|
||||
# user modified manually
|
||||
text = Arch BTW
|
||||
color = $lock_font_color
|
||||
font_size = 20
|
||||
font_family = Fira Semibold
|
||||
position = -100, 160
|
||||
@@ -64,8 +95,9 @@ image {
|
||||
path = ~/.config/assets/backgrounds/cat_pacman.png
|
||||
size = 280 # lesser side if not 1:1 ratio
|
||||
rounding = -1 # negative values mean circle
|
||||
border_size = 4
|
||||
border_color = rgb(a6adc8)
|
||||
border_size = 2
|
||||
# user modified manually
|
||||
border_color = $lock_main
|
||||
rotate = 0 # degrees, counter-clockwise
|
||||
reload_time = -1 # seconds between reloading, 0 to reload with SIGUSR2
|
||||
# reload_cmd = # command to get new path. if empty, old path will be used. don't run "follow" commands like tail -F
|
||||
|
||||
31
configs/hypr/input.conf
Normal file
31
configs/hypr/input.conf
Normal file
@@ -0,0 +1,31 @@
|
||||
#############################
|
||||
# Input: Keyboard, Mouse, Touchpad
|
||||
#############################
|
||||
|
||||
input {
|
||||
kb_layout = us,ir
|
||||
kb_variant =
|
||||
kb_model =
|
||||
kb_options = grp:win_space_toggle
|
||||
kb_rules =
|
||||
|
||||
follow_mouse = 1
|
||||
force_no_accel = 1
|
||||
sensitivity = 0
|
||||
|
||||
touchpad {
|
||||
natural_scroll = true
|
||||
}
|
||||
}
|
||||
|
||||
gestures {
|
||||
# workspace_swipe = true
|
||||
# workspace_swipe_fingers = 3
|
||||
}
|
||||
|
||||
# Per-device overrides
|
||||
# Use `hyprctl devices` to find device names
|
||||
device {
|
||||
name = epic-mouse-v1
|
||||
sensitivity = -0.5
|
||||
}
|
||||
123
configs/hypr/keybinds.conf
Normal file
123
configs/hypr/keybinds.conf
Normal file
@@ -0,0 +1,123 @@
|
||||
#############################
|
||||
# Keybinds
|
||||
#############################
|
||||
# $mainMod is the SUPER (Windows) key.
|
||||
# Change it below if you prefer ALT or CTRL.
|
||||
|
||||
$mainMod = SUPER
|
||||
|
||||
# ---- App Launches ---- #
|
||||
bind = $mainMod, T, exec, $terminal
|
||||
bind = $mainMod, B, exec, $browser
|
||||
bind = $mainMod, O, exec, $notes
|
||||
bind = $mainMod, C, exec, $editor
|
||||
bind = $mainMod, S, exec, $editor-alt
|
||||
bind = $mainMod, Q, killactive,
|
||||
bind = $mainMod, F, exec, $fileManager
|
||||
bind = $mainMod, W, togglefloating,
|
||||
bind = $mainMod, A, exec, $menu
|
||||
bind = SUPER, E, exec, jome -d | wl-copy
|
||||
|
||||
# ---- Focus Movement ---- #
|
||||
bind = $mainMod, left, movefocus, l
|
||||
bind = $mainMod, right, movefocus, r
|
||||
bind = $mainMod, up, movefocus, u
|
||||
bind = $mainMod, down, movefocus, d
|
||||
|
||||
# ---- Workspace Switching ---- #
|
||||
bind = $mainMod, 1, workspace, 1
|
||||
bind = $mainMod, 2, workspace, 2
|
||||
bind = $mainMod, 3, workspace, 3
|
||||
bind = $mainMod, 4, workspace, 4
|
||||
bind = $mainMod, 5, workspace, 5
|
||||
bind = $mainMod, 6, workspace, 6
|
||||
bind = $mainMod, 7, workspace, 7
|
||||
bind = $mainMod, 8, workspace, 8
|
||||
bind = $mainMod, 9, workspace, 9
|
||||
bind = $mainMod, 0, workspace, 10
|
||||
|
||||
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
||||
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
||||
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
||||
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
||||
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
||||
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
||||
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
||||
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
||||
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
||||
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
||||
|
||||
# ---- Scroll Through Workspaces ---- #
|
||||
bind = $mainMod, mouse_down, workspace, e+1
|
||||
bind = $mainMod, mouse_up, workspace, e-1
|
||||
|
||||
# ---- Move / Resize Windows ---- #
|
||||
bindm = $mainMod, mouse:272, movewindow
|
||||
bindm = $mainMod, mouse:273, resizewindow
|
||||
bindm = $mainMod, Z, movewindow
|
||||
bindm = $mainMod, X, resizewindow
|
||||
|
||||
binde = $mainMod+Shift, Right, resizeactive, 30 0
|
||||
binde = $mainMod+Shift, Left, resizeactive, -30 0
|
||||
binde = $mainMod+Shift, Up, resizeactive, 0 -30
|
||||
binde = $mainMod+Shift, Down, resizeactive, 0 30
|
||||
|
||||
# ---- Clipboard & Color ---- #
|
||||
bind = SUPER, V, exec, cliphist list | tofi -c ~/.config/tofi/configV | cliphist decode | wl-copy
|
||||
bind = $mainMod, P, exec, $colorPicker | wl-copy
|
||||
|
||||
# ---- Lock & Logout ---- #
|
||||
bind = SUPER, L, exec, hyprlock
|
||||
bind = SUPER, Escape, exec, wlogout
|
||||
bind = Ctrl, Escape, exec, killall waybar || waybar
|
||||
|
||||
# ---- Screenshots ---- #
|
||||
bind = , Print, exec, grimblast --notify copysave screen
|
||||
bind = SUPER, Print, exec, grimblast --freeze --notify copysave active
|
||||
bind = SUPER ALT, Print, exec, grimblast --freeze --notify copysave area
|
||||
|
||||
# ---- Volume & Media ---- #
|
||||
bind = , XF86AudioRaiseVolume, exec, pamixer -i 5
|
||||
bind = , XF86AudioLowerVolume, exec, pamixer -d 5
|
||||
bind = , XF86AudioMicMute, exec, pamixer --default-source -m
|
||||
bind = , XF86AudioMute, exec, pamixer -t
|
||||
bind = , XF86AudioPlay, exec, playerctl play-pause
|
||||
bind = , XF86AudioPause, exec, playerctl play-pause
|
||||
bind = , XF86AudioNext, exec, playerctl next
|
||||
bind = , XF86AudioPrev, exec, playerctl previous
|
||||
|
||||
# ---- Brightness ---- #
|
||||
bind = , XF86MonBrightnessUp, exec, brightnessctl s +5%
|
||||
bind = , XF86MonBrightnessDown, exec, brightnessctl s 5%-
|
||||
|
||||
# ---- F-Keys (custom apps) ---- #
|
||||
bind = $mainMod, K, exec, $mail
|
||||
bind = $mainMod, F1, exec, $spotify
|
||||
bind = $mainMod, F2, exec, $htop
|
||||
bind = $mainMod, F3, exec, $nvtop
|
||||
bind = $mainMod, F4, exec, $element
|
||||
bind = $mainMod, F5, exec, $jellyfin
|
||||
bind = $mainMod, F6, exec, $btop
|
||||
# F7-F8 available for custom binds
|
||||
# bind = $mainMod, F7, exec, <your-app>
|
||||
# bind = $mainMod, F8, exec, <your-app>
|
||||
bind = $mainMod, F9, exec, $gamelauncher
|
||||
bind = $mainMod, F10, exec, $lavat
|
||||
bind = $mainMod, F11, exec, $matrix
|
||||
bind = $mainMod, F12, exec, $cava
|
||||
|
||||
# ---- Special Binds ---- #
|
||||
bind = $mainMod, M, exec, $mumblemic
|
||||
bind = $mainMod, Delete, exec, $hyperion0
|
||||
bind = $mainMod, Insert, exec, $hyperion1
|
||||
bind = $mainMod, bracketright, exec, $headset
|
||||
bind = $mainMod, bracketleft, exec, $speaker
|
||||
bind = $mainMod, H, togglespecialworkspace, Magic
|
||||
bind = $mainMod Shift, H, movetoworkspace, special:Magic
|
||||
bind = $mainMod, Page_Up, togglespecialworkspace, Dream
|
||||
bind = $mainMod Shift, Page_Up, movetoworkspace, special:Dream
|
||||
bind = $mainMod, Page_Down, togglespecialworkspace, Sky
|
||||
bind = $mainMod Shift, Page_Down, movetoworkspace, special:Sky
|
||||
bind = $mainMod, mouse:275, exec, mumble rpc starttalking
|
||||
bindr = $mainMod, mouse:275, exec, mumble rpc stoptalking
|
||||
bind = $mainMod, Scroll_Lock, exec, systemctl hibernate
|
||||
78
configs/hypr/mocha.conf
Normal file
78
configs/hypr/mocha.conf
Normal file
@@ -0,0 +1,78 @@
|
||||
|
||||
$rosewater = rgb(f5e0dc)
|
||||
$rosewaterAlpha = f5e0dc
|
||||
|
||||
$flamingo = rgb(f2cdcd)
|
||||
$flamingoAlpha = f2cdcd
|
||||
|
||||
$pink = rgb(f5c2e7)
|
||||
$pinkAlpha = f5c2e7
|
||||
|
||||
$mauve = rgb(cba6f7)
|
||||
$mauveAlpha = cba6f7
|
||||
|
||||
$red = rgb(f38ba8)
|
||||
$redAlpha = f38ba8
|
||||
|
||||
$maroon = rgb(eba0ac)
|
||||
$maroonAlpha = eba0ac
|
||||
|
||||
$peach = rgb(fab387)
|
||||
$peachAlpha = fab387
|
||||
|
||||
$yellow = rgb(f9e2af)
|
||||
$yellowAlpha = f9e2af
|
||||
|
||||
$green = rgb(a6e3a1)
|
||||
$greenAlpha = a6e3a1
|
||||
|
||||
$teal = rgb(94e2d5)
|
||||
$tealAlpha = 94e2d5
|
||||
|
||||
$sky = rgb(89dceb)
|
||||
$skyAlpha = 89dceb
|
||||
|
||||
$sapphire = rgb(74c7ec)
|
||||
$sapphireAlpha = 74c7ec
|
||||
|
||||
$blue = rgb(89b4fa)
|
||||
$blueAlpha = 89b4fa
|
||||
|
||||
$lavender = rgb(b4befe)
|
||||
$lavenderAlpha = b4befe
|
||||
|
||||
$text = rgb(cdd6f4)
|
||||
$textAlpha = cdd6f4
|
||||
|
||||
$subtext1 = rgb(bac2de)
|
||||
$subtext1Alpha = bac2de
|
||||
|
||||
$subtext0 = rgb(a6adc8)
|
||||
$subtext0Alpha = a6adc8
|
||||
|
||||
$overlay2 = rgb(9399b2)
|
||||
$overlay2Alpha = 9399b2
|
||||
|
||||
$overlay1 = rgb(7f849c)
|
||||
$overlay1Alpha = 7f849c
|
||||
|
||||
$overlay0 = rgb(6c7086)
|
||||
$overlay0Alpha = 6c7086
|
||||
|
||||
$surface2 = rgb(585b70)
|
||||
$surface2Alpha = 585b70
|
||||
|
||||
$surface1 = rgb(45475a)
|
||||
$surface1Alpha = 45475a
|
||||
|
||||
$surface0 = rgb(313244)
|
||||
$surface0Alpha = 313244
|
||||
|
||||
$base = rgb(1e1e2e)
|
||||
$baseAlpha = 1e1e2e
|
||||
|
||||
$mantle = rgb(181825)
|
||||
$mantleAlpha = 181825
|
||||
|
||||
$crust = rgb(11111b)
|
||||
$crustAlpha = 11111b
|
||||
7
configs/hypr/monitors.conf
Normal file
7
configs/hypr/monitors.conf
Normal file
@@ -0,0 +1,7 @@
|
||||
#############################
|
||||
# Monitor Configuration
|
||||
#############################
|
||||
# Format: monitor = <name>, <resolution>@<refresh>, <position>, <scale>
|
||||
# Use `hyprctl monitors` to list available outputs.
|
||||
|
||||
monitor = HDMI-A-3, 1920x1080@74.97, 0x0, 1
|
||||
69
configs/hypr/plugins.conf
Normal file
69
configs/hypr/plugins.conf
Normal file
@@ -0,0 +1,69 @@
|
||||
#############################
|
||||
# Hyprland Plugins
|
||||
#############################
|
||||
|
||||
plugin:dynamic-cursors {
|
||||
enabled = true
|
||||
mode = stretch
|
||||
|
||||
threshold = 2
|
||||
|
||||
rotate {
|
||||
length = 20
|
||||
offset = 0.0
|
||||
}
|
||||
|
||||
tilt {
|
||||
limit = 5000
|
||||
function = negative_quadratic
|
||||
window = 100
|
||||
}
|
||||
|
||||
stretch {
|
||||
limit = 3000
|
||||
function = quadratic
|
||||
window = 100
|
||||
}
|
||||
|
||||
shake {
|
||||
enabled = false
|
||||
nearest = true
|
||||
threshold = 6.0
|
||||
base = 4.0
|
||||
speed = 4.0
|
||||
influence = 0.0
|
||||
limit = 0.0
|
||||
timeout = 1000
|
||||
effects = false
|
||||
ipc = false
|
||||
}
|
||||
|
||||
hyprcursor {
|
||||
nearest = true
|
||||
enabled = true
|
||||
resolution = -1
|
||||
fallback = clientside
|
||||
}
|
||||
}
|
||||
|
||||
plugin {
|
||||
hyprtrails {
|
||||
color = rgb($mauve)
|
||||
}
|
||||
}
|
||||
|
||||
plugin {
|
||||
hyprbars {
|
||||
bar_height = 20
|
||||
bar_color = rgb($base)
|
||||
col.text = rgb($subtext0)
|
||||
bar_padding = 15
|
||||
bar_button_padding = 7
|
||||
icon_on_hover = true
|
||||
inactive_button_color = rgb($mauve)
|
||||
|
||||
hyprbars-button = rgb($mauve), 15, , hyprctl dispatch killactive
|
||||
hyprbars-button = rgb($mauve), 15, , hyprctl dispatch fullscreen 1
|
||||
on_double_click = hyprctl dispatch fullscreen 1
|
||||
}
|
||||
}
|
||||
35
configs/hypr/user-programs.conf
Normal file
35
configs/hypr/user-programs.conf
Normal file
@@ -0,0 +1,35 @@
|
||||
#############################
|
||||
# User Program Variables
|
||||
#############################
|
||||
# Change these to match the apps you use.
|
||||
# Referenced by keybinds and autostart.
|
||||
|
||||
$terminal = kitty --title kitty
|
||||
$fileManager = nautilus
|
||||
$menu = tofi-drun -c ~/.config/tofi/configA --drun-launch=true
|
||||
$browser = zen-browser
|
||||
$notes = obsidian --disable-gpu-compositing
|
||||
$editor = neovide
|
||||
$editor-alt = kitty --title nvim -e nvim
|
||||
$colorPicker = hyprpicker
|
||||
$mail = thunderbird
|
||||
|
||||
# ---- Custom launchers (user-defined) ---- #
|
||||
$spotify = kitty --title jellyfin-tui -e jellyfin-tui
|
||||
$mumble = mumble
|
||||
$mumblemic = mumble rpc togglemute
|
||||
$cava = kitty --title cava -e cava
|
||||
$matrix = kitty --title unimatrix -e unimatrix -u 01 -s 96 -c white
|
||||
$lavat = kitty --title lavat -e lavat -c A6ADC8 -R 4 -b 5 -r 1 -k CBA6F7 -g -s 3
|
||||
$gamelauncher = flatpak run page.kramo.Cartridges
|
||||
$telegram = Telegram
|
||||
$element = element-desktop
|
||||
$jellyfin = jellyfinmediaplayer
|
||||
$htop = kitty --title htop -e htop
|
||||
$nvtop = kitty --title nvtop -e nvtop
|
||||
$btop = kitty --title btop -e btop
|
||||
$lazydocker = kitty --title lazydocker -e lazydocker
|
||||
$hyperion0 = kitty -e hyperion-remote --suspend
|
||||
$hyperion1 = kitty -e hyperion-remote --resume
|
||||
$headset = kitty -e pactl set-default-sink alsa_output.usb-C-Media_Electronics_Inc._USB_Audio_Device-00.iec958-stereo
|
||||
$speaker = kitty -e pactl set-default-sink alsa_output.pci-0000_00_1f.3.analog-stereo
|
||||
89
configs/hypr/windowrules.conf
Normal file
89
configs/hypr/windowrules.conf
Normal file
@@ -0,0 +1,89 @@
|
||||
#############################
|
||||
# Window & Workspace Rules
|
||||
#############################
|
||||
# Find app class names with: hyprctl clients
|
||||
# Opacity format: opacity <focused> <unfocused>
|
||||
|
||||
# ---- Opacity Rules ---- #
|
||||
windowrulev2 = opacity 0.90 0.90, class:^(Thorium-browser)$
|
||||
windowrulev2 = opacity 0.80 0.80, class:^(Code)$
|
||||
windowrulev2 = opacity 0.80 0.80, class:^(Arduino IDE)$
|
||||
windowrulev2 = opacity 0.80 0.80, class:^(dev.warp.Warp)$
|
||||
windowrulev2 = opacity 0.80 0.80, class:^(obsidian)$
|
||||
windowrulev2 = opacity 0.80 0.80, class:^(code-url-handler)$
|
||||
windowrulev2 = opacity 0.80 0.80, class:^(code-insiders-url-handler)$
|
||||
windowrulev2 = opacity 0.80 0.80, class:^(kitty)$
|
||||
windowrulev2 = opacity 0.80 0.80, class:^(org.gnome.Nautilus)$
|
||||
windowrulev2 = opacity 0.80 0.80, class:^(org.kde.ark)$
|
||||
windowrulev2 = opacity 0.80 0.80, class:^(nwg-look)$
|
||||
windowrulev2 = opacity 0.80 0.80, class:^(qt5ct)$
|
||||
windowrulev2 = opacity 0.80 0.80, class:^(qt6ct)$
|
||||
windowrulev2 = opacity 0.80 0.80, class:^(kvantummanager)$
|
||||
windowrulev2 = opacity 0.80 0.70, class:^(pavucontrol)$
|
||||
windowrulev2 = opacity 0.80 0.70, class:^(blueman-manager)$
|
||||
windowrulev2 = opacity 0.80 0.70, class:^(nm-applet)$
|
||||
windowrulev2 = opacity 0.80 0.70, class:^(nm-connection-editor)$
|
||||
windowrulev2 = opacity 0.80 0.70, class:^(org.kde.polkit-kde-authentication-agent-1)$
|
||||
windowrulev2 = opacity 0.80 0.70, class:^(polkit-gnome-authentication-agent-1)$
|
||||
windowrulev2 = opacity 0.80 0.70, class:^(org.freedesktop.impl.portal.desktop.gtk)$
|
||||
windowrulev2 = opacity 0.80 0.70, class:^(org.freedesktop.impl.portal.desktop.hyprland)$
|
||||
|
||||
# ---- Float Rules ---- #
|
||||
windowrulev2 = float, class:^(kvantummanager)$
|
||||
windowrulev2 = float, class:^(qt5ct)$
|
||||
windowrulev2 = float, class:^(qt6ct)$
|
||||
windowrulev2 = float, class:^(nwg-look)$
|
||||
windowrulev2 = float, class:^(org.kde.ark)$
|
||||
windowrulev2 = float, class:^(pavucontrol)$
|
||||
windowrulev2 = float, class:^(blueman-manager)$
|
||||
windowrulev2 = float, class:^(nm-applet)$
|
||||
windowrulev2 = float, class:^(nm-connection-editor)$
|
||||
windowrulev2 = float, class:^(org.kde.polkit-kde-authentication-agent-1)$
|
||||
|
||||
# ---- Kitty Sub-Windows (matched by title) ---- #
|
||||
# Plain terminal
|
||||
windowrulev2 = opacity 0.90 0.90, class:(kitty), title:(kitty)
|
||||
windowrulev2 = float, class:(kitty), title:(kitty)
|
||||
windowrulev2 = center, class:(kitty), title:(kitty)
|
||||
windowrulev2 = size 1280 720, class:(kitty), title:(kitty)
|
||||
|
||||
# unimatrix
|
||||
windowrulev2 = float, class:(kitty), title:(unimatrix)
|
||||
windowrulev2 = center, class:(kitty), title:(unimatrix)
|
||||
windowrulev2 = size 1280 720, class:(kitty), title:(unimatrix)
|
||||
windowrulev2 = pin, class:(kitty), title:(unimatrix)
|
||||
|
||||
# cava
|
||||
windowrulev2 = float, class:(kitty), title:(cava)
|
||||
windowrulev2 = center, class:(kitty), title:(cava)
|
||||
windowrulev2 = size 450 180, class:(kitty), title:(cava)
|
||||
windowrulev2 = pin, class:(kitty), title:(cava)
|
||||
|
||||
# btop / htop / nvtop
|
||||
windowrulev2 = float, class:(kitty), title:(btop)
|
||||
windowrulev2 = center, class:(kitty), title:(btop)
|
||||
windowrulev2 = size 1280 720, class:(kitty), title:(btop)
|
||||
|
||||
windowrulev2 = float, class:(kitty), title:(nvim)
|
||||
windowrulev2 = center, class:(kitty), title:(nvim)
|
||||
windowrulev2 = size 1600 900, class:(kitty), title:(nvim)
|
||||
|
||||
# ---- Other Floating Apps ---- #
|
||||
windowrulev2 = float, class:^(org.jackhuang.hmcl.Launcher)$
|
||||
windowrulev2 = center, class:^(org.jackhuang.hmcl.Launcher)$
|
||||
windowrulev2 = size 1280 720, class:^(org.jackhuang.hmcl.Launcher)$
|
||||
|
||||
windowrulev2 = float, class:^(page.kramo.Cartridges)$
|
||||
windowrulev2 = center, class:^(page.kramo.Cartridges)$
|
||||
windowrulev2 = size 1280 720, class:^(page.kramo.Cartridges)$
|
||||
|
||||
windowrulev2 = float, class:^(org.pulseaudio.pavucontrol)$
|
||||
windowrulev2 = center, class:^(org.pulseaudio.pavucontrol)$
|
||||
windowrulev2 = size 1280 720, class:^(org.pulseaudio.pavucontrol)$
|
||||
|
||||
windowrulev2 = float, class:^(obsidian)$
|
||||
windowrulev2 = center, class:^(obsidian)$
|
||||
windowrulev2 = size 1280 720, class:^(obsidian)$
|
||||
|
||||
# ---- Special Workspace ---- #
|
||||
workspace = 10, rounding:false, decorate:false, gapsin:0, gapsout:0, border:false
|
||||
@@ -1,10 +1,29 @@
|
||||
font_size 13.0
|
||||
window_padding_width 8
|
||||
font_family JetBrainsMono Nerd Font
|
||||
font_family JetBrainsMono Nerd Font Mono
|
||||
italic_font auto
|
||||
# bold_font auto
|
||||
bold_italic_font auto
|
||||
include theme.conf
|
||||
#background_opacity 0.60
|
||||
# Terminal background transparency (0.0 = full transparent, 1.0 = solid)
|
||||
# NOTE: hyprland also applies window opacity rules (see windowrules.conf).
|
||||
# Effective opacity = kitty bg_opacity * hyprland window_opacity
|
||||
# Current: 0.60 * 0.90 (kitty window rule) = 0.54 effective
|
||||
background_opacity 0.60
|
||||
#hide_window_decorations yes
|
||||
#confirm_os_window_close 0
|
||||
|
||||
tab_bar_min_tabs 1
|
||||
tab_bar_edge bottom
|
||||
tab_bar_style powerline
|
||||
tab_powerline_style slanted
|
||||
tab_title_template {title}{' :{}:'.format(num_windows) if num_windows > 1 else ''}
|
||||
|
||||
# BEGIN_KITTY_THEME
|
||||
# Catppuccin-Mocha
|
||||
include current-theme.conf
|
||||
# END_KITTY_THEME
|
||||
|
||||
# user created manually
|
||||
cursor_trail 3
|
||||
cursor_trail_decay 0.1 0.4
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
# vim:ft=kitty
|
||||
|
||||
## name: Catppuccin Mocha 🌿
|
||||
## name: Catppuccin-Mocha
|
||||
## author: Pocco81 (https://github.com/Pocco81)
|
||||
## license: MIT
|
||||
## upstream: https://github.com/catppuccin/kitty/blob/main/mocha.conf
|
||||
@@ -18,12 +19,12 @@ cursor #F5E0DC
|
||||
cursor_text_color #1E1E2E
|
||||
|
||||
# URL underline color when hovering with mouse
|
||||
url_color #B4BEFE
|
||||
url_color #F5E0DC
|
||||
|
||||
# Kitty window border colors
|
||||
active_border_color #CBA6F7
|
||||
inactive_border_color #8E95B3
|
||||
bell_border_color #EBA0AC
|
||||
active_border_color #B4BEFE
|
||||
inactive_border_color #6C7086
|
||||
bell_border_color #F9E2AF
|
||||
|
||||
# OS Window titlebar colors
|
||||
wayland_titlebar_color system
|
||||
@@ -38,7 +39,7 @@ tab_bar_background #11111B
|
||||
|
||||
# Colors for marks (marked text in the terminal)
|
||||
mark1_foreground #1E1E2E
|
||||
mark1_background #87B0F9
|
||||
mark1_background #B4BEFE
|
||||
mark2_foreground #1E1E2E
|
||||
mark2_background #CBA6F7
|
||||
mark3_foreground #1E1E2E
|
||||
@@ -47,8 +48,8 @@ mark3_background #74C7EC
|
||||
# The 16 terminal colors
|
||||
|
||||
# black
|
||||
color0 #43465A
|
||||
color8 #43465A
|
||||
color0 #45475A
|
||||
color8 #585B70
|
||||
|
||||
# red
|
||||
color1 #F38BA8
|
||||
@@ -63,8 +64,8 @@ color3 #F9E2AF
|
||||
color11 #F9E2AF
|
||||
|
||||
# blue
|
||||
color4 #87B0F9
|
||||
color12 #87B0F9
|
||||
color4 #89B4FA
|
||||
color12 #89B4FA
|
||||
|
||||
# magenta
|
||||
color5 #F5C2E7
|
||||
@@ -75,5 +76,5 @@ color6 #94E2D5
|
||||
color14 #94E2D5
|
||||
|
||||
# white
|
||||
color7 #CDD6F4
|
||||
color15 #A1A8C9
|
||||
color7 #BAC2DE
|
||||
color15 #A6ADC8
|
||||
|
||||
15
configs/nvim/.neoconf.json
Normal file
15
configs/nvim/.neoconf.json
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"neodev": {
|
||||
"library": {
|
||||
"enabled": true,
|
||||
"plugins": true
|
||||
}
|
||||
},
|
||||
"neoconf": {
|
||||
"plugins": {
|
||||
"lua_ls": {
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
201
configs/nvim/LICENSE
Normal file
201
configs/nvim/LICENSE
Normal file
@@ -0,0 +1,201 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
4
configs/nvim/README.md
Normal file
4
configs/nvim/README.md
Normal file
@@ -0,0 +1,4 @@
|
||||
# 💤 LazyVim
|
||||
|
||||
A starter template for [LazyVim](https://github.com/LazyVim/LazyVim).
|
||||
Refer to the [documentation](https://lazyvim.github.io/installation) to get started.
|
||||
2
configs/nvim/init.lua
Normal file
2
configs/nvim/init.lua
Normal file
@@ -0,0 +1,2 @@
|
||||
-- bootstrap lazy.nvim, LazyVim and your plugins
|
||||
require("config.lazy")
|
||||
59
configs/nvim/lazy-lock.json
Normal file
59
configs/nvim/lazy-lock.json
Normal file
@@ -0,0 +1,59 @@
|
||||
{
|
||||
"LazyVim": { "branch": "main", "commit": "83d90f339defdb109a6ede333865a66ffc7ef6aa" },
|
||||
"LuaSnip": { "branch": "master", "commit": "0abc8f390b278c3b4aabc4c004ac8a088b65cf24" },
|
||||
"SchemaStore.nvim": { "branch": "main", "commit": "19936230448bfb3dfd4314070e8bc499ceb55928" },
|
||||
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
|
||||
"catppuccin": { "branch": "main", "commit": "0303a7208dba448c459767486a38a6ec05c4216b" },
|
||||
"cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
|
||||
"cmp-git": { "branch": "main", "commit": "e645f69b93eede43fb644bb1a0b1db3eef1108a3" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "cbc7b02bb99fae35cb42f514762b89b5126651ef" },
|
||||
"cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" },
|
||||
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
|
||||
"conform.nvim": { "branch": "master", "commit": "619363c30309d29ffa631e67c8183f2a72caa373" },
|
||||
"crates.nvim": { "branch": "main", "commit": "694357861ec9ebf12475ddcdd04ea45a0923c32d" },
|
||||
"flash.nvim": { "branch": "main", "commit": "fcea7ff883235d9024dc41e638f164a450c14ca2" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "dd3f588bacbeb041be6facf1742e42097f62165d" },
|
||||
"grug-far.nvim": { "branch": "main", "commit": "5506c2f59dc9ab2ed6c233585412b24d31d51521" },
|
||||
"instant.nvim": { "branch": "master", "commit": "294b6d08143b3db8f9db7f606829270149e1a786" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" },
|
||||
"lazydev.nvim": { "branch": "main", "commit": "ff2cbcba459b637ec3fd165a2be59b7bbaeedf0d" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "221ce6b2d999187044529f49da6554a92f740a96" },
|
||||
"luarocks.nvim": { "branch": "main", "commit": "1db9093915eb16ba2473cfb8d343ace5ee04130a" },
|
||||
"markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "0a695750d747db1e7e70bcf0267ef8951c95fc83" },
|
||||
"mason.nvim": { "branch": "main", "commit": "16ba83bfc8a25f52bb545134f5bee082b195c460" },
|
||||
"mini.ai": { "branch": "main", "commit": "deacc8e9cf05df0297e3b14a08c2f8a415045c6f" },
|
||||
"mini.animate": { "branch": "main", "commit": "a133965b027a6377fddca43f11659af357c12758" },
|
||||
"mini.hipatterns": { "branch": "main", "commit": "e25cf080aae092a651a92fa5e477f64a61adbebf" },
|
||||
"mini.icons": { "branch": "main", "commit": "520995f1d75da0e4cc901ee95080b1ff2bc46b94" },
|
||||
"mini.pairs": { "branch": "main", "commit": "30cf2f01c4aaa2033db67376b9924fa2442c05d6" },
|
||||
"noice.nvim": { "branch": "main", "commit": "7bfd942445fb63089b59f97ca487d605e715f155" },
|
||||
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
|
||||
"nvim-ansible": { "branch": "main", "commit": "c7f595d568b588942d4d0c37b5cd6cae3764a148" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "a1d504892f2bc56c2e79b65c6faded2fd21f3eca" },
|
||||
"nvim-lint": { "branch": "master", "commit": "d48f3a76189d03b2239f6df1b2f7e3fa8353743b" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "cbaa55aebe309ee4ebfcbbff9d9363c0b6e6a1b3" },
|
||||
"nvim-treesitter": { "branch": "main", "commit": "4916d6592ede8c07973490d9322f187e07dfefac" },
|
||||
"nvim-treesitter-context": { "branch": "master", "commit": "b311b30818951d01f7b4bf650521b868b3fece16" },
|
||||
"nvim-treesitter-textobjects": { "branch": "main", "commit": "851e865342e5a4cb1ae23d31caf6e991e1c99f1e" },
|
||||
"nvim-ts-autotag": { "branch": "main", "commit": "88c1453db4ba7dd24131086fe51fdf74e587d275" },
|
||||
"obsidian.nvim": { "branch": "main", "commit": "ae1f76a75c7ce36866e1d9342a8f6f5b9c2caf9b" },
|
||||
"persistence.nvim": { "branch": "main", "commit": "b20b2a7887bd39c1a356980b45e03250f3dce49c" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "74b06c6c75e4eeb3108ec01852001636d85a932b" },
|
||||
"render-markdown.nvim": { "branch": "main", "commit": "5adf0895310c1904e5abfaad40a2baad7fe44a07" },
|
||||
"rest.nvim": { "branch": "main", "commit": "714d5512aaec5565d55652480c16c26f8d95645d" },
|
||||
"rustaceanvim": { "branch": "master", "commit": "d50597d482a6f44ddfc54d1af2f69f052053b4de" },
|
||||
"smear-cursor.nvim": { "branch": "main", "commit": "9e9378d6ee34bb3782e0e8c63d9ec8ca618b479b" },
|
||||
"snacks.nvim": { "branch": "main", "commit": "882c996cf28183f4d63640de0b4c02ec886d01f2" },
|
||||
"tailwindcss-colorizer-cmp.nvim": { "branch": "main", "commit": "3d3cd95e4a4135c250faf83dd5ed61b8e5502b86" },
|
||||
"todo-comments.nvim": { "branch": "main", "commit": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668" },
|
||||
"tokyonight.nvim": { "branch": "main", "commit": "cdc07ac78467a233fd62c493de29a17e0cf2b2b6" },
|
||||
"trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" },
|
||||
"ts-comments.nvim": { "branch": "main", "commit": "123a9fb12e7229342f807ec9e6de478b1102b041" },
|
||||
"venv-selector.nvim": { "branch": "main", "commit": "cc4bb3975de8835291f9bb45889e96c6b2795fc4" },
|
||||
"vim-dadbod": { "branch": "master", "commit": "6d1d41da4873a445c5605f2005ad2c68c99d8770" },
|
||||
"vim-dadbod-completion": { "branch": "master", "commit": "a8dac0b3cf6132c80dc9b18bef36d4cf7a9e1fe6" },
|
||||
"vim-dadbod-ui": { "branch": "master", "commit": "07e92e22114cc5b1ba4938d99897d85b58e20475" },
|
||||
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }
|
||||
}
|
||||
36
configs/nvim/lazyvim.json
Normal file
36
configs/nvim/lazyvim.json
Normal file
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"extras": [
|
||||
"lazyvim.plugins.extras.coding.luasnip",
|
||||
"lazyvim.plugins.extras.coding.nvim-cmp",
|
||||
"lazyvim.plugins.extras.formatting.prettier",
|
||||
"lazyvim.plugins.extras.lang.ansible",
|
||||
"lazyvim.plugins.extras.lang.docker",
|
||||
"lazyvim.plugins.extras.lang.git",
|
||||
"lazyvim.plugins.extras.lang.go",
|
||||
"lazyvim.plugins.extras.lang.json",
|
||||
"lazyvim.plugins.extras.lang.markdown",
|
||||
"lazyvim.plugins.extras.lang.nix",
|
||||
"lazyvim.plugins.extras.lang.php",
|
||||
"lazyvim.plugins.extras.lang.python",
|
||||
"lazyvim.plugins.extras.lang.rust",
|
||||
"lazyvim.plugins.extras.lang.sql",
|
||||
"lazyvim.plugins.extras.lang.tailwind",
|
||||
"lazyvim.plugins.extras.lang.terraform",
|
||||
"lazyvim.plugins.extras.lang.toml",
|
||||
"lazyvim.plugins.extras.lang.typescript",
|
||||
"lazyvim.plugins.extras.lang.vue",
|
||||
"lazyvim.plugins.extras.lang.yaml",
|
||||
"lazyvim.plugins.extras.linting.eslint",
|
||||
"lazyvim.plugins.extras.ui.mini-animate",
|
||||
"lazyvim.plugins.extras.ui.smear-cursor",
|
||||
"lazyvim.plugins.extras.ui.treesitter-context",
|
||||
"lazyvim.plugins.extras.util.dot",
|
||||
"lazyvim.plugins.extras.util.gitui",
|
||||
"lazyvim.plugins.extras.util.mini-hipatterns"
|
||||
],
|
||||
"install_version": 8,
|
||||
"news": {
|
||||
"NEWS.md": "11866"
|
||||
},
|
||||
"version": 8
|
||||
}
|
||||
8
configs/nvim/lua/config/autocmds.lua
Normal file
8
configs/nvim/lua/config/autocmds.lua
Normal file
@@ -0,0 +1,8 @@
|
||||
-- Autocmds are automatically loaded on the VeryLazy event
|
||||
-- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua
|
||||
--
|
||||
-- Add any additional autocmds here
|
||||
-- with `vim.api.nvim_create_autocmd`
|
||||
--
|
||||
-- Or remove existing autocmds by their group name (which is prefixed with `lazyvim_` for the defaults)
|
||||
-- e.g. vim.api.nvim_del_augroup_by_name("lazyvim_wrap_spell")
|
||||
3
configs/nvim/lua/config/keymaps.lua
Normal file
3
configs/nvim/lua/config/keymaps.lua
Normal file
@@ -0,0 +1,3 @@
|
||||
-- Keymaps are automatically loaded on the VeryLazy event
|
||||
-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua
|
||||
-- Add any additional keymaps here
|
||||
53
configs/nvim/lua/config/lazy.lua
Normal file
53
configs/nvim/lua/config/lazy.lua
Normal file
@@ -0,0 +1,53 @@
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
||||
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
|
||||
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
|
||||
if vim.v.shell_error ~= 0 then
|
||||
vim.api.nvim_echo({
|
||||
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
|
||||
{ out, "WarningMsg" },
|
||||
{ "\nPress any key to exit..." },
|
||||
}, true, {})
|
||||
vim.fn.getchar()
|
||||
os.exit(1)
|
||||
end
|
||||
end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
require("lazy").setup({
|
||||
spec = {
|
||||
-- add LazyVim and import its plugins
|
||||
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
|
||||
-- import/override with your plugins
|
||||
{ import = "plugins" },
|
||||
},
|
||||
defaults = {
|
||||
-- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup.
|
||||
-- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default.
|
||||
lazy = false,
|
||||
-- It's recommended to leave version=false for now, since a lot the plugin that support versioning,
|
||||
-- have outdated releases, which may break your Neovim install.
|
||||
version = false, -- always use the latest git commit
|
||||
-- version = "*", -- try installing the latest stable version for plugins that support semver
|
||||
},
|
||||
install = { colorscheme = { "catppuccin", "tokyonight", "habamax" } },
|
||||
checker = {
|
||||
enabled = true, -- check for plugin updates periodically
|
||||
notify = false, -- notify on update
|
||||
}, -- automatically check for plugin updates
|
||||
performance = {
|
||||
rtp = {
|
||||
-- disable some rtp plugins
|
||||
disabled_plugins = {
|
||||
"gzip",
|
||||
-- "matchit",
|
||||
-- "matchparen",
|
||||
-- "netrwPlugin",
|
||||
"tarPlugin",
|
||||
"tohtml",
|
||||
"tutor",
|
||||
"zipPlugin",
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
8
configs/nvim/lua/config/options.lua
Normal file
8
configs/nvim/lua/config/options.lua
Normal file
@@ -0,0 +1,8 @@
|
||||
-- Options are automatically loaded before lazy.nvim startup
|
||||
-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua
|
||||
-- Add any additional options here
|
||||
|
||||
vim.opt.expandtab = true
|
||||
vim.opt.tabstop = 2
|
||||
vim.opt.softtabstop = 2
|
||||
vim.opt.shiftwidth = 2
|
||||
28
configs/nvim/lua/plugins/catppuccin.lua
Normal file
28
configs/nvim/lua/plugins/catppuccin.lua
Normal file
@@ -0,0 +1,28 @@
|
||||
vim.g.catppuccin_flavour = "mocha"
|
||||
|
||||
return {
|
||||
{
|
||||
"LazyVim/LazyVim",
|
||||
opts = {
|
||||
colorscheme = "catppuccin-mocha",
|
||||
},
|
||||
},
|
||||
{
|
||||
"catppuccin/nvim",
|
||||
name = "catppuccin",
|
||||
priority = 1000,
|
||||
opts = {
|
||||
flavour = "mocha",
|
||||
transparent_background = true,
|
||||
integrations = {
|
||||
treesitter = true,
|
||||
native_lsp = { enabled = true },
|
||||
cmp = true,
|
||||
gitsigns = true,
|
||||
telescope = true,
|
||||
noice = true,
|
||||
which_key = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
197
configs/nvim/lua/plugins/example.lua
Normal file
197
configs/nvim/lua/plugins/example.lua
Normal file
@@ -0,0 +1,197 @@
|
||||
-- since this is just an example spec, don't actually load anything here and return an empty spec
|
||||
-- stylua: ignore
|
||||
if true then return {} end
|
||||
|
||||
-- every spec file under the "plugins" directory will be loaded automatically by lazy.nvim
|
||||
--
|
||||
-- In your plugin files, you can:
|
||||
-- * add extra plugins
|
||||
-- * disable/enabled LazyVim plugins
|
||||
-- * override the configuration of LazyVim plugins
|
||||
return {
|
||||
-- add gruvbox
|
||||
{ "ellisonleao/gruvbox.nvim" },
|
||||
|
||||
-- Configure LazyVim to load gruvbox
|
||||
{
|
||||
"LazyVim/LazyVim",
|
||||
opts = {
|
||||
colorscheme = "gruvbox",
|
||||
},
|
||||
},
|
||||
|
||||
-- change trouble config
|
||||
{
|
||||
"folke/trouble.nvim",
|
||||
-- opts will be merged with the parent spec
|
||||
opts = { use_diagnostic_signs = true },
|
||||
},
|
||||
|
||||
-- disable trouble
|
||||
{ "folke/trouble.nvim", enabled = false },
|
||||
|
||||
-- override nvim-cmp and add cmp-emoji
|
||||
{
|
||||
"hrsh7th/nvim-cmp",
|
||||
dependencies = { "hrsh7th/cmp-emoji" },
|
||||
---@param opts cmp.ConfigSchema
|
||||
opts = function(_, opts)
|
||||
table.insert(opts.sources, { name = "emoji" })
|
||||
end,
|
||||
},
|
||||
|
||||
-- change some telescope options and a keymap to browse plugin files
|
||||
{
|
||||
"nvim-telescope/telescope.nvim",
|
||||
keys = {
|
||||
-- add a keymap to browse plugin files
|
||||
-- stylua: ignore
|
||||
{
|
||||
"<leader>fp",
|
||||
function() require("telescope.builtin").find_files({ cwd = require("lazy.core.config").options.root }) end,
|
||||
desc = "Find Plugin File",
|
||||
},
|
||||
},
|
||||
-- change some options
|
||||
opts = {
|
||||
defaults = {
|
||||
layout_strategy = "horizontal",
|
||||
layout_config = { prompt_position = "top" },
|
||||
sorting_strategy = "ascending",
|
||||
winblend = 0,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- add pyright to lspconfig
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
---@class PluginLspOpts
|
||||
opts = {
|
||||
---@type lspconfig.options
|
||||
servers = {
|
||||
-- pyright will be automatically installed with mason and loaded with lspconfig
|
||||
pyright = {},
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- add tsserver and setup with typescript.nvim instead of lspconfig
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
dependencies = {
|
||||
"jose-elias-alvarez/typescript.nvim",
|
||||
init = function()
|
||||
require("lazyvim.util").lsp.on_attach(function(_, buffer)
|
||||
-- stylua: ignore
|
||||
vim.keymap.set( "n", "<leader>co", "TypescriptOrganizeImports", { buffer = buffer, desc = "Organize Imports" })
|
||||
vim.keymap.set("n", "<leader>cR", "TypescriptRenameFile", { desc = "Rename File", buffer = buffer })
|
||||
end)
|
||||
end,
|
||||
},
|
||||
---@class PluginLspOpts
|
||||
opts = {
|
||||
---@type lspconfig.options
|
||||
servers = {
|
||||
-- tsserver will be automatically installed with mason and loaded with lspconfig
|
||||
tsserver = {},
|
||||
},
|
||||
-- you can do any additional lsp server setup here
|
||||
-- return true if you don't want this server to be setup with lspconfig
|
||||
---@type table<string, fun(server:string, opts:_.lspconfig.options):boolean?>
|
||||
setup = {
|
||||
-- example to setup with typescript.nvim
|
||||
tsserver = function(_, opts)
|
||||
require("typescript").setup({ server = opts })
|
||||
return true
|
||||
end,
|
||||
-- Specify * to use this function as a fallback for any server
|
||||
-- ["*"] = function(server, opts) end,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- for typescript, LazyVim also includes extra specs to properly setup lspconfig,
|
||||
-- treesitter, mason and typescript.nvim. So instead of the above, you can use:
|
||||
{ import = "lazyvim.plugins.extras.lang.typescript" },
|
||||
|
||||
-- add more treesitter parsers
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"bash",
|
||||
"html",
|
||||
"javascript",
|
||||
"json",
|
||||
"lua",
|
||||
"markdown",
|
||||
"markdown_inline",
|
||||
"python",
|
||||
"query",
|
||||
"regex",
|
||||
"tsx",
|
||||
"typescript",
|
||||
"vim",
|
||||
"yaml",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- since `vim.tbl_deep_extend`, can only merge tables and not lists, the code above
|
||||
-- would overwrite `ensure_installed` with the new value.
|
||||
-- If you'd rather extend the default config, use the code below instead:
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = function(_, opts)
|
||||
-- add tsx and treesitter
|
||||
vim.list_extend(opts.ensure_installed, {
|
||||
"tsx",
|
||||
"typescript",
|
||||
})
|
||||
end,
|
||||
},
|
||||
|
||||
-- the opts function can also be used to change the default opts:
|
||||
{
|
||||
"nvim-lualine/lualine.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = function(_, opts)
|
||||
table.insert(opts.sections.lualine_x, {
|
||||
function()
|
||||
return "😄"
|
||||
end,
|
||||
})
|
||||
end,
|
||||
},
|
||||
|
||||
-- or you can return new options to override all the defaults
|
||||
{
|
||||
"nvim-lualine/lualine.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = function()
|
||||
return {
|
||||
--[[add your custom lualine config here]]
|
||||
}
|
||||
end,
|
||||
},
|
||||
|
||||
-- use mini.starter instead of alpha
|
||||
{ import = "lazyvim.plugins.extras.ui.mini-starter" },
|
||||
|
||||
-- add jsonls and schemastore packages, and setup treesitter for json, json5 and jsonc
|
||||
{ import = "lazyvim.plugins.extras.lang.json" },
|
||||
|
||||
-- add any tools you want to have installed below
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"stylua",
|
||||
"shellcheck",
|
||||
"shfmt",
|
||||
"flake8",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
5
configs/nvim/lua/plugins/instant.lua
Normal file
5
configs/nvim/lua/plugins/instant.lua
Normal file
@@ -0,0 +1,5 @@
|
||||
return {
|
||||
{
|
||||
"jbyuki/instant.nvim",
|
||||
},
|
||||
}
|
||||
18
configs/nvim/lua/plugins/obsidian.lua
Normal file
18
configs/nvim/lua/plugins/obsidian.lua
Normal file
@@ -0,0 +1,18 @@
|
||||
return {
|
||||
"epwalsh/obsidian.nvim",
|
||||
version = "*",
|
||||
dependencies = { "nvim-lua/plenary.nvim" },
|
||||
opts = {
|
||||
workspaces = {
|
||||
{ name = "notes", path = "~/Documents/Obsidian/Secure_Vault/" },
|
||||
},
|
||||
daily_notes = {
|
||||
folder = "20 Daily/Days",
|
||||
},
|
||||
templates = {
|
||||
subdir = "80 Templates",
|
||||
date_format = "%Y-%m-%d",
|
||||
time_format = "%H:%M",
|
||||
},
|
||||
},
|
||||
}
|
||||
20
configs/nvim/lua/plugins/rest.lua
Normal file
20
configs/nvim/lua/plugins/rest.lua
Normal file
@@ -0,0 +1,20 @@
|
||||
return {
|
||||
{
|
||||
"vhyrro/luarocks.nvim",
|
||||
priority = 1000,
|
||||
opts = {
|
||||
rocks = { "lua-curl", "nvim-nio", "mimetypes", "xml2lua" },
|
||||
},
|
||||
config = function(_, opts)
|
||||
local plugin_path = vim.fn.stdpath("data") .. "/lazy/luarocks.nvim"
|
||||
local vendor_path = plugin_path .. "/.rocks/share/lua/5.1/luarocks/vendor/?.lua"
|
||||
package.path = package.path .. ";" .. vendor_path
|
||||
require("luarocks-nvim").setup(opts)
|
||||
end,
|
||||
},
|
||||
{
|
||||
"rest-nvim/rest.nvim",
|
||||
ft = "http",
|
||||
dependencies = { "luarocks.nvim" },
|
||||
},
|
||||
}
|
||||
141
configs/nvim/opencode.json
Normal file
141
configs/nvim/opencode.json
Normal file
@@ -0,0 +1,141 @@
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"provider": {
|
||||
"llama.cpp": {
|
||||
"npm": "@ai-sdk/openai-compatible",
|
||||
"name": "llama-server (local)",
|
||||
"options": {
|
||||
"baseURL": "http://127.0.0.1:8082/v1"
|
||||
},
|
||||
"models": {
|
||||
"coder": {
|
||||
"name": "coder",
|
||||
"limit": {
|
||||
"context": 32000,
|
||||
"output": 65536
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"lsp": true,
|
||||
"formatter": {
|
||||
"gofmt": {
|
||||
"command": ["gofmt", "-w", "$FILE"],
|
||||
"extensions": [".go"]
|
||||
},
|
||||
"prettier": {
|
||||
"command": ["prettier", "--write", "$FILE"],
|
||||
"extensions": [
|
||||
".ts",
|
||||
".tsx",
|
||||
".js",
|
||||
".jsx",
|
||||
".mjs",
|
||||
".cjs",
|
||||
".vue",
|
||||
".html",
|
||||
".htm",
|
||||
".css",
|
||||
".scss",
|
||||
".less",
|
||||
".sass",
|
||||
".json",
|
||||
".jsonc",
|
||||
".yaml",
|
||||
".yml",
|
||||
".md",
|
||||
".mdx"
|
||||
]
|
||||
},
|
||||
"php-cs-fixer": {
|
||||
"command": ["php-cs-fixer", "fix", "$FILE"],
|
||||
"extensions": [".php"]
|
||||
}
|
||||
},
|
||||
"mcp": {
|
||||
"playwright": {
|
||||
"type": "local",
|
||||
"command": ["npx", "-y", "@playwright/mcp@latest"],
|
||||
"enabled": false
|
||||
},
|
||||
"postgres": {
|
||||
"type": "local",
|
||||
"command": ["uvx", "postgres-mcp"],
|
||||
"enabled": false,
|
||||
"environment": {
|
||||
"DATABASE_URI": "postgresql://user:pass@localhost:5432/mydb"
|
||||
}
|
||||
},
|
||||
"mariadb": {
|
||||
"type": "local",
|
||||
"command": ["npx", "-y", "@oleander/mcp-server-mariadb"],
|
||||
"enabled": false,
|
||||
"environment": {
|
||||
"MARIADB_HOST": "127.0.0.1",
|
||||
"MARIADB_PORT": "3306",
|
||||
"MARIADB_USER": "root",
|
||||
"MARIADB_PASS": "",
|
||||
"MARIADB_DB": "mydb"
|
||||
}
|
||||
},
|
||||
"redis": {
|
||||
"type": "local",
|
||||
"command": ["uvx", "redis-mcp-server"],
|
||||
"enabled": false,
|
||||
"environment": {
|
||||
"REDIS_URL": "redis://localhost:6379"
|
||||
}
|
||||
},
|
||||
"sqlite": {
|
||||
"type": "local",
|
||||
"command": ["npx", "-y", "mcp-sqlite", "./data/dev.db"],
|
||||
"enabled": false
|
||||
},
|
||||
"docker": {
|
||||
"type": "local",
|
||||
"command": ["uvx", "mcp-server-docker"],
|
||||
"enabled": false
|
||||
},
|
||||
"gitea": {
|
||||
"type": "local",
|
||||
"command": ["uvx", "gitea-mcp"],
|
||||
"enabled": false,
|
||||
"environment": {
|
||||
"GITEA_URL": "https://git.db1232.ir",
|
||||
"GITEA_TOKEN": "your-personal-access-token"
|
||||
}
|
||||
},
|
||||
"matrix": {
|
||||
"type": "local",
|
||||
"command": ["npx", "-y", "@iflow-mcp/mjknowles-matrix-mcp-server"],
|
||||
"enabled": false,
|
||||
"environment": {
|
||||
"MATRIX_HOMESERVER_URL": "https://tempchat.db123.ir",
|
||||
"MATRIX_ACCESS_TOKEN": "your-access-token"
|
||||
}
|
||||
}
|
||||
},
|
||||
"permission": {
|
||||
"read": "allow",
|
||||
"glob": "allow",
|
||||
"grep": "allow",
|
||||
"list": "allow",
|
||||
"lsp": "allow",
|
||||
"webfetch": "allow",
|
||||
"websearch": "allow",
|
||||
"question": "allow",
|
||||
"todowrite": "allow",
|
||||
"edit": "ask",
|
||||
"write": "ask",
|
||||
"task": "ask",
|
||||
"external_directory": "ask",
|
||||
"skill": "ask",
|
||||
"doom_loop": "deny",
|
||||
"bash": {
|
||||
"*": "ask",
|
||||
"git push*": "deny",
|
||||
"rm -rf*": "deny"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,18 +1,28 @@
|
||||
width = 100%
|
||||
height = 100%
|
||||
# user created manually
|
||||
#include = /home/db123/.config/assets/myColors.conf
|
||||
|
||||
width = 40%
|
||||
height = 40%
|
||||
border-width = 0
|
||||
outline-width = 0
|
||||
padding-left = 33%
|
||||
padding-top = 33%
|
||||
result-spacing = 25
|
||||
corner-radius = 15
|
||||
# user modified manually
|
||||
outline-width = 1
|
||||
outline-color = #cba6f7
|
||||
padding-left = 3%
|
||||
padding-top = 2%
|
||||
result-spacing = 20
|
||||
num-results = 5
|
||||
|
||||
font = JetBrainsMono Nerd Font
|
||||
font-size = 24
|
||||
|
||||
text-color = #4e4e5f
|
||||
text-color = #b6b6db
|
||||
|
||||
prompt-text = " : "
|
||||
|
||||
background-color = #11111bd9
|
||||
selection-color = #83A4E7
|
||||
background-color = #1e1e2edd
|
||||
selection-color = #cba6f7
|
||||
|
||||
# user created manually
|
||||
terminal = kitty
|
||||
history = true
|
||||
|
||||
@@ -1,20 +1,22 @@
|
||||
width = 100%
|
||||
height = 100%
|
||||
width = 80%
|
||||
height = 40%
|
||||
border-width = 0
|
||||
outline-width = 0
|
||||
padding-top = 33%
|
||||
padding-left = 10%
|
||||
padding-right = 10%
|
||||
result-spacing = 25
|
||||
outline-width = 1
|
||||
corner-radius = 15
|
||||
outline-color = #cba6f7
|
||||
padding-top = 2%
|
||||
padding-left = 3%
|
||||
padding-right = 5%
|
||||
result-spacing = 20
|
||||
num-results = 5
|
||||
|
||||
font = JetBrainsMono Nerd Font
|
||||
font-size = 24
|
||||
|
||||
text-color = #4e4e5f
|
||||
text-color = #b6b6db
|
||||
|
||||
prompt-text = " : "
|
||||
|
||||
background-color = #11111bd9
|
||||
selection-color = #83A4E7
|
||||
background-color = #1e1e2edd
|
||||
selection-color = #cba6f7
|
||||
|
||||
|
||||
@@ -6,10 +6,8 @@
|
||||
"passthrough": false,
|
||||
"gtk-layer-shell": true,
|
||||
"height": 0,
|
||||
"modules-left": [
|
||||
"clock",
|
||||
"hyprland/workspaces"
|
||||
],
|
||||
"output": ["HDMI-A-3"],
|
||||
"modules-left": ["clock", "hyprland/language", "hyprland/workspaces"],
|
||||
"modules-center": ["hyprland/window"],
|
||||
"modules-right": [
|
||||
"tray",
|
||||
@@ -19,23 +17,40 @@
|
||||
"battery",
|
||||
"backlight",
|
||||
"pulseaudio",
|
||||
"pulseaudio#microphone"
|
||||
"pulseaudio#microphone",
|
||||
],
|
||||
|
||||
"hyprland/window": {
|
||||
"format": " {}"
|
||||
"format": " {}",
|
||||
},
|
||||
|
||||
// user created manually
|
||||
// "custom/window": {
|
||||
// "exec": "~/.config/waybar/scritps/test.sh",
|
||||
// "format": " {}"
|
||||
// },
|
||||
|
||||
"hyprland/workspaces": {
|
||||
"format": "{icon}",
|
||||
"disable-scroll": true,
|
||||
"all-outputs": true,
|
||||
"on-click": "activate"
|
||||
//"format": "{icon}",
|
||||
"on-click": "activate",
|
||||
},
|
||||
|
||||
// user created manually
|
||||
"hyprland/language": {
|
||||
"format": "{}",
|
||||
"min-length": 2,
|
||||
"format-en": "English",
|
||||
"format-ir": "ir",
|
||||
"format-persian": "ir",
|
||||
// "on-click":
|
||||
// "keyboard-name": "evision-rgb-keyboard"
|
||||
},
|
||||
|
||||
"tray": {
|
||||
"icon-size": 13,
|
||||
"spacing": 10
|
||||
"spacing": 10,
|
||||
},
|
||||
|
||||
"clock": {
|
||||
@@ -52,9 +67,9 @@
|
||||
"months": "<span color='#a6adc8'><b>{}</b></span>",
|
||||
"weekdays": "<span color='#a6adc8'><b>{}</b></span>",
|
||||
"today": "<span color='#a6adc8'><b>{}</b></span>",
|
||||
"days": "<span color='#555869'><b>{}</b></span>"
|
||||
}
|
||||
}
|
||||
"days": "<span color='#555869'><b>{}</b></span>",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
"backlight": {
|
||||
@@ -63,20 +78,20 @@
|
||||
"format-icons": ["", "", ""],
|
||||
"on-scroll-up": "brightnessctl set 1%+",
|
||||
"on-scroll-down": "brightnessctl set 1%-",
|
||||
"min-length": 6
|
||||
"min-length": 6,
|
||||
},
|
||||
|
||||
"battery": {
|
||||
"states": {
|
||||
"good": 95,
|
||||
"warning": 30,
|
||||
"critical": 20
|
||||
"critical": 20,
|
||||
},
|
||||
"format": "{icon} {capacity}%",
|
||||
"format-charging": " {capacity}%",
|
||||
"format-plugged": " {capacity}%",
|
||||
"format-alt": "{time} {icon}",
|
||||
"format-icons": ["", "", "", "", "", "", "", "", "", "", ""]
|
||||
"format-icons": ["", "", "", "", "", "", "", "", "", "", ""],
|
||||
},
|
||||
|
||||
"pulseaudio": {
|
||||
@@ -84,6 +99,8 @@
|
||||
"tooltip": false,
|
||||
"format-muted": " Muted",
|
||||
"on-click": "pamixer -t",
|
||||
// user created manually
|
||||
"on-click-right": "pavucontrol",
|
||||
"on-scroll-up": "pamixer -i 1",
|
||||
"on-scroll-down": "pamixer -d 1",
|
||||
"scroll-step": 5,
|
||||
@@ -94,8 +111,8 @@
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": ["","", "", ""]
|
||||
}
|
||||
"default": ["", "", "", ""],
|
||||
},
|
||||
},
|
||||
|
||||
"pulseaudio#microphone": {
|
||||
@@ -103,16 +120,17 @@
|
||||
"format-source": " {volume}%",
|
||||
"format-source-muted": " Muted",
|
||||
"on-click": "pamixer --default-source -t",
|
||||
"on-click-right": "pavucontrol",
|
||||
"on-scroll-up": "pamixer --default-source -i 5",
|
||||
"on-scroll-down": "pamixer --default-source -d 5",
|
||||
"scroll-step": 5
|
||||
"scroll-step": 5,
|
||||
},
|
||||
|
||||
"memory": {
|
||||
"states": {
|
||||
"c": 90, // critical
|
||||
"h": 60, // high
|
||||
"m": 30 // medium
|
||||
"m": 30, // medium
|
||||
},
|
||||
"interval": 10,
|
||||
"format": " {used}GB",
|
||||
@@ -122,14 +140,14 @@
|
||||
"format-alt": " {percentage}%",
|
||||
"max-length": 10,
|
||||
"tooltip": true,
|
||||
"tooltip-format": " {percentage}%\n {used:0.1f}GB/{total:0.1f}GB"
|
||||
"tooltip-format": " {percentage}%\n {used:0.1f}GB/{total:0.1f}GB",
|
||||
},
|
||||
|
||||
"cpu": {
|
||||
"interval": 10,
|
||||
"format": " {usage}%",
|
||||
"format-alt": "{icon0}{icon1}{icon2}{icon3}",
|
||||
"format-icons": ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"]
|
||||
"format-icons": ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"],
|
||||
},
|
||||
|
||||
"network": {
|
||||
@@ -141,6 +159,8 @@
|
||||
"format-disconnected": " ",
|
||||
"tooltip-format-disconnected": "Disconnected",
|
||||
"format-alt": "<span foreground='#99ffdd'> {bandwidthDownBytes}</span> <span foreground='#ffcc66'> {bandwidthUpBytes}</span>",
|
||||
"interval": 2
|
||||
}
|
||||
// user created manually
|
||||
"on-click-right": "nm-connection-editor",
|
||||
"interval": 2,
|
||||
},
|
||||
}
|
||||
|
||||
4
configs/waybar/scripts/test.sh
Executable file
4
configs/waybar/scripts/test.sh
Executable file
@@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
pid=$(hyprctl activewindow -j | jq -r '.pid')
|
||||
exe=$(readlink /proc/$pid/exe)
|
||||
basename "$exe"
|
||||
@@ -1,3 +1,11 @@
|
||||
/* user created manually */
|
||||
/* @import "mocha.css"; */
|
||||
@define-color waybalttrans rgba(30, 30, 30, 0.3);
|
||||
@define-color waybmain rgb(203, 166, 247);
|
||||
@define-color waybfont rgb(166, 173, 200);
|
||||
@define-color waybalt rgb(30, 30, 30);
|
||||
@define-color waybalt2 rgb( 100, 100, 100);
|
||||
|
||||
* {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
@@ -8,39 +16,42 @@
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background: rgba(21, 18, 27, 0);
|
||||
color: #cdd6f4;
|
||||
background: @waybalttrans;
|
||||
color: @waybfont;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
padding: 5px;
|
||||
color: #555869;
|
||||
color: @waybalt2;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
color: #a6adc8;
|
||||
color: @waybmain;
|
||||
}
|
||||
|
||||
#workspaces button.focused {
|
||||
color: #a6adc8;
|
||||
background: #eba0ac;
|
||||
color: @waybfont;
|
||||
background: @waybalt;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
color: #11111b;
|
||||
background: #a6e3a1;
|
||||
color: @waybalt;
|
||||
background: @waybfont;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
background: #cdd6f4;
|
||||
color: #11111b;
|
||||
background: @waybmain;
|
||||
color: @waybalt;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
#window,
|
||||
/* user modified manually */
|
||||
#language,
|
||||
#clock,
|
||||
#battery,
|
||||
#pulseaudio,
|
||||
@@ -50,13 +61,51 @@ window#waybar {
|
||||
#workspaces,
|
||||
#tray,
|
||||
#backlight {
|
||||
background: #1e1e2e;
|
||||
background: @waybalt;
|
||||
padding: 0px 10px;
|
||||
margin: 3px 0px;
|
||||
margin-top: 5px;
|
||||
/* border: 1px solid #181825; */
|
||||
}
|
||||
|
||||
/* user created manually */
|
||||
#window,
|
||||
#tray {
|
||||
border: 2px solid @waybmain;
|
||||
}
|
||||
#language {
|
||||
border: 2px solid @waybmain;
|
||||
}
|
||||
#clock {
|
||||
border: 2px solid @waybmain;
|
||||
}
|
||||
#pulseaudio {
|
||||
border: 2px solid @waybmain;
|
||||
}
|
||||
#pulseaudio.microphone {
|
||||
border-right: 2px solid @waybmain;
|
||||
}
|
||||
#network {
|
||||
border: 2px solid @waybmain;
|
||||
border-right: none;
|
||||
}
|
||||
#cpu {
|
||||
border: 2px solid @waybmain;
|
||||
border-left: none;
|
||||
}
|
||||
#memory {
|
||||
border: 2px solid @waybmain;
|
||||
border-right: none;
|
||||
}
|
||||
#workspaces {
|
||||
border: 2px solid @waybmain;
|
||||
}
|
||||
|
||||
#language {
|
||||
border-radius: 10px;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
#backlight {
|
||||
border-radius: 10px 0px 0px 10px;
|
||||
}
|
||||
@@ -67,7 +116,7 @@ window#waybar {
|
||||
}
|
||||
|
||||
#workspaces {
|
||||
background: #1e1e2e;
|
||||
background: @waybalt;
|
||||
border-radius: 10px;
|
||||
margin-left: 10px;
|
||||
padding-right: 0px;
|
||||
@@ -90,34 +139,36 @@ window#waybar {
|
||||
}
|
||||
|
||||
#clock {
|
||||
color: #a6adc8;
|
||||
color: @waybfont;
|
||||
border-radius: 10px 10px 10px 10px;
|
||||
margin-left: 5px;
|
||||
border-right: 0px;
|
||||
/* user modified manually */
|
||||
/* border-right: 0px; */
|
||||
}
|
||||
|
||||
#network {
|
||||
color: #a6adc8;
|
||||
color: @waybfont;
|
||||
border-radius: 10px 0px 0px 10px;
|
||||
|
||||
}
|
||||
|
||||
#pulseaudio {
|
||||
color: #a6adc8;
|
||||
color: @waybfont;
|
||||
border-left: 0px;
|
||||
border-right: 0px;
|
||||
}
|
||||
|
||||
#pulseaudio.microphone {
|
||||
color: #a6adc8;
|
||||
color: @waybfont;
|
||||
border-radius: 0px 10px 10px 0px;
|
||||
border-left: 0px;
|
||||
border-right: 0px;
|
||||
/* user modified manually */
|
||||
/* border-left: 0px; */
|
||||
/* border-right: 0px; */
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
#battery {
|
||||
color:#a6adc8;
|
||||
color:@waybfont;
|
||||
border-radius: 0px 10px 10px 0px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
/* user created manually */
|
||||
@define-color wlogalttrans rgba(30, 30, 30, 0.5);
|
||||
@define-color wlogfont rgb(166, 173, 200);
|
||||
@define-color wlogalt rgb(30, 30, 30);
|
||||
@define-color wlogmain rgb(203, 166, 247);
|
||||
|
||||
* {
|
||||
font-family: JetBrains Mono, Symbols Nerd Font;
|
||||
font-size: 24px;
|
||||
@@ -6,14 +12,15 @@
|
||||
}
|
||||
|
||||
window {
|
||||
background-color: #11111b;
|
||||
background-color: @wlogalttrans;
|
||||
/* border-radius: 10px; */
|
||||
}
|
||||
|
||||
button {
|
||||
background-color: #11111b;
|
||||
background-color: @wlogalt;
|
||||
border-color: @wlogmain;
|
||||
border-style: solid;
|
||||
/* border-width: 2px; */
|
||||
border-width: 2px;
|
||||
border-radius: 50px;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
@@ -23,66 +30,67 @@ button {
|
||||
|
||||
button:active,
|
||||
button:hover {
|
||||
background-color: #cdd6f4;
|
||||
background-color: @wlogmain;
|
||||
color: @wlogalt;
|
||||
}
|
||||
|
||||
button:focus {
|
||||
background-color: #cdd6f4;
|
||||
background-color: @wlogmain;
|
||||
}
|
||||
|
||||
#lock {
|
||||
background-image: image(url("../assets/wlogout/assets/lock.png"), url("/usr/local/share/wlogout/icons/lock.png"));
|
||||
background-image: image(url("/home/db123/.config/assets/wlogout/assets/lock.png"), url("/usr/local/share/wlogout/icons/lock.png"));
|
||||
}
|
||||
|
||||
#lock:hover {
|
||||
background-image: image(url("../assets/wlogout/assets/lock-hover.png"), url("/usr/local/share/wlogout/icons/lock.png"));
|
||||
color: #11111b;
|
||||
background-image: image(url("/home/db123/.config/assets/wlogout/assets/lock-hover.png"), url("/usr/local/share/wlogout/icons/lock.png"));
|
||||
color: @wlogalt;
|
||||
}
|
||||
|
||||
#logout {
|
||||
background-image: image(url("../assets/wlogout/assets/logout.png"), url("/usr/local/share/wlogout/icons/logout.png"));
|
||||
background-image: image(url("/home/db123/.config/assets/wlogout/assets/logout.png"), url("/usr/local/share/wlogout/icons/logout.png"));
|
||||
}
|
||||
|
||||
#logout:hover {
|
||||
background-image: image(url("../assets/wlogout/assets/logout-hover.png"), url("/usr/local/share/wlogout/icons/logout.png"));
|
||||
color: #11111b;
|
||||
background-image: image(url("/home/db123/.config/assets/wlogout/assets/logout-hover.png"), url("/usr/local/share/wlogout/icons/logout.png"));
|
||||
color: @wlogalt;
|
||||
}
|
||||
|
||||
#suspend {
|
||||
background-image: image(url("../assets/wlogout/assets/sleep.png"), url("/usr/local/share/wlogout/icons/suspend.png"));
|
||||
background-image: image(url("/home/db123/.config/assets/wlogout/assets/sleep.png"), url("/usr/local/share/wlogout/icons/suspend.png"));
|
||||
}
|
||||
|
||||
#suspend:hover {
|
||||
background-image: image(url("../assets/wlogout/assets/sleep-hover.png"), url("/usr/local/share/wlogout/icons/suspend.png"));
|
||||
color: #11111b;
|
||||
background-image: image(url("/home/db123/.config/assets/wlogout/assets/sleep-hover.png"), url("/usr/local/share/wlogout/icons/suspend.png"));
|
||||
color: @wlogalt;
|
||||
}
|
||||
|
||||
#shutdown {
|
||||
background-image: image(url("../assets/wlogout/assets/power.png"), url("/usr/local/share/wlogout/icons/shutdown.png"));
|
||||
background-image: image(url("/home/db123/.config/assets/wlogout/assets/power.png"), url("/usr/local/share/wlogout/icons/shutdown.png"));
|
||||
}
|
||||
|
||||
#shutdown:hover {
|
||||
background-image: image(url("../assets/wlogout/assets/power-hover.png"), url("/usr/local/share/wlogout/icons/shutdown.png"));
|
||||
color: #11111b;
|
||||
background-image: image(url("/home/db123/.config/assets/wlogout/assets/power-hover.png"), url("/usr/local/share/wlogout/icons/shutdown.png"));
|
||||
color: @wlogalt;
|
||||
}
|
||||
|
||||
#reboot {
|
||||
background-image: image(url("../assets/wlogout/assets/restart.png"), url("/usr/local/share/wlogout/icons/reboot.png"));
|
||||
background-image: image(url("/home/db123/.config/assets/wlogout/assets/restart.png"), url("/usr/local/share/wlogout/icons/reboot.png"));
|
||||
}
|
||||
|
||||
#reboot:hover {
|
||||
background-image: image(url("../assets/wlogout/assets/restart-hover.png"), url("/usr/local/share/wlogout/icons/reboot.png"));
|
||||
color: #11111b;
|
||||
background-image: image(url("/home/db123/.config/assets/wlogout/assets/restart-hover.png"), url("/usr/local/share/wlogout/icons/reboot.png"));
|
||||
color: @wlogalt;
|
||||
}
|
||||
|
||||
#exit {
|
||||
background-image: image(url("../assets/wlogout/assets/restart.png"), url("/usr/local/share/wlogout/icons/reboot.png"));
|
||||
background-color: #11111b;
|
||||
background-image: image(url("/home/db123/.config/assets/wlogout/assets/restart.png"), url("/usr/local/share/wlogout/icons/reboot.png"));
|
||||
background-color: @wlogalt;
|
||||
|
||||
}
|
||||
|
||||
#exit:hover {
|
||||
background-image: image(url("../assets/wlogout/assets/restart-hover.png"), url("/usr/local/share/wlogout/icons/reboot.png"));
|
||||
color: #11111b;
|
||||
background-color: #cdd6f4;
|
||||
background-image: image(url("/home/db123/.config/assets/wlogout/assets/restart-hover.png"), url("/usr/local/share/wlogout/icons/reboot.png"));
|
||||
color: @wlogalt;
|
||||
background-color: @wlogmain;
|
||||
}
|
||||
|
||||
@@ -10,16 +10,15 @@ log_message "Final setup script started"
|
||||
print_bold_blue "\nCongratulations! Your Simple Hyprland setup is complete!"
|
||||
|
||||
print_bold_blue "\nRepository Information:"
|
||||
echo " - GitHub Repository: https://github.com/gaurav23b/simple-hyprland"
|
||||
echo " - If you found this repo helpful, please consider giving it a star on GitHub!"
|
||||
echo " - Gitea Repository: https://git.db123.ir/db123/simple-hyprland"
|
||||
echo " - Original source: https://github.com/gaurav23b/simple-hyprland"
|
||||
|
||||
print_bold_blue "\nContribute:"
|
||||
echo " - Feel free to open issues, submit pull requests, or provide feedback."
|
||||
echo " - Every contribution, big or small, is valuable to the community."
|
||||
|
||||
print_bold_blue "\nTroubleshooting:"
|
||||
echo " - If you encounter any issues, please check the GitHub issues section."
|
||||
echo " - Don't hesitate to open a new issue if you can't find a solution to your problem."
|
||||
print_bold_blue "\nCustomizations for db123:"
|
||||
echo " - Dual GPU: Intel UHD 730 + AMD Radeon RX 580"
|
||||
echo " - Monitor: HDMI-A-3, 1920x1080@74.97"
|
||||
echo " - Keyboard: us/ir layout"
|
||||
echo " - Catppuccin Mocha theme throughout"
|
||||
echo " - Wallpaper: awww daemon + mpvpaper for video wallpapers"
|
||||
|
||||
print_success "\nEnjoy your new Hyprland environment!"
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ print_info "\nStarting hypr setup..."
|
||||
print_info "\nEverything is recommended to INSTALL"
|
||||
|
||||
run_command "pacman -S --noconfirm hyprland" "Install Hyprland (Must)" "yes"
|
||||
run_command "mkdir -p /home/$SUDO_USER/.config/hypr/ && cp -r $BASE_DIR/configs/hypr/hyprland.conf /home/$SUDO_USER/.config/hypr/" "Copy hyprland config (Must)" "yes" "no"
|
||||
run_command "mkdir -p /home/$SUDO_USER/.config/hypr/ && cp -r $BASE_DIR/configs/hypr/*.conf /home/$SUDO_USER/.config/hypr/" "Copy all modular hypr configs (Must)" "yes" "no"
|
||||
|
||||
run_command "pacman -S --noconfirm xdg-desktop-portal-hyprland" "Install XDG desktop portal for Hyprland" "yes"
|
||||
|
||||
|
||||
@@ -19,11 +19,13 @@ elif run_command "pacman -S --noconfirm --needed git base-devel" "Install YAY (M
|
||||
fi
|
||||
run_command "pacman -S --noconfirm pipewire wireplumber pamixer brightnessctl" "Configuring audio and brightness (Recommended)" "yes"
|
||||
|
||||
run_command "pacman -S --noconfirm ttf-cascadia-code-nerd ttf-cascadia-mono-nerd ttf-fira-code ttf-fira-mono ttf-fira-sans ttf-firacode-nerd ttf-iosevka-nerd ttf-iosevkaterm-nerd ttf-jetbrains-mono-nerd ttf-jetbrains-mono ttf-nerd-fonts-symbols ttf-nerd-fonts-symbols ttf-nerd-fonts-symbols-mono" "Installing Nerd Fonts and Symbols (Recommended)" "yes"
|
||||
run_command "pacman -S --noconfirm awww mpvpaper" "Install wallpaper daemon (awww) and video wallpaper (mpvpaper)" "yes"
|
||||
|
||||
run_command "pacman -S --noconfirm ttf-jetbrains-mono-nerd ttf-jetbrains-mono ttf-nerd-fonts-symbols ttf-nerd-fonts-symbols ttf-nerd-fonts-symbols-mono" "Installing Nerd Fonts and Symbols (Recommended)" "yes"
|
||||
|
||||
run_command "pacman -S --noconfirm sddm && systemctl enable sddm.service" "Install and enable SDDM (Recommended)" "yes"
|
||||
|
||||
run_command "yay -S --sudoloop --noconfirm brave-bin" "Install Brave Browser" "yes" "no"
|
||||
run_command "yay -S --sudoloop --noconfirm zen-browser-bin" "Install Zen Browser" "yes" "no"
|
||||
|
||||
run_command "pacman -S --noconfirm kitty" "Install Kitty (Recommended)" "yes"
|
||||
|
||||
|
||||
@@ -13,9 +13,9 @@ run_command "pacman -S --noconfirm nwg-look" "Install nwg-look for GTK theme man
|
||||
|
||||
run_command "pacman -S --noconfirm qt5ct qt6ct kvantum" "Install Qt5, Qt6 Settings, and Kvantum theme engines" "yes"
|
||||
|
||||
run_command "tar -xvf $BASE_DIR/assets/themes/Catppuccin-Mocha.tar.xz -C /usr/share/themes/" "Install Catppuccin Mocha GTK theme" "yes"
|
||||
run_command "yay -S --sudoloop --noconfirm catppuccin-gtk-theme-mocha" "Install Catppuccin Mocha GTK theme" "yes" "no"
|
||||
|
||||
run_command "tar -xvf $BASE_DIR/assets/icons/Tela-circle-dracula.tar.xz -C /usr/share/icons/" "Install Tela Circle Dracula icon theme" "yes"
|
||||
run_command "yay -S --sudoloop --noconfirm catppuccin-cursors-mocha" "Install Catppuccin Mocha cursors" "yes" "no"
|
||||
|
||||
run_command "yay -S --sudoloop --noconfirm kvantum-theme-catppuccin-git" "Install Catppuccin theme for Kvantum" "yes" "no"
|
||||
|
||||
@@ -24,8 +24,11 @@ run_command "cp -r $BASE_DIR/configs/kitty /home/$SUDO_USER/.config/" "Copy Catp
|
||||
# Add instructions to configure theming
|
||||
print_info "\nPost-installation instructions:"
|
||||
print_bold_blue "Set themes and icons:"
|
||||
echo " - Run 'nwg-look' and set the global GTK and icon theme"
|
||||
echo " - Open 'kvantummanager' (run with sudo for system-wide changes) to select and apply the Catppuccin theme"
|
||||
echo " - Run 'nwg-look' and set GTK theme to Catppuccin-Mocha, icon theme to Tela-circle-dracula, cursor to catppuccin-mocha"
|
||||
echo " - Open 'kvantummanager' to select and apply the Catppuccin theme"
|
||||
echo " - Open 'qt6ct' to set the icon theme"
|
||||
print_bold_blue "Optional: Catppuccin GRUB theme:"
|
||||
echo " - Install via: yay -S catppuccin-grub-theme-git"
|
||||
echo " - Then run: sudo grub-install && sudo grub-mkconfig -o /boot/grub/grub.cfg"
|
||||
|
||||
echo "------------------------------------------------------------------------"
|
||||
@@ -17,7 +17,7 @@ run_command "cp -r $BASE_DIR/configs/tofi /home/$SUDO_USER/.config/" "Copy Tofi
|
||||
|
||||
run_command "pacman -S --noconfirm cliphist" "Install Cliphist - Clipboard Manager" "yes"
|
||||
|
||||
run_command "yay -S --sudoloop --noconfirm swww" "Install SWWW for wallpaper management" "yes" "no"
|
||||
run_command "yay -S --sudoloop --noconfirm awww" "Install awww for wallpaper management" "yes" "no"
|
||||
run_command "mkdir -p /home/$SUDO_USER/.config/assets/backgrounds && cp -r $BASE_DIR/assets/backgrounds /home/$SUDO_USER/.config/assets/" "Copy sample wallpapers to assets directory (Recommended)" "yes" "no"
|
||||
|
||||
run_command "yay -S --sudoloop --noconfirm hyprpicker" "Install Hyprpicker - Color Picker" "yes" "no"
|
||||
@@ -30,7 +30,12 @@ run_command "cp -r $BASE_DIR/configs/wlogout /home/$SUDO_USER/.config/ && cp -r
|
||||
|
||||
run_command "yay -S --sudoloop --noconfirm grimblast" "Install Grimblast - Screenshot tool" "yes" "no"
|
||||
|
||||
run_command "yay -S --sudoloop --noconfirm mpvpaper" "Install mpvpaper - animated/video wallpapers" "yes" "no"
|
||||
|
||||
run_command "yay -S --sudoloop --noconfirm hypridle" "Install Hypridle for idle management (Must)" "yes" "no"
|
||||
run_command "cp -r $BASE_DIR/configs/hypr/hypridle.conf /home/$SUDO_USER/.config/hypr/" "Copy Hypridle config" "yes" "no"
|
||||
|
||||
run_command "pacman -S --noconfirm neovim" "Install Neovim - Code editor" "yes"
|
||||
run_command "cp -r $BASE_DIR/configs/nvim /home/$SUDO_USER/.config/" "Copy Neovim config (LazyVim)" "yes" "no"
|
||||
|
||||
echo "------------------------------------------------------------------------"
|
||||
Reference in New Issue
Block a user