pain and suffering
This commit is contained in:
commit
510db0f1d4
42 changed files with 2150 additions and 0 deletions
0
README.md
Normal file
0
README.md
Normal file
35
config/hypr/hypridle.conf
Normal file
35
config/hypr/hypridle.conf
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
general {
|
||||||
|
lock_cmd = pidof hyprlock || hyprlock
|
||||||
|
# avoid starting multiple hyprlock instances.
|
||||||
|
before_sleep_cmd = loginctl lock-session # lock before suspend.
|
||||||
|
after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display.
|
||||||
|
}
|
||||||
|
|
||||||
|
listener {
|
||||||
|
timeout = 150 # 2.5min.
|
||||||
|
on-timeout = brightnessctl -s set 10 # set monitor backlight to minimum, avoid 0 on OLED monitor.
|
||||||
|
on-resume = brightnessctl -r # monitor backlight restore.
|
||||||
|
}
|
||||||
|
|
||||||
|
# turn off keyboard backlight, comment out this section if you dont have a keyboard backlight.
|
||||||
|
listener {
|
||||||
|
timeout = 150 # 2.5min.
|
||||||
|
on-timeout = brightnessctl -sd rgb:kbd_backlight set 0 # turn off keyboard backlight.
|
||||||
|
on-resume = brightnessctl -rd rgb:kbd_backlight # turn on keyboard backlight.
|
||||||
|
}
|
||||||
|
|
||||||
|
listener {
|
||||||
|
timeout = 300 # 5min
|
||||||
|
on-timeout = loginctl lock-session # lock screen when timeout has passed
|
||||||
|
}
|
||||||
|
|
||||||
|
listener {
|
||||||
|
timeout = 330 # 5.5min
|
||||||
|
on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed
|
||||||
|
on-resume = hyprctl dispatch dpms on # screen on when activity is detected after timeout has fired.
|
||||||
|
}
|
||||||
|
|
||||||
|
listener {
|
||||||
|
timeout = 1800 # 30min
|
||||||
|
on-timeout = systemctl suspend # suspend pc
|
||||||
|
}
|
||||||
354
config/hypr/hyprland.conf
Normal file
354
config/hypr/hyprland.conf
Normal file
|
|
@ -0,0 +1,354 @@
|
||||||
|
# #######################################################################################
|
||||||
|
# AUTOGENERATED HYPR CONFIG.
|
||||||
|
# PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT,
|
||||||
|
# OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS.
|
||||||
|
# #######################################################################################
|
||||||
|
|
||||||
|
#
|
||||||
|
# Please note not all available settings / options are set here.
|
||||||
|
# For a full list, see the wiki
|
||||||
|
#
|
||||||
|
|
||||||
|
# autogenerated = 1 # remove this line to remove the warning
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||||
|
monitor = eDP-1, 1920x1080@60.02000, 0x0, 1.00
|
||||||
|
monitor = Virtual-1, 1920x1080,0x0, 1
|
||||||
|
#monitor = DP-1, 1920x1080@60, 0x0, 1
|
||||||
|
#monitor = HDMI-A-1, 1920x1080@60.02000, 0x0, 1
|
||||||
|
#monitor
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||||
|
|
||||||
|
# Execute your favorite apps at launch
|
||||||
|
#exec-once = garuda-welcome
|
||||||
|
|
||||||
|
# Add networkmanager applet to tray in waybar
|
||||||
|
exec-once = nm-applet --indicator
|
||||||
|
|
||||||
|
# Set keyboard layout
|
||||||
|
#exec-once = .local/bin/garuda-locale.sh
|
||||||
|
exec-once = NetworkManager
|
||||||
|
# Set monitor values. For own values, please comment with #
|
||||||
|
#exec-once = .local/bin/mon.sh
|
||||||
|
exec-once = swww-daemon
|
||||||
|
# Source a file (multi-file configs)
|
||||||
|
# source = ~/.config/hypr/myColors.conf
|
||||||
|
|
||||||
|
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
|
||||||
|
input {
|
||||||
|
kb_layout = us
|
||||||
|
kb_variant =
|
||||||
|
kb_model =
|
||||||
|
kb_options =
|
||||||
|
kb_rules =
|
||||||
|
numlock_by_default= true
|
||||||
|
follow_mouse = 1
|
||||||
|
|
||||||
|
touchpad {
|
||||||
|
#natural_scroll = true
|
||||||
|
tap-to-click = true
|
||||||
|
disable_while_typing = true
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
sensitivity = -0.5 # -1.0 - 1.0, 0 means no modification.
|
||||||
|
}
|
||||||
|
|
||||||
|
general {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||||
|
|
||||||
|
gaps_in = 5
|
||||||
|
gaps_out = 10
|
||||||
|
border_size = 2
|
||||||
|
col.active_border = rgb(D3869B)
|
||||||
|
|
||||||
|
|
||||||
|
col.inactive_border = rgba(595959aa)
|
||||||
|
|
||||||
|
layout = dwindle
|
||||||
|
}
|
||||||
|
|
||||||
|
decoration {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||||
|
|
||||||
|
rounding = 10
|
||||||
|
blur {
|
||||||
|
enabled = true
|
||||||
|
size = 5
|
||||||
|
passes = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# drop_shadow = true
|
||||||
|
# shadow_range = 4
|
||||||
|
# shadow_render_power = 3
|
||||||
|
# col.shadow = rgba(1a1a1aee)
|
||||||
|
}
|
||||||
|
|
||||||
|
animations {
|
||||||
|
enabled = true
|
||||||
|
|
||||||
|
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
||||||
|
|
||||||
|
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
||||||
|
|
||||||
|
animation = windows, 1, 7, myBezier
|
||||||
|
animation = windowsOut, 1, 2, default, popin 80%
|
||||||
|
animation = border, 1, 2, default
|
||||||
|
animation = fade, 1, 2, default
|
||||||
|
animation = workspaces, 1, 2, default
|
||||||
|
}
|
||||||
|
|
||||||
|
dwindle {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||||
|
pseudotile = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||||
|
preserve_split = true # you probably want this
|
||||||
|
}
|
||||||
|
|
||||||
|
master {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
||||||
|
# new_is_master = true
|
||||||
|
}
|
||||||
|
|
||||||
|
gestures {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||||
|
|
||||||
|
}
|
||||||
|
misc {
|
||||||
|
disable_hyprland_logo = true
|
||||||
|
}
|
||||||
|
# Example per-device config
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Keywords/
|
||||||
|
# executing for more
|
||||||
|
|
||||||
|
#device:epic mouse V1 {
|
||||||
|
# sensitivity = -0.5
|
||||||
|
#}
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
||||||
|
# Example windowrule v1
|
||||||
|
#windowrule = float, ^(kitty)$
|
||||||
|
#windowrule = float, ^(garuda-assistant)$
|
||||||
|
#windowrule = float, ^(garuda-boot-options)$
|
||||||
|
#windowrule = float, ^(garuda-boot-repair)$
|
||||||
|
#windowrule = float, ^(garuda-gamer)$
|
||||||
|
#windowrule = float, ^(garuda-network-assistant)$
|
||||||
|
#windowrule = float, ^(garuda-settings-manager)$
|
||||||
|
#windowrule = float, ^(garuda-welcome)$
|
||||||
|
|
||||||
|
# Example windowrule v2
|
||||||
|
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||||
|
$mainMod = ALT
|
||||||
|
|
||||||
|
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||||
|
bind = $mainMod SHIFT, R, exec, hyprctl reload
|
||||||
|
#bind = $mainMod, 36, exec, footclient
|
||||||
|
bind = $mainMod, E, exec, kitty
|
||||||
|
bind = $mainMod, C, killactive,
|
||||||
|
bind = $mainMod, M, exec, nwgbar
|
||||||
|
bind = $mainMod, G, exec, /home/tulg/.config/looking-glass-client -F -f /dev/kvmfr0 -m 58
|
||||||
|
bind = $mainMod SHIFT, O, togglefloating,
|
||||||
|
bind = $mainMod, D, exec, wofi --show drun --allow-images -W 300 -H 500 -l 4
|
||||||
|
bind = $mainMod SHIFT, D, exec, nwg-drawer -mb 10 -mr 10 -ml 10 -mt 10
|
||||||
|
bind = $mainMod, P, pseudo, # dwindle
|
||||||
|
bind = $mainMod SHIFT, P, togglesplit, # dwindle
|
||||||
|
|
||||||
|
# Mainmod + Function keys
|
||||||
|
bind = $mainMod, F1, exec, firedragon
|
||||||
|
bind = $mainMod, F2, exec, thunderbird
|
||||||
|
bind = $mainMod, F3, exec, thunar
|
||||||
|
bind = $mainMod, F4, exec, geany
|
||||||
|
bind = $mainMod, F5, exec, github-desktop
|
||||||
|
bind = $mainMod, F6, exec, gparted
|
||||||
|
bind = $mainMod, F7, exec, inkscape
|
||||||
|
bind = $mainMod, F8, exec, blender
|
||||||
|
bind = $mainMod, F9, exec, meld
|
||||||
|
bind = $mainMod, F10, exec, joplin-desktop
|
||||||
|
bind = $mainMod, F11, exec, snapper-tools
|
||||||
|
bind = $mainMod, F12, exec, galculator
|
||||||
|
|
||||||
|
# Move focus with mainMod + arrow keys
|
||||||
|
bind = $mainMod, left, movefocus, l
|
||||||
|
bind = $mainMod, H, movefocus, l
|
||||||
|
bind = $mainMod, right, movefocus, r
|
||||||
|
bind = $mainMod, L, movefocus, r
|
||||||
|
bind = $mainMod, up, movefocus, u
|
||||||
|
bind = $mainMod, K, movefocus, u
|
||||||
|
bind = $mainMod, down, movefocus, d
|
||||||
|
bind = $mainMod, J, movefocus, d
|
||||||
|
|
||||||
|
# Switch workspaces with mainMod + [0-9]
|
||||||
|
bind = $mainMod, 1, workspace, 1
|
||||||
|
bind = $mainMod, 2, workspace, 2
|
||||||
|
bind = $mainMod, 3, workspace, 3
|
||||||
|
bind = $mainMod, 4, workspace, 4
|
||||||
|
bind = $mainMod, 5, workspace, 5
|
||||||
|
bind = $mainMod, 6, workspace, 6
|
||||||
|
bind = $mainMod, 7, workspace, 7
|
||||||
|
bind = $mainMod, 8, workspace, 8
|
||||||
|
bind = $mainMod, 9, workspace, 9
|
||||||
|
bind = $mainMod, 0, workspace, 10
|
||||||
|
|
||||||
|
# Move to workspace with focused container with ALT + SHIFT + [0-9]
|
||||||
|
bind = ALT SHIFT, 1, movetoworkspace, 1
|
||||||
|
bind = ALT SHIFT, 2, movetoworkspace, 2
|
||||||
|
bind = ALT SHIFT, 3, movetoworkspace, 3
|
||||||
|
bind = ALT SHIFT, 4, movetoworkspace, 4
|
||||||
|
bind = ALT SHIFT, 5, movetoworkspace, 5
|
||||||
|
bind = ALT SHIFT, 6, movetoworkspace, 6
|
||||||
|
bind = ALT SHIFT, 7, movetoworkspace, 7
|
||||||
|
bind = ALT SHIFT, 8, movetoworkspace, 8
|
||||||
|
bind = ALT SHIFT, 9, movetoworkspace, 9
|
||||||
|
bind = ALT SHIFT, 0, movetoworkspace, 10
|
||||||
|
|
||||||
|
# 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, 10
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# background
|
||||||
|
#exec-once = wpaperd
|
||||||
|
|
||||||
|
# status bar
|
||||||
|
exec-once = waybar
|
||||||
|
layerrule = blur , waybar
|
||||||
|
layerrule = ignorezero , waybar
|
||||||
|
|
||||||
|
# set volume (laptops only and may or may not work on PCs)
|
||||||
|
bind = ,122, exec, pactl set-sink-volume @DEFAULT_SINK@ -5%
|
||||||
|
bind = ,123, exec, pactl set-sink-volume @DEFAULT_SINK@ +5%
|
||||||
|
bind = ,121, exec, pactl set-sink-volume @DEFAULT_SINK@ 0%
|
||||||
|
# other bindings
|
||||||
|
#bind = $mainMod, E, exec, kitty
|
||||||
|
bind = $mainMod, F, fullscreen
|
||||||
|
bind = $mainMod, Q, exec, kitty lf
|
||||||
|
bind = ,232,exec,brightnessctl -c backlight set 5%-
|
||||||
|
bind = ,233,exec,brightnessctl -c backlight set +5%
|
||||||
|
#bind = $mainMod SHIFT,C, exec, killall -9 wpaperd && wpaperd
|
||||||
|
|
||||||
|
# Screenshots:
|
||||||
|
#
|
||||||
|
# Change to swappy https://github.com/jtheoof/swappy
|
||||||
|
# Old functions only commented out to make it easier for the user to change if necessary.
|
||||||
|
|
||||||
|
# Snip a selection and pipe to swappy
|
||||||
|
bind = ,Print, exec, grim -g "$(slurp)" - | swappy -f -
|
||||||
|
# Screenshot a window and pipe to swappy
|
||||||
|
bind = CTRL, Print, exec, .config/hypr/scripts/screenshot_window.sh
|
||||||
|
# Screenshot the current display and pipe to swappy
|
||||||
|
bind = SHIFT, Print, exec, .config/hypr/scripts/screenshot_display.sh
|
||||||
|
|
||||||
|
# https://github.com/hyprwm/contrib/blob/main/grimblast/grimblast.1.scd
|
||||||
|
# Print: All outputs
|
||||||
|
# SHIFT+Print: Select area
|
||||||
|
# $mainMod+Print: Current window
|
||||||
|
# $mainMod+Shfit+Print: Current output
|
||||||
|
#
|
||||||
|
# bind = ,Print, exec, grimblast save screen && notify-send Screenshot captured
|
||||||
|
# bind = SHIFT, Print, exec, grimblast save area && notify-send Selected\ area captured
|
||||||
|
# bind = $mainMod, Print, exec, grimblast save active && notify-send Active\ window captured
|
||||||
|
# bind = $mainMod SHIFT, Print, exec, grimblast output active && notify-send Output captured
|
||||||
|
|
||||||
|
# for resizing window
|
||||||
|
# will switch to a submap called resize
|
||||||
|
bind=$mainMod,R,submap,resize
|
||||||
|
|
||||||
|
# will start a submap called "resize"
|
||||||
|
submap=resize
|
||||||
|
|
||||||
|
# sets repeatable binds for resizing the active window
|
||||||
|
binde=,right,resizeactive,50 0
|
||||||
|
binde=,L,resizeactive,50 0
|
||||||
|
binde=,left,resizeactive,-50 0
|
||||||
|
binde=,H,resizeactive,-50 0
|
||||||
|
binde=,up,resizeactive,0 -50
|
||||||
|
binde=,K,resizeactive,0 -50
|
||||||
|
binde=,down,resizeactive,0 50
|
||||||
|
binde=,J,resizeactive,0 50
|
||||||
|
|
||||||
|
# use reset to go back to the global submap
|
||||||
|
bind=,escape,submap,reset
|
||||||
|
|
||||||
|
# will reset the submap, meaning end the current one and return to the global one
|
||||||
|
submap=reset
|
||||||
|
|
||||||
|
# to move window
|
||||||
|
bind = $mainMod SHIFT,up, movewindow, u
|
||||||
|
bind = $mainMod SHIFT,K, movewindow, u
|
||||||
|
bind = $mainMod SHIFT,down, movewindow, d
|
||||||
|
bind = $mainMod SHIFT,J, movewindow, d
|
||||||
|
bind = $mainMod SHIFT,left, movewindow, l
|
||||||
|
bind = $mainMod SHIFT,H, movewindow, l
|
||||||
|
bind = $mainMod SHIFT,right, movewindow, r
|
||||||
|
bind = $mainMod SHIFT,L, movewindow, r
|
||||||
|
|
||||||
|
# other blurings
|
||||||
|
blurls = wofi
|
||||||
|
blurls = thunar
|
||||||
|
blurls = gedit
|
||||||
|
blurls = gtk-layer-shell # for nwg-drawer
|
||||||
|
blurls = catfish
|
||||||
|
# window rules
|
||||||
|
#windowrule = opacity 0.85 override 0.85 override,^(thunar)$
|
||||||
|
#windowrule = opacity 0.85 override 0.85 override,^(gedit)$
|
||||||
|
#windowrule = opacity 0.85 override 0.85 override,^(catfish)$
|
||||||
|
#windowrule = stayfocused, ^(wofi)$
|
||||||
|
|
||||||
|
# window rules with evaluation
|
||||||
|
windowrulev2 = opacity 0.85 0.85,floating:1
|
||||||
|
|
||||||
|
exec-once = mako
|
||||||
|
exec-once =/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
||||||
|
exec-once = foot --server
|
||||||
|
# experimental(might work might won't)
|
||||||
|
|
||||||
|
# pre executions (under development)
|
||||||
|
#exec-once=exec xrdb -load ~/.Xresources
|
||||||
|
|
||||||
|
# Clipboard Manager
|
||||||
|
exec-once = wl-paste --type text --watch cliphist store #Stores only text data
|
||||||
|
exec-once = wl-paste --type image --watch cliphist store #Stores only image data
|
||||||
|
bind = $mainMod, V, exec, cliphist list | wofi --dmenu | cliphist decode | wl-copy
|
||||||
|
|
||||||
|
# video play paues bindings
|
||||||
|
bind=,172,exec,playerctl play-pause
|
||||||
|
bind=,171,exec,playerctl next
|
||||||
|
bind=,173,exec,playerctl previous
|
||||||
|
|
||||||
|
# Use gtk-settings
|
||||||
|
exec-once = apply-gsettings
|
||||||
|
exec-once = gsettings set org.gnome.desktop.interface cursor-theme BreezeX-RosePine-Linux
|
||||||
|
exec-once = gsettings set org.gnome.desktop.interface cursor-size 28
|
||||||
|
|
||||||
|
env = HYPRCURSOR_THEME,rose-pine-hyprcursor
|
||||||
|
env = HYPRCURSOR_SIZE,28
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Performance Tweaks (For less power consumption without sacrificing performance)
|
||||||
|
# See : https://wiki.hyprland.org/Configuring/Performance/
|
||||||
|
misc:vfr = true
|
||||||
|
|
||||||
|
# enable G-Hyprland
|
||||||
|
bind = $mainMod SHIFT, G, exec, footclient -e ~/.local/bin/bear/implement_gum.sh enable
|
||||||
|
# Install Garuda Hyprland
|
||||||
|
bind = $mainMod, I, exec, .local/bin/calamares.sh
|
||||||
|
|
||||||
|
# Let the user customize this hyprstart script by overriding stuff in $hyprstart
|
||||||
|
exec-once = .config/hypr/exec-hyprland
|
||||||
85
config/hypr/hyprlock.conf
Normal file
85
config/hypr/hyprlock.conf
Normal file
|
|
@ -0,0 +1,85 @@
|
||||||
|
# background
|
||||||
|
background {
|
||||||
|
monitor =
|
||||||
|
#path = screenshot
|
||||||
|
path = /usr/share/wallpapers/garuda-wallpapers/Garuda-TilliDie-cube-105.png
|
||||||
|
color = $background
|
||||||
|
blur_passes = 2
|
||||||
|
contrast = 1
|
||||||
|
brightness = 0.5
|
||||||
|
vibrancy = 0.2
|
||||||
|
vibrancy_darkness = 0.2
|
||||||
|
}
|
||||||
|
|
||||||
|
# general
|
||||||
|
general {
|
||||||
|
no_fade_in = true
|
||||||
|
no_fade_out = true
|
||||||
|
hide_cursor = false
|
||||||
|
grace = 0
|
||||||
|
disable_loading_bar = false
|
||||||
|
}
|
||||||
|
# animations
|
||||||
|
animations {
|
||||||
|
enabled = true
|
||||||
|
}
|
||||||
|
|
||||||
|
# input field
|
||||||
|
input-field {
|
||||||
|
monitor =
|
||||||
|
size = 250, 60
|
||||||
|
outline_thickness = 2
|
||||||
|
dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
|
||||||
|
dots_spacing = 0.35 # Scale of dots' absolute size, 0.0 - 1.0
|
||||||
|
dots_center = true
|
||||||
|
outer_color = rgba(236, 240, 15, 1)
|
||||||
|
inner_color = rgba(240 , 204, 14, 1)
|
||||||
|
font_color = $foreground
|
||||||
|
fade_on_empty = false
|
||||||
|
rounding = -1
|
||||||
|
check_color = rgb(204, 136, 34)
|
||||||
|
placeholder_text = <i><span foreground="##000000">Input Password...</span></i>
|
||||||
|
hide_input = false
|
||||||
|
position = 0, -200
|
||||||
|
halign = center
|
||||||
|
valign = center
|
||||||
|
}
|
||||||
|
|
||||||
|
# date
|
||||||
|
label {
|
||||||
|
monitor =
|
||||||
|
text = cmd[update:1000] echo "$(date +"%A, %B %d")"
|
||||||
|
color = rgba(242, 243, 244, 0.75)
|
||||||
|
font_size = 22
|
||||||
|
font_family = JetBrains Mono
|
||||||
|
position = 0, 300
|
||||||
|
halign = center
|
||||||
|
valign = center
|
||||||
|
}
|
||||||
|
|
||||||
|
# time
|
||||||
|
label {
|
||||||
|
monitor =
|
||||||
|
text = cmd[update:1000] echo "$(date +"%-I:%M")"
|
||||||
|
color = rgba(242, 243, 244, 0.75)
|
||||||
|
font_size = 95
|
||||||
|
font_family = JetBrains Mono Extrabold
|
||||||
|
position = 0, 200
|
||||||
|
halign = center
|
||||||
|
valign = center
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# things that can be played by user
|
||||||
|
|
||||||
|
Profile Picture
|
||||||
|
image {
|
||||||
|
monitor =
|
||||||
|
path = /usr/share/logos/Hyprland_logo.png
|
||||||
|
size = 200
|
||||||
|
border_size = 2
|
||||||
|
border_color = $foreground
|
||||||
|
position = 0, 0
|
||||||
|
halign = center
|
||||||
|
valign = center
|
||||||
|
}
|
||||||
19
config/hypr/hyprstart
Executable file
19
config/hypr/hyprstart
Executable file
|
|
@ -0,0 +1,19 @@
|
||||||
|
#!/bin/sh
|
||||||
|
cd ~
|
||||||
|
# user preferred settings
|
||||||
|
|
||||||
|
#cursor size
|
||||||
|
export XCURSOR_SIZE=24
|
||||||
|
|
||||||
|
# text editor
|
||||||
|
export MICRO_TRUECOLOR=1
|
||||||
|
export EDITOR=/usr/bin/micro
|
||||||
|
|
||||||
|
#browser
|
||||||
|
export BROWSER=firefox
|
||||||
|
#terminal
|
||||||
|
export TERM=kitty
|
||||||
|
#mail
|
||||||
|
export MAIL=thunderbird
|
||||||
|
|
||||||
|
# check /usr/local/bin/hyprstart
|
||||||
0
config/hypr/monitors.conf
Normal file
0
config/hypr/monitors.conf
Normal file
11
config/hypr/scripts/idle_inhibitor.sh
Executable file
11
config/hypr/scripts/idle_inhibitor.sh
Executable file
|
|
@ -0,0 +1,11 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
a=$(pidof hypridle)
|
||||||
|
if [[ $a ]]
|
||||||
|
then
|
||||||
|
killall -9 hypridle
|
||||||
|
notify-send "idle inhibitor activated"
|
||||||
|
else
|
||||||
|
notify-send "idle inhibitor deactivated"
|
||||||
|
hypridle &> /dev/null
|
||||||
|
fi
|
||||||
29
config/hypr/scripts/lock.sh
Normal file
29
config/hypr/scripts/lock.sh
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
#!/bin/sh
|
||||||
|
swaylock \
|
||||||
|
--screenshots \
|
||||||
|
--clock \
|
||||||
|
--hide-keyboard-layout \
|
||||||
|
--indicator \
|
||||||
|
--indicator-radius 100 \
|
||||||
|
--indicator-thickness 7 \
|
||||||
|
--effect-blur 7x5 \
|
||||||
|
--effect-vignette 0.5:0.5 \
|
||||||
|
--ring-color cba6f7 \
|
||||||
|
--ring-ver-color 89b4fa \
|
||||||
|
--ring-wrong-color f38ba8 \
|
||||||
|
--ring-clear-color a6e3a1 \
|
||||||
|
--key-hl-color 1e1e2e \
|
||||||
|
--bs-hl-color eba0ac \
|
||||||
|
--text-color 11111b \
|
||||||
|
--text-caps-lock-color 11111b \
|
||||||
|
--line-color 00000000 \
|
||||||
|
--line-ver-color 00000000 \
|
||||||
|
--line-wrong-color 00000000 \
|
||||||
|
--line-clear-color 00000000 \
|
||||||
|
--separator-color 00000000 \
|
||||||
|
--inside-color cba6f7 \
|
||||||
|
--inside-ver-color 89b4fa\
|
||||||
|
--inside-wrong-color f38ba8 \
|
||||||
|
--inside-clear-color a6e3a1 \
|
||||||
|
--grace 2 \
|
||||||
|
--fade-in 0.2
|
||||||
6
config/hypr/scripts/screenshot_display.sh
Executable file
6
config/hypr/scripts/screenshot_display.sh
Executable file
|
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# .config/hypr/scripts/screenshot_display.sh
|
||||||
|
# Screenshot the current display Shift+Print
|
||||||
|
|
||||||
|
output_id=$(hyprctl -j monitors | jq -r '.[] | select(.focused).name')
|
||||||
|
grim -o $output_id - | swappy -f -
|
||||||
5
config/hypr/scripts/screenshot_window.sh
Executable file
5
config/hypr/scripts/screenshot_window.sh
Executable file
|
|
@ -0,0 +1,5 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# .config/hypr/scripts/screenshot_window.sh
|
||||||
|
# Screenshot a window Ctrl+Print
|
||||||
|
|
||||||
|
grim -g "$(hyprctl -j activewindow | jq -r '.at + .size | "\(.[0]),\(.[1]) \(.[2])x\(.[3])"' | slurp)" - | swappy -f -
|
||||||
0
config/hypr/workspaces.conf
Normal file
0
config/hypr/workspaces.conf
Normal file
53
config/kitty/current-theme.conf
Normal file
53
config/kitty/current-theme.conf
Normal file
|
|
@ -0,0 +1,53 @@
|
||||||
|
## name: Rosé Pine Moon
|
||||||
|
## author: mvllow
|
||||||
|
## license: MIT
|
||||||
|
## upstream: https://github.com/rose-pine/kitty/blob/main/dist/rose-pine-moon.conf
|
||||||
|
## blurb: All natural pine, faux fur and a bit of soho vibes for the classy minimalist
|
||||||
|
|
||||||
|
foreground #e0def4
|
||||||
|
background #232136
|
||||||
|
selection_foreground #e0def4
|
||||||
|
selection_background #44415a
|
||||||
|
|
||||||
|
cursor #56526e
|
||||||
|
cursor_text_color #e0def4
|
||||||
|
|
||||||
|
url_color #c4a7e7
|
||||||
|
|
||||||
|
active_tab_foreground #e0def4
|
||||||
|
active_tab_background #393552
|
||||||
|
inactive_tab_foreground #6e6a86
|
||||||
|
inactive_tab_background #232136
|
||||||
|
|
||||||
|
# black
|
||||||
|
color0 #393552
|
||||||
|
color8 #6e6a86
|
||||||
|
|
||||||
|
# red
|
||||||
|
color1 #eb6f92
|
||||||
|
color9 #eb6f92
|
||||||
|
|
||||||
|
# green
|
||||||
|
color2 #3e8fb0
|
||||||
|
color10 #3e8fb0
|
||||||
|
|
||||||
|
# yellow
|
||||||
|
color3 #f6c177
|
||||||
|
color11 #f6c177
|
||||||
|
|
||||||
|
# blue
|
||||||
|
color4 #9ccfd8
|
||||||
|
color12 #9ccfd8
|
||||||
|
|
||||||
|
# magenta
|
||||||
|
color5 #c4a7e7
|
||||||
|
color13 #c4a7e7
|
||||||
|
|
||||||
|
# cyan
|
||||||
|
color6 #ea9a97
|
||||||
|
color14 #ea9a97
|
||||||
|
|
||||||
|
# white
|
||||||
|
color7 #e0def4
|
||||||
|
color15 #e0def4
|
||||||
|
|
||||||
53
config/kitty/dark-theme.auto.conf
Normal file
53
config/kitty/dark-theme.auto.conf
Normal file
|
|
@ -0,0 +1,53 @@
|
||||||
|
## name: Rosé Pine Moon
|
||||||
|
## author: mvllow
|
||||||
|
## license: MIT
|
||||||
|
## upstream: https://github.com/rose-pine/kitty/blob/main/dist/rose-pine-moon.conf
|
||||||
|
## blurb: All natural pine, faux fur and a bit of soho vibes for the classy minimalist
|
||||||
|
|
||||||
|
foreground #e0def4
|
||||||
|
background #232136
|
||||||
|
selection_foreground #e0def4
|
||||||
|
selection_background #44415a
|
||||||
|
|
||||||
|
cursor #56526e
|
||||||
|
cursor_text_color #e0def4
|
||||||
|
|
||||||
|
url_color #c4a7e7
|
||||||
|
|
||||||
|
active_tab_foreground #e0def4
|
||||||
|
active_tab_background #393552
|
||||||
|
inactive_tab_foreground #6e6a86
|
||||||
|
inactive_tab_background #232136
|
||||||
|
|
||||||
|
# black
|
||||||
|
color0 #393552
|
||||||
|
color8 #6e6a86
|
||||||
|
|
||||||
|
# red
|
||||||
|
color1 #eb6f92
|
||||||
|
color9 #eb6f92
|
||||||
|
|
||||||
|
# green
|
||||||
|
color2 #3e8fb0
|
||||||
|
color10 #3e8fb0
|
||||||
|
|
||||||
|
# yellow
|
||||||
|
color3 #f6c177
|
||||||
|
color11 #f6c177
|
||||||
|
|
||||||
|
# blue
|
||||||
|
color4 #9ccfd8
|
||||||
|
color12 #9ccfd8
|
||||||
|
|
||||||
|
# magenta
|
||||||
|
color5 #c4a7e7
|
||||||
|
color13 #c4a7e7
|
||||||
|
|
||||||
|
# cyan
|
||||||
|
color6 #ea9a97
|
||||||
|
color14 #ea9a97
|
||||||
|
|
||||||
|
# white
|
||||||
|
color7 #e0def4
|
||||||
|
color15 #e0def4
|
||||||
|
|
||||||
8
config/kitty/kitty.conf
Normal file
8
config/kitty/kitty.conf
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
background_opacity 0.3
|
||||||
|
enable_audio_bell no
|
||||||
|
|
||||||
|
|
||||||
|
# BEGIN_KITTY_THEME
|
||||||
|
# Rosé Pine Moon
|
||||||
|
#include current-theme.conf
|
||||||
|
# END_KITTY_THEME
|
||||||
2
config/kitty/kitty.conf.bak
Normal file
2
config/kitty/kitty.conf.bak
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
background_opacity 0.3
|
||||||
|
enable_audio_bell no
|
||||||
BIN
config/lf/lf.tar.gz
Normal file
BIN
config/lf/lf.tar.gz
Normal file
Binary file not shown.
3
config/lf/lf_kitty_clean
Executable file
3
config/lf/lf_kitty_clean
Executable file
|
|
@ -0,0 +1,3 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
kitty +kitten icat --clear --stdin no --silent --transfer-mode file < /dev/null > /dev/tty
|
||||||
13
config/lf/lf_kitty_preview
Executable file
13
config/lf/lf_kitty_preview
Executable file
|
|
@ -0,0 +1,13 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
file=$1
|
||||||
|
w=$2
|
||||||
|
h=$3
|
||||||
|
x=$4
|
||||||
|
y=$5
|
||||||
|
|
||||||
|
if [[ "$( file -Lb --mime-type "$file")" =~ ^image ]]; then
|
||||||
|
kitty +kitten icat --silent --stdin no --transfer-mode file --place "${w}x${h}@${x}x${y}" "$file" < /dev/null > /dev/tty
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
pistol "$file"
|
||||||
147
config/lf/lfrc
Normal file
147
config/lf/lfrc
Normal file
|
|
@ -0,0 +1,147 @@
|
||||||
|
# interpreter for shell commands
|
||||||
|
set shell zsh
|
||||||
|
|
||||||
|
# set '-eu' options for shell commands
|
||||||
|
# These options are used to have safer shell commands. Option '-e' is used to
|
||||||
|
# exit on error and option '-u' is used to give error for unset variables.
|
||||||
|
# Option '-f' disables pathname expansion which can be useful when $f, $fs, and
|
||||||
|
# $fx variables contain names with '*' or '?' characters. However, this option
|
||||||
|
# is used selectively within individual commands as it can be limiting at
|
||||||
|
# times.
|
||||||
|
set shellopts '-eu'
|
||||||
|
|
||||||
|
# set internal field separator (IFS) to "\n" for shell commands
|
||||||
|
# This is useful to automatically split file names in $fs and $fx properly
|
||||||
|
# since default file separator used in these variables (i.e. 'filesep' option)
|
||||||
|
# is newline. You need to consider the values of these options and create your
|
||||||
|
# commands accordingly.
|
||||||
|
set ifs "\n"
|
||||||
|
|
||||||
|
# leave some space at the top and the bottom of the screen
|
||||||
|
set scrolloff 10
|
||||||
|
|
||||||
|
# Use the `dim` attribute instead of underline for the cursor in the preview pane
|
||||||
|
set cursorpreviewfmt "\033[7;2m"
|
||||||
|
|
||||||
|
# use enter for shell commands
|
||||||
|
map <enter> shell
|
||||||
|
|
||||||
|
# show the result of execution of previous commands
|
||||||
|
map ` !true
|
||||||
|
|
||||||
|
# execute current file (must be executable)
|
||||||
|
map x $$f
|
||||||
|
map X !$f
|
||||||
|
map D set hidden!
|
||||||
|
map d set hidden!
|
||||||
|
# dedicated keys for file opener actions
|
||||||
|
map o &mimeopen $f
|
||||||
|
map O $mimeopen --ask $f
|
||||||
|
cmd nano ${{
|
||||||
|
nano $f
|
||||||
|
}}
|
||||||
|
cmd open-with-cli $$@ nano
|
||||||
|
#cmd open-with-cli $$@ $fx
|
||||||
|
#map e push :open-with-cli<space> ## input application
|
||||||
|
map e nano
|
||||||
|
map w wp
|
||||||
|
map bw wpm
|
||||||
|
map br cd /run/media/tulg
|
||||||
|
map bp cd /run/media/tulg/backup1/pogland/wallpapers/
|
||||||
|
map c cd ~/.config/
|
||||||
|
map f wppp
|
||||||
|
cmd wp &{{
|
||||||
|
swww img $f # To make sure our escape sequence still reaches stdout we pipe it to /dev/tty
|
||||||
|
}}
|
||||||
|
cmd wppp &{{
|
||||||
|
swayimg $f # To make sure our escape sequence still reaches stdout we pipe it to /dev/tty
|
||||||
|
}}
|
||||||
|
cmd wpm &{{
|
||||||
|
mv $f /run/media/tulg/backup1/pogland/wallpapers # To make sure our escape sequence still reaches stdout we pipe it to /dev/tty
|
||||||
|
}}
|
||||||
|
|
||||||
|
cmd drives &{{
|
||||||
|
cd /run/media/tulg # To make sure our escape sequence still reaches stdout we pipe it to /dev/tty
|
||||||
|
}}
|
||||||
|
cmd on-cd &{{
|
||||||
|
# '&' commands run silently in background (which is what we want here),
|
||||||
|
# but are not connected to stdout.
|
||||||
|
|
||||||
|
printf "\033]0; $(pwd | sed "s|$HOME|~|")\007" > /dev/tty # To make sure our escape sequence still reaches stdout we pipe it to /dev/tty
|
||||||
|
}}
|
||||||
|
|
||||||
|
# also run at startup
|
||||||
|
on-cd
|
||||||
|
|
||||||
|
# define a custom 'open' command
|
||||||
|
# This command is called when current file is not a directory. You may want to
|
||||||
|
# use either file extensions and/or mime types here. Below uses an editor for
|
||||||
|
# text files and a file opener for the rest.
|
||||||
|
cmd open &{{
|
||||||
|
case $(file --mime-type -Lb $f) in
|
||||||
|
text/*) lf -remote "send $id nano \$fx";;
|
||||||
|
*) for f in $fx; do $OPENER $f > /dev/null 2> /dev/null & done;;
|
||||||
|
esac
|
||||||
|
}}
|
||||||
|
|
||||||
|
# mkdir command. See wiki if you want it to select created dir
|
||||||
|
map a :push %mkdir<space>
|
||||||
|
|
||||||
|
# define a custom 'rename' command without prompt for overwrite
|
||||||
|
# cmd rename %[ -e $1 ] && printf "file exists" || mv $f $1
|
||||||
|
# map r push :rename<space>
|
||||||
|
|
||||||
|
# make sure trash folder exists
|
||||||
|
# %mkdir -p ~/.trash
|
||||||
|
|
||||||
|
# move current file or selected files to trash folder
|
||||||
|
# (also see 'man mv' for backup/overwrite options)
|
||||||
|
cmd trash %set -f; mv $fx ~/.trash
|
||||||
|
|
||||||
|
# define a custom 'delete' command
|
||||||
|
# cmd delete ${{
|
||||||
|
# set -f
|
||||||
|
# printf "$fx\n"
|
||||||
|
# printf "delete?[y/n]"
|
||||||
|
# read ans
|
||||||
|
# [ "$ans" = "y" ] && rm -rf $fx
|
||||||
|
# }}
|
||||||
|
|
||||||
|
# use '<delete>' key for either 'trash' or 'delete' command
|
||||||
|
# map <delete> trash
|
||||||
|
# map <delete> delete
|
||||||
|
|
||||||
|
# extract the current file with the right command
|
||||||
|
# (xkcd link: https://xkcd.com/1168/)
|
||||||
|
cmd extract ${{
|
||||||
|
set -f
|
||||||
|
case $f in
|
||||||
|
*.tar.bz|*.tar.bz2|*.tbz|*.tbz2) tar xjvf $f;;
|
||||||
|
*.tar.gz|*.tgz) tar xzvf $f;;
|
||||||
|
*.tar.xz|*.txz) tar xJvf $f;;
|
||||||
|
*.zip) unzip $f;;
|
||||||
|
*.rar) unrar x $f;;
|
||||||
|
*.7z) 7z x $f;;
|
||||||
|
esac
|
||||||
|
}}
|
||||||
|
|
||||||
|
# compress current file or selected files with tar and gunzip
|
||||||
|
cmd tar ${{
|
||||||
|
set -f
|
||||||
|
mkdir $1
|
||||||
|
cp -r $fx $1
|
||||||
|
tar czf $1.tar.gz $1
|
||||||
|
rm -rf $1
|
||||||
|
}}
|
||||||
|
|
||||||
|
# compress current file or selected files with zip
|
||||||
|
cmd zip ${{
|
||||||
|
set -f
|
||||||
|
mkdir $1
|
||||||
|
cp -r $fx $1
|
||||||
|
zip -r $1.zip $1
|
||||||
|
rm -rf $1
|
||||||
|
}}
|
||||||
|
set preview
|
||||||
|
set previewer ~/.config/lf/lf_kitty_preview
|
||||||
|
set cleaner ~/.config/lf/lf_kitty_clean
|
||||||
BIN
config/lorde_wallpaper_upscaled.jpg
Executable file
BIN
config/lorde_wallpaper_upscaled.jpg
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 21 MiB |
16
config/mako/config
Normal file
16
config/mako/config
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
anchor=top-right
|
||||||
|
font=fira sans 10
|
||||||
|
background-color=#232136
|
||||||
|
text-color=#D3869B
|
||||||
|
width=350
|
||||||
|
margin=0,20,20
|
||||||
|
padding=10
|
||||||
|
border-size=1
|
||||||
|
border-color=#232136
|
||||||
|
border-radius=5
|
||||||
|
default-timeout=10000
|
||||||
|
group-by=summary
|
||||||
|
icons=1
|
||||||
|
|
||||||
|
[grouped]
|
||||||
|
format=<b>%s</b>\n%b
|
||||||
176
config/waybar/config
Normal file
176
config/waybar/config
Normal file
|
|
@ -0,0 +1,176 @@
|
||||||
|
{
|
||||||
|
"layer": "top", // Waybar at top layer
|
||||||
|
"position": "top", // Waybar position (top|bottom|left|right)
|
||||||
|
"height": 40,
|
||||||
|
"width":1920,
|
||||||
|
"margin": "0 0 0 0",
|
||||||
|
"spacing":0,
|
||||||
|
|
||||||
|
// Choose the order of the modules
|
||||||
|
// Add according to your wishes: "custom/weather"
|
||||||
|
|
||||||
|
"modules-left": ["hyprland/workspaces", "hyprland/window"],
|
||||||
|
"modules-center": ["custom/network_traffic"],
|
||||||
|
"modules-right": ["backlight","temperature", "cpu", "memory", "battery", "pulseaudio", "network", "tray", "clock"],
|
||||||
|
|
||||||
|
// Modules configuration
|
||||||
|
|
||||||
|
"hyprland/workspaces": {
|
||||||
|
"format": "{icon}",
|
||||||
|
"on-click": "activate",
|
||||||
|
"all-outputs": true,
|
||||||
|
"sort-by-number": true,
|
||||||
|
"format-icons": {
|
||||||
|
"1": "1",
|
||||||
|
"2": "2",
|
||||||
|
"3": "3",
|
||||||
|
"4": "4",
|
||||||
|
"5": "5",
|
||||||
|
"6": "6",
|
||||||
|
"7": "7",
|
||||||
|
"8": "8",
|
||||||
|
"9": "9",
|
||||||
|
"10": "10",
|
||||||
|
"focused": "",
|
||||||
|
"default": ""
|
||||||
|
},
|
||||||
|
"on-scroll-up": "hyprctl dispatch workspace e+1",
|
||||||
|
"on-scroll-down": "hyprctl dispatch workspace e-1",
|
||||||
|
},
|
||||||
|
"hyprland/window": {
|
||||||
|
"format": "{}",
|
||||||
|
"icon":false,
|
||||||
|
"icon-size" : 20
|
||||||
|
},
|
||||||
|
"idle_inhibitor": {
|
||||||
|
"format": "{icon}",
|
||||||
|
"format-icons": {
|
||||||
|
"activated": "",
|
||||||
|
"deactivated": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tray": {
|
||||||
|
"icon-size": 20,
|
||||||
|
"spacing": 5
|
||||||
|
},
|
||||||
|
"clock": {
|
||||||
|
"tooltip-format": "<big>{:%A, %d.%B %Y }</big>\n<tt><small>{calendar}</small></tt>",
|
||||||
|
"format": " {:%a %d %b %I:%M %p}", //12 hour format
|
||||||
|
//"format": " {:%a %d %b %H:%M}", //24 hour format
|
||||||
|
"format-alt": " {:%d/%m/%Y %H:%M:%S}",
|
||||||
|
//"max-length": 200
|
||||||
|
"interval": 1,
|
||||||
|
"on-click": "~/.config/waybar/scripts/OCV",
|
||||||
|
},
|
||||||
|
"cpu": {
|
||||||
|
"format": "🖳{usage}%",
|
||||||
|
"on-click": "foot -e htop"
|
||||||
|
},
|
||||||
|
"memory": {
|
||||||
|
"format": "🖴 {: >3}%",
|
||||||
|
"on-click": "foot -e htop"
|
||||||
|
},
|
||||||
|
"temperature": {
|
||||||
|
"thermal-zone": 7, // Check with: # cat /sys/class/hwmon/hwmon*/temp1_input
|
||||||
|
"hwmon-path": "/sys/class/hwmon/hwmon7/temp1_input",
|
||||||
|
"critical-threshold": 80,
|
||||||
|
"format-critical": "{temperatureC}°C ",
|
||||||
|
"format": "{temperatureC}°C "
|
||||||
|
},
|
||||||
|
"backlight": {
|
||||||
|
// "device": "acpi_video1",
|
||||||
|
"format": "{icon} {percent: >3}%",
|
||||||
|
"format-icons": ["", ""],
|
||||||
|
"on-scroll-down": "brightnessctl -c backlight set 1%-",
|
||||||
|
"on-scroll-up": "brightnessctl -c backlight set +1%",
|
||||||
|
"on-click": "~/.config/waybar/scripts/backlight-hint.sh"
|
||||||
|
},
|
||||||
|
"battery": {
|
||||||
|
"states": {
|
||||||
|
// "good": 95,
|
||||||
|
"warning": 30,
|
||||||
|
"critical": 15
|
||||||
|
},
|
||||||
|
"format": "{icon} {capacity: >3}%",
|
||||||
|
"format-icons": ["", "", "", "", ""]
|
||||||
|
// "format-good": "", // An empty format will hide the module
|
||||||
|
// "format-full": "",
|
||||||
|
//"format-icons": ["", "", "", "", "", "", "", "", "", ""]
|
||||||
|
//"format": "‫{icon}‬ {capacity}%",
|
||||||
|
//"format-icons": ["ﱉ","ﱊ","ﱌ","ﱍ","ﱋ"]
|
||||||
|
},
|
||||||
|
"network": {
|
||||||
|
//"interface": "wlp0s20f3", // (Optional) To force the use of this interface "format-wifi": " {essid}",
|
||||||
|
"format": "⚠Disabled",
|
||||||
|
"format-wifi": "",
|
||||||
|
"format-ethernet": "",
|
||||||
|
"format-linked": "{ifname} (No IP)",
|
||||||
|
"format-disconnected": "⚠Disabled",
|
||||||
|
"format-alt": "{ifname}: {ipaddr}/{cidr}",
|
||||||
|
"family": "ipv4",
|
||||||
|
"tooltip-format-wifi": " {ifname} @ {essid}\nIP: {ipaddr}\nStrength: {signalStrength}%\nFreq: {frequency}MHz\nUp: {bandwidthUpBits} Down: {bandwidthDownBits}",
|
||||||
|
"tooltip-format-ethernet": " {ifname}\nIP: {ipaddr}\n up: {bandwidthUpBits} down: {bandwidthDownBits}",
|
||||||
|
//"min-length": 2,
|
||||||
|
//"max-length": 2,
|
||||||
|
"on-click": "nm-connection-editor"
|
||||||
|
},
|
||||||
|
"custom/updates": {
|
||||||
|
"format": "{} {icon}",
|
||||||
|
"return-type": "json",
|
||||||
|
"format-icons": {
|
||||||
|
"has-updates": "",
|
||||||
|
"updated": "",
|
||||||
|
"interval": 7200,
|
||||||
|
},
|
||||||
|
"exec-if": "which waybar-module-pacman-updates",
|
||||||
|
"exec": "waybar-module-pacman-updates",
|
||||||
|
"on-click": "foot -e update"
|
||||||
|
},
|
||||||
|
"custom/power": {
|
||||||
|
"format":"⏻",
|
||||||
|
"on-click": "nwgbar",
|
||||||
|
"tooltip": false,
|
||||||
|
},
|
||||||
|
"custom/keyboard-layout": {
|
||||||
|
"format": " Cheat", // Icon: keyboard
|
||||||
|
"on-click": "~/.config/waybar/scripts/keyhint.sh",
|
||||||
|
},
|
||||||
|
"custom/launcher": {
|
||||||
|
"format":" ",
|
||||||
|
"on-click": "exec nwg-drawer -c 7 -is 70 -spacing 23",
|
||||||
|
"tooltip": false,
|
||||||
|
},
|
||||||
|
"custom/network_traffic": {
|
||||||
|
"exec": "~/.config/waybar/scripts/network_traffic.sh",
|
||||||
|
"return-type": "json",
|
||||||
|
"format-ethernet": "{icon} {ifname} ⇣{bandwidthDownBytes} ⇡{bandwidthUpBytes}", // optional
|
||||||
|
},
|
||||||
|
"pulseaudio": {
|
||||||
|
"scroll-step": 3, // %, can be a float
|
||||||
|
"format": "{icon} {volume}% {format_source}",
|
||||||
|
"format-bluetooth": "{volume}% {icon} {format_source}",
|
||||||
|
"format-bluetooth-muted": " {icon} {format_source}",
|
||||||
|
"format-muted": " {format_source}",
|
||||||
|
//"format-source": "{volume}% ",
|
||||||
|
//"format-source-muted": "",
|
||||||
|
"format-source": "",
|
||||||
|
"format-source-muted": "",
|
||||||
|
"format-icons": {
|
||||||
|
"headphone": "",
|
||||||
|
"hands-free": "",
|
||||||
|
"headset": "",
|
||||||
|
"phone": "",
|
||||||
|
"portable": "",
|
||||||
|
"car": "",
|
||||||
|
"default": ["", "", ""]
|
||||||
|
},
|
||||||
|
"on-click": "pavucontrol",
|
||||||
|
"on-click-right": "pactl set-source-mute @DEFAULT_SOURCE@ toggle"
|
||||||
|
},
|
||||||
|
// https://github.com/chubin/wttr.in
|
||||||
|
"custom/weather": {
|
||||||
|
"exec": "curl 'https://wttr.in/Essen?format=2'",
|
||||||
|
"interval": 900,
|
||||||
|
"on-click": "yad --html --uri='https://wttr.in/Essen' --center --fixed --width=1000 --height=680 --timeout=60 --timeout-indicator=right"
|
||||||
|
},
|
||||||
|
}
|
||||||
BIN
config/waybar/launcher.png
Normal file
BIN
config/waybar/launcher.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.2 KiB |
9
config/waybar/scripts/OCV
Executable file
9
config/waybar/scripts/OCV
Executable file
|
|
@ -0,0 +1,9 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
yad --width=400 --height=200 \
|
||||||
|
--center \
|
||||||
|
--fixed \
|
||||||
|
--title="Calendar" \
|
||||||
|
--no-buttons \
|
||||||
|
yad \
|
||||||
|
--calendar
|
||||||
12
config/waybar/scripts/backlight-hint.sh
Executable file
12
config/waybar/scripts/backlight-hint.sh
Executable file
|
|
@ -0,0 +1,12 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
yad --width=100 --height=100 \
|
||||||
|
--center \
|
||||||
|
--fixed \
|
||||||
|
--title="Backlight" \
|
||||||
|
--no-buttons \
|
||||||
|
--timeout=10 \
|
||||||
|
--timeout-indicator=bottom \
|
||||||
|
yad \
|
||||||
|
--text="\nScroll your mouse wheel to change \n the backlight of the monitor." \
|
||||||
|
|
||||||
7
config/waybar/scripts/cleanup_after_start.sh
Executable file
7
config/waybar/scripts/cleanup_after_start.sh
Executable file
|
|
@ -0,0 +1,7 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
sleep 20
|
||||||
|
hyprctl keyword windowrule "workspace unset,nmtui-colors"
|
||||||
|
hyprctl keyword windowrule "workspace unset,calamares"
|
||||||
|
hyprctl keyword windowrule "workspace unset,keyhint.sh"
|
||||||
|
hyprctl keyword windowrule "workspace unset,firedragon"
|
||||||
37
config/waybar/scripts/keyhint.sh
Executable file
37
config/waybar/scripts/keyhint.sh
Executable file
|
|
@ -0,0 +1,37 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# "Change keyboard layout in" "~/.config/hypr/hyprland.conf" " " \
|
||||||
|
|
||||||
|
yad --width=530 --height=640 \
|
||||||
|
--center \
|
||||||
|
--fixed \
|
||||||
|
--title="Garuda Hyprland Keybindings" \
|
||||||
|
--no-buttons \
|
||||||
|
--list \
|
||||||
|
--column=Key: \
|
||||||
|
--column=Description: \
|
||||||
|
--column=Command: \
|
||||||
|
--timeout=60 \
|
||||||
|
--timeout-indicator=right \
|
||||||
|
"ESC" "close this app" "" "=" "modkey" "(set mod Mod4)" \
|
||||||
|
"+Shift+g" "G-hyprland" "implement G-Hyprland" \
|
||||||
|
"+enter/+t" "Terminal" "(foot)" \
|
||||||
|
"" "Application Menu" "(wofi)" \
|
||||||
|
"+Shift+d" "Full Launcher" "(nwggrid)" \
|
||||||
|
"+o" "" "Open Broswer" \
|
||||||
|
"+n" "" "Open Files" \
|
||||||
|
"+q" "close focused app" "(kill)" \
|
||||||
|
"+v" "clipboard manager" "(cliphist)" \
|
||||||
|
"+r" "Resize windows" "(resize)" \
|
||||||
|
"Print" "screenshot" "(grimblast)" \
|
||||||
|
"Shift+Print" "screenshot region" "(grimblast)" \
|
||||||
|
"+Print" "screenshot window" "(grimblast)" \
|
||||||
|
"+Shift+e" "power-menu" "(wofi)" \
|
||||||
|
"+Shift+c" "Change wallpaper" "(wpaperd)" \
|
||||||
|
"+f" "Fullscreen" "Toggles to full screen" \
|
||||||
|
"+Shift+f" "fullscreenstate" "Behave full screen without full screen" \
|
||||||
|
"+m" "maximize" "Hides all the windows other then focused window" \
|
||||||
|
"+Shift+Spacebar" "Float" "Toggle windows to float" \
|
||||||
|
"+p" "Dwindle effect" "pseudo" \
|
||||||
|
"+Shift+p" "Dwindle effect" "toggle split" \
|
||||||
|
"+i" "Calamares" "Install Garuda Hyprland" \
|
||||||
|
"" "" " Window closed in 60 sec."\
|
||||||
109
config/waybar/scripts/network_traffic.sh
Executable file
109
config/waybar/scripts/network_traffic.sh
Executable file
|
|
@ -0,0 +1,109 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# network_traffic.sh [-tPOLLING_INTERVAL] [NETWORK_INTERFACE...]
|
||||||
|
|
||||||
|
getopts t: __ && shift
|
||||||
|
isecs=${OPTARG:-1}
|
||||||
|
ifaces=($@)
|
||||||
|
: ${rate_max:=1000000} # maximum transfer rate for {percent}, can be overridden setting the env var
|
||||||
|
|
||||||
|
# `snore` adapted from https://blog.dhampir.no/content/sleeping-without-a-subprocess-in-bash-and-how-to-sleep-forever
|
||||||
|
# without MacOS workaround, TODO: with _snore_fd initialized separatedly, also i dont touch IFS so dont bother with it
|
||||||
|
snore() {
|
||||||
|
local IFS
|
||||||
|
[[ -n "${_snore_fd:-}" ]] || { exec {_snore_fd}<> <(:); } 2>/dev/null
|
||||||
|
read ${1:+-t "$1"} -u $_snore_fd || :
|
||||||
|
}
|
||||||
|
|
||||||
|
human_readable() {
|
||||||
|
local hrunits=( B K M G T P )
|
||||||
|
local ndigits=${#1}
|
||||||
|
local idxunit=$(( (2 + ndigits) / 3 - 1))
|
||||||
|
local lentrim=$(( ndigits - (idxunit * 3 ) ))
|
||||||
|
echo ${1::$lentrim}${hrunits[$idxunit]}
|
||||||
|
}
|
||||||
|
|
||||||
|
exit_err() {
|
||||||
|
printf '{"text": "⚠ %s", "tooltip": "%s", "class": "error"}\n' "$@"
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
if test ${#ifaces[@]} -gt 0; then
|
||||||
|
# sanity check the interface names
|
||||||
|
for iface in ${ifaces[@]}; do
|
||||||
|
test -h "/sys/class/net/${iface}" || exit_err "${iface}" "${iface} is not an existing network interface name"
|
||||||
|
done
|
||||||
|
else
|
||||||
|
# default to all interfaces except `lo`
|
||||||
|
ifaces=(/sys/class/net/*)
|
||||||
|
ifaces=(${ifaces[@]##*/})
|
||||||
|
ifaces=(${ifaces[@]^(eth|wlan|enp|wlp|eno)})
|
||||||
|
fi
|
||||||
|
|
||||||
|
# sanity check polling interval
|
||||||
|
if test ${isecs} -lt 1; then
|
||||||
|
exit_err "${isecs}" "${isecs} is not a valid polling interval"
|
||||||
|
fi
|
||||||
|
# NOTE: `snore` would take a decimal interval but bash arithmetic does not
|
||||||
|
#if test $(echo "${isecs} >= 0.2" |bc) -eq 0; then
|
||||||
|
# exit_err "${isecs}" "${isecs} is not a valid polling interval"
|
||||||
|
#fi
|
||||||
|
|
||||||
|
# NOTE: `/proc/net/dev` format is:
|
||||||
|
# interface:
|
||||||
|
# RX bytes packets errs drop fifo frame compressed multicast
|
||||||
|
# TX bytes packets errs drop fifo colls carrier compressed
|
||||||
|
|
||||||
|
# NOTE: array items are:
|
||||||
|
# 0=rx_bytes 1=rx_packets 2=rx_errs 3=rx_drop
|
||||||
|
# 4=tx_bytes 5=tx_packets 6=tx_errs 7=tx_drop
|
||||||
|
for iface in ${ifaces[@]} aggregate; do
|
||||||
|
declare -a traffic_prev_${iface} traffic_curr_${iface} traffic_delt_${iface}
|
||||||
|
declare -n traffic_prev=traffic_prev_${iface}
|
||||||
|
declare -n traffic_curr=traffic_curr_${iface}
|
||||||
|
declare -n traffic_delt=traffic_delt_${iface}
|
||||||
|
traffic_prev=( 0 0 0 0 0 0 0 0 )
|
||||||
|
traffic_curr=( 0 0 0 0 0 0 0 0 )
|
||||||
|
traffic_delt=( 0 0 0 0 0 0 0 0 )
|
||||||
|
done
|
||||||
|
|
||||||
|
# TODO: rearrange the loop, do not show bogus on first iteration
|
||||||
|
while snore ${isecs} ;do
|
||||||
|
tooltip=""
|
||||||
|
traffic_delt_aggregate=( 0 0 0 0 0 0 0 0 )
|
||||||
|
|
||||||
|
readarray -s2 proc_net_dev </proc/net/dev
|
||||||
|
while read -a data; do
|
||||||
|
iface=${data[0]%:}
|
||||||
|
test "${ifaces[*]}" = "${ifaces[*]//${iface}/}" && continue
|
||||||
|
declare -n traffic_prev=traffic_prev_${iface}
|
||||||
|
declare -n traffic_curr=traffic_curr_${iface}
|
||||||
|
declare -n traffic_delt=traffic_delt_${iface}
|
||||||
|
traffic_curr=(${data[@]:1:4} ${data[@]:9:4})
|
||||||
|
#FIXME: tooltip is delayed one iteration wrt main display (but why?)
|
||||||
|
#printf -v tooltip_hr_rx '%4s⇣' $(human_readable ${traffic_delt[0]})
|
||||||
|
#printf -v tooltip_hr_tx '%4s⇡' $(human_readable ${traffic_delt[4]})
|
||||||
|
#tooltip="${tooltip:+${tooltip}\r}${iface}\t${tooltip_hr_rx}\t${tooltip_hr_tx}"
|
||||||
|
for i in {0..7}; do
|
||||||
|
(( traffic_delt[i] = ( traffic_curr[i] - traffic_prev[i] ) / isecs ))
|
||||||
|
(( traffic_delt_aggregate[i] += traffic_delt[i] ))
|
||||||
|
done
|
||||||
|
traffic_prev=(${traffic_curr[@]})
|
||||||
|
done <<<"${proc_net_dev[@]}"
|
||||||
|
|
||||||
|
printf '{"text": "%4s⇣ %4s⇡", "tooltip": "%s", "percentage": %d}\n' \
|
||||||
|
$(human_readable ${traffic_delt_aggregate[0]}) \
|
||||||
|
$(human_readable ${traffic_delt_aggregate[4]}) \
|
||||||
|
"${tooltip}" \
|
||||||
|
$(( ( traffic_delt_aggregate[0] + traffic_delt_aggregate[4] ) / rate_max ))
|
||||||
|
#printf '{"text": "%5s⇣ %5s⇡", "alt": "%s", "tooltip": "%s", "class": "%s", "percentage": %d }\n' $(human_readable ${traffic_delt[0]}) $(human_readable ${traffic_delt[4]}) '_alt' '_tooltip' '_class' 0
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
# NOTE: in waybar config (do NOT use "interval"):
|
||||||
|
# "custom/network_traffic": {
|
||||||
|
# "exec": "~/.config/waybar/scripts/network_traffic.sh",
|
||||||
|
# "return-type": "json",
|
||||||
|
# "format": "Speed: {}", // optional
|
||||||
|
# },
|
||||||
|
|
||||||
187
config/waybar/style.css
Normal file
187
config/waybar/style.css
Normal file
|
|
@ -0,0 +1,187 @@
|
||||||
|
/* =============================================================================
|
||||||
|
*
|
||||||
|
* Waybar configuration
|
||||||
|
*
|
||||||
|
* Configuration reference: https://github.com/Alexays/Waybar/wiki/Configuration
|
||||||
|
*
|
||||||
|
* =========================================================================== */
|
||||||
|
|
||||||
|
/* -----------------------------------------------------------------------------
|
||||||
|
* Keyframes
|
||||||
|
* -------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
Polar Night
|
||||||
|
nord0 #2e3440
|
||||||
|
nord1 #3b4252
|
||||||
|
nord2 #434c5e
|
||||||
|
nord3 #4c566a
|
||||||
|
Snow Storm
|
||||||
|
nord4 #d8dee9
|
||||||
|
nord5 #e5e9f0
|
||||||
|
nord6 #eceff4
|
||||||
|
Frost
|
||||||
|
nord7 #8fbcbb
|
||||||
|
nord8 #88c0d0
|
||||||
|
nord9 #81a1c1
|
||||||
|
nord10 #5e81ac
|
||||||
|
Aurora
|
||||||
|
nord11 #bf616a
|
||||||
|
nord12 #d08770
|
||||||
|
nord13 #ebcb8b
|
||||||
|
nord14 #a3be8c
|
||||||
|
nord15 #b48ead
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* -----------------------------------------------------------------------------
|
||||||
|
* Base styles
|
||||||
|
* -------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
/* Reset all styles */
|
||||||
|
|
||||||
|
* {
|
||||||
|
color:#a3be8c;
|
||||||
|
border: 0;
|
||||||
|
border-radius: 0;
|
||||||
|
padding: 0 0;
|
||||||
|
font-family:Symbols Nerd Font Mono;
|
||||||
|
font-size: 15px;
|
||||||
|
margin-right: 5px;
|
||||||
|
margin-left: 5px;
|
||||||
|
padding-bottom:2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar {
|
||||||
|
background:rgba (0, 0, 0, 0.5);
|
||||||
|
border-radius: 20px 20px 20px 20px;
|
||||||
|
color: #D3869B;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button {
|
||||||
|
padding: 2px 0px;
|
||||||
|
border-bottom: 2px;
|
||||||
|
color: #D3869B;
|
||||||
|
border-color: #d8dee9;
|
||||||
|
border-style: solid;
|
||||||
|
margin-top:2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.active {
|
||||||
|
border-color: #D3869B;
|
||||||
|
}
|
||||||
|
|
||||||
|
#clock, #battery, #cpu, #memory,#idle_inhibitor, #temperature,#custom-keyboard-layout, #backlight, #network, #pulseaudio, #tray, #window,#custom-launcher,#custom-power,#custom-updates ,#custom-network_traffic,#custom-weather{
|
||||||
|
padding: 0 3px;
|
||||||
|
border-bottom: 2px;
|
||||||
|
border-style: solid;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -----------------------------------------------------------------------------
|
||||||
|
* Module styles
|
||||||
|
* -------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
|
||||||
|
#clock {
|
||||||
|
color:#a3be8c;
|
||||||
|
}
|
||||||
|
|
||||||
|
#backlight {
|
||||||
|
color: #ebcb8b;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery {
|
||||||
|
color: #d8dee9;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.charging {
|
||||||
|
color: #81a1c1;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes blink {
|
||||||
|
to {
|
||||||
|
color: #4c566a;
|
||||||
|
background-color: #eceff4;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.critical:not(.charging) {
|
||||||
|
background: #bf616a;
|
||||||
|
color: #eceff4;
|
||||||
|
animation-name: blink;
|
||||||
|
animation-duration: 0.5s;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
animation-direction: alternate;
|
||||||
|
}
|
||||||
|
|
||||||
|
#cpu {
|
||||||
|
color:#a3be8c ;
|
||||||
|
}
|
||||||
|
|
||||||
|
#memory {
|
||||||
|
color: #d3869b;
|
||||||
|
}
|
||||||
|
|
||||||
|
#network.disabled {
|
||||||
|
color:#bf616a;
|
||||||
|
}
|
||||||
|
|
||||||
|
#network{
|
||||||
|
color:#a3be8c;
|
||||||
|
}
|
||||||
|
|
||||||
|
#network.disconnected {
|
||||||
|
color: #bf616a;
|
||||||
|
}
|
||||||
|
|
||||||
|
#pulseaudio {
|
||||||
|
color: #b48ead;
|
||||||
|
}
|
||||||
|
|
||||||
|
#pulseaudio.muted {
|
||||||
|
color: #3b4252;
|
||||||
|
}
|
||||||
|
|
||||||
|
#temperature {
|
||||||
|
color: #8fbcbb;
|
||||||
|
}
|
||||||
|
|
||||||
|
#temperature.critical {
|
||||||
|
color: #bf616a;
|
||||||
|
}
|
||||||
|
|
||||||
|
#idle_inhibitor {
|
||||||
|
color: #ebcb8b;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tray {
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-launcher{
|
||||||
|
font-size: 20px;
|
||||||
|
background-image: url('/home/tulg/.config/waybar/launcher.png');
|
||||||
|
background-position: center;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-size: contain;
|
||||||
|
border-style: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-power{
|
||||||
|
border-style: hidden;
|
||||||
|
margin-top:2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#window{
|
||||||
|
border-style: hidden;
|
||||||
|
margin-top:1px;
|
||||||
|
color: #D3869B;
|
||||||
|
}
|
||||||
|
#custom-keyboard-layout{
|
||||||
|
color:#d08770;
|
||||||
|
}
|
||||||
|
#custom-network_traffic{
|
||||||
|
color:#d08770;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
10
config/wofi/config
Normal file
10
config/wofi/config
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
location=middle
|
||||||
|
show=drun
|
||||||
|
width=650
|
||||||
|
height=550
|
||||||
|
always_parse_args=true
|
||||||
|
show_all=true
|
||||||
|
print_command=true
|
||||||
|
layer=overlay
|
||||||
|
insensitive=true
|
||||||
|
prompt=
|
||||||
8
config/wofi/config.screenshot
Normal file
8
config/wofi/config.screenshot
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
hide_search=true
|
||||||
|
hide_scroll=true
|
||||||
|
width=1
|
||||||
|
show=dmenu
|
||||||
|
lines=5
|
||||||
|
location=centre
|
||||||
|
x=870
|
||||||
|
y=455
|
||||||
51
config/wofi/style.css
Normal file
51
config/wofi/style.css
Normal file
|
|
@ -0,0 +1,51 @@
|
||||||
|
window {
|
||||||
|
margin: 0px;
|
||||||
|
background-color: #232136;
|
||||||
|
border-radius: 0px;
|
||||||
|
font-family:Symbols Nerd Font Mono;
|
||||||
|
font-size: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#input {
|
||||||
|
margin: 3px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border: none;
|
||||||
|
border-radius: 0px;;
|
||||||
|
color: #eb6f92;
|
||||||
|
background-color: #232136;
|
||||||
|
}
|
||||||
|
|
||||||
|
#inner-box {
|
||||||
|
margin: 3px;
|
||||||
|
border: none;
|
||||||
|
color: #232136;
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#outer-box {
|
||||||
|
margin: 8px;
|
||||||
|
border: none;
|
||||||
|
background-color: #232136;
|
||||||
|
}
|
||||||
|
|
||||||
|
#scroll {
|
||||||
|
margin: 0px;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#text {
|
||||||
|
margin: 5px;
|
||||||
|
border: none;
|
||||||
|
color: #e0def4;
|
||||||
|
}
|
||||||
|
|
||||||
|
#entry:selectd {
|
||||||
|
color: #232136;
|
||||||
|
border-radius: 0px;;
|
||||||
|
background-color: #232136;
|
||||||
|
}
|
||||||
|
|
||||||
|
#entry:selected * {
|
||||||
|
color: #232136;
|
||||||
|
border-radius: 0px;;
|
||||||
|
}
|
||||||
17
config/zen-rose-pine/rose-pine-dawn.css
Normal file
17
config/zen-rose-pine/rose-pine-dawn.css
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
* {
|
||||||
|
--base: #faf4ed;
|
||||||
|
--surface: #fffaf3;
|
||||||
|
--overlay: #f2e9e1;
|
||||||
|
--muted: #9893a5;
|
||||||
|
--subtle: #797593;
|
||||||
|
--text: #575279;
|
||||||
|
--love: #b4637a;
|
||||||
|
--gold: #ea9d34;
|
||||||
|
--rose: #d7827e;
|
||||||
|
--pine: #286983;
|
||||||
|
--foam: #56949f;
|
||||||
|
--iris: #907aa9;
|
||||||
|
--highlightLow: #f4ede8;
|
||||||
|
--highlightMed: #dfdad9;
|
||||||
|
--highlightHigh: #cecacd;
|
||||||
|
}
|
||||||
17
config/zen-rose-pine/rose-pine-main.css
Normal file
17
config/zen-rose-pine/rose-pine-main.css
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
* {
|
||||||
|
--base: #191724;
|
||||||
|
--surface: #1f1d2e;
|
||||||
|
--overlay: #26233a;
|
||||||
|
--muted: #6e6a86;
|
||||||
|
--subtle: #908caa;
|
||||||
|
--text: #e0def4;
|
||||||
|
--love: #eb6f92;
|
||||||
|
--gold: #f6c177;
|
||||||
|
--rose: #ebbcba;
|
||||||
|
--pine: #31748f;
|
||||||
|
--foam: #9ccfd8;
|
||||||
|
--iris: #c4a7e7;
|
||||||
|
--highlightLow: #21202e;
|
||||||
|
--highlightMed: #403d52;
|
||||||
|
--highlightHigh: #524f67;
|
||||||
|
}
|
||||||
17
config/zen-rose-pine/rose-pine-moon.css
Normal file
17
config/zen-rose-pine/rose-pine-moon.css
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
* {
|
||||||
|
--base: #232136;
|
||||||
|
--surface: #2a273f;
|
||||||
|
--overlay: #393552;
|
||||||
|
--muted: #6e6a86;
|
||||||
|
--subtle: #908caa;
|
||||||
|
--text: #e0def4;
|
||||||
|
--love: #eb6f92;
|
||||||
|
--gold: #f6c177;
|
||||||
|
--rose: #ea9a97;
|
||||||
|
--pine: #3e8fb0;
|
||||||
|
--foam: #9ccfd8;
|
||||||
|
--iris: #c4a7e7;
|
||||||
|
--highlightLow: #2a283e;
|
||||||
|
--highlightMed: #44415a;
|
||||||
|
--highlightHigh: #56526e;
|
||||||
|
}
|
||||||
71
config/zen-rose-pine/userChrome.css
Normal file
71
config/zen-rose-pine/userChrome.css
Normal file
|
|
@ -0,0 +1,71 @@
|
||||||
|
@import "rose-pine-moon.css";
|
||||||
|
|
||||||
|
:root {
|
||||||
|
--zen-colors-primary: var(--base) !important;
|
||||||
|
--zen-primary-color: var(--base) !important;
|
||||||
|
--zen-colors-secondary: var(--surface) !important;
|
||||||
|
--zen-colors-tertiary: var(--overlay) !important;
|
||||||
|
--zen-colors-border: var(--iris) !important;
|
||||||
|
--toolbarbutton-icon-fill: var(--iris) !important;
|
||||||
|
--lwt-text-color: var(--text) !important;
|
||||||
|
--toolbar-field-color: var(--text) !important;
|
||||||
|
--tab-selected-textcolor: var(--iris) !important;
|
||||||
|
--toolbar-field-focus-color: var(--text) !important;
|
||||||
|
--toolbar-color: var(--text) !important;
|
||||||
|
--newtab-text-primary-color: var(--text) !important;
|
||||||
|
--arrowpanel-color: var(--text) !important;
|
||||||
|
--arrowpanel-background: var(--overlay) !important;
|
||||||
|
--sidebar-text-color: var(--text) !important;
|
||||||
|
--lwt-sidebar-text-color: var(--text) !important;
|
||||||
|
--lwt-sidebar-background-color: var(--base) !important;
|
||||||
|
--toolbar-bgcolor: var(--base) !important;
|
||||||
|
--newtab-background-color: var(--overlay) !important;
|
||||||
|
--zen-themed-toolbar-bg: var(--base) !important;
|
||||||
|
--zen-main-browser-background: var(--base) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#permissions-granted-icon {
|
||||||
|
color: #181825 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar-placesTree {
|
||||||
|
background-color: var(--surface) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#zen-workspaces-button {
|
||||||
|
background-color: var(--surface) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#urlbar-background {
|
||||||
|
background-color: var(--surface) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-background[selected=""] {
|
||||||
|
background: var(--overlay) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-shortcuts {
|
||||||
|
background-color: var(--surface) !important;
|
||||||
|
border-color: #89b4fa !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.urlbarView-url {
|
||||||
|
color: var(--iris) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#zenEditBookmarkPanelFaviconContainer {
|
||||||
|
background: var(--base) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
toolbar .toolbarbutton-1 {
|
||||||
|
&:not([disabled]) {
|
||||||
|
&:is([open], [checked])
|
||||||
|
> :is(
|
||||||
|
.toolbarbutton-icon,
|
||||||
|
.toolbarbutton-text,
|
||||||
|
.toolbarbutton-badge-stack
|
||||||
|
) {
|
||||||
|
fill: var(--base);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
8
config/zen-rose-pine/zen-themes.css
Normal file
8
config/zen-rose-pine/zen-themes.css
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
/* Zen Mods - Generated by ZenMods.
|
||||||
|
* FILE GENERATED AT: Saturday, October 11, 2025 at 7:22:29 PM GMT+03:00
|
||||||
|
* DO NOT EDIT THIS FILE DIRECTLY!
|
||||||
|
* Your changes will be overwritten.
|
||||||
|
* Instead, go to the preferences and edit the mods there.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* End of Zen Mods */
|
||||||
139
configuration.nix
Normal file
139
configuration.nix
Normal file
|
|
@ -0,0 +1,139 @@
|
||||||
|
# Edit this configuration file to define what should be installed on
|
||||||
|
# your system. Help is available in the configuration.nix(5) man page
|
||||||
|
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||||
|
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ # Include the results of the hardware scan.
|
||||||
|
./hardware-configuration.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
# Bootloader.
|
||||||
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
|
||||||
|
networking = {
|
||||||
|
hostName = "virgil";
|
||||||
|
nameservers = ["127.0.0.1" "::1"];
|
||||||
|
};
|
||||||
|
|
||||||
|
services.dnscrypt-proxy2 = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
listen_addresses = ["127.0.0.1:53" "[::1]:53"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.zapret = {
|
||||||
|
enable = true;
|
||||||
|
params = [
|
||||||
|
"--dpi-desync=fake"
|
||||||
|
"--dpi-desync-ttl=8"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||||
|
|
||||||
|
# Configure network proxy if necessary
|
||||||
|
# networking.proxy.default = "http://user:password@proxy:port/";
|
||||||
|
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
||||||
|
|
||||||
|
# Enable networking
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
|
# Set your time zone.
|
||||||
|
time.timeZone = "Europe/Istanbul";
|
||||||
|
|
||||||
|
# Select internationalisation properties.
|
||||||
|
services.getty.autologinUser = "tulg";
|
||||||
|
programs.hyprland = {
|
||||||
|
enable = true;
|
||||||
|
xwayland.enable = true;
|
||||||
|
};
|
||||||
|
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||||
|
users.users.tulg = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "Tulga";
|
||||||
|
extraGroups = [ "networkmanager" "wheel" ];
|
||||||
|
packages = with pkgs; [];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Allow unfree packages
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
|
# List packages installed in system profile. To search, run:
|
||||||
|
# $ nix search wget
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
||||||
|
# wget
|
||||||
|
git
|
||||||
|
rose-pine-gtk-theme
|
||||||
|
];
|
||||||
|
|
||||||
|
# Some programs need SUID wrappers, can be configured further or are
|
||||||
|
# started in user sessions.
|
||||||
|
# programs.mtr.enable = true;
|
||||||
|
# programs.gnupg.agent = {
|
||||||
|
# enable = true;
|
||||||
|
# enableSSHSupport = true;
|
||||||
|
# };
|
||||||
|
|
||||||
|
# List services that you want to enable:
|
||||||
|
|
||||||
|
# Enable the OpenSSH daemon.
|
||||||
|
services.openssh = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
PasswordAuthentication = true;
|
||||||
|
PermitRootLogin = "yes";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
fonts = {
|
||||||
|
packages = with pkgs; [
|
||||||
|
noto-fonts
|
||||||
|
noto-fonts-cjk-sans
|
||||||
|
noto-fonts-emoji
|
||||||
|
nerd-fonts.symbols-only
|
||||||
|
liberation_ttf
|
||||||
|
font-awesome
|
||||||
|
fira
|
||||||
|
fira-sans
|
||||||
|
fira-code
|
||||||
|
fira-code-symbols
|
||||||
|
];
|
||||||
|
|
||||||
|
enableDefaultPackages = true;
|
||||||
|
fontconfig = {
|
||||||
|
enable = true;
|
||||||
|
defaultFonts = {
|
||||||
|
sansSerif = [ "Fira Sans Regular" ];
|
||||||
|
serif = [ "Fira Sans Regular" ];
|
||||||
|
monospace = [ "Fira Mono Regular" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Open ports in the firewall.
|
||||||
|
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||||
|
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||||
|
# Or disable the firewall altogether.
|
||||||
|
# networking.firewall.enable = false;
|
||||||
|
users.users."root".openssh.authorizedKeys.keys = [
|
||||||
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDIefprdYz4gFgBqGlrkycWcTYxFttQHRjDQmREtQTiGyqK1gQiB4z4Cbiayt7Emq224sbaobQPlNSyhlBCSo/Wf0bmZMz8NwNdwhFSkDnyD6LPaHg8fv9FXnWW0wBMl4oSD2wfGbMQBrecjgHXfJ64UiHyyhDllDDtWGgoY75wwfWHzX/NiGaEi0LHCQ8dsgp7H+BhssTkJPZbv6BJcA34yfb6dISjvW2S/QGKMwgYr9ArfGLUTWPbj+EbL7Bf9VsTFe9nP+FnYqEu4+oBIbY2heXWA+FCi0zxmMY4oYJxT5cJi1nffVOxboKLm4kIT93gv1WdcDiQDVdy5sJ1q0gJyiRt1HfJW4l8jn36VJ0FvdGmRliOTzSfeER0gbIsOcxeArHRV3ff/CoSocnSs0To5vFKgjlGwhdE8sJsqILgZnIoKwVvOXuDOz/RhbdBPpVsG7upk7bLJtLv9P5h0h/gUIWA1iktaYBSDL0UofjSrfNhZH6M0P+soIuooanSlVGivTlASw1pd+gjvebbc9ksvGZVqPQT0XegIvZkwfu8moERZUqv/xhNcyWTEGfFKoeHt5ub8Ac0LOe9Ak6N+p8xDjTdkmUgte5J/CNL1JL3JA/iqocAo+VvmIbPatbrOwUNcROOS3WeFg8MfNrbDyYCVNbZWAyM6wwfLB2fIUB2jw== tulg@highcommand" # content of authorized_keys file
|
||||||
|
];
|
||||||
|
users.users."tulg".openssh.authorizedKeys.keys = [
|
||||||
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDIefprdYz4gFgBqGlrkycWcTYxFttQHRjDQmREtQTiGyqK1gQiB4z4Cbiayt7Emq224sbaobQPlNSyhlBCSo/Wf0bmZMz8NwNdwhFSkDnyD6LPaHg8fv9FXnWW0wBMl4oSD2wfGbMQBrecjgHXfJ64UiHyyhDllDDtWGgoY75wwfWHzX/NiGaEi0LHCQ8dsgp7H+BhssTkJPZbv6BJcA34yfb6dISjvW2S/QGKMwgYr9ArfGLUTWPbj+EbL7Bf9VsTFe9nP+FnYqEu4+oBIbY2heXWA+FCi0zxmMY4oYJxT5cJi1nffVOxboKLm4kIT93gv1WdcDiQDVdy5sJ1q0gJyiRt1HfJW4l8jn36VJ0FvdGmRliOTzSfeER0gbIsOcxeArHRV3ff/CoSocnSs0To5vFKgjlGwhdE8sJsqILgZnIoKwVvOXuDOz/RhbdBPpVsG7upk7bLJtLv9P5h0h/gUIWA1iktaYBSDL0UofjSrfNhZH6M0P+soIuooanSlVGivTlASw1pd+gjvebbc9ksvGZVqPQT0XegIvZkwfu8moERZUqv/xhNcyWTEGfFKoeHt5ub8Ac0LOe9Ak6N+p8xDjTdkmUgte5J/CNL1JL3JA/iqocAo+VvmIbPatbrOwUNcROOS3WeFg8MfNrbDyYCVNbZWAyM6wwfLB2fIUB2jw== tulg@highcommand" # content of authorized_keys file
|
||||||
|
];
|
||||||
|
# This value determines the NixOS release from which the default
|
||||||
|
# settings for stateful data, like file locations and database versions
|
||||||
|
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||||
|
# this value at the release version of the first install of this system.
|
||||||
|
# Before changing this value read the documentation for this option
|
||||||
|
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||||
|
nix.settings.experimental-features = [ "nix-command" "flakes"];
|
||||||
|
services.displayManager.ly.enable = true;
|
||||||
|
system.stateVersion = "25.05"; # Did you read the comment?
|
||||||
|
|
||||||
|
}
|
||||||
193
flake.lock
generated
Normal file
193
flake.lock
generated
Normal file
|
|
@ -0,0 +1,193 @@
|
||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"base16-schemes": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1696158499,
|
||||||
|
"narHash": "sha256-5yIHgDTPjoX/3oDEfLSQ0eJZdFL1SaCfb9d6M0RmOTM=",
|
||||||
|
"owner": "tinted-theming",
|
||||||
|
"repo": "base16-schemes",
|
||||||
|
"rev": "a9112eaae86d9dd8ee6bb9445b664fba2f94037a",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "tinted-theming",
|
||||||
|
"repo": "base16-schemes",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"home-manager": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1760641408,
|
||||||
|
"narHash": "sha256-Y086n2U0kN9HjOo+UScwQDS27gKMiIlT6vDehvlmdAg=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"rev": "847669dabf374d32a072bdab3f08cae7296ac011",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"home-manager_2": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"zen-browser",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1752603129,
|
||||||
|
"narHash": "sha256-S+wmHhwNQ5Ru689L2Gu8n1OD6s9eU9n9mD827JNR+kw=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"rev": "e8c19a3cec2814c754f031ab3ae7316b64da085b",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nix-colors": {
|
||||||
|
"inputs": {
|
||||||
|
"base16-schemes": "base16-schemes",
|
||||||
|
"nixpkgs-lib": "nixpkgs-lib"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1707825078,
|
||||||
|
"narHash": "sha256-hTfge2J2W+42SZ7VHXkf4kjU+qzFqPeC9k66jAUBMHk=",
|
||||||
|
"owner": "misterio77",
|
||||||
|
"repo": "nix-colors",
|
||||||
|
"rev": "b01f024090d2c4fc3152cd0cf12027a7b8453ba1",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "misterio77",
|
||||||
|
"repo": "nix-colors",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1760524057,
|
||||||
|
"narHash": "sha256-EVAqOteLBFmd7pKkb0+FIUyzTF61VKi7YmvP1tw4nEw=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "544961dfcce86422ba200ed9a0b00dd4b1486ec5",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs-lib": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1697935651,
|
||||||
|
"narHash": "sha256-qOfWjQ2JQSQL15KLh6D7xQhx0qgZlYZTYlcEiRuAMMw=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nixpkgs.lib",
|
||||||
|
"rev": "e1e11fdbb01113d85c7f41cada9d2847660e3902",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nixpkgs.lib",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1760038930,
|
||||||
|
"narHash": "sha256-Oncbh0UmHjSlxO7ErQDM3KM0A5/Znfofj2BSzlHLeVw=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "0b4defa2584313f3b781240b29d61f6f9f7e0df3",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"home-manager": "home-manager",
|
||||||
|
"nix-colors": "nix-colors",
|
||||||
|
"nixpkgs": "nixpkgs",
|
||||||
|
"spicetify-nix": "spicetify-nix",
|
||||||
|
"zen-browser": "zen-browser"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"spicetify-nix": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs_2",
|
||||||
|
"systems": "systems"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1760243311,
|
||||||
|
"narHash": "sha256-LNrok211+WWlMGWqpGPpnGcnWhyo5SfvMv62uDiLzoI=",
|
||||||
|
"owner": "Gerg-L",
|
||||||
|
"repo": "spicetify-nix",
|
||||||
|
"rev": "93f1d45e48191a0b24c5c15e5cf369566ff75be9",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "Gerg-L",
|
||||||
|
"repo": "spicetify-nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"systems": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"zen-browser": {
|
||||||
|
"inputs": {
|
||||||
|
"home-manager": "home-manager_2",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1760646099,
|
||||||
|
"narHash": "sha256-hFoiRU9tM0ilgZS4gSO00nbnsuTQoYGQBb8+5Vma3Og=",
|
||||||
|
"owner": "0xc000022070",
|
||||||
|
"repo": "zen-browser-flake",
|
||||||
|
"rev": "f3fd50667a6ab075b1e7c406ff30c54684cefa16",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "0xc000022070",
|
||||||
|
"repo": "zen-browser-flake",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
||||||
52
flake.nix
Normal file
52
flake.nix
Normal file
|
|
@ -0,0 +1,52 @@
|
||||||
|
{
|
||||||
|
description = "NixOS configuration";
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
|
spicetify-nix.url = "github:Gerg-L/spicetify-nix";
|
||||||
|
home-manager = {
|
||||||
|
url = "github:nix-community/home-manager";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
nix-colors.url = "github:misterio77/nix-colors";
|
||||||
|
zen-browser = {
|
||||||
|
url = "github:0xc000022070/zen-browser-flake";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = { self, nixpkgs, home-manager, nix-colors, ... } @ inputs:
|
||||||
|
let
|
||||||
|
system = "x86_64-linux";
|
||||||
|
pkgs = import nixpkgs {
|
||||||
|
inherit system;
|
||||||
|
config.allowUnfree = true;
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
nixosConfigurations.virgil = nixpkgs.lib.nixosSystem {
|
||||||
|
inherit system;
|
||||||
|
specialArgs = { inherit inputs; };
|
||||||
|
modules = [
|
||||||
|
./configuration.nix
|
||||||
|
home-manager.nixosModules.home-manager
|
||||||
|
|
||||||
|
{
|
||||||
|
home-manager = {
|
||||||
|
useGlobalPkgs = true;
|
||||||
|
useUserPackages = true;
|
||||||
|
|
||||||
|
# Pass additional inputs to home-manager modules
|
||||||
|
extraSpecialArgs = { inherit inputs nix-colors; };
|
||||||
|
|
||||||
|
backupFileExtension = "backup";
|
||||||
|
|
||||||
|
users.tulg = {
|
||||||
|
imports = [ ./home.nix ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
37
hardware-configuration.nix
Normal file
37
hardware-configuration.nix
Normal file
|
|
@ -0,0 +1,37 @@
|
||||||
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ (modulesPath + "/profiles/qemu-guest.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "virtio_scsi" "sr_mod" "virtio_blk" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-amd" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-uuid/10d6e759-3b2a-4593-b7c8-21b78352781d";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-uuid/3639-959D";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = [ "fmask=0022" "dmask=0022" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [ ];
|
||||||
|
|
||||||
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
# still possible to use this option, but it's recommended to use it in conjunction
|
||||||
|
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||||
|
networking.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.enp1s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
}
|
||||||
154
home.nix
Normal file
154
home.nix
Normal file
|
|
@ -0,0 +1,154 @@
|
||||||
|
{ config, lib, pkgs, inputs, nix-colors, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
dots = "${config.home.homeDirectory}/nixdots/config";
|
||||||
|
symlink = path: config.lib.file.mkOutOfStoreSymlink path;
|
||||||
|
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.stdenv.system};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
inputs.zen-browser.homeModules.twilight
|
||||||
|
inputs.spicetify-nix.homeManagerModules.default
|
||||||
|
|
||||||
|
];
|
||||||
|
home.username = "tulg";
|
||||||
|
home.homeDirectory = "/home/tulg";
|
||||||
|
home.stateVersion = "25.05";
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
networkmanagerapplet
|
||||||
|
wdisplays
|
||||||
|
nwg-look
|
||||||
|
rose-pine-gtk-theme
|
||||||
|
xfce.thunar
|
||||||
|
arc-theme
|
||||||
|
# spotify
|
||||||
|
pavucontrol
|
||||||
|
wl-clipboard
|
||||||
|
hyprcursor
|
||||||
|
parsec-bin
|
||||||
|
file-roller
|
||||||
|
hyprpolkitagent
|
||||||
|
swww
|
||||||
|
grim
|
||||||
|
slurp
|
||||||
|
lf
|
||||||
|
pistol
|
||||||
|
waybar
|
||||||
|
wofi
|
||||||
|
mako
|
||||||
|
kitty
|
||||||
|
vesktop
|
||||||
|
libsForQt5.qtstyleplugin-kvantum
|
||||||
|
libsForQt5.qt5ct
|
||||||
|
rose-pine-kvantum
|
||||||
|
];
|
||||||
|
programs.vscode.enable = true;
|
||||||
|
programs.zen-browser.enable = true;
|
||||||
|
programs.zen-browser.policies = {
|
||||||
|
DisableAppUpdate = true;
|
||||||
|
DisableTelemetry = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.spicetify = {
|
||||||
|
enable = true;
|
||||||
|
theme = spicePkgs.themes.ziro;
|
||||||
|
colorScheme = "rose-pine-moon";
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg.configFile."hypr" = {
|
||||||
|
source = symlink "${dots}/hypr";
|
||||||
|
recursive = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg.configFile."waybar" = {
|
||||||
|
source = symlink "${dots}/waybar";
|
||||||
|
recursive = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg.configFile."kitty" = {
|
||||||
|
source = symlink "${dots}/kitty";
|
||||||
|
recursive = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg.configFile."wofi" = {
|
||||||
|
source = symlink "${dots}/wofi";
|
||||||
|
recursive = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg.configFile."mako" = {
|
||||||
|
source = symlink "${dots}/mako";
|
||||||
|
recursive = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg.configFile."lf" = {
|
||||||
|
source = symlink "${dots}/lf";
|
||||||
|
recursive = true;
|
||||||
|
};
|
||||||
|
programs.firefox.enable = true;
|
||||||
|
programs.bash = {
|
||||||
|
enable = true;
|
||||||
|
shellAliases = {
|
||||||
|
a = "echo ids";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
userName = "tulg";
|
||||||
|
userEmail = "tulg@protonmail.ch";
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
gtk = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
theme = {
|
||||||
|
name = "Nordic-darker";
|
||||||
|
package = pkgs.nordic;
|
||||||
|
};
|
||||||
|
|
||||||
|
iconTheme = {
|
||||||
|
name = "Papirus-Dark";
|
||||||
|
package = pkgs.papirus-icon-theme;
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
home.pointerCursor = {
|
||||||
|
gtk.enable = true;
|
||||||
|
x11.enable = true;
|
||||||
|
package = pkgs.bibata-cursors;
|
||||||
|
name = "Bibata-Modern-Classic";
|
||||||
|
size = 16;
|
||||||
|
};
|
||||||
|
nixpkgs.config.qt5 = {
|
||||||
|
enable = true;
|
||||||
|
platformTheme = "qt5ct";
|
||||||
|
style = {
|
||||||
|
package = pkgs.rose-pine-kvantum;
|
||||||
|
name = "Rose-pine";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
#
|
||||||
|
#
|
||||||
|
home.sessionVariables = {
|
||||||
|
NIXOS_OZONE_WL = "1"; # hint Electron apps to use Wayland
|
||||||
|
GTK_THEME = "rose-pine";
|
||||||
|
QT_QPA_PLATFORMTHEME = "qt5ct";
|
||||||
|
QT_QPA_PLATFORM = "wayland";
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg.portal = {
|
||||||
|
enable = true;
|
||||||
|
config.common.default = "*";
|
||||||
|
xdgOpenUsePortal = true;
|
||||||
|
extraPortals = [
|
||||||
|
pkgs.xdg-desktop-portal-hyprland
|
||||||
|
pkgs.xdg-desktop-portal-gtk
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue