This commit is contained in:
coja 2025-03-19 01:00:03 +01:00
parent a614aedb5d
commit e05e9929ae
Signed by: coja
GPG Key ID: 245827C2A1FA8F09
79 changed files with 2761 additions and 1 deletions

43
.bashrc Normal file
View File

@ -0,0 +1,43 @@
#
# ~/.bashrc
#
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
alias grep='grep --color=auto'
alias fzf="fzf --preview color='always {}'"
alias pacs="sudo pacman -Syu"
alias nmaps="sudo nmap -sn 192.168.0.0/24"
alias mem="df -H --output=source,size,used,avail | grep 480G | sort -u"
alias kittyimg="kitten icat"
alias vpn="sudo wg-quick up wg0"
alias vpnd="sudo wg-quick down wg0"
alias vpnoff="sudo wg-quick down wg0"
alias xremaps="sudo xremap ~/.config/xremap/config.yml"
alias llama="~/projects/llama.cpp/build/bin/llama-server -m /home/anon/projects/llama.cpp/models/Llama-3.2-3B-Instruct-F16.gguf"
alias obsidian="cd ~/sync/PersonalObsidian/ && nvim"
alias dots="cd ~/.dotfiles/.config/ && nvim"
alias aliases="bat ~/.config/fish/config.fish"
# List Directory
alias ls="lsd"
alias l="ls -l"
alias la="ls -a"
alias lla="ls -la"
alias lt="ls --tree"
# Git
alias gs='git status'
alias gca='git add -p . && git commit'
alias gd="git diff --word-diff"
alias gl='git log --graph --show-signature'
alias gla="git log --all --decorate --oneline --graph"
alias gm='git merge'
alias gis='git status'
PS1='[\u@\h \W]\$'
set -o vi
eval "$(zoxide init --cmd cd bash)"

View File

@ -0,0 +1,46 @@
[window]
opacity = 0.7
padding.x = 30
padding.y = 20
decorations = "Full"
decorations_theme_variant = "Dark"
[font]
size = 10.0
[font.bold]
family = "CaskaydiaCove Nerd Font Mono"
style = "Bold"
[font.bold_italic]
family = "CaskaydiaCove Nerd Font Mono"
style = "Bold Italic"
[font.italic]
family = "CaskaydiaCove Nerd Font Mono"
style = "Italic"
[font.normal]
family = "CaskaydiaCove Nerd Font Mono"
style = "Regular"
# family = "Source Code Pro"
# family = "Liberation Mono"
# family = "Source Code Pro"
[keyboard]
bindings = [
{ key = "J", mods = "Control|Shift", action = "ScrollLineDown" },
{ key = "K", mods = "Control|Shift", action = "ScrollLineUp" },
{ key = "D", mods = "Control|Shift", action = "ScrollPageDown" },
{ key = "U", mods = "Control|Shift", action = "ScrollPageUp" },
# { key = "A", mods = "Control", action = "ScrollLineUpScrollLineUp" },
]

26
.config/bat/config Normal file
View File

@ -0,0 +1,26 @@
# This is `bat`s configuration file. Each line either contains a comment or
# a command-line option that you want to pass to `bat` by default. You can
# run `bat --help` to get a list of all possible configuration options.
# Specify desired highlighting theme (e.g. "TwoDark"). Run `bat --list-themes`
# for a list of all available themes
--theme="OneHalfDark"
--style="numbers,changes,header"
# Enable this to use italic text on the terminal. This is not supported on all
# terminal emulators (like tmux, by default):
#--italic-text=always
# Uncomment the following line to disable automatic paging:
#--paging=never
# Uncomment the following line if you are using less version >= 551 and want to
# enable mouse scrolling support in `bat` when running inside tmux. This might
# disable text selection, unless you press shift.
--pager="less --RAW-CONTROL-CHARS --quit-if-one-screen --mouse"
# Syntax mappings: map a certain filename pattern to a language.
# Example 1: use the C++ syntax for Arduino .ino files
# Example 2: Use ".gitignore"-style highlighting for ".ignore" files
--map-syntax "*.ino:C++"
--map-syntax ".ignore:Git Ignore"

View File

@ -0,0 +1,108 @@
{
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
"logo": {
"source": "$(find \"${XDG_CONFIG_HOME:-$HOME/.config}/fastfetch/pngs/\" -name \"*.png\" | shuf -n 1)",
"height": 18
},
"display": {
"separator": " : "
},
"modules": [
{
"type": "custom",
"format": "\u001b[36m "
},
{
"type": "custom",
"format": "┌──────────────────────────────────────────┐"
},
{
"type": "os",
"key": "  OS",
"keyColor": "red"
},
{
"type": "kernel",
"key": "  Kernel",
"keyColor": "red"
},
{
"type": "packages",
"key": "  Packages",
"keyColor": "green"
},
{
"type": "display",
"key": "  Display",
"keyColor": "green"
},
{
"type": "wm",
"key": "  WM",
"keyColor": "yellow"
},
{
"type": "terminal",
"key": "  Terminal",
"keyColor": "yellow"
},
{
"type": "custom",
"format": "└──────────────────────────────────────────┘"
},
"break",
{
"type": "title",
"key": " "
},
{
"type": "custom",
"format": "┌──────────────────────────────────────────┐"
},
{
"type": "cpu",
"format": "{1}",
"key": "  CPU",
"keyColor": "blue"
},
{
"type": "gpu",
"format": "{2}",
"key": "  GPU",
"keyColor": "blue"
},
{
"type": "gpu",
"format": "{3}",
"key": "  GPU Driver",
"keyColor": "magenta"
},
{
"type": "memory",
"key": " ﬙ Memory",
"keyColor": "magenta"
},
{
"type": "command",
"key": " 󱦟 OS Age ",
"keyColor": "31",
"text": "birth_install=$(stat -c %W /); current=$(date +%s); time_progression=$((current - birth_install)); days_difference=$((time_progression / 86400)); echo $days_difference days"
},
{
"type": "uptime",
"key": " 󱫐 Uptime ",
"keyColor": "red"
},
{
"type": "custom",
"format": "└──────────────────────────────────────────┘"
},
{
"type": "colors",
"paddingLeft": 2,
"symbol": "circle"
},
"break"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

61
.config/fish/config.fish Normal file
View File

@ -0,0 +1,61 @@
set -gx EDITOR nvim
set -gx PAGER less
set -Ux BAT_THEME gruvbox
set -Ux MANPAGER "nvim +Man!"
set -g fish_greeting
set -g fish_cursor_insert line
set -g fish_cursor_default block
set -g fish_cursor_visual underscore
set -g fish_user_key_bindings
set -g ask
#set -xU MANPAGER 'less -R --use-color -Dd+r -Du+b'
#set -xU MANROFFOPT '-P -c'
alias grep="grep --color=auto"
alias fzf="fzf --preview color='always {}'"
alias pacs="sudo pacman -Syu"
alias nmaps="sudo nmap -sn 192.168.0.0/24"
alias mem="df -H --output=source,size,used,avail | grep 480G | sort -u"
alias kittyimg="kitten icat"
alias dmz="cat ~/.config/fish/dmz.txt"
alias vpnhome="sudo wg-quick up wg0"
alias vpnvillage="sudo wg-quick up village-wg1"
alias xremaps="sudo xremap ~/.config/xremap/config.yml"
alias llama="~/projects/llama.cpp/build/bin/llama-server -m /home/anon/projects/llama.cpp/models/Llama-3.2-3B-Instruct-F16.gguf"
alias obsidian="cd ~/sync/PersonalObsidian/ && nvim"
alias cdots="cd ~/.dotfiles/.config/"
alias dots="cd ~/.dotfiles/.config/ && nvim"
alias aliases="bat ~/.config/fish/config.fish"
alias ipadd="sudo ip route add 192.168.0.234 dev wg0"
alias copy="wl-copy"
# List Directory
alias ls="lsd"
alias l="ls -l"
alias la="ls -a"
alias lla="ls -la"
alias lt="ls --tree"
# Git
alias gs="git status"
alias gca="git add -p . && git commit"
alias gd="git diff --word-diff"
alias gl="git log --graph --show-signature"
alias gla="git log --all --decorate --oneline --graph"
alias gm="git merge"
# Handy change dir shortcuts
abbr .. "cd .."
abbr ... "cd ../.."
abbr .3 "cd ../../.."
abbr .4 "cd ../../../.."
abbr .5 "cd ../../../../.."
# Always mkdir a path (this doesn't inhibit functionality to make a single dir)
abbr mkdir "mkdir -p"
zoxide init --cmd cd fish | source

30
.config/fish/dmz.txt Normal file
View File

@ -0,0 +1,30 @@
                          .dO00Od'                          
                         d00000000d.                        
                        d0000000000k                        
                        x0000000000O                        
                         k000000000                         
                           ;0000: Okc                       
                                    kkc                     
                                      kkc                   
                                        dkl                 
                                          okl               
                                            lOl             
                                              cOo.          
 .lxkOOkxl.              .lxkOOkxl.             ;OoxkOOkxl. 
'O00000000O,            'O00000000O,            '000000000O,
O0000000000OddddddddddddO00000000000ddddddddddddO00000000000
c0000000000c            :0000000000l            :0000000000l
 .00000000.              .00000000'             '000000000' 
                             00               'd0.          
                             00             ,d0.            
                             00           ,x0               
                             00         :x0                 
                             00       cxO                   
                             00     ckO                     
                           .c00l' ckk                       
                         ck000000O0                         
                        c0000000000o                        
                        O00000000000                        
                        .0000000000.                        
                          ,000000:                          
                             :c                             

View File

@ -0,0 +1,46 @@
# This file contains fish universal variable definitions.
# VERSION: 3.0
SETUVAR --export BAT_THEME:gruvbox
SETUVAR --export EDITOR:nvim
SETUVAR --export MANPAGER:nvim\x20\x2bMan\x21
SETUVAR --export MANROFFOPT:\x2dP\x20\x2dc
SETUVAR __fish_initialized:3800
SETUVAR fish_color_autosuggestion:4D5566
SETUVAR fish_color_cancel:\x2dr
SETUVAR fish_color_command:39BAE6
SETUVAR fish_color_comment:626A73
SETUVAR fish_color_cwd:59C2FF
SETUVAR fish_color_cwd_root:red
SETUVAR fish_color_end:F29668
SETUVAR fish_color_error:FF3333
SETUVAR fish_color_escape:95E6CB
SETUVAR fish_color_history_current:\x2d\x2dbold
SETUVAR fish_color_host:normal
SETUVAR fish_color_host_remote:yellow
SETUVAR fish_color_keyword:39BAE6
SETUVAR fish_color_match:F07178
SETUVAR fish_color_normal:B3B1AD
SETUVAR fish_color_operator:E6B450
SETUVAR fish_color_option:B3B1AD
SETUVAR fish_color_param:B3B1AD
SETUVAR fish_color_quote:C2D94C
SETUVAR fish_color_redirection:FFEE99
SETUVAR fish_color_search_match:\x2d\x2dbackground\x3dE6B450
SETUVAR fish_color_selection:\x2d\x2dbackground\x3dE6B450
SETUVAR fish_color_status:red
SETUVAR fish_color_user:brgreen
SETUVAR fish_color_valid_path:\x2d\x2dunderline
SETUVAR fish_key_bindings:fish_vi_key_bindings
SETUVAR fish_pager_color_background:\x1d
SETUVAR fish_pager_color_completion:normal
SETUVAR fish_pager_color_description:B3A06D\x1eyellow
SETUVAR fish_pager_color_prefix:normal\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
SETUVAR fish_pager_color_secondary_background:\x1d
SETUVAR fish_pager_color_secondary_completion:\x1d
SETUVAR fish_pager_color_secondary_description:\x1d
SETUVAR fish_pager_color_secondary_prefix:\x1d
SETUVAR fish_pager_color_selected_background:\x2d\x2dbackground\x3dE6B450
SETUVAR fish_pager_color_selected_completion:\x1d
SETUVAR fish_pager_color_selected_description:\x1d
SETUVAR fish_pager_color_selected_prefix:\x1d

View File

@ -0,0 +1,3 @@
function ask --description 'answer from cht.sh'
curl -s https://cht.sh/$(string join '+' $argv[1..])
end

View File

@ -0,0 +1,7 @@
function fish_greeting
#curl "wttr.in/Belgrade?format=%l:+%c+%t+|+%h+|+%w+|+(%%M+%m)\n"
cat ~/.config/fish/greet.txt ## populated by cronjob
date +"📅 %d. %b 🕗 %H:%M - %A"
end

View File

@ -0,0 +1,14 @@
function fish_prompt
if test -n "$SSH_TTY"
echo -n (set_color brred)"$USER"(set_color white)'@'(set_color yellow)(prompt_hostname)' '
end
echo -n (set_color blue)(prompt_pwd)' '
set_color -o
if fish_is_root_user
echo -n (set_color red)'# '
end
echo -n (set_color red)''(set_color yellow)''(set_color green)' '
set_color normal
end

View File

@ -0,0 +1,161 @@
function fish_right_prompt
set -l cmd_status $status
if test $cmd_status -ne 0
echo -n (set_color red)"$cmd_status"
end
if not command -sq git
set_color normal
return
end
# Get the git directory for later use.
# Return if not inside a Git repository work tree.
if not set -l git_dir (command git rev-parse --git-dir 2>/dev/null)
set_color normal
return
end
# Get the current action ("merge", "rebase", etc.)
# and if there's one get the current commit hash too.
set -l commit ''
if set -l action (fish_print_git_action "$git_dir")
set commit (command git rev-parse HEAD 2> /dev/null | string sub -l 7)
end
# Get either the branch name or a branch descriptor.
set -l branch_detached 0
if not set -l branch (command git symbolic-ref --short HEAD 2>/dev/null)
set branch_detached 1
set branch (command git describe --contains --all HEAD 2>/dev/null)
end
# Get the commit difference counts between local and remote.
command git rev-list --count --left-right 'HEAD...@{upstream}' 2>/dev/null \
| read -d \t -l status_ahead status_behind
if test $status -ne 0
set status_ahead 0
set status_behind 0
end
# Get the stash status.
# (git stash list) is very slow. => Avoid using it.
set -l status_stashed 0
if test -f "$git_dir/refs/stash"
set status_stashed 1
else if test -r "$git_dir/commondir"
read -l commondir <"$git_dir/commondir"
if test -f "$commondir/refs/stash"
set status_stashed 1
end
end
# git-status' porcelain v1 format starts with 2 letters on each line:
# The first letter (X) denotes the index state.
# The second letter (Y) denotes the working directory state.
#
# The following table presents the possible combinations:
# * The underscore character denotes whitespace.
# * The cell values stand for the following file states:
# a: added
# d: deleted
# m: modified
# r: renamed
# u: unmerged
# t: untracked
# * Cells with more than one letter signify that both states
# are simultaneously the case. This is possible since the git index
# and working directory operate independently of each other.
# * Cells which are empty are unhandled by this code.
# * T (= type change) is undocumented.
# See Git v1.7.8.2 release notes for more information.
#
# \ Y→
# X \
# ↓ | A | C | D | M | R | T | U | X | B | ? | _
# ----+----+----+----+----+----+----+----+----+----+----+----
# A | u | | ad | am | r | am | u | | | | a
# C | | | ad | am | r | am | u | | | | a
# D | | | u | am | r | am | u | | | | a
# M | | | ad | am | r | am | u | | | | a
# R | r | r | rd | rm | r | rm | ur | r | r | r | r
# T | | | ad | am | r | am | u | | | | a
# U | u | u | u | um | ur | um | u | u | u | u | u
# X | | | | m | r | m | u | | | |
# B | | | | m | r | m | u | | | |
# ? | | | | m | r | m | u | | | t |
# _ | | | d | m | r | m | u | | | |
set -l porcelain_status (command git status --porcelain 2>/dev/null | string sub -l2)
set -l status_added 0
if string match -qr '[ACDMT][ MT]|[ACMT]D' $porcelain_status
set status_added 1
end
set -l status_deleted 0
if string match -qr '[ ACMRT]D' $porcelain_status
set status_deleted 1
end
set -l status_modified 0
if string match -qr '[MT]$' $porcelain_status
set status_modified 1
end
set -l status_renamed 0
if string match -qe R $porcelain_status
set status_renamed 1
end
set -l status_unmerged 0
if string match -qr 'AA|DD|U' $porcelain_status
set status_unmerged 1
end
set -l status_untracked 0
if string match -qe '\?\?' $porcelain_status
set status_untracked 1
end
set_color -o
if test -n "$branch"
if test $branch_detached -ne 0
set_color brmagenta
else
set_color green
end
echo -n " $branch"
end
if test -n "$commit"
echo -n ' '(set_color yellow)"$commit"
end
if test -n "$action"
set_color normal
echo -n (set_color white)':'(set_color -o brred)"$action"
end
if test $status_ahead -ne 0
echo -n ' '(set_color brmagenta)'⬆'
end
if test $status_behind -ne 0
echo -n ' '(set_color brmagenta)'⬇'
end
if test $status_stashed -ne 0
echo -n ' '(set_color cyan)'✭'
end
if test $status_added -ne 0
echo -n ' '(set_color green)'✚'
end
if test $status_deleted -ne 0
echo -n ' '(set_color red)'✖'
end
if test $status_modified -ne 0
echo -n ' '(set_color blue)'✱'
end
if test $status_renamed -ne 0
echo -n ' '(set_color magenta)'➜'
end
if test $status_unmerged -ne 0
echo -n ' '(set_color yellow)'═'
end
if test $status_untracked -ne 0
echo -n ' '(set_color white)'◼'
end
set_color normal
end

View File

@ -0,0 +1,8 @@
function fish_user_key_bindings
fish_default_key_bindings -M insert
fish_vi_key_bindings --no-erase insert
bind -M default ctrl-a beginning-of-line
bind -M default ctrl-e end-of-line
bind -M insert ctrl-space accept-autosuggestion
bind -M insert ctrl-g 'git diff' repaint
end

2
.config/hyde/hyde.conf Normal file
View File

@ -0,0 +1,2 @@
hydeTheme="Synth Wave"
rofiStyle="2"

View File

@ -0,0 +1,21 @@
# ▄▀█ █▄░█ █ █▀▄▀█ ▄▀█ ▀█▀ █ █▀█ █▄░█
# █▀█ █░▀█ █ █░▀░█ █▀█ ░█░ █ █▄█ █░▀█
# See https://wiki.hyprland.org/Configuring/Animations/
animations {
enabled = yes
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
}

143
.config/hypr/hyprland.conf Normal file
View File

@ -0,0 +1,143 @@
#   ░▒▒▒░░░░░▓▓          ___________
# ░░▒▒▒░░░░░▓▓        //___________/
# ░░▒▒▒░░░░░▓▓     _   _ _    _ _____
# ░░▒▒░░░░░▓▓▓▓▓▓ | | | | |  | |  __/
# ░▒▒░░░░▓▓   ▓▓ | |_| | |_/ /| |___
#  ░▒▒░░▓▓   ▓▓   \__  |____/ |____/
#    ░▒▓▓   ▓▓  //____/
$scrPath = $HOME/.local/share/bin # set scripts path
# █▀▄▀█ █▀█ █▄░█ █ ▀█▀ █▀█ █▀█
# █░▀░█ █▄█ █░▀█ █ ░█░ █▄█ █▀▄
# See https://wiki.hyprland.org/Configuring/Monitors/
# monitor = ,preferred,auto,auto
# █░░ ▄▀█ █░█ █▄░█ █▀▀ █░█
# █▄▄ █▀█ █▄█ █░▀█ █▄▄ █▀█
# See https://wiki.hyprland.org/Configuring/Keywords/
exec-once = $scrPath/resetxdgportal.sh # reset XDPH for screenshare
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # for XDPH
exec-once = dbus-update-activation-environment --systemd --all # for XDPH
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # for XDPH
exec-once = $scrPath/polkitkdeauth.sh # authentication dialogue for GUI apps
exec-once = waybar # launch the system bar
exec-once = blueman-applet # systray app for Bluetooth
exec-once = udiskie --no-automount --smart-tray # front-end that allows to manage removable media
exec-once = nm-applet --indicator # systray app for Network/Wifi
exec-once = dunst # start notification demon
exec-once = wl-paste --type text --watch cliphist store # clipboard store text data
exec-once = wl-paste --type image --watch cliphist store # clipboard store image data
exec-once = $scrPath/swwwallpaper.sh # start wallpaper daemon
exec-once = $scrPath/batterynotify.sh # battery notification
exec-once = xremap ~/.config/xremap/config.yml
exec-once = swayidle -w timeout 180 'swaylock --timestr %H:%M & brightnessctl -s & brightnessctl set 15' resume 'brightnessctl -r'
# █▀▀ █▄░█ █░█
# ██▄ █░▀█ ▀▄▀
# See https://wiki.hyprland.org/Configuring/Environment-variables/
env = PATH,$PATH:$scrPath
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_TYPE,wayland
env = XDG_SESSION_DESKTOP,Hyprland
env = QT_QPA_PLATFORM,wayland;xcb
env = QT_QPA_PLATFORMTHEME,qt6ct
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
env = MOZ_ENABLE_WAYLAND,1
env = GDK_SCALE,1
# █ █▄░█ █▀█ █░█ ▀█▀
# █ █░▀█ █▀▀ █▄█ ░█░
# See https://wiki.hyprland.org/Configuring/Variables/
# keyremap
input {
kb_layout = us
# kb_options=caps:swapescape
# kb_options=caps:ctrl_modifier
follow_mouse = 1
touchpad {
natural_scroll = no
}
sensitivity = 0
force_no_accel = 1
}
# See https://wiki.hyprland.org/Configuring/Keywords/#executing
device {
name = epic mouse V1
sensitivity = -0.5
}
# See https://wiki.hyprland.org/Configuring/Variables/
gestures {
workspace_swipe = true
workspace_swipe_fingers = 3
}
# █░░ ▄▀█ █▄█ █▀█ █░█ ▀█▀ █▀
# █▄▄ █▀█ ░█░ █▄█ █▄█ ░█░ ▄█
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/
dwindle {
pseudotile = yes
preserve_split = yes
}
# See https://wiki.hyprland.org/Configuring/Master-Layout/
master {
new_status = master
}
# █▀▄▀█ █ █▀ █▀▀
# █░▀░█ █ ▄█ █▄▄
# See https://wiki.hyprland.org/Configuring/Variables/
misc {
vrr = 0
disable_hyprland_logo = true
disable_splash_rendering = true
force_default_wallpaper = 0
}
xwayland {
force_zero_scaling = true
}
# █▀ █▀█ █░█ █▀█ █▀▀ █▀▀
# ▄█ █▄█ █▄█ █▀▄ █▄▄ ██▄
source = ~/.config/hypr/animations.conf
source = ~/.config/hypr/keybindings.conf
source = ~/.config/hypr/windowrules.conf
source = ~/.config/hypr/themes/common.conf # shared theme settings
source = ~/.config/hypr/themes/theme.conf # theme specific settings
source = ~/.config/hypr/themes/colors.conf # wallbash color override
source = ~/.config/hypr/monitors.conf # initially empty, to be configured by user and remains static
source = ~/.config/hypr/userprefs.conf # initially empty, to be configured by user and remains static
# Note: as userprefs.conf is sourced at the end, settings configured in this file will override the defaults

View File

@ -0,0 +1,189 @@
# █▄▀ █▀▀ █▄█ █▄▄ █ █▄░█ █▀▄ █ █▄░█ █▀▀ █▀
# █░█ ██▄ ░█░ █▄█ █ █░▀█ █▄▀ █ █░▀█ █▄█ ▄█
# See https://wiki.hyprland.org/Configuring/Keywords/
# & https://wiki.hyprland.org/Configuring/Binds/
# Main modifier
$mainMod = Super # super / meta / windows key
# Assign apps
$term = kitty # fish alacritty
$editor = neovide
$file = dolphin
$browser = librewolf
$yt = freetube
$notes = obsidian
# Window/Session actions
bind = $mainMod, Q, exec, $scrPath/dontkillsteam.sh # close focused window
bind = Alt, F4, exec, $scrPath/dontkillsteam.sh # close focused window
bind = $mainMod, Delete, exit, # kill hyprland session
bind = $mainMod, W, togglefloating, # toggle the window between focus and float
bind = $mainMod, G, togglegroup, # toggle the window between focus and group
bind = Alt, Return, fullscreen, # toggle the window between focus and fullscreen
bind = $mainMod, L, exec, swaylock --timestr %H:%M # launch lock screen
bind = Ctrl+Alt, W, exec, killall waybar || waybar # toggle waybar
# bind = $mainMod+Shift, F, exec, $scrPath/windowpin.sh # toggle pin on focused window
# bind = $mainMod, Backspace, exec, $scrPath/logoutlaunch.sh # launch logout menu
# Application shortcuts
bind = Ctrl+Shift+Alt, T, exec, st # launch tilix terminal emulator - using for ssh
bind = Ctrl+Alt, T, exec, $term # launch terminal emulator
bind = $mainMod, T, exec, $term # launch terminal emulator
bind = $mainMod+Ctrl, T, exec, tilix # launch tilix terminal emulator
bind = $mainMod, E, exec, $file # launch file manager
bind = $mainMod, C, exec, $editor # launch text editor
bind = $mainMod, F, exec, $yt # launch yt alternative
bind = $mainMod, B, exec, $browser # launch web browser
bind = $mainMod, M, exec, $notes # launch notes app
bind = $mainMod, G, exec, gajim # launch messanger
bind = $mainMod, K, exec, keepassxc # launch password manager
bind = Ctrl+Shift, Escape, exec, $scrPath/sysmonlaunch.sh # launch system monitor (htop/btop or fallback to top)
# bind = $mainMod+Shift, B, exec, $browser, title: ^(LibreWolf Private Browsing)$ # launch private web browser
# Rofi menus
bind = $mainMod, A, exec, pkill -x rofi || $scrPath/rofilaunch.sh d # launch application launcher
bind = $mainMod, Tab, exec, pkill -x rofi || $scrPath/rofilaunch.sh w # launch window switcher
bind = $mainMod+Shift, E, exec, pkill -x rofi || $scrPath/rofilaunch.sh f # launch file explorer
# Audio control
# bindl = , F10, exec, $scrPath/volumecontrol.sh -o m # toggle audio mute
# bindel = , F11, exec, $scrPath/volumecontrol.sh -o d # decrease volume
# bindel = , F12, exec, $scrPath/volumecontrol.sh -o i # increase volume
bindl = , XF86AudioMute, exec, $scrPath/volumecontrol.sh -o m # toggle audio mute
bindl = , XF86AudioMicMute, exec, $scrPath/volumecontrol.sh -i m # toggle microphone mute
bindel = , XF86AudioLowerVolume, exec, $scrPath/volumecontrol.sh -o d # decrease volume
bindel = , XF86AudioRaiseVolume, exec, $scrPath/volumecontrol.sh -o i # increase volume
# Media control
bindl = , XF86AudioPlay, exec, playerctl play-pause # toggle between media play and pause
bindl = , XF86AudioPause, exec, playerctl play-pause # toggle between media play and pause
bindl = , XF86AudioNext, exec, playerctl next # media next
bindl = , XF86AudioPrev, exec, playerctl previous # media previous
# Brightness control
bindel = , XF86MonBrightnessUp, exec, $scrPath/brightnesscontrol.sh i # increase brightness
bindel = , XF86MonBrightnessDown, exec, $scrPath/brightnesscontrol.sh d # decrease brightness
# Move between grouped windows
# bind = $mainMod CTRL , H, changegroupactive, b
# bind = $mainMod CTRL , L, changegroupactive, f
# Screenshot/Screencapture
bind = $mainMod, P, exec, $scrPath/screenshot.sh s # partial screenshot capture
bind = $mainMod+Ctrl, P, exec, $scrPath/screenshot.sh sf # partial screenshot capture (frozen screen)
bind = $mainMod+Alt, P, exec, $scrPath/screenshot.sh m # monitor screenshot capture
bind = , Print, exec, $scrPath/screenshot.sh p # all monitors screenshot capture
# Custom scripts
bind = $mainMod+Alt, G, exec, $scrPath/gamemode.sh # disable hypr effects for gamemode
bind = $mainMod+Alt, Right, exec, $scrPath/swwwallpaper.sh -n # next wallpaper
bind = $mainMod+Alt, Left, exec, $scrPath/swwwallpaper.sh -p # previous wallpaper
# bind = $mainMod+Alt, Up, exec, $scrPath/wbarconfgen.sh n # next waybar mode
# bind = $mainMod+Alt, Down, exec, $scrPath/wbarconfgen.sh p # previous waybar mode
bind = $mainMod+Shift, R, exec, pkill -x rofi || $scrPath/wallbashtoggle.sh -m # launch wallbash mode select menu
bind = $mainMod+Shift, T, exec, pkill -x rofi || $scrPath/themeselect.sh # launch theme select menu
bind = $mainMod+Shift, A, exec, pkill -x rofi || $scrPath/rofiselect.sh # launch select menu
bind = $mainMod+Shift, W, exec, pkill -x rofi || $scrPath/swwwallselect.sh # launch wallpaper select menu
bind = $mainMod, V, exec, pkill -x rofi || $scrPath/cliphist.sh c # launch clipboard
bind = $mainMod, K, exec, $scrPath/keyboardswitch.sh # switch keyboard layout
bind = $mainMod, slash, exec, pkill -x rofi || $scrPath/keybinds_hint.sh c # launch keybinds hint
# Move/Change window focus
bind = $mainMod, Left, movefocus, l
bind = $mainMod, Right, movefocus, r
bind = $mainMod, Up, movefocus, u
bind = $mainMod, Down, movefocus, d
bind = $mainMod+Shift, h, movefocus, l
bind = $mainMod+Shift, l, movefocus, r
bind = $mainMod+Shift, k, movefocus, u
bind = $mainMod+Shift, j, movefocus, d
bind = Alt, Tab, movefocus, d
# Switch workspaces with mod + [0-9]
bind = $mainMod, 1, workspace, r~1
bind = $mainMod, 2, workspace, r~2
bind = $mainMod, 3, workspace, r~3
bind = $mainMod, 4, workspace, r~4
bind = $mainMod, 5, workspace, r~5
bind = $mainMod, 6, workspace, r~6
bind = $mainMod, 7, workspace, r~7
bind = $mainMod, 8, workspace, r~8
bind = $mainMod, 9, workspace, r~9
bind = $mainMod, 0, workspace, r~10
# Move focused window to a workspace
bind = $mainMod+Ctrl, 1, movetoworkspace, r~1
bind = $mainMod+Ctrl, 2, movetoworkspace, r~2
bind = $mainMod+Ctrl, 3, movetoworkspace, r~3
bind = $mainMod+Ctrl, 4, movetoworkspace, r~4
bind = $mainMod+Ctrl, 5, movetoworkspace, r~5
bind = $mainMod+Ctrl, 6, movetoworkspace, r~6
bind = $mainMod+Ctrl, 7, movetoworkspace, r~7
bind = $mainMod+Ctrl, 8, movetoworkspace, r~8
bind = $mainMod+Ctrl, 9, movetoworkspace, r~9
bind = $mainMod+Ctrl, 0, movetoworkspace, r~10
# Move focused window to a workspace silently
bind = $mainMod+Alt, 1, movetoworkspacesilent, r~1
bind = $mainMod+Alt, 2, movetoworkspacesilent, r~2
bind = $mainMod+Alt, 3, movetoworkspacesilent, r~3
bind = $mainMod+Alt, 4, movetoworkspacesilent, r~4
bind = $mainMod+Alt, 5, movetoworkspacesilent, r~5
bind = $mainMod+Alt, 6, movetoworkspacesilent, r~6
bind = $mainMod+Alt, 7, movetoworkspacesilent, r~7
bind = $mainMod+Alt, 8, movetoworkspacesilent, r~8
bind = $mainMod+Alt, 9, movetoworkspacesilent, r~9
bind = $mainMod+Alt, 0, movetoworkspacesilent, r~10
# Move/Switch to special workspace (scratchpad)
bind = $mainMod+Alt, S, movetoworkspacesilent, special
bind = $mainMod, S, togglespecialworkspace,
# Toggle focused window split
bind = $mainMod, J, togglesplit
# Switch workspaces to a relative workspace
bind = $mainMod+Ctrl, right, workspace, r+1
bind = $mainMod+Ctrl, left, workspace, r-1
bind = $mainMod+Ctrl, l, workspace, r+1
bind = $mainMod+Ctrl, h, workspace, r-1
bind = $mainMod+Ctrl, Down, workspace, empty # Move to the first empty workspace
bind = $mainMod+Ctrl, J, movewindow, mon:eDP-1
bind = $mainMod+Ctrl, K, movewindow, mon:HDMI-A-1
# Resize windows
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
# added that to mimic i3's behavior, where pushing a workspace to another monitor also focuses it
# bind = $mainMod SHIFT, P, focusmonitor, +1
# bind = $mainMod SHIFT, P, movecurrentworkspacetomonitor, +1
# Move active window around current workspace with mainMod + SHIFT + CTRL [←→↑↓]
# $moveactivewindow=grep -q "true" <<< $(hyprctl activewindow -j | jq -r .floating) && hyprctl dispatch moveactive
binded = $mainMod+Shift+Ctrl, left,Move activewindow to the right,exec, $moveactivewindow -30 0 || hyprctl dispatch movewindow l
binded = $mainMod+Shift+Ctrl, right,Move activewindow to the right,exec, $moveactivewindow 30 0 || hyprctl dispatch movewindow r
binded = $mainMod+Shift+Ctrl, up,Move activewindow to the right,exec, $moveactivewindow 0 -30 || hyprctl dispatch movewindow u
binded = $mainMod+Shift+Ctrl, down,Move activewindow to the right,exec, $moveactivewindow 0 30 || hyprctl dispatch movewindow d
binded = $mainMod+Shift+Ctrl, h,Move activewindow to the right,exec, $moveactivewindow -30 0 || hyprctl dispatch movewindow l
binded = $mainMod+Shift+Ctrl, l,Move activewindow to the right,exec, $moveactivewindow 30 0 || hyprctl dispatch movewindow r
binded = $mainMod+Shift+Ctrl, k,Move activewindow to the right,exec, $moveactivewindow 0 -30 || hyprctl dispatch movewindow u
binded = $mainMod+Shift+Ctrl, j,Move activewindow to the right,exec, $moveactivewindow 0 30 || hyprctl dispatch movewindow d
# Scroll through existing workspaces
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
# Move/Resize focused window
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
bindm = $mainMod, Z, movewindow
bindm = $mainMod, X, resizewindow

View File

@ -0,0 +1,62 @@
# █▀▄▀█ █▀█ █▄░█ █ ▀█▀ █▀█ █▀█ █▀
# █░▀░█ █▄█ █░▀█ █ ░█░ █▄█ █▀▄ ▄█
# Set your monitor configuration here
# See https://wiki.hyprland.org/Configuring/Monitors/
# For a sample file, please refer to https://github.com/prasanthrangan/hyprdots/blob/main/Configs/.config/hypr/monitors.t2
$mainScreen = eDP-1
$leftScreen = DP-2
$rightScreen = HDMI-A-1
monitor = $mainScreen, 1366x768@60.14, 0x0, 1 # main screen
monitor = $leftScreen, 1920x1080@60, -1920x0, 1 # left
monitor = $rightScreen, 1920x1080@60,1366x0, 1 # right
# monitor=HDMI-A-1,1920x1080@60,-1366x0,1 # hdmi on left
# monitor=HDMI-A-1,1920x1080@60,0x-768,1 # hdmi on top
# monitor=DP-2,640x480@59.94Hz,0x0,1 # vga
# monitor = HDMI-A-1, 1366x768@60.00Hz, auto , 1, mirror, eDP-1 #mirror lapscreen
# monitor = eDP-1, 1920x1080@60.00Hz, auto , 1, mirror, HDMI-A-1 #main hdmi, lapscreen mirrors
# monitor = , preferred, auto, 1, mirror, DP-2 # dmz projector
# monitor = eDP-1, 1920x1080@60, auto , 1, mirror, DP-2 #mirror vga test
#Main Monitor
workspace = 1, monitor:$mainScreen, default:true
workspace = 2, monitor:$mainScreen
workspace = 3, monitor:$mainScreen
workspace = 4, monitor:$mainScreen
workspace = 5, monitor:$mainScreen
workspace = 6, monitor:$mainScreen
workspace = 7, monitor:$mainScreen
workspace = 8, monitor:$mainScreen
workspace = 9, monitor:$mainScreen
workspace = 10,monitor:$mainScreen
# Second Monitor
workspace = 11, monitor:$rightScreen, default:true
workspace = 12, monitor:$rightScreen
workspace = 13, monitor:$rightScreen
workspace = 14, monitor:$rightScreen
workspace = 15, monitor:$rightScreen
workspace = 16, monitor:$rightScreen
workspace = 17, monitor:$rightScreen
workspace = 18, monitor:$rightScreen
workspace = 19, monitor:$rightScreen
workspace = 20, monitor:$rightScreen
# Third Monitor
workspace = 21, monitor:$leftScreen, default:true
workspace = 22, monitor:$leftScreen
workspace = 23, monitor:$leftScreen
workspace = 24, monitor:$leftScreen
workspace = 25, monitor:$leftScreen
workspace = 26, monitor:$leftScreen
workspace = 27, monitor:$leftScreen
workspace = 28, monitor:$leftScreen
workspace = 29, monitor:$leftScreen
workspace = 30, monitor:$leftScreen

View File

View File

@ -0,0 +1,28 @@
# █▀▀ █░█ █▀█ █▀ █▀█ █▀█
# █▄▄ █▄█ █▀▄ ▄█ █▄█ █▀▄
exec = hyprctl setcursor Bibata-Modern-Ice 20
exec = gsettings set org.gnome.desktop.interface cursor-theme 'Bibata-Modern-Ice'
exec = gsettings set org.gnome.desktop.interface cursor-size 20
# █▀▀ █▀█ █▄░█ ▀█▀
# █▀░ █▄█ █░▀█ ░█░
exec = gsettings set org.gnome.desktop.interface font-name 'Cantarell 10'
exec = gsettings set org.gnome.desktop.interface document-font-name 'Cantarell 10'
exec = gsettings set org.gnome.desktop.interface monospace-font-name 'CaskaydiaCove Nerd Font Mono 9'
exec = gsettings set org.gnome.desktop.interface font-antialiasing 'rgba'
exec = gsettings set org.gnome.desktop.interface font-hinting 'full'
# █▀ █▀█ █▀▀ █▀▀ █ ▄▀█ █░░
# ▄█ █▀▀ ██▄ █▄▄ █ █▀█ █▄▄
decoration {
dim_special = 0.3
blur {
special = true
}
}

View File

@ -0,0 +1,36 @@
exec = gsettings set org.gnome.desktop.interface icon-theme 'Tela-circle-dracula'
exec = gsettings set org.gnome.desktop.interface gtk-theme 'Catppuccin-Mocha'
exec = gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
general {
gaps_in = 2 #3
gaps_out = 4 #8
border_size = 1 #2
col.active_border = rgba(ca9ee6ff) rgba(f2d5cfff) 45deg
col.inactive_border = rgba(b4befecc) rgba(6c7086cc) 45deg
layout = dwindle
resize_on_border = true
}
group {
col.border_active = rgba(ca9ee6ff) rgba(f2d5cfff) 45deg
col.border_inactive = rgba(b4befecc) rgba(6c7086cc) 45deg
col.border_locked_active = rgba(ca9ee6ff) rgba(f2d5cfff) 45deg
col.border_locked_inactive = rgba(b4befecc) rgba(6c7086cc) 45deg
}
decoration {
rounding = 6 #10
# drop_shadow = true #false
blur {
enabled = yes
size = 6
passes = 3
new_optimizations = on
ignore_opacity = on
xray = false
}
}
layerrule = blur,waybar

View File

@ -0,0 +1,6 @@
# █░█ █▀ █▀▀ █▀█   █▀█ █▀█ █▀▀ █▀▀ █▀
# █▄█ ▄█ ██▄ █▀▄   █▀▀ █▀▄ ██▄ █▀░ ▄█
# Set your personal hyprland configuration here
# For a sample file, please refer to https://github.com/prasanthrangan/hyprdots/blob/main/Configs/.config/hypr/userprefs.t2

View File

@ -0,0 +1,108 @@
# █░█░█ █ █▄░█ █▀▄ █▀█ █░█░█   █▀█ █░█ █░░ █▀▀ █▀
# ▀▄▀▄▀ █ █░▀█ █▄▀ █▄█ ▀▄▀▄▀   █▀▄ █▄█ █▄▄ ██▄ ▄█
# See https://wiki.hyprland.org/Configuring/Window-Rules/
# hyprctl clients to get names
windowrulev2 = opacity 0.90 0.90,class:^(neovide)$
windowrulev2 = opacity 0.90 0.90,class:^(firefox)$
windowrulev2 = opacity 0.80 0.80,class:^(betterbird)$
windowrulev2 = opacity 0.80 0.80,class:^(org.qbittorrent.qBittorrent)$
windowrulev2 = opacity 0.80 0.80,class:^(org.gajim.Gajim)$
windowrulev2 = opacity 0.80 0.80,class:^(Chromium)$
windowrulev2 = opacity 0.80 0.80,class:^(FreeTube)$
windowrulev2 = opacity 0.80 0.80,class:^(LibreWolf)$
windowrulev2 = opacity 0.80 0.60,class:^(obsidian)$
windowrulev2 = opacity 0.80 0.80,class:^(VSCodium)$
windowrulev2 = opacity 0.80 0.80,class:^(codium-url-handler)$
windowrulev2 = opacity 0.80 0.80,class:^(code-oss)$
windowrulev2 = opacity 0.80 0.80,class:^(Code)$
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.70 0.70,class:^(tilix)$
windowrulev2 = opacity 0.70 0.70,class:^(rustdesk)$
windowrulev2 = opacity 0.80 0.80,class:^(org.kde.dolphin)$
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:^(org.pulseaudio.pavucontrol)$
windowrulev2 = opacity 0.80 0.70,class:^(lagrange)$
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)$
windowrulev2 = opacity 0.70 0.70,class:^(Ferdium)$
windowrulev2 = opacity 0.70 0.70,class:^(org.keepassxc.KeePassXC)$
windowrulev2 = opacity 0.70 0.70,class:^([Ss]team)$
windowrulev2 = opacity 0.90 0.90,class:^(com.github.rafostar.Clapper)$ # Clapper-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(com.github.tchx84.Flatseal)$ # Flatseal-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(hu.kramo.Cartridges)$ # Cartridges-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(com.obsproject.Studio)$ # Obs-Qt
windowrulev2 = opacity 0.80 0.80,class:^(gnome-boxes)$ # Boxes-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(discord)$ # Discord-Electron
windowrulev2 = opacity 0.80 0.80,class:^(WebCord)$ # WebCord-Electron
windowrulev2 = opacity 0.80 0.80,class:^(ArmCord)$ # ArmCord-Electron
windowrulev2 = opacity 0.80 0.80,class:^(app.drey.Warp)$ # Warp-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(net.davidotek.pupgui2)$ # ProtonUp-Qt
windowrulev2 = opacity 0.80 0.80,class:^(yad)$ # Protontricks-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(Signal)$ # Signal-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(io.github.alainm23.planify)$ # planify-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(io.gitlab.theevilskeleton.Upscaler)$ # Upscaler-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(com.github.unrud.VideoDownloader)$ # VideoDownloader-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(io.gitlab.adhami3310.Impression)$ # Impression-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(io.missioncenter.MissionCenter)$ # MissionCenter-Gtk
windowrulev2 = opacity 0.80 0.80,class:^(io.github.flattool.Warehouse)$ # Warehouse-Gtk
windowrulev2 = float,class:^(org.kde.dolphin)$,title:^(Progress Dialog — Dolphin)$
windowrulev2 = float,class:^(org.kde.dolphin)$,title:^(Copying — Dolphin)$
windowrulev2 = float,title:^(About Mozilla Firefox)$
windowrulev2 = float,class:^(firefox)$,title:^(Picture-in-Picture)$
windowrulev2 = float,class:^(firefox)$,title:^(Library)$
windowrulev2 = float,class:^(kitty)$,title:^(top)$
windowrulev2 = float,class:^(kitty)$,title:^(btop)$
windowrulev2 = float,class:^(kitty)$,title:^(htop)$
windowrulev2 = float,class:^(vlc)$
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:^(org.pulseaudio.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 = float,class:^(Signal)$ # Signal-Gtk
windowrulev2 = float,class:^(com.github.rafostar.Clapper)$ # Clapper-Gtk
windowrulev2 = float,class:^(app.drey.Warp)$ # Warp-Gtk
windowrulev2 = float,class:^(net.davidotek.pupgui2)$ # ProtonUp-Qt
windowrulev2 = float,class:^(yad)$ # Protontricks-Gtk
windowrulev2 = float,class:^(eog)$ # Imageviewer-Gtk
windowrulev2 = float,class:^(io.github.alainm23.planify)$ # planify-Gtk
windowrulev2 = float,class:^(io.gitlab.theevilskeleton.Upscaler)$ # Upscaler-Gtk
windowrulev2 = float,class:^(com.github.unrud.VideoDownloader)$ # VideoDownloader-Gkk
windowrulev2 = float,class:^(io.gitlab.adhami3310.Impression)$ # Impression-Gtk
windowrulev2 = float,class:^(io.missioncenter.MissionCenter)$ # MissionCenter-Gtk
# █░░ ▄▀█ █▄█ █▀▀ █▀█   █▀█ █░█ █░░ █▀▀ █▀
# █▄▄ █▀█ ░█░ ██▄ █▀▄   █▀▄ █▄█ █▄▄ ██▄ ▄█
layerrule = blur,rofi
layerrule = ignorezero,rofi
layerrule = blur,notifications
layerrule = ignorezero,notifications
layerrule = blur,swaync-notification-window
layerrule = ignorezero,swaync-notification-window
layerrule = blur,swaync-control-center
layerrule = ignorezero,swaync-control-center
layerrule = blur,logout_dialog

12
.config/kitty/kitty.conf Normal file
View File

@ -0,0 +1,12 @@
font_family CaskaydiaCove Nerd Font Mono
bold_font auto
italic_font auto
bold_italic_font auto
enable_audio_bell no
font_size 9.0
window_padding_width 25
include theme.conf
#background_opacity 0.60
#hide_window_decorations yes
#confirm_os_window_close 0

59
.config/kitty/theme.conf Normal file
View File

@ -0,0 +1,59 @@
# The basic colors
foreground #ffffff
background #262335
selection_foreground #262335
selection_background #f97e72
# Cursor colors
cursor #f97e72
cursor_text_color #262335
# URL underline color when hovering with mouse
url_color #f97e72
# OS Window titlebar colors
wayland_titlebar_color system
macos_titlebar_color system
# Colors for marks (marked text in the terminal)
mark1_foreground #262335
mark1_background #614D85
mark2_foreground #262335
mark2_background #614D85
mark3_foreground #262335
mark3_background #614D85
# The 16 terminal colors
# black
color0 #232530
color8 #232530
# red
color1 #fe4450
color9 #fe4450
# green
color2 #72f1b8
color10 #72f1b8
# yellow
color3 #ff7edb
color11 #ff7edb
# blue
color4 #03edf9
color12 #03edf9
# magenta
color5 #fede5d
color13 #f3e70f
# cyan
color6 #03edf9
color14 #03edf9
# white
color7 #ffffff
color15 #ffffff

View File

@ -0,0 +1,6 @@
column_width = 120
line_endings = "Unix"
indent_type = "Spaces"
indent_width = 2
quote_style = "AutoPreferDouble"
call_parentheses = "None"

63
.config/nvim/init.lua Normal file
View File

@ -0,0 +1,63 @@
vim.g.base46_cache = vim.fn.stdpath "data" .. "/base46/"
vim.g.mapleader = " "
----- custom config -----
if vim.g.neovide then
vim.g.neovide_transparency = 0.7
vim.g.neovide_scale_factor = 0.7
vim.g.neovide_window_blurred = true
vim.g.neovide_floating_blur_amount_x = 1.0
vim.g.neovide_floating_blur_amount_y = 1.0
vim.g.neovide_floating_shadow = true
vim.g.neovide_floating_z_height = 0
vim.g.neovide_hide_mouse_when_typing = true
vim.g.neovide_padding_top = 15
vim.g.neovide_padding_right = 5
vim.g.neovide_padding_left = 5
-- vim.g.neovide_fullscreen = true
-- vim.g.neovide_padding_bottom = 0
-- vim.g.neovide_light_radius = 5
-- vim.g.neovide_show_border = false
-- vim.g.neovide_light_angle_degrees = 45
end
vim.opt.relativenumber = true
----- end of custom -----
-- bootstrap lazy and all plugins
local lazypath = vim.fn.stdpath "data" .. "/lazy/lazy.nvim"
if not vim.uv.fs_stat(lazypath) then
local repo = "https://github.com/folke/lazy.nvim.git"
vim.fn.system { "git", "clone", "--filter=blob:none", repo, "--branch=stable", lazypath }
end
vim.opt.rtp:prepend(lazypath)
local lazy_config = require "configs.lazy"
-- load plugins
require("lazy").setup({
{
"NvChad/NvChad",
lazy = false,
branch = "v2.5",
import = "nvchad.plugins",
},
{ import = "plugins" },
}, lazy_config)
-- load theme
dofile(vim.g.base46_cache .. "defaults")
dofile(vim.g.base46_cache .. "statusline")
require "options"
require "nvchad.autocmds"
vim.schedule(function()
require "mappings"
end)

View File

@ -0,0 +1,18 @@
-- This file needs to have same structure as nvconfig.lua
-- https://github.com/NvChad/ui/blob/v3.0/lua/nvconfig.lua
-- Please read that file to know all available options :(
---@type ChadrcConfig
local M = {}
M.base46 = {
theme = "onedark",
transparency = true
-- hl_override = {
-- Comment = { italic = true },
-- ["@comment"] = { italic = true },
-- },
}
return M

View File

@ -0,0 +1,15 @@
local options = {
formatters_by_ft = {
lua = { "stylua" },
-- css = { "prettier" },
-- html = { "prettier" },
},
-- format_on_save = {
-- -- These options will be passed to conform.format()
-- timeout_ms = 500,
-- lsp_fallback = true,
-- },
}
return options

View File

@ -0,0 +1,47 @@
return {
defaults = { lazy = true },
install = { colorscheme = { "nvchad" } },
ui = {
icons = {
ft = "",
lazy = "󰂠 ",
loaded = "",
not_loaded = "",
},
},
performance = {
rtp = {
disabled_plugins = {
"2html_plugin",
"tohtml",
"getscript",
"getscriptPlugin",
"gzip",
"logipat",
"netrw",
"netrwPlugin",
"netrwSettings",
"netrwFileHandlers",
"matchit",
"tar",
"tarPlugin",
"rrhelper",
"spellfile_plugin",
"vimball",
"vimballPlugin",
"zip",
"zipPlugin",
"tutor",
"rplugin",
"syntax",
"synmenu",
"optwin",
"compiler",
"bugreport",
"ftplugin",
},
},
},
}

View File

@ -0,0 +1,24 @@
-- load defaults i.e lua_lsp
require("nvchad.configs.lspconfig").defaults()
local lspconfig = require "lspconfig"
-- EXAMPLE
local servers = { "html", "cssls" }
local nvlsp = require "nvchad.configs.lspconfig"
-- lsps with default config
for _, lsp in ipairs(servers) do
lspconfig[lsp].setup {
on_attach = nvlsp.on_attach,
on_init = nvlsp.on_init,
capabilities = nvlsp.capabilities,
}
end
-- configuring single server, example: typescript
-- lspconfig.ts_ls.setup {
-- on_attach = nvlsp.on_attach,
-- on_init = nvlsp.on_init,
-- capabilities = nvlsp.capabilities,
-- }

View File

@ -0,0 +1,9 @@
require "nvchad.mappings"
-- add yours here
local map = vim.keymap.set
map("n", ";", ":", { desc = "CMD enter command mode" })
-- map({ "n", "i", "v" }, "<C-s>", "<cmd> w <cr>")

View File

@ -0,0 +1,6 @@
require "nvchad.options"
-- add yours here!
-- local o = vim.o
-- o.cursorlineopt ='both' -- to enable cursorline!

View File

@ -0,0 +1,25 @@
return {
{
"stevearc/conform.nvim",
-- event = 'BufWritePre', -- uncomment for format on save
opts = require "configs.conform",
},
-- These are some examples, uncomment them if you want to see them work!
{
"neovim/nvim-lspconfig",
config = function()
require "configs.lspconfig"
end,
},
-- {
-- "nvim-treesitter/nvim-treesitter",
-- opts = {
-- ensure_installed = {
-- "vim", "lua", "vimdoc",
-- "html", "css"
-- },
-- },
-- },
}

6
.config/pyradio/config Normal file
View File

@ -0,0 +1,6 @@
# PyRadio User Configuration File
# To get a full list of options execute: pyradio -pc
# or examine the file: /usr/lib/python3.12/site-packages/pyradio/config
#
theme = blue-by-boxer
use_transparency = True

View File

@ -0,0 +1,48 @@
Chillout (Groove Salad - SomaFM),http://somafm.com/startstream=groovesalad.pls,,
Alternative (BAGeL Radio),https://ais-sa3.cdnstream1.com/2606_128.aac,,
Hirschmilch Psytrance,https://hirschmilch.de:7001/psytrance.mp3,,
Bluffphonica,http://bluffphonica.stream.laut.fm/bluffphonica?pl=m3u&amp;t302=2024-09-17_23-09-40&amp;uuid=ce6a1b0b-1654-4d08-afbc-31b028f8f23b,,
Radio Caprice - Suomisaundi,http://79.120.77.11:8004/suomisaundi,,
psyradio * fm - chillout,http://streamer.psyradio.org:8020/;listen.mp3,,
Full-on psytrance,http://79.111.14.76:9019/,,
Vasilis Cfu psy trance,https://stream-40.zeno.fm/c2t7d9p6mf9uv?zs=_D-E0xBPQcGB_V9n7LLuqA,,
TL_Psytrance,https://stream.technolovers.fm/psytrance,,
Record Goa Psy,https://radiorecord.hostingradio.ru/goa96.aacp,,
1.FM - BOM Psytrance Radio,http://strm112.1.fm/psytrance_mobile_mp3,,
Anima Amoris [Goa Psy Trance],http://amoris.sknt.ru/goa.mp3,,
DMT FM Psytrance 24/7,https://dc1.serverse.com/proxy/ywycfrxn/live,,
radiOzora Trance,http://trance.out.airtime.pro:8000/trance_a,,
Psyndora Psytrance,http://cast.magicstreams.gr:9111/stream,,
Celtic (ThistleRadio - SomaFM),http://somafm.com/thistle.pls,,
Groove Salad Classic (Early 2000s Ambient),https://somafm.com/gsclassic.pls,,
n5MD Radio (Ambient and Experimental),https://somafm.com/n5md.pls,,
Vaporwaves [SomaFM],https://somafm.com/vaporwaves.pls,,
Commodore 64 Remixes (Slay Radio),http://www.slayradio.org/tune_in.php/128kbps/listen.m3u,,
Covers (SomaFM),http://somafm.com/covers.pls,,
Downtempo (Secret Agent - SomaFM),http://somafm.com/secretagent.pls,,
Dub Step (Dub Step Beyond - SomaFM),http://somafm.com/dubstep.pls,,
Electronic/Dance (Electronic Culture),http://www.shouted.fm/tunein/electro-dsl.m3u,,
House (Beat Blender - SomaFM),http://somafm.com/startstream=beatblender.pls,,
Indie Pop (Indie Pop Rocks! - SomaFM),http://somafm.com/indiepop130.pls,,
Intelligent dance music (Cliq Hop - SomaFM),http://somafm.com/startstream=cliqhop.pls,,
Jazz (Sonic Universe - SomaFM),http://somafm.com/startstream=sonicuniverse.pls,,
Lounge (Illinois Street Lounge - SomaFM),http://somafm.com/illstreet.pls,,
The Trip: [SomaFM],https://somafm.com/thetrip.pls,,
Pop (PopTron! - SomaFM),http://somafm.com/poptron.pls,,
Pop/Rock/Urban (Frequence 3 - Paris),http://streams.frequence3.net/hd-mp3.m3u,,
Progressive (Tags Trance Trip - SomaFM),http://somafm.com/tagstrance.pls,,
Public Radio (NPR National Public Radio Stream),https://npr-ice.streamguys1.com/live.mp3,,
Reggae Dancehall (Ragga Kings),https://raggakings.radio:8443/stream.ogg,,
Heavyweight Reggae,https://somafm.com/reggae.pls,,
Rock (Digitalis - SomaFM),http://somafm.com/digitalis.pls,,
Metal Detector,https://somafm.com/metal.pls,,
DanceUK,https://www.internet-radio.com/servers/tools/playlistgenerator/?u=http://uk2.internet-radio.com:8024/listen.pls&t=.pls,,
JazzGroove,https://www.internet-radio.com/servers/tools/playlistgenerator/?u=http://199.180.72.2:8015/listen.pls?sid=1&t=.pls,,
Radio Paradise - Main Mix,http://stream.radioparadise.com/aac-128,,
Radio Paradise - Mellow Mix,http://stream.radioparadise.com/mellow-128,,
Radio Paradise - Rock Mix,http://stream.radioparadise.com/rock-128,,
Radio Paradise - Eclectic Mix,http://stream.radioparadise.com/eclectic-128,,
Echoes of Bluemars,http://streams.echoesofbluemars.org:8000/bluemars.m3u,,
Echoes of Bluemars - Cryosleep,http://streams.echoesofbluemars.org:8000/cryosleep.m3u,,
Echoes of Bluemars - Voices from Within,http://streams.echoesofbluemars.org:8000/voicesfromwithin.m3u,,
Synphaera Radio (Space Music),https://somafm.com/synphaera.pls,,
1 Chillout (Groove Salad - SomaFM) http://somafm.com/startstream=groovesalad.pls
2 Alternative (BAGeL Radio) https://ais-sa3.cdnstream1.com/2606_128.aac
3 Hirschmilch Psytrance https://hirschmilch.de:7001/psytrance.mp3
4 Bluffphonica http://bluffphonica.stream.laut.fm/bluffphonica?pl=m3u&amp;t302=2024-09-17_23-09-40&amp;uuid=ce6a1b0b-1654-4d08-afbc-31b028f8f23b
5 Radio Caprice - Suomisaundi http://79.120.77.11:8004/suomisaundi
6 psyradio * fm - chillout http://streamer.psyradio.org:8020/;listen.mp3
7 Full-on psytrance http://79.111.14.76:9019/
8 Vasilis Cfu psy trance https://stream-40.zeno.fm/c2t7d9p6mf9uv?zs=_D-E0xBPQcGB_V9n7LLuqA
9 TL_Psytrance https://stream.technolovers.fm/psytrance
10 Record Goa Psy https://radiorecord.hostingradio.ru/goa96.aacp
11 1.FM - BOM Psytrance Radio http://strm112.1.fm/psytrance_mobile_mp3
12 Anima Amoris [Goa Psy Trance] http://amoris.sknt.ru/goa.mp3
13 DMT FM Psytrance 24/7 https://dc1.serverse.com/proxy/ywycfrxn/live
14 radiOzora Trance http://trance.out.airtime.pro:8000/trance_a
15 Psyndora Psytrance http://cast.magicstreams.gr:9111/stream
16 Celtic (ThistleRadio - SomaFM) http://somafm.com/thistle.pls
17 Groove Salad Classic (Early 2000s Ambient) https://somafm.com/gsclassic.pls
18 n5MD Radio (Ambient and Experimental) https://somafm.com/n5md.pls
19 Vaporwaves [SomaFM] https://somafm.com/vaporwaves.pls
20 Commodore 64 Remixes (Slay Radio) http://www.slayradio.org/tune_in.php/128kbps/listen.m3u
21 Covers (SomaFM) http://somafm.com/covers.pls
22 Downtempo (Secret Agent - SomaFM) http://somafm.com/secretagent.pls
23 Dub Step (Dub Step Beyond - SomaFM) http://somafm.com/dubstep.pls
24 Electronic/Dance (Electronic Culture) http://www.shouted.fm/tunein/electro-dsl.m3u
25 House (Beat Blender - SomaFM) http://somafm.com/startstream=beatblender.pls
26 Indie Pop (Indie Pop Rocks! - SomaFM) http://somafm.com/indiepop130.pls
27 Intelligent dance music (Cliq Hop - SomaFM) http://somafm.com/startstream=cliqhop.pls
28 Jazz (Sonic Universe - SomaFM) http://somafm.com/startstream=sonicuniverse.pls
29 Lounge (Illinois Street Lounge - SomaFM) http://somafm.com/illstreet.pls
30 The Trip: [SomaFM] https://somafm.com/thetrip.pls
31 Pop (PopTron! - SomaFM) http://somafm.com/poptron.pls
32 Pop/Rock/Urban (Frequence 3 - Paris) http://streams.frequence3.net/hd-mp3.m3u
33 Progressive (Tags Trance Trip - SomaFM) http://somafm.com/tagstrance.pls
34 Public Radio (NPR National Public Radio Stream) https://npr-ice.streamguys1.com/live.mp3
35 Reggae Dancehall (Ragga Kings) https://raggakings.radio:8443/stream.ogg
36 Heavyweight Reggae https://somafm.com/reggae.pls
37 Rock (Digitalis - SomaFM) http://somafm.com/digitalis.pls
38 Metal Detector https://somafm.com/metal.pls
39 DanceUK https://www.internet-radio.com/servers/tools/playlistgenerator/?u=http://uk2.internet-radio.com:8024/listen.pls&t=.pls
40 JazzGroove https://www.internet-radio.com/servers/tools/playlistgenerator/?u=http://199.180.72.2:8015/listen.pls?sid=1&t=.pls
41 Radio Paradise - Main Mix http://stream.radioparadise.com/aac-128
42 Radio Paradise - Mellow Mix http://stream.radioparadise.com/mellow-128
43 Radio Paradise - Rock Mix http://stream.radioparadise.com/rock-128
44 Radio Paradise - Eclectic Mix http://stream.radioparadise.com/eclectic-128
45 Echoes of Bluemars http://streams.echoesofbluemars.org:8000/bluemars.m3u
46 Echoes of Bluemars - Cryosleep http://streams.echoesofbluemars.org:8000/cryosleep.m3u
47 Echoes of Bluemars - Voices from Within http://streams.echoesofbluemars.org:8000/voicesfromwithin.m3u
48 Synphaera Radio (Space Music) https://somafm.com/synphaera.pls

38
.config/swaylock/config Normal file
View File

@ -0,0 +1,38 @@
daemonize
show-failed-attempts
clock
screenshot
effect-blur=10x10
effect-vignette=1:1
color=1f1d2e80
font="Inter"
indicator
indicator-radius=200
indicator-thickness=20
line-color=1f1d2e
ring-color=191724
inside-color=1f1d2e
key-hl-color=eb6f92
separator-color=00000000
text-color=e0def4
text-caps-lock-color=""
line-ver-color=eb6f92
ring-ver-color=eb6f92
inside-ver-color=1f1d2e
text-ver-color=e0def4
ring-wrong-color=31748f
text-wrong-color=31748f
inside-wrong-color=1f1d2e
inside-clear-color=1f1d2e
text-clear-color=e0def4
ring-clear-color=9ccfd8
line-clear-color=1f1d2e
line-wrong-color=1f1d2e
bs-hl-color=31748f
grace=2
grace-no-mouse
grace-no-touch
datestr=%a, %B %e
timestr=%I:%M %p
fade-in=0.5
ignore-empty-password

24
.config/waybar/config.ctl Normal file
View File

@ -0,0 +1,24 @@
0|28|bottom|( cpu memory custom/cpuinfo custom/gpuinfo ) ( idle_inhibitor clock )|( hyprland/workspaces hyprland/window )|( backlight network pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power )
0|28|top|( cpu memory custom/cpuinfo custom/gpuinfo ) ( idle_inhibitor clock )|( hyprland/workspaces hyprland/window )|( backlight network pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power )
0|28|bottom|( cpu memory custom/cpuinfo custom/gpuinfo ) ( idle_inhibitor clock ) ( hyprland/workspaces )|( hyprland/window )|( backlight network pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power )
0|28|top|( cpu memory custom/cpuinfo ) ( idle_inhibitor clock ) ( hyprland/workspaces )|( hyprland/window )|( backlight network pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power )
0||bottom|( hyprland/workspaces hyprland/window )|( idle_inhibitor clock )|( cpu memory custom/cpuinfo custom/gpuinfo ) ( backlight network pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power )
0||top|( hyprland/workspaces hyprland/window )|( idle_inhibitor clock )|( cpu memory custom/cpuinfo custom/gpuinfo ) ( backlight network pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power )
0|31|bottom|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( wlr/taskbar custom/spotify ) |( idle_inhibitor clock )|( tray battery ) ( backlight network pulseaudio pulseaudio#microphone custom/notifications custom/keybindhint )
0|31|left|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( wlr/taskbar custom/spotify ) |( idle_inhibitor clock )|( tray battery ) ( backlight network pulseaudio pulseaudio#microphone custom/keybindhint )
0|31|top|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( wlr/taskbar custom/spotify ) |( idle_inhibitor clock )|( tray battery ) ( backlight network pulseaudio pulseaudio#microphone custom/keybindhint )
0|31|right|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( wlr/taskbar custom/spotify ) |( idle_inhibitor clock )|( tray battery ) ( backlight network pulseaudio pulseaudio#microphone custom/keybindhint )
0|32|bottom||( custom/power ) ( tray battery ) ( wlr/taskbar idle_inhibitor clock ) ( custom/cliphist ) ( custom/wbar ) ( custom/wallchange ) ( custom/theme )|
0|32|left||( custom/power ) ( tray battery ) ( wlr/taskbar idle_inhibitor clock ) ( custom/cliphist ) ( custom/wbar ) ( custom/wallchange ) ( custom/theme )|
1|32|top||( custom/power ) ( tray battery ) ( wlr/taskbar idle_inhibitor clock ) ( custom/cliphist ) ( custom/wbar ) ( custom/wallchange ) ( custom/theme )|
0|32|right||( custom/power ) ( tray battery ) ( wlr/taskbar idle_inhibitor clock ) ( custom/cliphist ) ( custom/wbar ) ( custom/wallchange ) ( custom/theme )|
0|31|bottom|( cpu memory custom/cpuinfo custom/gpuinfo ) ( idle_inhibitor clock ) ( hyprland/workspaces )|( wlr/taskbar )|( backlight network pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power )
0|31|top|( cpu memory custom/cpuinfo custom/gpuinfo ) ( idle_inhibitor clock ) ( hyprland/workspaces )|( wlr/taskbar )|( backlight network pulseaudio pulseaudio#microphone custom/updates custom/keybindhint ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power )
0|29|bottom|( wlr/taskbar mpris )|( idle_inhibitor clock )|( backlight network pulseaudio pulseaudio#microphone custom/updates ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power )
0|29|left|( wlr/taskbar mpris )|( idle_inhibitor clock )|( backlight network pulseaudio pulseaudio#microphone custom/updates ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power )
0|29|top|( wlr/taskbar mpris )|( idle_inhibitor clock )|( backlight network pulseaudio pulseaudio#microphone custom/updates ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power )
0|29|right|( wlr/taskbar mpris )|( idle_inhibitor clock )|( backlight network pulseaudio pulseaudio#microphone custom/updates ) ( tray battery ) ( custom/wallchange custom/theme custom/wbar custom/cliphist custom/power )
0|28|bottom|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( idle_inhibitor clock custom/spotify )|( wlr/taskbar )|( tray ) ( backlight network pulseaudio pulseaudio#microphone )
0|28|left|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( idle_inhibitor clock custom/spotify )|( wlr/taskbar )|( tray ) ( backlight network pulseaudio pulseaudio#microphone )
0|28|top|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( idle_inhibitor clock custom/spotify )|( wlr/taskbar )|( tray ) ( backlight network pulseaudio pulseaudio#microphone )
0|28|right|( custom/power custom/cliphist custom/wbar custom/theme custom/wallchange ) ( idle_inhibitor clock custom/spotify )|( wlr/taskbar )|( tray ) ( backlight network pulseaudio pulseaudio#microphone )

378
.config/waybar/config.jsonc Normal file
View File

@ -0,0 +1,378 @@
// --// waybar config generated by wbarconfgen.sh //-- //
{
// sourced from header module //
"layer": "top",
"position": "top",
"mod": "dock",
"height": 33,
"exclusive": true,
"passthrough": false,
"gtk-layer-shell": true,
"reload_style_on_change": true,
// positions generated based on config.ctl //
"modules-left": ["custom/l_end","custom/power","custom/r_end","hyprland/workspaces", "custom/sl_end","hyprland/window","custom/sr_end","custom/l_end","custom/wallchange","custom/cliphist","custom/r_end"],
"modules-center": ["wlr/taskbar"],
"modules-right": ["custom/notification","custom/l_end","backlight","pulseaudio","pulseaudio#microphone","mpris","custom/r_end","custom/l_end","memory","cpu","custom/cpuinfo","battery","custom/r_end","custom/l_end","tray","custom/r_end","custom/l_end","idle_inhibitor","clock","custom/r_end"],
// sourced from modules based on config.ctl //
"tray": {
"icon-size": 19,
"rotate": 0,
"spacing": 5
},
"hyprland/window": {
"format": "{}",
"window-rewrite-default":"󰣇",
"rotate": 0,
"separate-outputs": true,
"max-length": 1000,
"rewrite": {
"${USER}@${set_sysname}:(.*)": "$1 ",
"(.*) — Kitty": " $1",
"(.*)~": " $1",
"(.*) — Mozilla Firefox": "󰈹 $1",
"(.*)Mozilla Firefox": "󰈹 Firefox",
"(.*) — LibreWolf": "󰈹 $1",
"(.*)LibreWolf": "󰈹 LibreWolf",
"(.*) — Chromium": " $1",
"(.*)Chromium": " Chromium",
"(.*) - VSCodium": " $1",
"(.*)VSCodium": " VSCodium",
"(.*)Code - OSS": "󰨞 $1",
"(.*)Code": "󰨞 Code",
"(.*) - Visual Studio Code": "󰨞 $1",
"(.*)Visual Studio Code": "󰨞 Code",
"(.*) — Dolphin": "$1 󰉋",
"(.*) - Obsidian v1.6.7": " $1 ",
"(.*)Ferdium": " $1",
"(.*)Freetube": " $1",
"(.*) - VLC media player": "󰕼 $1",
"(.*)Steam": "󰓓 Steam",
"(.*)Neovide": " Nvim",
"(.*)Gajim": "󰟿 Gajim"
}
},
"hyprland/workspaces": {
"window-rewrite-default":"",
"disable-scroll": true,
"all-outputs": true,
"active-only": false,
"on-click": "activate",
"disable-scroll": false,
"on-scroll-up": "hyprctl dispatch workspace -1",
"on-scroll-down": "hyprctl dispatch workspace +1",
"persistent-workspaces": {}
// "format":"{icon}",
// "format-icons": {
// "1": "",
// "2": "",
// "3": "",
// "4": "",
// "5": "",
// "6": ""
// }
// }
},
"bluetooth": {
"format": "",
"format-disabled": "",
"format-connected": " {num_connections}",
"format-connected-battery": "{icon} {num_connections}",
"format-icons": ["󰥇", "󰤾", "󰤿", "󰥀", "󰥁", "󰥂", "󰥃", "󰥄", "󰥅", "󰥆", "󰥈"],
"tooltip-format": "{controller_alias}\n{num_connections} connected",
"tooltip-format-connected": "{controller_alias}\n{num_connections} connected\n\n{device_enumerate}",
"tooltip-format-enumerate-connected": "{device_alias}",
"tooltip-format-enumerate-connected-battery": "{device_alias}\t{icon} {device_battery_percentage}%"
},
"cpu": {
"interval": 10,
"format": "󰍛 {usage}%",
"format-alt": "{icon0}{icon1}{icon2}{icon3}",
"format-icons": ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"]
},
"custom/cpuinfo": {
"exec": " cpuinfo.sh",
"return-type": "json",
"format": "{}",
"rotate": 0,
"interval": 5, // once every 5 seconds
"tooltip": true,
"max-length": 1000
},
"memory": {
"states": {
"c": 90, // critical
"h": 60, // high
"m": 30 // medium
},
"interval": 30,
"rotate": 0,
"format": "󰾆 {used:0.1f}GB",
"format-m": "󰾅 {used:0.1f}GB",
"format-h": "󰓅 {used:0.1f}GB",
"format-c": " {used:0.1f}GB",
"format-alt": "󰾆 {percentage}%",
"max-length": 10,
"tooltip": true,
"tooltip-format": "󰾆 {percentage}%\n {used:0.1f}GB/{total:0.1f}GB"
},
"custom/power": {
"format": "{}",
"rotate": 0,
"exec": "echo ; echo  logout",
"on-click": "logoutlaunch.sh 2",
"on-click-right": "logoutlaunch.sh 1",
"interval" : 86400, // once every day
"tooltip": true
},
"wlr/taskbar": {
"format": "{icon}",
"rotate": 0,
"icon-size": 19,
"icon-theme": "Tela-circle-dracula",
"spacing": 0,
"tooltip-format": "{title}",
"on-click": "activate",
"on-click-middle": "close",
"ignore-list": [
"Alacritty"
],
"app_ids-mapping": {
"firefoxdeveloperedition": "firefox-developer-edition"
}
},
"idle_inhibitor": {
"format": "{icon}",
"rotate": 0,
"format-icons": {
"activated": "󰥔",
"deactivated": ""
}
},
"clock": {
"format": "{:%H:%M}",
"rotate": 0,
"format-alt": "{:%R 󰃭 %d·%m·%y}",
"tooltip-format": "<span>{calendar}</span>",
"calendar": {
"mode": "month",
"mode-mon-col": 3,
"on-scroll": 1,
"on-click-right": "mode",
"format": {
"months": "<span color='#ffead3'><b>{}</b></span>",
"weekdays": "<span color='#ffcc66'><b>{}</b></span>",
"today": "<span color='#ff6699'><b>{}</b></span>"
}
},
"actions": {
"on-click-right": "mode",
"on-click-forward": "tz_up",
"on-click-backward": "tz_down",
"on-scroll-up": "shift_up",
"on-scroll-down": "shift_down"
}
},
"custom/cliphist": {
"format": "{}",
"rotate": 0,
"exec": "echo ; echo 󰅇 clipboard history",
"on-click": "sleep 0.1 && cliphist.sh c",
"on-click-right": "sleep 0.1 && cliphist.sh d",
"on-click-middle": "sleep 0.1 && cliphist.sh w",
"interval" : 86400, // once every day
"tooltip": true
},
"custom/wallchange": {
"format": "{}",
"rotate": 0,
"exec": "echo ; echo 󰆊 switch wallpaper",
"on-click": "swwwallpaper.sh -n",
"on-click-right": "swwwallpaper.sh -p",
"on-click-middle": "sleep 0.1 && swwwallselect.sh",
"interval" : 86400, // once every day
"tooltip": true
},
"custom/theme": {
"format": "{}",
"rotate": 0,
"exec": "echo ; echo 󰟡 switch theme",
"on-click": "themeswitch.sh -n",
"on-click-right": "themeswitch.sh -p",
"on-click-middle": "sleep 0.1 && themeselect.sh",
"interval" : 86400, // once every day
"tooltip": true
},
"pulseaudio": {
"format": "{icon} {volume}",
"rotate": 0,
"format-muted": "婢",
"on-click": "pavucontrol -t 3",
"on-click-right": "volumecontrol.sh -s ''",
"on-click-middle": "volumecontrol.sh -o m",
"on-scroll-up": "volumecontrol.sh -o i",
"on-scroll-down": "volumecontrol.sh -o d",
"tooltip-format": "{icon} {desc} // {volume}%",
"scroll-step": 5,
"format-icons": {
"headphone": "",
"hands-free": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["", "", ""]
}
},
"pulseaudio#microphone": {
"format": "{format_source}",
"rotate": 0,
"format-source": "",
"format-source-muted": "",
"on-click": "pavucontrol -t 4",
"on-click-middle": "volumecontrol.sh -i m",
"on-scroll-up": "volumecontrol.sh -i i",
"on-scroll-down": "volumecontrol.sh -i d",
"tooltip-format": "{format_source} {source_desc} // {source_volume}%",
"scroll-step": 5
},
"mpris": {
"format": "{player_icon} {dynamic}",
"rotate": 0,
"format-paused": "{status_icon} <i>{dynamic}</i>",
"player-icons": {
"default": "▶",
"mpv": "🎵"
},
"status-icons": {
"paused": ""
},
"max-length": 1000,
"interval": 1
},
"custom/weather": {
"exec": "curl 'https://wttr.in/?format=1'",
"format": "{}",
//"exec": "~/,config/waybar/waybar.py",
"tooltip": true,
"interval": 3600,
"return-type": "json",
"on-click": "gnome-weather",
"max-length": 10
},
"battery": {
"states": {
"good": 95,
"warning": 30,
"critical": 20
},
"format": "{icon} {capacity}%",
"rotate": 0,
"format-charging": " {capacity}%",
"format-plugged": " {capacity}%",
"format-alt": "{time} {icon}",
"format-icons": ["󰂎", "󰁺", "󰁻", "󰁼", "󰁽", "󰁾", "󰁿", "󰂀", "󰂁", "󰂂", "󰁹"]
},
"custom/notifications": {
"format": "{icon} {}",
"rotate": 0,
"format-icons": {
"email-notification": "<span foreground='white'><sup></sup></span>",
"chat-notification": "󱋊<span foreground='white'><sup></sup></span>",
"warning-notification": "󱨪<span foreground='yellow'><sup></sup></span>",
"error-notification": "󱨪<span foreground='red'><sup></sup></span>",
"network-notification": "󱂇<span foreground='white'><sup></sup></span>",
"battery-notification": "󰁺<span foreground='white'><sup></sup></span>",
"update-notification": "󰚰<span foreground='white'><sup></sup></span>",
"music-notification": "󰝚<span foreground='white'><sup></sup></span>",
"volume-notification": "󰕿<span foreground='white'><sup></sup></span>",
"notification": "<span foreground='white'><sup></sup></span>",
"dnd": "",
"none": ""
},
"return-type": "json",
"exec-if": "which dunstctl",
"exec": "notifications.py",
"on-scroll-down": "sleep 0.1 && dunstctl history-pop",
"on-click": "dunstctl set-paused toggle",
"on-click-middle": "dunstctl history-clear",
"on-click-right": "dunstctl close-all",
"interval": 1,
"tooltip": true,
"escape": true
},
"backlight": {
"device": "intel_backlight",
"rotate": 0,
"format": "{icon} {percent}%",
"format-icons": ["", "", "", "", "", "", "", "", ""],
"on-scroll-up": "brightnessctl set 1%+",
"on-scroll-down": "brightnessctl set 1%-",
"min-length": 6
},
// modules for padding //
"custom/l_end": {
"format": " ",
"interval" : "once",
"tooltip": false
},
"custom/r_end": {
"format": " ",
"interval" : "once",
"tooltip": false
},
"custom/sl_end": {
"format": " ",
"interval" : "once",
"tooltip": false
},
"custom/sr_end": {
"format": " ",
"interval" : "once",
"tooltip": false
},
"custom/rl_end": {
"format": " ",
"interval" : "once",
"tooltip": false
},
"custom/rr_end": {
"format": " ",
"interval" : "once",
"tooltip": false
},
"custom/padd": {
"format": " ",
"interval" : "once",
"tooltip": false
}
}

View File

@ -0,0 +1,10 @@
"backlight": {
"device": "intel_backlight",
"rotate": ${r_deg},
"format": "{icon} {percent}%",
"format-icons": ["", "", "", "", "", "", "", "", ""],
"on-scroll-up": "brightnessctl set 1%+",
"on-scroll-down": "brightnessctl set 1%-",
"min-length": 6
},

View File

@ -0,0 +1,14 @@
"battery": {
"states": {
"good": 95,
"warning": 30,
"critical": 20
},
"format": "{icon} {capacity}%",
"rotate": ${r_deg},
"format-charging": " {capacity}%",
"format-plugged": " {capacity}%",
"format-alt": "{time} {icon}",
"format-icons": ["󰂎", "󰁺", "󰁻", "󰁼", "󰁽", "󰁾", "󰁿", "󰂀", "󰂁", "󰂂", "󰁹"]
},

View File

@ -0,0 +1,15 @@
"bluetooth": {
"format": "",
"rotate": ${r_deg},
"format-disabled": "",
"format-connected": " {num_connections}",
"format-connected-battery": "{icon} {num_connections}",
// "format-connected-battery": "{icon} {device_alias}-{device_battery_percentage}%",
"format-icons": ["󰥇", "󰤾", "󰤿", "󰥀", "󰥁", "󰥂", "󰥃", "󰥄", "󰥅", "󰥆", "󰥈"],
// "format-device-preference": [ "device1", "device2" ], // preference list deciding the displayed device If this config option is not defined or none of the devices in the list are connected, it will fall back to showing the last connected device.
"tooltip-format": "{controller_alias}\n{num_connections} connected",
"tooltip-format-connected": "{controller_alias}\n{num_connections} connected\n\n{device_enumerate}",
"tooltip-format-enumerate-connected": "{device_alias}",
"tooltip-format-enumerate-connected-battery": "{device_alias}\t{icon} {device_battery_percentage}%"
},

View File

@ -0,0 +1,11 @@
"custom/cliphist": {
"format": "{}",
"rotate": ${r_deg},
"exec": "echo ; echo 󰅇 clipboard history",
"on-click": "sleep 0.1 && cliphist.sh c",
"on-click-right": "sleep 0.1 && cliphist.sh d",
"on-click-middle": "sleep 0.1 && cliphist.sh w",
"interval" : 86400, // once every day
"tooltip": true
},

View File

@ -0,0 +1,25 @@
"clock": {
"format": "{:%H:%M}",
"rotate": ${r_deg},
"format-alt": "{:%R 󰃭 %d·%m·%y}",
"tooltip-format": "<span>{calendar}</span>",
"calendar": {
"mode": "month",
"mode-mon-col": 3,
"on-scroll": 1,
"on-click-right": "mode",
"format": {
"months": "<span color='#ffead3'><b>{}</b></span>",
"weekdays": "<span color='#ffcc66'><b>{}</b></span>",
"today": "<span color='#ff6699'><b>{}</b></span>"
}
},
"actions": {
"on-click-right": "mode",
"on-click-forward": "tz_up",
"on-click-backward": "tz_down",
"on-scroll-up": "shift_up",
"on-scroll-down": "shift_down"
}
},

View File

@ -0,0 +1,8 @@
"cpu": {
"interval": 10,
"format": "󰍛 {usage}%",
"rotate": ${r_deg},
"format-alt": "{icon0}{icon1}{icon2}{icon3}",
"format-icons": ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"]
},

View File

@ -0,0 +1,10 @@
"custom/cpuinfo": {
"exec": " cpuinfo.sh",
"return-type": "json",
"format": "{}",
"rotate": ${r_deg},
"interval": 5, // once every 5 seconds
"tooltip": true,
"max-length": 1000
},

View File

@ -0,0 +1,47 @@
// modules for padding //
"custom/l_end": {
"format": " ",
"interval" : "once",
"tooltip": false
},
"custom/r_end": {
"format": " ",
"interval" : "once",
"tooltip": false
},
"custom/sl_end": {
"format": " ",
"interval" : "once",
"tooltip": false
},
"custom/sr_end": {
"format": " ",
"interval" : "once",
"tooltip": false
},
"custom/rl_end": {
"format": " ",
"interval" : "once",
"tooltip": false
},
"custom/rr_end": {
"format": " ",
"interval" : "once",
"tooltip": false
},
"custom/padd": {
"format": " ",
"interval" : "once",
"tooltip": false
}
}

View File

@ -0,0 +1,41 @@
"custom/gpuinfo": {
"exec": " gpuinfo.sh",
"return-type": "json",
"format": "{}",
"rotate": ${r_deg},
"interval": 5, // once every 5 seconds
"tooltip": true,
"max-length": 1000,
"on-click": "gpuinfo.sh --toggle",
},
"custom/gpuinfo#nvidia": {
"exec": " gpuinfo.sh --use nvidia ",
"return-type": "json",
"format": "{}",
"rotate": ${r_deg},
"interval": 5, // once every 5 seconds
"tooltip": true,
"max-length": 1000,
},
"custom/gpuinfo#amd": {
"exec": " gpuinfo.sh --use amd ",
"return-type": "json",
"format": "{}",
"rotate": ${r_deg},
"interval": 5, // once every 5 seconds
"tooltip": true,
"max-length": 1000,
},
"custom/gpuinfo#intel": {
"exec": " gpuinfo.sh --use intel ",
"return-type": "json",
"format": "{}",
"rotate": ${r_deg},
"interval": 5, // once every 5 seconds
"tooltip": true,
"max-length": 1000,
},

View File

@ -0,0 +1,13 @@
// --// waybar config generated by wbarconfgen.sh //-- //
{
// sourced from header module //
"layer": "top",
"position": "${w_position}",
"mod": "dock",
"${hv_pos}": ${w_height},
"exclusive": true,
"passthrough": false,
"gtk-layer-shell": true,
"reload_style_on_change": true,

View File

@ -0,0 +1,9 @@
"idle_inhibitor": {
"format": "{icon}",
"rotate": ${r_deg},
"format-icons": {
"activated": "󰥔",
"deactivated": ""
}
},

View File

@ -0,0 +1,6 @@
"custom/keybindhint": {
"format": " ",
"rotate": ${r_deg},
"on-click": "keybinds_hint.sh"
},

View File

@ -0,0 +1,6 @@
"hyprland/language": {
"format": "{short} {variant}",
"rotate": ${r_deg},
"on-click": "keyboardswitch.sh",
},

View File

@ -0,0 +1,18 @@
"memory": {
"states": {
"c": 90, // critical
"h": 60, // high
"m": 30, // medium
},
"interval": 30,
"format": "󰾆 {used}GB",
"rotate": ${r_deg},
"format-m": "󰾅 {used}GB",
"format-h": "󰓅 {used}GB",
"format-c": " {used}GB",
"format-alt": "󰾆 {percentage}%",
"max-length": 10,
"tooltip": true,
"tooltip-format": "󰾆 {percentage}%\n {used:0.1f}GB/{total:0.1f}GB"
},

View File

@ -0,0 +1,16 @@
"mpris": {
"format": "{player_icon} {dynamic}",
"rotate": ${r_deg},
"format-paused": "{status_icon} <i>{dynamic}</i>",
"player-icons": {
"default": "▶",
"mpv": "🎵"
},
"status-icons": {
"paused": ""
},
// "ignored-players": ["firefox"]
"max-length": 1000,
"interval": 1
},

View File

@ -0,0 +1,13 @@
"network": {
"tooltip": true,
"format-wifi": " ",
"rotate": ${r_deg},
"format-ethernet": "󰈀 ",
"tooltip-format": "Network: <big><b>{essid}</b></big>\nSignal strength: <b>{signaldBm}dBm ({signalStrength}%)</b>\nFrequency: <b>{frequency}MHz</b>\nInterface: <b>{ifname}</b>\nIP: <b>{ipaddr}/{cidr}</b>\nGateway: <b>{gwaddr}</b>\nNetmask: <b>{netmask}</b>",
"format-linked": "󰈀 {ifname} (No IP)",
"format-disconnected": "󰖪 ",
"tooltip-format-disconnected": "Disconnected",
"format-alt": "<span foreground='#99ffdd'> {bandwidthDownBytes}</span> <span foreground='#ffcc66'> {bandwidthUpBytes}</span>",
"interval": 2,
},

View File

@ -0,0 +1,29 @@
"custom/notifications": {
"format": "{icon} {}",
"rotate": ${r_deg},
"format-icons": {
"email-notification": "<span foreground='white'><sup></sup></span>",
"chat-notification": "󱋊<span foreground='white'><sup></sup></span>",
"warning-notification": "󱨪<span foreground='yellow'><sup></sup></span>",
"error-notification": "󱨪<span foreground='red'><sup></sup></span>",
"network-notification": "󱂇<span foreground='white'><sup></sup></span>",
"battery-notification": "󰁺<span foreground='white'><sup></sup></span>",
"update-notification": "󰚰<span foreground='white'><sup></sup></span>",
"music-notification": "󰝚<span foreground='white'><sup></sup></span>",
"volume-notification": "󰕿<span foreground='white'><sup></sup></span>",
"notification": "<span foreground='white'><sup></sup></span>",
"dnd": "",
"none": ""
},
"return-type": "json",
"exec-if": "which dunstctl",
"exec": "notifications.py",
"on-scroll-down": "sleep 0.1 && dunstctl history-pop",
"on-click": "dunstctl set-paused toggle",
"on-click-middle": "dunstctl history-clear",
"on-click-right": "dunstctl close-all",
"interval": 1,
"tooltip": true,
"escape": true
},

View File

@ -0,0 +1,10 @@
"custom/power": {
"format": "{}",
"rotate": ${r_deg},
"exec": "echo ; echo  logout",
"on-click": "logoutlaunch.sh 2",
"on-click-right": "logoutlaunch.sh 1",
"interval" : 86400, // once every day
"tooltip": true
},

View File

@ -0,0 +1,35 @@
"pulseaudio": {
"format": "{icon} {volume}",
"rotate": ${r_deg},
"format-muted": "婢",
"on-click": "pavucontrol -t 3",
"on-click-right": "volumecontrol.sh -s ''",
"on-click-middle": "volumecontrol.sh -o m",
"on-scroll-up": "volumecontrol.sh -o i",
"on-scroll-down": "volumecontrol.sh -o d",
"tooltip-format": "{icon} {desc} // {volume}%",
"scroll-step": 5,
"format-icons": {
"headphone": "",
"hands-free": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["", "", ""]
}
},
"pulseaudio#microphone": {
"format": "{format_source}",
"rotate": ${r_deg},
"format-source": "",
"format-source-muted": "",
"on-click": "pavucontrol -t 4",
"on-click-middle": "volumecontrol.sh -i m",
"on-scroll-up": "volumecontrol.sh -i i",
"on-scroll-down": "volumecontrol.sh -i d",
"tooltip-format": "{format_source} {source_desc} // {source_volume}%",
"scroll-step": 5
},

View File

@ -0,0 +1,15 @@
"custom/spotify": {
"exec": "mediaplayer.py --player spotify",
"format": " {}",
"rotate": ${r_deg},
"return-type": "json",
"on-click": "playerctl play-pause --player spotify",
"on-click-right": "playerctl next --player spotify",
"on-click-middle": "playerctl previous --player spotify",
"on-scroll-up": "volumecontrol.sh -p spotify i",
"on-scroll-down": "volumecontrol.sh -p spotify d",
"max-length": 25,
"escape": true,
"tooltip": true
},

View File

@ -0,0 +1,151 @@
* {
border: none;
border-radius: 0px;
font-family: "JetBrainsMono Nerd Font";
font-weight: bold;
font-size: ${s_fontpx}px;
min-height: 10px;
}
@import "theme.css";
window#waybar {
background: @bar-bg;
}
tooltip {
background: @main-bg;
color: @main-fg;
border-radius: ${t_radius}px;
border-width: 0px;
}
#workspaces button {
box-shadow: none;
text-shadow: none;
padding: 0px;
border-radius: ${w_radius}px;
margin-${x1}: ${w_margin}px;
margin-${x2}: ${w_margin}px;
margin-${x3}: 0px;
padding-${x3}: ${w_paddin}px;
padding-${x4}: ${w_paddin}px;
margin-${x4}: 0px;
color: @main-fg;
animation: ws_normal 20s ease-in-out 1;
}
#workspaces button.active {
background: @wb-act-bg;
color: @wb-act-fg;
margin-${x3}: ${w_margin}px;
padding-${x3}: ${w_padact}px;
padding-${x4}: ${w_padact}px;
margin-${x4}: ${w_margin}px;
animation: ws_active 20s ease-in-out 1;
transition: all 0.4s cubic-bezier(.55,-0.68,.48,1.682);
}
#workspaces button:hover {
background: @wb-hvr-bg;
color: @wb-hvr-fg;
animation: ws_hover 20s ease-in-out 1;
transition: all 0.3s cubic-bezier(.55,-0.68,.48,1.682);
}
#taskbar button {
box-shadow: none;
text-shadow: none;
padding: 0px;
border-radius: ${w_radius}px;
margin-${x1}: ${w_margin}px;
margin-${x2}: ${w_margin}px;
margin-${x3}: 0px;
padding-${x3}: ${w_paddin}px;
padding-${x4}: ${w_paddin}px;
margin-${x4}: 0px;
color: @wb-color;
animation: tb_normal 20s ease-in-out 1;
}
#taskbar button.active {
background: @wb-act-bg;
color: @wb-act-color;
margin-${x3}: ${w_margin}px;
padding-${x3}: ${w_padact}px;
padding-${x4}: ${w_padact}px;
margin-${x4}: ${w_margin}px;
animation: tb_active 20s ease-in-out 1;
transition: all 0.4s cubic-bezier(.55,-0.68,.48,1.682);
}
#taskbar button:hover {
background: @wb-hvr-bg;
color: @wb-hvr-color;
animation: tb_hover 20s ease-in-out 1;
transition: all 0.3s cubic-bezier(.55,-0.68,.48,1.682);
}
#tray menu * {
min-height: 16px
}
#tray menu separator {
min-height: 10px
}
${modules_ls}
#custom-l_end,
#custom-r_end,
#custom-sl_end,
#custom-sr_end,
#custom-rl_end,
#custom-rr_end {
color: @main-fg;
background: @main-bg;
opacity: 1;
margin: ${x1g_margin}px ${x2g_margin}px ${x3g_margin}px ${x4g_margin}px;
padding-${x3}: ${g_paddin}px;
padding-${x4}: ${g_paddin}px;
}
#workspaces,
#taskbar {
padding: 0px;
}
#custom-r_end {
border-radius: ${x1rb_radius}px ${x2rb_radius}px ${x3rb_radius}px ${x4rb_radius}px;
margin-${x4}: ${e_margin}px;
padding-${x4}: ${e_paddin}px;
}
#custom-l_end {
border-radius: ${x1lb_radius}px ${x2lb_radius}px ${x3lb_radius}px ${x4lb_radius}px;
margin-${x3}: ${e_margin}px;
padding-${x3}: ${e_paddin}px;
}
#custom-sr_end {
border-radius: 0px;
margin-${x4}: ${e_margin}px;
padding-${x4}: ${e_paddin}px;
}
#custom-sl_end {
border-radius: 0px;
margin-${x3}: ${e_margin}px;
padding-${x3}: ${e_paddin}px;
}
#custom-rr_end {
border-radius: ${x1rc_radius}px ${x2rc_radius}px ${x3rc_radius}px ${x4rc_radius}px;
margin-${x4}: ${e_margin}px;
padding-${x4}: ${e_paddin}px;
}
#custom-rl_end {
border-radius: ${x1lc_radius}px ${x2lc_radius}px ${x3lc_radius}px ${x4lc_radius}px;
margin-${x3}: ${e_margin}px;
padding-${x3}: ${e_paddin}px;
}

View File

@ -0,0 +1,17 @@
"wlr/taskbar": {
"format": "{icon}",
"rotate": ${r_deg},
"icon-size": ${i_task},
"icon-theme": "${i_theme}",
"spacing": 0,
"tooltip-format": "{title}",
"on-click": "activate",
"on-click-middle": "close",
"ignore-list": [
"Alacritty"
],
"app_ids-mapping": {
"firefoxdeveloperedition": "firefox-developer-edition"
}
},

View File

@ -0,0 +1,11 @@
"custom/theme": {
"format": "{}",
"rotate": ${r_deg},
"exec": "echo ; echo 󰟡 switch theme",
"on-click": "themeswitch.sh -n",
"on-click-right": "themeswitch.sh -p",
"on-click-middle": "sleep 0.1 && themeselect.sh",
"interval" : 86400, // once every day
"tooltip": true
},

View File

@ -0,0 +1,6 @@
"tray": {
"icon-size": ${i_size},
"rotate": ${r_deg},
"spacing": 5
},

View File

@ -0,0 +1,10 @@
"custom/updates": {
"exec": "systemupdate.sh",
"return-type": "json",
"format": "{}",
"rotate": ${r_deg},
"on-click": "hyprctl dispatch exec 'systemupdate.sh up'",
"interval": 86400, // once every day
"tooltip": true,
"signal": 20
},

View File

@ -0,0 +1,11 @@
"custom/wallchange": {
"format": "{}",
"rotate": ${r_deg},
"exec": "echo ; echo 󰆊 switch wallpaper",
"on-click": "swwwallpaper.sh -n",
"on-click-right": "swwwallpaper.sh -p",
"on-click-middle": "sleep 0.1 && swwwallselect.sh",
"interval" : 86400, // once every day
"tooltip": true
},

View File

@ -0,0 +1,17 @@
"hyprland/window": {
"format": "  {}",
"rotate": ${r_deg},
"separate-outputs": true,
"rewrite": {
"${USER}@${set_sysname}:(.*)": "$1 ",
"(.*) — Mozilla Firefox": "$1 󰈹",
"(.*)Mozilla Firefox": "Firefox 󰈹",
"(.*) - Visual Studio Code": "$1 󰨞",
"(.*)Visual Studio Code": "Code 󰨞",
"(.*) — Dolphin": "$1 󰉋",
"(.*)Spotify": "Spotify 󰓇",
"(.*)Steam": "Steam 󰓓"
},
"max-length": 1000
},

View File

@ -0,0 +1,13 @@
"hyprland/workspaces": {
"disable-scroll": true,
"rotate": ${r_deg},
"all-outputs": true,
"active-only": false,
"on-click": "activate",
"disable-scroll": false,
"on-scroll-up": "hyprctl dispatch workspace -1",
"on-scroll-down": "hyprctl dispatch workspace +1",
"persistent-workspaces": {
}
},

197
.config/waybar/style.css Normal file
View File

@ -0,0 +1,197 @@
* {
border: none;
border-radius: 0px;
font-family: "JetBrainsMono Nerd Font";
font-weight: bold;
font-size: 10px;
min-height: 10px;
}
@import "theme.css";
#custom-weather.sunny {
background-color: yellow;
}
window#waybar {
background: @bar-bg;
}
tooltip {
background: @main-bg;
color: @main-fg;
border-radius: 5px;
border-width: 0px;
}
#workspaces {
border-radius: 8px;
}
#custom-padd {
padding-left: 5px;
padding-right: 5px;
}
#workspaces button {
box-shadow: none;
text-shadow: none;
padding: 0px;
border-radius: 5px;
margin-top: 3px;
margin-bottom: 3px;
margin-left: 0px;
padding-left: 3px;
padding-right: 3px;
margin-right: 0px;
color: @main-fg;
animation: ws_normal 20s ease-in-out 1;
}
#workspaces button.active {
background: @wb-act-bg;
color: @wb-act-fg;
animation: ws_active 20s ease-in-out 1;
transition: all 0.4s cubic-bezier(.55, -0.68, .48, 1.682);
}
#workspaces button:hover {
background: @wb-hvr-bg;
color: @wb-hvr-fg;
animation: ws_hover 20s ease-in-out 1;
transition: all 0.3s cubic-bezier(.55, -0.68, .48, 1.682);
}
#taskbar button {
box-shadow: none;
text-shadow: none;
padding: 0px;
border-radius: 6px;
margin-top: 3px;
margin-bottom: 3px;
margin-left: 0px;
padding-left: 3px;
padding-right: 3px;
margin-right: 0px;
color: @wb-color;
animation: tb_normal 20s ease-in-out 1;
}
#taskbar button.active {
background: @wb-act-bg;
color: @wb-act-color;
/*animation: tb_active 20s ease-in-out 1;*/
box-shadow: 0 0 1px 1px rgba(128, 128, 128, 0.4);
transition: all 0.4s cubic-bezier(.55, -0.68, .48, 1.682);
}
#taskbar button:hover {
background: @wb-hvr-bg;
color: @wb-hvr-color;
opacity: 0.8;
animation: tb_hover 20s ease-in-out 1;
transition: all 0.3s cubic-bezier(.55, -0.68, .48, 1.682);
}
#tray menu * {
min-height: 16px;
}
#tray menu separator {
min-height: 10px;
}
#backlight,
#battery,
#bluetooth,
#custom-cliphist,
#clock,
#custom-cpuinfo,
#cpu,
#custom-gpuinfo,
#idle_inhibitor,
#custom-keybindhint,
#language,
#memory,
#mpris,
#network,
#custom-notifications,
#custom-power,
#pulseaudio,
#custom-spotify,
#taskbar,
#custom-theme,
#tray,
#custom-updates,
#custom-wallchange,
#custom-wbar,
#window,
#workspaces,
#custom-l_end,
#custom-r_end,
#custom-sl_end,
#custom-sr_end,
#custom-rl_end,
#custom-rr_end {
color: @main-fg;
background: @main-bg;
opacity: 1;
margin: 4px 0px 4px 0px;
padding-left: 4px;
padding-right: 4px;
}
window#waybar.empty #window,
window#waybar.empty #custom-sl_end,
window#waybar.empty #custom-sr_end {
opacity: 0;
}
#workspaces {
padding-left: 5px;
padding-right: 5px;
}
#taskbar {
border-radius: 8px;
padding-left: 6px;
padding-right: 6px;
}
#custom-r_end {
border-radius: 0px 8px 8px 0px;
margin-right: 3px;
padding-right: 1px;
}
#custom-l_end {
border-radius: 8px 0px 0px 8px;
margin-left: 3px;
padding-left: 1px;
}
#custom-sr_end {
border-top-right-radius: 6px;
border-bottom-right-radius: 6px;
margin-right: 9px;
padding-right: 3px;
}
#custom-sl_end {
border-top-left-radius: 6px;
border-bottom-left-radius: 6px;
margin-left: 9px;
padding-left: 3px;
}
#custom-rr_end {
border-radius: 0px 8px 8px 0px;
margin-right: 9px;
padding-right: 3px;
}
#custom-rl_end {
border-radius: 8px 0px 0px 8px;
margin-left: 9px;
padding-left: 3px;
}

10
.config/waybar/theme.css Normal file
View File

@ -0,0 +1,10 @@
@define-color bar-bg rgba(0, 0, 0, 0);
@define-color main-bg rgba(0,0,0,0.4);
@define-color main-fg #cdd6f4;
@define-color wb-act-bg #a6adc8;
@define-color wb-act-fg #313244;
@define-color wb-hvr-bg #f5c2e7;
@define-color wb-hvr-fg #313244;

26
.config/xremap/config.yml Normal file
View File

@ -0,0 +1,26 @@
modmap:
- name: CapsLock to LeftCtrl/Esc
remap:
CapsLock:
held: leftctrl
alone: esc
alone_timeout_millis: 150
keymap:
- name: Alt+hjkl to Arrows
remap:
# Alt-H: Alt+left #back
Alt-h: left
Alt-l: right
Alt-j: down
Alt-k: up
Alt-u: pageup
Alt-d: pagedown
# keymap:
# - name: Freetube remap
# application:
# only: FreeTube
# remap:
# Alt-h: Left
# Alt-l: Right
# Alt-j: Down
# Alt-k: Up

3
.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
!.gitignore
.config/hyde/themes/
.config/fish/greet.txt

View File

@ -1,2 +1,13 @@
# dots
using `gnu stow`
```
https://github.com/prasanthrangan/hyprdots
```
`hyde`, `hyprdots`, `waybar` and `fish` are from hyprdots with edits
`nvim` is [nvchad](https://nvchad.com/) custom conf
`xremap` for keyremap