1
1
mirror of https://github.com/rywng/dotfiles.git synced 2024-10-30 15:41:50 +08:00

Merge pull request #3 from JuanCldCmt/fedora

ditch fedora
This commit is contained in:
Ryan Wong 2024-01-10 04:52:47 +00:00 committed by GitHub
commit ea97e937f3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
54 changed files with 1030 additions and 391 deletions

View File

@ -0,0 +1,3 @@
gtk-icon-theme-name = "Adwaita"
gtk-theme-name = "Adwaita-dark"
gtk-font-name = "IBM Plex 12"

View File

@ -0,0 +1,3 @@
gtk-icon-theme-name = "Adwaita"
gtk-theme-name = "Adwaita"
gtk-font-name = "IBM Plex 12"

View File

@ -0,0 +1,7 @@
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
source=~/.config/hypr/hyprland.conf.d/ui.conf
source=~/.config/hypr/hyprland.conf.d/output.conf
source=~/.config/hypr/hyprland.conf.d/keybind.conf
source=~/.config/hypr/hyprland.conf.d/input.conf
source=~/.config/hypr/hyprland.conf.d/autoexec.conf

View File

@ -0,0 +1,16 @@
# env setting for nvidia
env = LIBVA_DRIVER_NAME,nvidia
env = XDG_SESSION_TYPE,wayland
env = GBM_BACKEND,nvidia-drm
env = WLR_DRM_DEVICES,/dev/dri/card0:/dev/dri/card1
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
env = WLR_NO_HARDWARE_CURSORS,1
# Execute your favorite apps at launch
exec=pidof -q hyprpaper || hyprpaper
exec=pidof -q wlsunset || wlsunset -S 08:00 -s 19:00 -d 1800
exec=pidof -q waybar || waybar
exec=~/.config/hypr/scripts/clamshell.sh
exec-once=fcitx5 -d
env = SSH_AUTH_SOCK,$XDG_RUNTIME_DIR/ssh-agent.socket

View File

@ -0,0 +1,28 @@
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input {
kb_layout = us
kb_variant =
kb_model =
kb_options =
kb_rules =
follow_mouse = 1
touchpad {
natural_scroll = true
}
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
}
gestures {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
workspace_swipe = on
}
# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
device:epic-mouse-v1 {
sensitivity = -0.5
}

View File

@ -0,0 +1,89 @@
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
$mainMod = SUPER
bind = $mainMod, N, exec, kitty
bind = $mainMod, W, killactive,
bind = $mainMod + CTRL, Q, exit,
bind = $mainMod + SHIFT, SPACE, togglefloating,
bind = $mainMod + SHIFT, RETURN, exec, wofi --show drun
bind = $mainMod + SHIFT, P, pseudo, # dwindle
# Software binds
bind = $mainMod CTRL, r, exec, hyprctl reload
bind = $mainMod CTRL, 65, exec, fcitx5-remote -t
bind = $mainMod, M, exec, swaync-client -t
bind = $mainMod CTRL, l, exec, ~/.config/hypr/scripts/logout.sh
# TODO: use a script instead
bind = $mainMod SHIFT, s, exec, hyprshot --clipboard-only -m region -s
# 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 focus with hjkl also
bind = $mainMod, h, movefocus, l
bind = $mainMod, l, movefocus, r
bind = $mainMod, k, movefocus, u
bind = $mainMod, j, movefocus, d
# Move windows with hjkl
bind = $mainMod + SHIFT, h, swapwindow, l
bind = $mainMod + SHIFT, l, swapwindow, r
bind = $mainMod + SHIFT, k, swapwindow, u
bind = $mainMod + SHIFT, j, swapwindow, 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, togglespecialworkspace
# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = $mainMod SHIFT, 1, movetoworkspacesilent, 1
bind = $mainMod SHIFT, 2, movetoworkspacesilent, 2
bind = $mainMod SHIFT, 3, movetoworkspacesilent, 3
bind = $mainMod SHIFT, 4, movetoworkspacesilent, 4
bind = $mainMod SHIFT, 5, movetoworkspacesilent, 5
bind = $mainMod SHIFT, 6, movetoworkspacesilent, 6
bind = $mainMod SHIFT, 7, movetoworkspacesilent, 7
bind = $mainMod SHIFT, 8, movetoworkspacesilent, 8
bind = $mainMod SHIFT, 9, movetoworkspacesilent, 9
bind = $mainMod SHIFT, 0, movetoworkspacesilent, special
# Resize windows
binde = $mainMod SHIFT, 60, resizeactive, -10% 0
binde = $mainMod SHIFT, 59, resizeactive, 10% 0
binde = $mainMod SHIFT, 21, resizeactive, 0 -10%
binde = $mainMod, 20, resizeactive, 0 10%
# Fullscreen
bind= $mainMod, F, fullscreen, 0
# 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
# fn keys
bind=, XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 2%+
bindl=, XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%-
bind=, XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bind=, XF86AudioMicMute, exec , wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
bind=, XF86MonBrightnessUp, exec, light -A 5
bind=, XF86MonBrightnessDown, exec, light -U 5
bind=, XF86AudioPause, exec, 'playerctl pause'
bind=, XF86AudioPlay, exec, 'playerctl play'
bind=, XF86AudioStop, exec, 'playerctl stop'
bind=, XF86AudioNext, exec, 'playerctl next'
bind=, XF86AudioPrev, exec, 'playerctl previous'

View File

@ -0,0 +1,11 @@
monitor=,highres,auto,auto
monitor=desc:Lectron Company Ltd LECOO M2412HL GG30A137,2560x1440@74.96800,0x500,auto,bitdepth,10
monitor=desc:XMI Redmi 27 NU 3948622WH08F4,3840x2160@60.00000,2560x0,auto,transform,3,bitdepth,10
monitor=eDP-1,2560x1600@60.00000,auto,auto,bitdepth,10
# Clamshell mode
## Lid is opened
bindl=,switch:off:Lid Switch,exec,~/.config/hypr/scripts/clamshell.sh
## Lid is closed
bindl=,switch:on:Lid Switch,exec,~/.config/hypr/scripts/clamshell.sh

View File

@ -0,0 +1,62 @@
general {
gaps_in = 4
gaps_out = 8
border_size = 1
col.active_border = rgb(fbf1c7)
col.inactive_border = rgb(928374)
cursor_inactive_timeout = 10
resize_on_border = true
layout = dwindle
}
decoration {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
rounding = 4
blur {
enabled = false
}
drop_shadow = false
}
animations {
enabled = false
bezier = easeInQuart, 0.5, 0, 0.75, 0
bezier = easeInQuint, 0.64, 0, 0.78, 0
animation = windows,1,2,easeInQuart, popin 80%
animation = workspaces,1,2,easeInQuint, slidefade 30%
animation = specialWorkspace,1,2,easeInQuint,slidefadevert 30%
animation = fade,1,1.2,easeInQuart
}
dwindle {
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = yes # you probably want this
force_split = 2
no_gaps_when_only = 1
default_split_ratio = 1.2
}
master {
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
new_is_master = false
no_gaps_when_only = true
# drop_at_cursor = true
}
misc {
disable_splash_rendering = true
disable_hyprland_logo = true
vrr = 1
disable_autoreload = true
focus_on_activate = true
}
xwayland {
force_zero_scaling = true
}
# vim: set filetype=conf:

View File

@ -0,0 +1,4 @@
preload = ~/.config/sway/Wallpaper/bg.png
wallpaper = , ~/.config/sway/Wallpaper/bg.png
# wallpaper = HDMI-A-1, ~/.config/sway/Wallpaper/bg.png
ipc = off

View File

@ -0,0 +1,6 @@
if hyprctl monitors | grep "Lectron Company Ltd LECOO M2412HL GG30A137" &>/dev/null
then
hyprctl keyword monitor "eDP-1, disable"
else
hyprctl keyword monitor "eDP-1, 2560x1440@90, auto, auto"
fi

43
.config/hypr/scripts/logout.sh Executable file
View File

@ -0,0 +1,43 @@
#!/bin/sh
#
# Modified from sway's locking script
if [[ ! $(which swayidle 2> /dev/null) ]]; then
notify-send "ERROR" "Swayidle not found"
exit 1
fi
choice=$(echo -e "suspend\nshutdown\npoweroff\nreboot\nlock" | wofi -d --prompt "󰚥 Choose power option" -Oalphabetical)
if test "$choice" = lock ; then
# don't sleep when power on
if acpi -a | grep -q on; then
sleep_time=86400
else
sleep_time=10
fi
sleep 0.3
bright=`light`
swayidle -w \
timeout 5 "light -S 1" resume "light -S $bright" \
timeout $sleep_time 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' \
&
idlepid=$!
# swaylock -e -c 282828 --inside-color 00000003
swaylock -S --effect-blur "12x12" --effect-greyscale --effect-vignette 0.5:0.5 --inside-color 28282860 \
-e --ring-color 00000000 --line-color 00000000 --indicator --clock --text-color ebdbb2
kill $idlepid
pkill waybar
hyprctl dispatch dpms on
hyprctl dispatch exec waybar
light -S $bright
elif test -n "$choice"; then
systemctl $choice
fi

View File

@ -1,12 +1,16 @@
#set font and stuff #set font and stuff
font_family IBM Plex Mono font_family Iosevka Term SS15
bold_font IBM Plex Mono SemiBold bold_font Iosevka Term SS15 Bold
italic_font IBM Plex Mono Italic italic_font Iosevka Term SS15 Italic
bold_italic_font IBM Plex Mono SemiBold Italic bold_italic_font Iosevka Term SS15 Bold Italic
font_size 13.5 font_size 14
symbol_map U+23FB-U+23FE,U+2B58,U+E200-U+E2A9,U+E0A0-U+E0A3,U+E0B0-U+E0BF,U+E0C0-U+E0C8,U+E0CC-U+E0CF,U+E0D0-U+E0D2,U+E0D4,U+E700-U+E7C5,U+F000-U+F2E0,U+2665,U+26A1,U+F400-U+F4A8,U+F67C,U+E000-U+E00A,U+F300-U+F313,U+E5FA-U+E62B Symbols-2048-em Nerd Font Complete symbol_map U+23FB-U+23FE,U+2B58,U+E200-U+E2A9,U+E0A0-U+E0A3,U+E0B0-U+E0BF,U+E0C0-U+E0C8,U+E0CC-U+E0CF,U+E0D0-U+E0D2,U+E0D4,U+E700-U+E7C5,U+F000-U+F2E0,U+2665,U+26A1,U+F400-U+F4A8,U+F67C,U+E000-U+E00A,U+F300-U+F313,U+E5FA-U+E62B Symbols Nerd Font Mono
# Performance
sync_to_monitor yes
# shell stuff # shell stuff
shell_integration enabled shell_integration enabled
@ -28,6 +32,16 @@ allow_remote_control yes
listen_on unix:/tmp/fifo listen_on unix:/tmp/fifo
include themes/dark.conf
map kitty_mod+n new_os_window_with_cwd map kitty_mod+n new_os_window_with_cwd
include themes/dark.conf # tabs and windows
map kitty_mod+t new_tab_with_cwd
map kitty_mod+enter new_window_with_cwd
tab_bar_style fade
tab_fade 0.00390625 0.0625 0.31640625 1

4
.config/kitty/ssh.conf Normal file
View File

@ -0,0 +1,4 @@
# env ZDOTDIR=$HOME/.cache/kitty-zsh
# copy --dest .cache/kitty-zsh/.zshrc .zshrc
copy .zshrc

View File

@ -1,4 +1,3 @@
# vim:ft=kitty
## name: Gruvbox Material Light Medium ## name: Gruvbox Material Light Medium
## author: Sainnhe Park ## author: Sainnhe Park
## license: MIT ## license: MIT

87
.config/mpv/arguments.py Normal file
View File

@ -0,0 +1,87 @@
import argparse
import collections
import json
import pathlib
class Profile:
def __init__(self, object, json, groups_key="setting-groups"):
self.json = json
self.groups_key = groups_key
self._settings = []
self._shaders = []
self._collect(object)
def _collect(self, object):
self._settings.extend(object.get("settings", []))
self._shaders.extend(object.get("shaders", []))
for key in object.get(self.groups_key, []):
self._collect(self.json["setting-groups"][key])
parser = argparse.ArgumentParser()
parser.add_argument("--profile", default=None)
parser.add_argument(
"--path", default=f"{pathlib.Path.home()}/.config/mpv/default-shader-pack")
parser.add_argument("--config", default=False, action="store_true")
arguments = parser.parse_args()
arguments.path = str(pathlib.Path(arguments.path))
# with open(pathlib.Path(arguments.path, "pack.json"), "rb") as file:
with open(pathlib.Path(arguments.path, "pack-hq.json"), "rb") as file:
json_ = json.load(file)
if arguments.profile is None:
for profile in json_["profiles"].values():
print(profile["displayname"])
else:
if arguments.config:
prefix = ""
end = None
else:
prefix = "--"
end = " "
default_profile = Profile(
json_, json_, groups_key="default-setting-groups")
(_,) = (
profile
for profile in json_["profiles"].values()
if profile["displayname"] == arguments.profile
)
profile = Profile(_, json_)
for key, value in collections.OrderedDict(
default_profile._settings + profile._settings
).items():
key = key.replace("_", "-")
if value is True:
print(prefix, key, sep="", end=end)
continue
print(prefix, key, "=", value, sep="", end=end)
print(
prefix,
"glsl-shaders=",
":".join(
str(pathlib.Path(arguments.path, "shaders", shader))
for shader in collections.OrderedDict(
(_, None) for _ in default_profile._shaders + profile._shaders
).keys()
),
sep="",
end=end,
)
print()

@ -0,0 +1 @@
Subproject commit ca506a6bf3937881ebd1ab35bfbaf3d9b0221e0d

View File

@ -1,3 +1,3 @@
volume=50 volume=70
sub-auto=fuzzy sub-auto=fuzzy
hwdec=auto-safe # hwdec=auto-safe

28
.config/qt5ct/dark.conf Normal file
View File

@ -0,0 +1,28 @@
[Appearance]
color_scheme_path=/usr/share/qt5ct/colors/airy.conf
custom_palette=false
icon_theme=Papirus-Dark
standard_dialogs=gtk3
style=Adwaita-Dark
[Fonts]
fixed=@Variant(\0\0\0@\0\0\0\x1a\0I\0\x42\0M\0 \0P\0l\0\x65\0x\0 \0M\0o\0n\0o@(\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x32\x10)
general=@Variant(\0\0\0@\0\0\0\x1a\0I\0\x42\0M\0 \0P\0l\0\x65\0x\0 \0S\0\x61\0n\0s@(\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x32\x10)
[Interface]
activate_item_on_single_click=1
buttonbox_layout=2
cursor_flash_time=1000
dialog_buttons_have_icons=2
double_click_interval=400
gui_effects=@Invalid()
keyboard_scheme=2
menus_have_icons=true
show_shortcuts_in_context_menus=true
stylesheets=@Invalid()
toolbutton_style=4
underline_shortcut=1
wheel_scroll_lines=3
[SettingsWindow]
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\x4\xfd\0\0\x6 \0\0\0\0\0\0\0\0\0\0\x4\xfd\0\0\x6 \0\0\0\0\0\0\0\0\n\0\0\0\0\0\0\0\0\0\0\0\x4\xfd\0\0\x6 )

28
.config/qt5ct/light.conf Normal file
View File

@ -0,0 +1,28 @@
[Appearance]
color_scheme_path=/usr/share/qt5ct/colors/airy.conf
custom_palette=false
icon_theme=Papirus
standard_dialogs=gtk3
style=Adwaita
[Fonts]
fixed=@Variant(\0\0\0@\0\0\0\x1a\0I\0\x42\0M\0 \0P\0l\0\x65\0x\0 \0M\0o\0n\0o@(\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x32\x10)
general=@Variant(\0\0\0@\0\0\0\x1a\0I\0\x42\0M\0 \0P\0l\0\x65\0x\0 \0S\0\x61\0n\0s@(\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x32\x10)
[Interface]
activate_item_on_single_click=1
buttonbox_layout=2
cursor_flash_time=1000
dialog_buttons_have_icons=2
double_click_interval=400
gui_effects=@Invalid()
keyboard_scheme=2
menus_have_icons=true
show_shortcuts_in_context_menus=true
stylesheets=@Invalid()
toolbutton_style=4
underline_shortcut=1
wheel_scroll_lines=3
[SettingsWindow]
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\t\xff\0\0\x6\"\0\0\0\0\0\0\0\0\0\0\t\xff\0\0\x6\"\0\0\0\0\0\0\0\0\n\0\0\0\0\0\0\0\0\0\0\0\t\xff\0\0\x6\")

32
.config/qt6ct/dark.conf Normal file
View File

@ -0,0 +1,32 @@
[Appearance]
color_scheme_path=/usr/share/qt6ct/colors/airy.conf
custom_palette=false
icon_theme=Papirus-Dark
standard_dialogs=gtk3
style=Adwaita-Dark
[Fonts]
fixed="IBM Plex Mono,12,-1,5,400,0,0,0,0,0,0,0,0,0,0,1"
general="IBM Plex Sans,12,-1,5,400,0,0,0,0,0,0,0,0,0,0,1"
[Interface]
activate_item_on_single_click=1
buttonbox_layout=2
cursor_flash_time=1000
dialog_buttons_have_icons=2
double_click_interval=400
gui_effects=@Invalid()
keyboard_scheme=2
menus_have_icons=true
show_shortcuts_in_context_menus=true
stylesheets=@Invalid()
toolbutton_style=4
underline_shortcut=1
wheel_scroll_lines=3
[SettingsWindow]
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\x4\xfd\0\0\x6 \0\0\0\0\0\0\0\0\0\0\x4\xfd\0\0\x6 \0\0\0\0\0\0\0\0\n\0\0\0\0\0\0\0\0\0\0\0\x4\xfd\0\0\x6 )
[Troubleshooting]
force_raster_widgets=1
ignored_applications=@Invalid()

32
.config/qt6ct/light.conf Normal file
View File

@ -0,0 +1,32 @@
[Appearance]
color_scheme_path=/usr/share/qt6ct/colors/airy.conf
custom_palette=false
icon_theme=Papirus
standard_dialogs=gtk3
style=Adwaita
[Fonts]
fixed="IBM Plex Mono,12,-1,5,400,0,0,0,0,0,0,0,0,0,0,1"
general="IBM Plex Sans,12,-1,5,400,0,0,0,0,0,0,0,0,0,0,1"
[Interface]
activate_item_on_single_click=1
buttonbox_layout=2
cursor_flash_time=1000
dialog_buttons_have_icons=2
double_click_interval=400
gui_effects=@Invalid()
keyboard_scheme=2
menus_have_icons=true
show_shortcuts_in_context_menus=true
stylesheets=@Invalid()
toolbutton_style=4
underline_shortcut=1
wheel_scroll_lines=3
[SettingsWindow]
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\t\xff\0\0\x6\"\0\0\0\0\0\0\0\0\0\0\t\xff\0\0\x6\"\0\0\0\0\0\0\0\0\n\0\0\0\0\0\0\0\0\0\0\0\t\xff\0\0\x6\")
[Troubleshooting]
force_raster_widgets=1
ignored_applications=@Invalid()

View File

@ -0,0 +1,3 @@
# vim: filetype=swayconfig
include ~/.config/sway/conf.d/custom.d/*

View File

@ -0,0 +1,4 @@
# vim: filetype=swayconfig
include /etc/sway/config.d/*
exec /usr/libexec/polkit-gnome-authentication-agent-1

View File

@ -0,0 +1,14 @@
# vim: filetype=swayconfig
input type:mouse {
accel_profile flat
pointer_accel -0.3
}
input type:touchpad {
accel_profile adaptive
natural_scroll enabled
tap enabled
dwt enabled
# events disabled_on_external_mouse
}

View File

@ -0,0 +1,28 @@
output * adaptive_sync on
# 75hz monitor
output 'Lectron Company Ltd LECOO M2412HL GG30A137' mode 2560x1440@75Hz
output 'Lectron Company Ltd LECOO M2412HL GG30A137' pos 0 500
output 'Lectron Company Ltd LECOO M2412HL GG30A137' subpixel rgb
# output 'Lectron Company Ltd LECOO M2412HL GG30A137' max_render_time 5
# lab screen
output "XMI Redmi 27 NU 3948622WH08F4" mode --custom 2560x1440@60Hz
output "XMI Redmi 27 NU 3948622WH08F4" scale 1.5
output "XMI Redmi 27 NU 3948622WH08F4" transform 90
output "XMI Redmi 27 NU 3948622WH08F4" pos 2560 0
output "XMI Redmi 27 NU 3948622WH08F4" subpixel rgb
output "XMI Redmi 27 NU 3948622WH08F4" max_render_time 3
output "XMI Redmi 27 NU 3948622WH08F4" render_bit_depth 10
# laptop screen
output 'Thermotrex Corporation TL160ADMP03-0 Unknown' subpixel rgb
# output 'Thermotrex Corporation TL160ADMP03-0 Unknown' mode 2560x1600@60.000Hz
# output 'Thermotrex Corporation TL160ADMP03-0 Unknown' max_render_time 5
output 'Thermotrex Corporation TL160ADMP03-0 Unknown' mode 2560x1600@60.000Hz
# output 'Thermotrex Corporation TL160ADMP03-0 Unknown' max_render_time 8
# output 'Thermotrex Corporation TL160ADMP03-0 Unknown' render_bit_depth 10
# TV at home
output 'Unknown HUAWEI INC 0x00000000' mode 3840x2160@60.000Hz
output 'Unknown HUAWEI INC 0x00000000' scale 2

View File

@ -1,4 +1,4 @@
# vim: filetype=i3config # vim: filetype=swayconfig
# laptop output mode # laptop output mode
set $laptop eDP-1 set $laptop eDP-1
@ -6,7 +6,7 @@ bindswitch --reload --locked lid:on output $laptop disable
bindswitch --reload --locked lid:off output $laptop enable bindswitch --reload --locked lid:off output $laptop enable
# bar # bar
bar swaybar_command waybar # bar swaybar_command waybar
#workspace_auto_back_and_forth yes #workspace_auto_back_and_forth yes
force_display_urgency_hint 500 ms force_display_urgency_hint 500 ms

10
.config/sway/conf.d/exec Normal file
View File

@ -0,0 +1,10 @@
# vim: filetype=swayconfig
##starting userspace software
# exec_always sh -c ~/.config/sway/scripts/update-wallpaper.sh
exec mkfifo /tmp/kitty
exec wlsunset -s 19:00 -S 07:00 -d 1800
exec light -S 70
exec playerctld daemon
include /usr/local/etc/sway/config.d/*

View File

@ -1,4 +1,4 @@
# vim: filetype=i3config # vim: filetype=swayconfig
set $mod Mod4 set $mod Mod4
set $left h set $left h
@ -6,13 +6,13 @@ set $down j
set $up k set $up k
set $right l set $right l
set $term kitty -1 set $term kitty -1
set $menu wofi | xargs swaymsg exec -- set $menu wofi
# my keybinds # my keybinds
# screenshot # screenshot
bindsym $mod+Print exec ~/.config/sway/scripts/grimshot-ui.sh bindsym $mod+Print exec grimshot --cursor copy area
bindsym $mod+Ctrl+s exec ~/.config/sway/scripts/grimshot-ui.sh bindsym $mod+Shift+s exec grimshot --cursor copy area
# notification client # notification client
bindsym $mod+m exec swaync-client -t -sw bindsym $mod+m exec swaync-client -t -sw
# Logout # Logout
@ -36,11 +36,13 @@ bindsym --whole-window $mod+button9 workspace next
# bind fn keys # bind fn keys
bindsym XF86AudioMicMute exec amixer set Capture toggle bindsym XF86AudioMicMute exec amixer set Capture toggle
exec mkfifo $SWAYSOCK.wob && tail -f $SWAYSOCK.wob | wob exec mkfifo $SWAYSOCK.wob && tail -f $SWAYSOCK.wob | wob
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5% && pactl get-sink-volume @DEFAULT_SINK@ | head -n 1| awk '{print substr($5, 1, length($5)-1)}' > $SWAYSOCK.wob bindsym XF86AudioRaiseVolume exec wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 2%+ && pactl get-sink-volume @DEFAULT_SINK@ | head -n 1| awk '{print substr($5, 1, length($5)-1)}' > $SWAYSOCK.wob
bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5% && pactl get-sink-volume @DEFAULT_SINK@ | head -n 1 | awk '{print substr($5, 1, length($5)-1)}' > $SWAYSOCK.wob bindsym XF86AudioLowerVolume exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%- && pactl get-sink-volume @DEFAULT_SINK@ | head -n 1 | awk '{print substr($5, 1, length($5)-1)}' > $SWAYSOCK.wob
bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle && ~/.config/sway/scripts/getmute.sh > $SWAYSOCK.wob bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle && ~/.config/sway/scripts/getmute.sh > $SWAYSOCK.wob
bindsym XF86MonBrightnessUp exec light -A 5 && light -G | cut -d'.' -f1 > $SWAYSOCK.wob bindsym XF86MonBrightnessUp exec light -A 5 && light -G | cut -d'.' -f1 > $SWAYSOCK.wob
bindsym XF86MonBrightnessDown exec light -U 5 && light -G | cut -d'.' -f1 > $SWAYSOCK.wob bindsym XF86MonBrightnessDown exec light -U 5 && light -G | cut -d'.' -f1 > $SWAYSOCK.wob
bindsym XF86KbdBrightnessUp exec light -s sysfs/leds/asus::kbd_backlight -S 67
bindsym XF86KbdBrightnessDown exec light -s sysfs/leds/asus::kbd_backlight -S 0
bindsym XF86AudioPause exec 'playerctl pause' bindsym XF86AudioPause exec 'playerctl pause'
bindsym XF86AudioPlay exec 'playerctl play' bindsym XF86AudioPlay exec 'playerctl play'
@ -49,7 +51,7 @@ bindsym XF86AudioNext exec 'playerctl next'
bindsym XF86AudioPrev exec 'playerctl previous' bindsym XF86AudioPrev exec 'playerctl previous'
# sticky window # sticky window
bindsym $mod+Shift+s floating toggle ; sticky toggle ; resize set 800 600 ; move position 55ppt 5ppt bindsym $mod+Ctrl+s floating toggle ; sticky toggle ; resize set 800 600 ; move position 55ppt 5ppt
# Start a terminal # Start a terminal
bindsym $mod+Return exec $term bindsym $mod+Return exec $term

View File

@ -0,0 +1,3 @@
# vim: filetype=swayconfig
include ~/.config/sway/conf.d/themes/dark

View File

@ -1,10 +1,11 @@
# vim: filetype=i3config # vim: filetype=swayconfig
#set gtk theme and font #set gtk theme and font
set $gnome-schema org.gnome.desktop.interface set $gnome-schema org.gnome.desktop.interface
exec_always { exec_always {
gsettings set $gnome-schema gtk-theme 'Adwaita-dark' gsettings set $gnome-schema color-scheme 'prefer-dark'
gsettings set $gnome-schema icon-theme 'Papirus-Dark' gsettings set $gnome-schema gtk-theme 'Adwaita'
gsettings set $gnome-schema icon-theme 'Adwaita'
gsettings set $gnome-schema cursor-theme 'Adwaita' gsettings set $gnome-schema cursor-theme 'Adwaita'
gsettings set $gnome-schema font-name 'ibm-plex 12' gsettings set $gnome-schema font-name 'ibm-plex 12'
gsettings set org.gtk.Settings.FileChooser startup-mode cwd gsettings set org.gtk.Settings.FileChooser startup-mode cwd
@ -21,3 +22,5 @@ client.background #928374 #282828
#borders stuff #borders stuff
default_border pixel 1 default_border pixel 1
output * bg #282828 solid_color

View File

@ -1,10 +1,11 @@
# vim: filetype=i3config # vim: filetype=swayconfig
#set gtk theme and font #set gtk theme and font
set $gnome-schema org.gnome.desktop.interface set $gnome-schema org.gnome.desktop.interface
exec_always { exec_always {
gsettings set $gnome-schema color-scheme 'prefer-light'
gsettings set $gnome-schema gtk-theme 'Adwaita' gsettings set $gnome-schema gtk-theme 'Adwaita'
gsettings set $gnome-schema icon-theme 'Papirus-Light' gsettings set $gnome-schema icon-theme 'Adwaita'
gsettings set $gnome-schema cursor-theme 'Adwaita' gsettings set $gnome-schema cursor-theme 'Adwaita'
gsettings set $gnome-schema font-name 'ibm-plex 12' gsettings set $gnome-schema font-name 'ibm-plex 12'
gsettings set org.gtk.Settings.FileChooser startup-mode cwd gsettings set org.gtk.Settings.FileChooser startup-mode cwd
@ -21,3 +22,5 @@ client.background #ebdbb2 #fbf1c7
#borders stuff #borders stuff
default_border pixel 1 default_border pixel 1
output * bg #fbf1c7 solid_color

View File

@ -1,5 +1,5 @@
include ~/.config/sway/config.d/exec include ~/.config/sway/conf.d/display
include ~/.config/sway/config.d/display include ~/.config/sway/conf.d/theme
include ~/.config/sway/config.d/theme include ~/.config/sway/conf.d/keybinds
include ~/.config/sway/config.d/keybinds include ~/.config/sway/conf.d/custom
include ~/.config/sway/config.d/custom include ~/.config/sway/conf.d/exec

View File

@ -1,3 +0,0 @@
# vim: filetype=i3config
include ~/.config/sway/config.d/custom.d/*

View File

@ -1,36 +0,0 @@
# vim: filetype=i3config
# swap caps and ctrl on Thinkpad keyboard
input 1:1:AT_Translated_Set_2_keyboard {
xkb_options "ctrl:swapcaps"
}
# dugod keyboard and 2.4G variant
input 12136:130:Hoksi_Technology_DURGOD_Taurus_K320 {
# swap caps with ctrl, and lalt with lwin
xkb_options "ctrl:swapcaps, altwin:swap_lalt_lwin"
}
input 12136:32832:Hoksi_Technology_DURGOD_Infinite_Link {
xkb_options "ctrl:swapcaps, altwin:swap_lalt_lwin"
}
input type:mouse {
accel_profile flat
}
# always disable touchpad
input type:touchpad {
events disabled
# accel_profile adaptive
# pointer_accel -0.3
# natural_scroll enabled
# tap enabled
# dwt enabled
# events disabled_on_external_mouse
}
input 2:14:ETPS/2_Elantech_TrackPoint {
accel_profile adaptive
pointer_accel 0
}

View File

@ -1,8 +0,0 @@
output DP-2 mode 2560x1440@74.968Hz
output DP-2 subpixel rgb
output * adaptive_sync on
output eDP-1 subpixel rgb
# TV at home
output 'Unknown HUAWEI INC 0x00000000' mode 3840x2160@60.000Hz
output 'Unknown HUAWEI INC 0x00000000' scale 2

View File

@ -1,11 +0,0 @@
# vim: filetype=i3config
##starting userspace software
exec_always sh -c ~/.config/sway/scripts/update-wallpaper.sh
exec mkfifo /tmp/kitty
exec wlsunset -l 30.4 -L 104.0 -T 6500 -t 3500
exec light -S 70
exec gentoo-pipewire-launcher
exec swaync
exec playerctld daemon
exec dbus-update-activation-environment --all

View File

@ -1,3 +0,0 @@
# vim: filetype=i3config
include ~/.config/sway/config.d/themes/dark

View File

@ -1,13 +0,0 @@
#!/bin/sh
# Take $1 as input, add a box shadow, output to $2
# you can change background color here
background_color=none
convert $1 \
\( -clone 0 -background black -shadow 40x5+12+16 \) \
\( -clone 0 -background black -shadow 40x5-4-4 \) \
\( -clone 0 -background black -shadow 40x12+12-4 \) \
\( -clone 0 -background black -shadow 40x12-4+16 \) \
-reverse -background $background_color -layers merge +repage \
$2

View File

@ -1,22 +0,0 @@
#!/bin/sh
SCRIPT_LOC=~/.config/sway/scripts/
FILE="/tmp/share/screenshots/`date +'%y%m%d%H%M.png'`"
action=`echo "copy\nsave" | wofi -d -Oalphabetical --prompt="Select your action"`
target=`echo "active\nscreen\noutput\narea\nwindow" | wofi -d -Oalphabetical --prompt="Select the target"`
test $action || exit
test $target || exit
test -d /tmp/share/screenshot || mkdir -p /tmp/share/screenshots
# TODO, add box shadows
XDG_SCREENSHOTS_DIR=/tmp/share/screenshots ~/.config/sway/scripts/grimshot.sh --notify $action $target $FILE
if [ $target = "active" ] || [ $target = "window" ] || [ $target = "area" ]
then
$SCRIPT_LOC/boxshadow.sh "$FILE" "$FILE" || die "Unable to save screenshot"
echo "saved file"
fi

View File

@ -1,156 +0,0 @@
#!/bin/sh
## TAKEN FROM https://github.com/swaywm/sway/blob/master/contrib/grimshot
##
## Grimshot: a helper for screenshots within sway
## Requirements:
## - `grim`: screenshot utility for wayland
## - `slurp`: to select an area
## - `swaymsg`: to read properties of current window
## - `wl-copy`: clipboard utility
## - `jq`: json utility to parse swaymsg output
## - `notify-send`: to show notifications
## Those are needed to be installed, if unsure, run `grimshot check`
##
## See `man 1 grimshot` or `grimshot usage` for further details.
getTargetDirectory() {
test -f ${XDG_CONFIG_HOME:-~/.config}/user-dirs.dirs && \
. ${XDG_CONFIG_HOME:-~/.config}/user-dirs.dirs
echo ${XDG_SCREENSHOTS_DIR:-${XDG_PICTURES_DIR:-$HOME}}
}
if [ "$1" = "--notify" ]; then
NOTIFY=yes
shift 1
else
NOTIFY=no
fi
ACTION=${1:-usage}
SUBJECT=${2:-screen}
FILE=${3:-$(getTargetDirectory)/$(date +'%y%m%d%H%M.png')}
if [ "$ACTION" != "save" ] && [ "$ACTION" != "copy" ] && [ "$ACTION" != "check" ]; then
echo "Usage:"
echo " grimshot [--notify] (copy|save) [active|screen|output|area|window] [FILE|-]"
echo " grimshot check"
echo " grimshot usage"
echo ""
echo "Commands:"
echo " copy: Copy the screenshot data into the clipboard."
echo " save: Save the screenshot to a regular file or '-' to pipe to STDOUT."
echo " check: Verify if required tools are installed and exit."
echo " usage: Show this message and exit."
echo ""
echo "Targets:"
echo " active: Currently active window."
echo " screen: All visible outputs."
echo " output: Currently active output."
echo " area: Manually select a region."
echo " window: Manually select a window."
exit
fi
notify() {
notify-send -t 3000 -a grimshot "$@"
}
notifyOk() {
[ "$NOTIFY" = "no" ] && return
TITLE=${2:-"Screenshot"}
MESSAGE=${1:-"OK"}
notify-send "$TITLE" "$MESSAGE"
}
notifyError() {
if [ $NOTIFY = "yes" ]; then
TITLE=${2:-"Screenshot"}
MESSAGE=${1:-"Error taking screenshot with grim"}
notify -u critical "$TITLE" "$MESSAGE"
else
echo $1
fi
}
die() {
MSG=${1:-Bye}
notifyError "Error: $MSG"
exit 2
}
check() {
COMMAND=$1
if command -v "$COMMAND" > /dev/null 2>&1; then
RESULT="OK"
else
RESULT="NOT FOUND"
fi
echo " $COMMAND: $RESULT"
}
takeScreenshot() {
FILE=$1
GEOM=$2
OUTPUT=$3
if [ ! -z "$OUTPUT" ]; then
grim -o "$OUTPUT" "$FILE" || die "Unable to invoke grim"
elif [ -z "$GEOM" ]; then
grim "$FILE" || die "Unable to invoke grim"
else
grim -g "$GEOM" "$FILE" || die "Unable to invoke grim"
fi
}
if [ "$ACTION" = "check" ] ; then
echo "Checking if required tools are installed. If something is missing, install it to your system and make it available in PATH..."
check grim
check slurp
check swaymsg
check wl-copy
check jq
check notify-send
exit
elif [ "$SUBJECT" = "area" ] ; then
GEOM=$(slurp -d)
# Check if user exited slurp without selecting the area
if [ -z "$GEOM" ]; then
exit 1
fi
WHAT="Area"
elif [ "$SUBJECT" = "active" ] ; then
FOCUSED=$(swaymsg -t get_tree | jq -r 'recurse(.nodes[]?, .floating_nodes[]?) | select(.focused)')
GEOM=$(echo "$FOCUSED" | jq -r '.rect | "\(.x),\(.y) \(.width)x\(.height)"')
APP_ID=$(echo "$FOCUSED" | jq -r '.app_id')
WHAT="$APP_ID window"
elif [ "$SUBJECT" = "screen" ] ; then
GEOM=""
WHAT="Screen"
elif [ "$SUBJECT" = "output" ] ; then
GEOM=""
OUTPUT=$(swaymsg -t get_outputs | jq -r '.[] | select(.focused)' | jq -r '.name')
WHAT="$OUTPUT"
elif [ "$SUBJECT" = "window" ] ; then
GEOM=$(swaymsg -t get_tree | jq -r '.. | select(.pid? and .visible?) | .rect | "\(.x),\(.y) \(.width)x\(.height)"' | slurp)
# Check if user exited slurp without selecting the area
if [ -z "$GEOM" ]; then
exit 1
fi
WHAT="Window"
else
die "Unknown subject to take a screen shot from" "$SUBJECT"
fi
if [ "$ACTION" = "copy" ] ; then
takeScreenshot - "$GEOM" "$OUTPUT" | wl-copy --type image/png || die "Clipboard error"
notifyOk "$WHAT copied to buffer"
else
if takeScreenshot "$FILE" "$GEOM" "$OUTPUT"; then
TITLE="Screenshot of $SUBJECT"
MESSAGE=$(basename "$FILE")
notifyOk "$MESSAGE" "$TITLE"
echo $FILE
else
notifyError "Error taking screenshot with grim"
fi
fi

View File

@ -1,17 +1,41 @@
#!/bin/sh #!/bin/bash
#
# Modified from sway's locking script
if [[ ! $(which swayidle 2> /dev/null) ]]; then
notify-send "ERROR" "Swayidle not found"
exit 1
fi
choices=("suspend" "shutdown" "poweroff" "reboot" "lock")
choice=$(printf "%s\n" "${choices[@]}" | wofi -d --prompt "󰚥 Choose power option" -Oalphabetical )
choice=`echo "suspend\nshutdown\npoweroff\nreboot\nlock\nhibernate" | wofi -d -Oalphabetical`
if test "$choice" = lock ; then if test "$choice" = lock ; then
# sleep less when power on
if acpi -a | grep -q on; then
sleep_time=3600
else
sleep_time=10
fi
sleep 0.3
bright=`light` bright=`light`
swayidle -w \ swayidle -w \
timeout 5 "light -S 1" resume "light -S $bright" \ timeout 5 "light -S 1" resume "light -S $bright" \
timeout 10 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \ timeout $sleep_time 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \
& &
idlepid=$! idlepid=$!
swaylock -e -c 282828 --inside-color 00000003
# swaylock -e -c 282828 --inside-color 00000003
swaylock -S --effect-blur "12x12" --effect-greyscale --effect-vignette 0.5:0.5 --inside-color 28282860 \
-e --ring-color 00000000 --line-color 00000000 --indicator --clock --text-color ebdbb2
kill $idlepid kill $idlepid
swaymsg "output * dpms on" swaymsg "output * power on"
light -S $bright light -S $bright
return 0 elif test -n "$choice"; then
systemctl $choice
fi fi
loginctl $choice

View File

@ -1,18 +1,17 @@
scheme=$(echo "light\ndark" | wofi -d -p "Select color scheme") #!/usr/bin/env bash
scheme=$(echo -e "light\ndark" | wofi -d -p "󰔎 Select color scheme")
# simply subsitude dark and light # simply subsitude dark and light
if [ $scheme = "light" ]; then if [ $scheme = "light" ]; then
notify-send "Toggling light color scheme"
command="s/dark/light/" command="s/dark/light/"
elif [ $scheme = "dark" ]; then elif [ $scheme = "dark" ]; then
notify-send "Toggling dark color scheme"
command="s/light/dark/" command="s/light/dark/"
else else
exit 1 exit 1
fi fi
sed -i $command ~/.config/kitty/kitty.conf sed -i $command ~/.config/kitty/kitty.conf
sed -i $command ~/.config/sway/config.d/theme sed -i $command ~/.config/sway/conf.d/theme
sed -i $command ~/.config/swaync/style.css sed -i $command ~/.config/swaync/style.css
sed -i $command ~/.config/waybar/style.css sed -i $command ~/.config/waybar/style.css
sed -i $command ~/.config/wofi/config sed -i $command ~/.config/wofi/config
@ -21,19 +20,32 @@ swaync-client -rs &
# more settings # more settings
if [ $scheme = "light" ]; then if [ $scheme = "light" ]; then
# kitty config
kitty -1 sh -c "kitty @ set-colors -a -c ~/.config/kitty/themes/light.conf" & kitty -1 sh -c "kitty @ set-colors -a -c ~/.config/kitty/themes/light.conf" &
# zathura
mv ~/.config/zathura/zathurarc.light ~/.config/zathura/zathurarc mv ~/.config/zathura/zathurarc.light ~/.config/zathura/zathurarc
# qt5ct and qt6ct
cp ~/.config/qt5ct/light.conf ~/.config/qt5ct/qt5ct.conf
cp ~/.config/qt6ct/light.conf ~/.config/qt6ct/qt6ct.conf
# gtk2
cp ~/.config/gtk-2.0/light.conf ~/.gtkrc-2.0
# set wallpaper location # set wallpaper location
unlink ~/.config/sway/Wallpaper # unlink ~/.config/sway/Wallpaper
ln -s ~/Pictures/Wallpapers/light ~/.config/sway/Wallpaper # ln -s ~/Pictures/wall/sway/light ~/.config/sway/Wallpaper
else else
# kitty config
kitty -1 sh -c "kitty @ set-colors -a -c ~/.config/kitty/themes/dark.conf" & kitty -1 sh -c "kitty @ set-colors -a -c ~/.config/kitty/themes/dark.conf" &
# zathura
mv ~/.config/zathura/zathurarc.dark ~/.config/zathura/zathurarc mv ~/.config/zathura/zathurarc.dark ~/.config/zathura/zathurarc
# qt5ct and qt6ct
cp ~/.config/qt5ct/dark.conf ~/.config/qt5ct/qt5ct.conf
cp ~/.config/qt6ct/dark.conf ~/.config/qt6ct/qt6ct.conf
# gtk2
cp ~/.config/gtk-2.0/dark.conf ~/.gtkrc-2.0
# set dark wallpaper # set dark wallpaper
unlink ~/.config/sway/Wallpaper # unlink ~/.config/sway/Wallpaper
ln -s ~/Pictures/Wallpapers/dark ~/.config/sway/Wallpaper # ln -s ~/Pictures/wall/sway/dark ~/.config/sway/Wallpaper
fi fi
sway reload swaymsg reload
systemctl --user restart waybar.service

View File

@ -4,6 +4,13 @@ export PATH="${PATH}:${HOME}/.local/bin"
export XDG_RUNTIME_DIR=/run/user/1000 export XDG_RUNTIME_DIR=/run/user/1000
export XDG_CACHE_HOME=$HOME/.cache export XDG_CACHE_HOME=$HOME/.cache
# If not using sway, we exit
if ! pidof sway > /dev/null
then
exit
fi
# If the deamon starts first time, we only init it, and the wallpaper will be updated
if ! pidof swww-daemon > /dev/null if ! pidof swww-daemon > /dev/null
then then
swww init swww init

View File

@ -11,15 +11,9 @@
"timeout-critical": 0, "timeout-critical": 0,
"notification-window-width": 512, "notification-window-width": 512,
"keyboard-shortcuts": true, "keyboard-shortcuts": true,
"image-visibility": "always", "image-visibility": "when-available",
"transition-time": 200,
"hide-on-clear": true, "hide-on-clear": true,
"hide-on-action": true, "hide-on-action": true,
"script-fail-notify": true, "script-fail-notify": true,
"scripts": { "widgets": ["title", "dnd", "mpris"]
"example-script": {
"exec": "echo 'Do something...'",
"urgency": "Normal"
}
}
} }

View File

@ -4,6 +4,11 @@
@import "dark.less"; @import "dark.less";
* {
color: @fg;
text-shadow: none;
}
.notification-row { .notification-row {
outline: none; outline: none;
background: transparent; background: transparent;
@ -16,7 +21,7 @@
.notification { .notification {
border-radius: 2px; border-radius: 2px;
margin: 6px 12px; margin: 6px 12px;
box-shadow: 0px 2px 4px 2px rgba(0, 0, 0, 0.3); box-shadow: 0px 0px 4px 2px rgba(0, 0, 0, 0.3);
padding: 0; padding: 0;
} }
@ -100,11 +105,6 @@
text-shadow: none; text-shadow: none;
} }
.top-action-title {
color: @fg;
text-shadow: none;
}
.control-center-clear-all { .control-center-clear-all {
color: @warning; color: @warning;
text-shadow: none; text-shadow: none;

53
.config/tmux/tmux.conf Normal file
View File

@ -0,0 +1,53 @@
set -g default-terminal "tmux-256color"
set-option -ga terminal-overrides ",screen-256color:Tc"
## COLORSCHEME: gruvbox dark (medium)
set-option -g status "on"
# default statusbar color
set-option -g status-style bg=colour237,fg=colour223 # bg=bg1, fg=fg1
# default window title colors
set-window-option -g window-status-style bg=colour214,fg=colour237 # bg=yellow, fg=bg1
# default window with an activity alert
set-window-option -g window-status-activity-style bg=colour237,fg=colour248 # bg=bg1, fg=fg3
# active window title colors
set-window-option -g window-status-current-style bg=red,fg=colour237 # fg=bg1
# pane border
set-option -g pane-active-border-style fg=colour250 #fg2
set-option -g pane-border-style fg=colour237 #bg1
# message infos
set-option -g message-style bg=colour239,fg=colour223 # bg=bg2, fg=fg1
# writing commands inactive
set-option -g message-command-style bg=colour239,fg=colour223 # bg=fg3, fg=bg1
# pane number display
set-option -g display-panes-active-colour colour250 #fg2
set-option -g display-panes-colour colour237 #bg1
# clock
set-window-option -g clock-mode-colour colour109 #blue
# bell
set-window-option -g window-status-bell-style bg=colour167,fg=colour235 # bg=red, fg=bg
## Theme settings mixed with colors (unfortunately, but there is no cleaner way)
set-option -g status-justify "left"
set-option -g status-left-style none
set-option -g status-left-length "80"
set-option -g status-right-style none
set-option -g status-right-length "80"
set-window-option -g window-status-separator ""
set-option -g status-left "#[bg=colour241,fg=colour248] #S #[bg=colour237,fg=colour241,nobold,noitalics,nounderscore]"
set-option -g status-right "#[bg=colour237,fg=colour239 nobold, nounderscore, noitalics]#[bg=colour239,fg=colour246] %Y-%m-%d  %H:%M #[bg=colour239,fg=colour248,nobold,noitalics,nounderscore]#[bg=colour248,fg=colour237] #h "
set-window-option -g window-status-current-format "#[bg=colour214,fg=colour237,nobold,noitalics,nounderscore]#[bg=colour214,fg=colour239] #I #[bg=colour214,fg=colour239,bold] #W#{?window_zoomed_flag,*Z,} #[bg=colour237,fg=colour214,nobold,noitalics,nounderscore]"
set-window-option -g window-status-format "#[bg=colour239,fg=colour237,noitalics]#[bg=colour239,fg=colour223] #I #[bg=colour239,fg=colour223] #W #[bg=colour237,fg=colour239,noitalics]"
# vim: set ft=tmux tw=0:

View File

@ -17,8 +17,16 @@
"battery", "battery",
"clock" "clock"
], ],
"sway/workspaces": {
"show_special": true,
"on-click": "activate",
"persistent_workspaces": {
"9": ["HDMI-A-1"]
}
},
"sway/window": { "sway/window": {
"max-length": 50 "max-length": 50,
"separate-outputs": true
}, },
"tray": { "tray": {
"spacing": 10 "spacing": 10
@ -28,15 +36,15 @@
"format-alt": " {usage}% @ {avg_frequency}GHz" "format-alt": " {usage}% @ {avg_frequency}GHz"
}, },
"memory": { "memory": {
"format": " {used:0.1f}G / {total:0.1f}G", "format": "󰍛 {used:0.1f}G / {total:0.1f}G",
"format-alt": " Swap: {swapUsed:0.1f}G / {swapTotal:0.1f}G" "format-alt": "󰓡 Swap: {swapUsed:0.1f}G / {swapTotal:0.1f}G"
}, },
"network": { "network": {
"format-wifi": " {essid} ({signalStrength}%)", "format-wifi": " {essid} ({signalStrength}%)",
"format-ethernet": " {ifname}", "format-ethernet": "󰈀 {ifname}",
"format-linked": " {ifname}", "format-linked": " {ifname}",
"format-disconnected": " Disconnected", "format-disconnected": "󰌙 Disconnected",
"format-alt": " {ifname}: {ipaddr}/{cidr}", "format-alt": "󰩟 {ifname}: {ipaddr}/{cidr}",
"tooltip-format": "{ifname} via {gwaddr}" "tooltip-format": "{ifname} via {gwaddr}"
}, },
"battery": { "battery": {
@ -46,7 +54,7 @@
"critical": 5 "critical": 5
}, },
"format": "{icon} {capacity}%", "format": "{icon} {capacity}%",
"format-charging": " {capacity}%", "format-charging": "🗲 {capacity}%",
"format-plugged": " {capacity}%", "format-plugged": " {capacity}%",
"format-alt": "{icon} ETA: {time}", "format-alt": "{icon} ETA: {time}",
"format-icons": [ "format-icons": [
@ -58,7 +66,7 @@
] ]
}, },
"clock": { "clock": {
"format": "{: %H:%M\t %m-%d}", "format": "{:󰅐 %H:%M\t %m-%d}",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>" "tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>"
}, },
"custom/notification": { "custom/notification": {
@ -78,7 +86,7 @@
"escape": true "escape": true
}, },
"custom/player": { "custom/player": {
"format": " {}", "format": "󰎈 {}",
"return-type": "json", "return-type": "json",
"exec": "playerctl -a metadata --format '{\"text\": \"{{uc(playerName)}}: {{artist}} - {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"class\": \"{{status}}\"}' -F", "exec": "playerctl -a metadata --format '{\"text\": \"{{uc(playerName)}}: {{artist}} - {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"class\": \"{{status}}\"}' -F",
"max-length": 35, "max-length": 35,

View File

@ -0,0 +1,99 @@
{
"layer": "top",
"modules-left": [
"hyprland/workspaces"
],
"fixed-center": false,
"modules-center": [
"hyprland/window"
],
"modules-right": [
"tray",
"custom/notification",
"custom/player",
"cpu",
"memory",
"network",
"battery",
"clock"
],
"hyprland/workspaces": {
"on-scroll-up": "hyprctl dispatch workspace e-1",
"on-scroll-down": "hyprctl dispatch workspace e+1",
"show_special": true,
"on-click": "activate",
"persistent_workspaces": {
"9": ["HDMI-A-1"]
}
},
"hyprland/window": {
"max-length": 50,
"separate-outputs": true
},
"tray": {
"spacing": 10
},
"cpu": {
"format": " {load}",
"format-alt": " {usage}% @ {avg_frequency}GHz"
},
"memory": {
"format": "󰍛 {used:0.1f}G / {total:0.1f}G",
"format-alt": "󰓡 Swap: {swapUsed:0.1f}G / {swapTotal:0.1f}G"
},
"network": {
"format-wifi": " {essid} ({signalStrength}%)",
"format-ethernet": "󰈀 {ifname}",
"format-linked": " {ifname}",
"format-disconnected": "󰌙 Disconnected",
"format-alt": "󰩟 {ifname}: {ipaddr}/{cidr}",
"tooltip-format": "{ifname} via {gwaddr}"
},
"battery": {
"states": {
"good": 75,
"warning": 15,
"critical": 5
},
"format": "{icon} {capacity}%",
"format-charging": "🗲 {capacity}%",
"format-plugged": " {capacity}%",
"format-alt": "{icon} ETA: {time}",
"format-icons": [
"",
"",
"",
"",
""
]
},
"clock": {
"format": "{:󰅐 %H:%M\t %m-%d}",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>"
},
"custom/notification": {
"tooltip": true,
"format": "{icon}",
"format-icons": {
"notification": " <span foreground='red'><sup></sup></span> New notifications",
"none": " No notifications",
"dnd-notification": " DND on",
"dnd-none": " DND on"
},
"return-type": "json",
"exec-if": "which swaync-client",
"exec": "swaync-client -swb",
"on-click": "swaync-client -t -sw",
"on-click-right": "swaync-client -d -sw",
"escape": true
},
"custom/player": {
"format": "󰎈 {}",
"return-type": "json",
"exec": "playerctl -a metadata --format '{\"text\": \"{{uc(playerName)}}: {{artist}} - {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"class\": \"{{status}}\"}' -F",
"max-length": 35,
"on-click-middle": "playerctl play-pause",
"on-click-right": "plaerctl next",
"on-click-left": "playerctl previous"
}
}

View File

@ -0,0 +1,97 @@
{
"layer": "top",
"modules-left": [
"sway/workspaces"
],
"fixed-center": false,
"modules-center": [
"sway/window"
],
"modules-right": [
"tray",
"custom/notification",
"custom/player",
"cpu",
"memory",
"network",
"battery",
"clock"
],
"sway/workspaces": {
"show_special": true,
"on-click": "activate",
"persistent_workspaces": {
"9": ["HDMI-A-1"]
}
},
"sway/window": {
"max-length": 50,
"separate-outputs": true
},
"tray": {
"spacing": 10
},
"cpu": {
"format": " {load}",
"format-alt": " {usage}% @ {avg_frequency}GHz"
},
"memory": {
"format": "󰍛 {used:0.1f}G / {total:0.1f}G",
"format-alt": "󰓡 Swap: {swapUsed:0.1f}G / {swapTotal:0.1f}G"
},
"network": {
"format-wifi": " {essid} ({signalStrength}%)",
"format-ethernet": "󰈀 {ifname}",
"format-linked": " {ifname}",
"format-disconnected": "󰌙 Disconnected",
"format-alt": "󰩟 {ifname}: {ipaddr}/{cidr}",
"tooltip-format": "{ifname} via {gwaddr}"
},
"battery": {
"states": {
"good": 75,
"warning": 15,
"critical": 5
},
"format": "{icon} {capacity}%",
"format-charging": "🗲 {capacity}%",
"format-plugged": " {capacity}%",
"format-alt": "{icon} ETA: {time}",
"format-icons": [
"",
"",
"",
"",
""
]
},
"clock": {
"format": "{:󰅐 %H:%M\t %m-%d}",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>"
},
"custom/notification": {
"tooltip": true,
"format": "{icon}",
"format-icons": {
"notification": " <span foreground='red'><sup></sup></span> New notifications",
"none": " No notifications",
"dnd-notification": " DND on",
"dnd-none": " DND on"
},
"return-type": "json",
"exec-if": "which swaync-client",
"exec": "swaync-client -swb",
"on-click": "swaync-client -t -sw",
"on-click-right": "swaync-client -d -sw",
"escape": true
},
"custom/player": {
"format": "󰎈 {}",
"return-type": "json",
"exec": "playerctl -a metadata --format '{\"text\": \"{{uc(playerName)}}: {{artist}} - {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"class\": \"{{status}}\"}' -F",
"max-length": 35,
"on-click-middle": "playerctl play-pause",
"on-click-right": "plaerctl next",
"on-click-left": "playerctl previous"
}
}

View File

@ -5,8 +5,8 @@
* { * {
border: none; border: none;
border-radius: 1px; border-radius: 1px;
font-family: "IBM Plex Sans", sans-serif; font-family: "IBM Plex Sans", "Symbols Nerd Font" ,sans-serif;
font-size: 13px; font-size: 14px;
min-height: 0; min-height: 0;
} }
@ -27,7 +27,12 @@ window#waybar {
color: @background_b; color: @background_b;
} }
#workspaces button.focused { #workspaces button.visible {
color: @foreground;
font-weight: bold;
}
#workspaces button.active {
color: @foreground; color: @foreground;
font-weight: bold; font-weight: bold;
} }
@ -45,7 +50,7 @@ window#waybar {
} }
#clock { #clock {
color: @magenta; color: @cyan;
} }
#battery { #battery {

View File

@ -1,13 +1,11 @@
# style # style
style=/home/juan/.config/wofi/dark.css style=/home/ryan/.config/wofi/dark.css
width=600 width=600
height=500 height=500
# opts # opts
show=drun show=drun
always_parse_args=true fork=true
show_all=true
print_command=true
layer=overlay layer=overlay
insensitive=true insensitive=true
location=center location=center

6
.gitmodules vendored Normal file
View File

@ -0,0 +1,6 @@
[submodule ".config/mpv/default-shader-pack"]
path = .config/mpv/default-shader-pack
url = https://github.com/iwalton3/default-shader-pack.git
[submodule ".config/hypr/plugins/hy3"]
path = .config/hypr/plugins/hy3
url = https://github.com/outfoxxed/hy3.git

76
.zshrc
View File

@ -3,7 +3,7 @@ echo
echo '\033[0;35m /w '$(awk -F "=" '/^NAME/ {print $2}' 2> /dev/null < /etc/os-release || uname -o) echo '\033[0;35m /w '$(awk -F "=" '/^NAME/ {print $2}' 2> /dev/null < /etc/os-release || uname -o)
echo '\033[0;34m @ '$HOST echo '\033[0;34m @ '$HOST
#Install zinit if no zinit is present # Install zinit if no zinit is present
ZINIT_HOME="${XDG_DATA_HOME:-${HOME}/.local/share}/zinit/zinit.git" ZINIT_HOME="${XDG_DATA_HOME:-${HOME}/.local/share}/zinit/zinit.git"
if [[ ! -f $ZINIT_HOME/zinit.zsh ]]; then if [[ ! -f $ZINIT_HOME/zinit.zsh ]]; then
print -P "%F{33}▓▒░ %F{220}Installing %F{33}DHARMA%F{220} Initiative Plugin Manager (%F{33}zdharma/zinit%F{220})…%f" print -P "%F{33}▓▒░ %F{220}Installing %F{33}DHARMA%F{220} Initiative Plugin Manager (%F{33}zdharma/zinit%F{220})…%f"
@ -14,30 +14,43 @@ if [[ ! -f $ZINIT_HOME/zinit.zsh ]]; then
fi fi
source "$ZINIT_HOME/zinit.zsh" source "$ZINIT_HOME/zinit.zsh"
zinit ice lucid wait # Zinit packages
zinit light zdharma-continuum/fast-syntax-highlighting
zinit ice lucid wait
zinit light agkozak/zsh-z
zinit ice lucid wait
zinit light juancldcmt/colorize
zinit ice lucid wait
zinit light juancldcmt/shortify.zsh
# zinit ice lucid wait
# zinit light juancldcmt/direnv.zsh
zinit ice compile'(pure|async).zsh' pick'async.zsh' src'pure.zsh' zinit ice compile'(pure|async).zsh' pick'async.zsh' src'pure.zsh'
zinit light sindresorhus/pure zinit light sindresorhus/pure
zinit wait lucid for \
zdharma-continuum/fast-syntax-highlighting \
agkozak/zsh-z \
zpm-zsh/colors \
zpm-zsh/colorize \
juancldcmt/shortify.zsh \
juancldcmt/kitty-zsh
zinit ice wait lucid atinit"bindkey '' autosuggest-execute" atload'_zsh_autosuggest_start'
zinit light zsh-users/zsh-autosuggestions zinit light zsh-users/zsh-autosuggestions
zinit light hlissner/zsh-autopair
zinit ice wait lucid
zinit load hlissner/zsh-autopair
zinit light zsh-users/zsh-completions
zinit light zsh-users/zsh-history-substring-search zinit light zsh-users/zsh-history-substring-search
# Software
if ! command -v bat &> /dev/null ; then
zinit ice as"command" from"gh-r" mv"bat* -> bat" pick"bat/bat"
zinit light sharkdp/bat
fi
zinit from"gh-r" as"program" mv"direnv* -> direnv" \
atclone'./direnv hook zsh > zhook.zsh' atpull'%atclone' \
pick"direnv" src="zhook.zsh" for \
direnv/direnv
autoload -Uz _zinit autoload -Uz _zinit
(( ${+_comps} )) && _comps[zinit]=_zinit (( ${+_comps} )) && _comps[zinit]=_zinit
# Load LS_COLORS if not present
test -n "$LS_COLORS" || eval $(dircolors) || echo 'Warning: Unable to set LS_COLORS' test -n "$LS_COLORS" || eval $(dircolors) || echo 'Warning: Unable to set LS_COLORS'
# The following lines were added by compinstall # The following lines were added by compinstall
zstyle ':completion:*' auto-description '%F{green}Specify%f: %F{cyan}%d%f' zstyle ':completion:*' auto-description '%F{green}Specify%f: %F{cyan}%d%f'
@ -72,17 +85,21 @@ HISTSIZE=8192
SAVEHIST=8192 SAVEHIST=8192
setopt autocd extendedglob nomatch notify auto_pushd setopt autocd extendedglob nomatch notify auto_pushd
unsetopt beep unsetopt beep
bindkey -v bindkey -e
# End of lines configured by zsh-newuser-install # End of lines configured by zsh-newuser-install
# pure config # Pure prompt
zstyle :prompt:pure:prompt:success color green zstyle ':prompt:pure:git:stash' show yes
zstyle ':prompt:pure:prompt:success' color default
#edit in vim #edit in vim
export KEYTIMEOUT=1 autoload -Uz edit-command-line
autoload edit-command-line
zle -N edit-command-line zle -N edit-command-line
bindkey '' edit-command-line bindkey '' edit-command-line
# better CTRL-w
autoload -Uz select-word-style
select-word-style bash
zmodload zsh/complist zmodload zsh/complist
bindkey -M menuselect 'h' vi-backward-char bindkey -M menuselect 'h' vi-backward-char
@ -97,10 +114,9 @@ bindkey '' history-substring-search-down
bindkey ' ' magic-space bindkey ' ' magic-space
bindkey '' autosuggest-execute
#config location #config location
export GOPATH=$HOME/.cache/go export GOPATH=$HOME/.cache/go
export CARGO_HOME=$HOME/.cache/cargo
export LESSHISTFILE=/dev/null export LESSHISTFILE=/dev/null
export LYNX_CFG=$HOME/.config/lynx/lynxrc export LYNX_CFG=$HOME/.config/lynx/lynxrc
export XDG_CACHE_HOME=$HOME/.cache export XDG_CACHE_HOME=$HOME/.cache
@ -109,18 +125,18 @@ export XDG_CONFIG_HOME=$HOME/.config
#settings for software #settings for software
export FZF_DEFAULT_OPTS="--reverse --cycle --height=40% --border sharp --prompt=🔎" export FZF_DEFAULT_OPTS="--reverse --cycle --height=40% --border sharp --prompt=🔎"
export GPG_TTY=$(tty) # fixes gpg export GPG_TTY=$(tty) # fixes gpg
export JDK_HOME=/usr/lib/jvm/openjdk-17 export HISTORY_SUBSTRING_SEARCH_FUZZY=1
export _JAVA_AWT_WM_NONREPARENTING=1
#colored output
export MANWIDTH=${MANWIDTH:-78} export MANWIDTH=${MANWIDTH:-78}
export MANLESS="Manual\ \$MAN_PN\ ?ltline\ %lt?L/%L.:byte\ %bB?s/%s..?\:?pB\ %pB\\%.." export MANROFFOPT="-c"
export LESS="-RSM~" export BAT_THEME="base16"
#local path #local path
export PATH="${PATH}:${HOME}/.local/bin:${HOME}/.scripts:${HOME}/cargo/bin:${HOME}/.cache/go/bin" export PATH="${PATH}:${HOME}/.local/bin:${HOME}/.scripts:${HOME}/cargo/bin:${HOME}/.cache/go/bin:${HOME}/.local/share/nvim/mason/bin"
export MANPATH="${MANPATH}:${HOME}/.local/share/man" export MANPATH="${MANPATH}:${HOME}/.local/share/man"
#ccache support #ccache support
export USE_CCACHE=1 export USE_CCACHE=1
export PATH="/usr/lib/ccache/bin${PATH:+:}$PATH" export PATH="/usr/lib/ccache/bin${PATH:+:}$PATH"
# ssh-agent
export SSH_AUTH_SOCK=$XDG_RUNTIME_DIR/ssh-agent.socket

View File

@ -2,6 +2,11 @@
Linux desktop with gruvbox colorscheme, following the KISS philosophy. Linux desktop with gruvbox colorscheme, following the KISS philosophy.
## TODO
- [ ] Use [zim](https://github.com/zimfw/zimfw)
- [ ] Update screenshots (It's using serenade instead of gruvbox)
# Screenshots # Screenshots
![terminal](https://user-images.githubusercontent.com/72336775/176679848-a66143cb-0df8-4fd0-a567-66693c33741e.png) ![terminal](https://user-images.githubusercontent.com/72336775/176679848-a66143cb-0df8-4fd0-a567-66693c33741e.png)
@ -10,6 +15,7 @@ Linux desktop with gruvbox colorscheme, following the KISS philosophy.
# Installing # Installing
I use [yadm](https://github.com/TheLocehiliosan/yadm) to manage dotfiles, the directory layout is unchanged. I use [yadm](https://github.com/TheLocehiliosan/yadm) to manage dotfiles, the directory layout is unchanged.
```bash ```bash
yadm clone https://github.com/JuanCldCmt/dotfiles yadm clone https://github.com/JuanCldCmt/dotfiles
``` ```
@ -18,7 +24,7 @@ yadm clone https://github.com/JuanCldCmt/dotfiles
| Name | Description | | Name | Description |
|------|-------------| |------|-------------|
|swayWM|Tiling WM| |hyprland|wayland WM with better nvidia support|
|waybar|Custom bar for sway| |waybar|Custom bar for sway|
|swayNC|Notification center| |swayNC|Notification center|
|wofi|App launcher| |wofi|App launcher|
@ -36,4 +42,3 @@ yadm clone https://github.com/JuanCldCmt/dotfiles
|pipewire|Sound deamon| |pipewire|Sound deamon|
|wireplumber|media session management (remember to replace it in sway's config if using non-gentoo)| |wireplumber|media session management (remember to replace it in sway's config if using non-gentoo)|
|playerctld|Control players| |playerctld|Control players|
|grim|Take screenshots|