Basic rice set up. Still need to add a way to reiably update the package lists and i need a launcher.

This commit is contained in:
Jurn Wubben 2025-10-28 17:49:16 +01:00
commit 3e89f350a6
107 changed files with 7553 additions and 0 deletions

View file

@ -0,0 +1,88 @@
@define-color accent_color #{{.colors.base0D}};
@define-color accent_bg_color #{{.colors.base0D}};
@define-color accent_fg_color #{{.colors.base00}};
@define-color destructive_color #{{.colors.base08}};
@define-color destructive_bg_color #{{.colors.base08}};
@define-color destructive_fg_color #{{.colors.base00}};
@define-color success_color #{{.colors.base0B}};
@define-color success_bg_color #{{.colors.base0B}};
@define-color success_fg_color #{{.colors.base00}};
@define-color warning_color #{{.colors.base0E}};
@define-color warning_bg_color #{{.colors.base0E}};
@define-color warning_fg_color #{{.colors.base00}};
@define-color error_color #{{.colors.base08}};
@define-color error_bg_color #{{.colors.base08}};
@define-color error_fg_color #{{.colors.base00}};
@define-color window_bg_color #{{.colors.base00}};
@define-color window_fg_color #{{.colors.base05}};
@define-color view_bg_color #{{.colors.base00}};
@define-color view_fg_color #{{.colors.base05}};
@define-color headerbar_bg_color #{{.colors.base01}};
@define-color headerbar_fg_color #{{.colors.base05}};
{{/*@define-color headerbar_border_color rgba({{substr 0 2 .colors.base01}}, {{substr 2 4 .colors.base01}}, {{substr 4 6 .colors.base01}}, 0.7);*/}}
@define-color headerbar_backdrop_color @window_bg_color;
@define-color headerbar_shade_color rgba(0, 0, 0, 0.07);
@define-color headerbar_darker_shade_color rgba(0, 0, 0, 0.07);
@define-color sidebar_bg_color #{{.colors.base01}};
@define-color sidebar_fg_color #{{.colors.base05}};
@define-color sidebar_backdrop_color @window_bg_color;
@define-color sidebar_shade_color rgba(0, 0, 0, 0.07);
@define-color secondary_sidebar_bg_color @sidebar_bg_color;
@define-color secondary_sidebar_fg_color @sidebar_fg_color;
@define-color secondary_sidebar_backdrop_color @sidebar_backdrop_color;
@define-color secondary_sidebar_shade_color @sidebar_shade_color;
@define-color card_bg_color #{{.colors.base01}};
@define-color card_fg_color #{{.colors.base05}};
@define-color card_shade_color rgba(0, 0, 0, 0.07);
@define-color dialog_bg_color #{{.colors.base01}};
@define-color dialog_fg_color #{{.colors.base05}};
@define-color popover_bg_color #{{.colors.base01}};
@define-color popover_fg_color #{{.colors.base05}};
@define-color popover_shade_color rgba(0, 0, 0, 0.07);
@define-color shade_color rgba(0, 0, 0, 0.07);
@define-color scrollbar_outline_color #{{.colors.base02}};
@define-color blue_1 #{{.colors.base0D}};
@define-color blue_2 #{{.colors.base0D}};
@define-color blue_3 #{{.colors.base0D}};
@define-color blue_4 #{{.colors.base0D}};
@define-color blue_5 #{{.colors.base0D}};
@define-color green_1 #{{.colors.base0B}};
@define-color green_2 #{{.colors.base0B}};
@define-color green_3 #{{.colors.base0B}};
@define-color green_4 #{{.colors.base0B}};
@define-color green_5 #{{.colors.base0B}};
@define-color yellow_1 #{{.colors.base0A}};
@define-color yellow_2 #{{.colors.base0A}};
@define-color yellow_3 #{{.colors.base0A}};
@define-color yellow_4 #{{.colors.base0A}};
@define-color yellow_5 #{{.colors.base0A}};
@define-color orange_1 #{{.colors.base09}};
@define-color orange_2 #{{.colors.base09}};
@define-color orange_3 #{{.colors.base09}};
@define-color orange_4 #{{.colors.base09}};
@define-color orange_5 #{{.colors.base09}};
@define-color red_1 #{{.colors.base08}};
@define-color red_2 #{{.colors.base08}};
@define-color red_3 #{{.colors.base08}};
@define-color red_4 #{{.colors.base08}};
@define-color red_5 #{{.colors.base08}};
@define-color purple_1 #{{.colors.base0E}};
@define-color purple_2 #{{.colors.base0E}};
@define-color purple_3 #{{.colors.base0E}};
@define-color purple_4 #{{.colors.base0E}};
@define-color purple_5 #{{.colors.base0E}};
@define-color brown_1 #{{.colors.base0F}};
@define-color brown_2 #{{.colors.base0F}};
@define-color brown_3 #{{.colors.base0F}};
@define-color brown_4 #{{.colors.base0F}};
@define-color brown_5 #{{.colors.base0F}};
@define-color light_1 #{{.colors.base05}};
@define-color light_2 #{{.colors.base05}};
@define-color light_3 #{{.colors.base05}};
@define-color light_4 #{{.colors.base05}};
@define-color light_5 #{{.colors.base05}};
@define-color dark_1 #{{.colors.base05}};
@define-color dark_2 #{{.colors.base05}};
@define-color dark_3 #{{.colors.base05}};
@define-color dark_4 #{{.colors.base05}};
@define-color dark_5 #{{.colors.base05}};

View file

@ -0,0 +1,17 @@
[Settings]
gtk-theme-name=adw-gtk3-dark
gtk-icon-theme-name=Adwaita
gtk-font-name=Adwaita Sans 11
gtk-cursor-theme-name=Bibata-Modern-Ice
gtk-cursor-theme-size=24
gtk-toolbar-style=GTK_TOOLBAR_ICONS
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-button-images=0
gtk-menu-images=0
gtk-enable-event-sounds=1
gtk-enable-input-feedback-sounds=0
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle=hintslight
gtk-xft-rgba=rgb
gtk-application-prefer-dark-theme=0

View file

@ -0,0 +1,7 @@
[Settings]
gtk-theme-name=adw-gtk3
gtk-icon-theme-name=Adwaita
gtk-font-name=Adwaita Sans 11
gtk-cursor-theme-name=Bibata-Modern-Ice
gtk-cursor-theme-size=24
gtk-application-prefer-dark-theme=1

View file

@ -0,0 +1 @@
/home/jsw/.config/gtk-3.0/gtk.css

View file

@ -0,0 +1,17 @@
first_name_only = false
show_receipts = true
notifications = true
bell = true
colored_messages = false
default_keybindings = true
[user]
display_name = "jsw"
[keybindings.normal]
alt-enter = ""
ctrl-p = "toggle_multiline"
ctrl-j= "select_message next entry"
ctrl-k = "select_message previous entry"
ctrl-shift-j= "select_channel next"
ctrl-shift-k = "select_channel previous"

View file

@ -0,0 +1,17 @@
theme = "default-jsw"
[editor]
line-number = "relative"
default-yank-register = "+"
bufferline = "multiple"
[editor.cursor-shape]
insert = "bar"
normal = "block"
select = "underline"
[keys.normal]
"C-/" = "toggle_comments"
### THEMING

View file

@ -0,0 +1,97 @@
"attribute" = "base09"
"comment" = { fg = "base03", modifiers = ["italic"] }
"constant" = "base09"
"constant.character.escape" = "base0C"
"constant.numeric" = "base09"
"constructor" = "base0D"
"debug" = "base03"
"diagnostic" = { modifiers = ["underlined"] }
"diff.delta" = "base09"
"diff.minus" = "base08"
"diff.plus" = "base0B"
"error" = "base08"
"function" = "base0D"
"hint" = "base03"
"info" = "base0D"
"keyword" = "base0E"
"label" = "base0E"
"namespace" = "base0E"
"operator" = "base05"
"special" = "base0D"
"string" = "base0B"
"tag" = "base08"
"type" = "base0A"
"variable" = "base08"
"variable.other.member" = "base0D"
"warning" = "base09"
"markup.bold" = { fg = "base0A", modifiers = ["bold"] }
"markup.heading.1" = { fg = "base0D", modifiers = ["bold"] }
"markup.heading.2" = { fg = "base08", modifiers = ["bold"] }
"markup.heading.3" = { fg = "base09", modifiers = ["bold"] }
"markup.heading.4" = { fg = "base0A", modifiers = ["bold"] }
"markup.heading.5" = { fg = "base0B", modifiers = ["bold"] }
"markup.heading.6" = { fg = "base0C", modifiers = ["bold"] }
"markup.italic" = { fg = "base0E", modifiers = ["italic"] }
"markup.link.text" = "base08"
"markup.link.url" = { fg = "base09", modifiers = ["underlined"] }
"markup.list" = "base08"
"markup.quote" = "base0C"
"markup.raw" = "base0B"
"markup.strikethrough" = { modifiers = ["crossed_out"] }
"diagnostic.hint" = { underline = { style = "curl" } }
"diagnostic.info" = { underline = { style = "curl" } }
"diagnostic.warning" = { underline = { style = "curl" } }
"diagnostic.error" = { underline = { style = "curl" } }
"ui.background" = { bg = "base00" }
"ui.bufferline.active" = { fg = "base00", bg = "base03", modifiers = ["bold"] }
"ui.bufferline" = { fg = "base04", bg = "base00" }
"ui.cursor" = { fg = "base06", modifiers = ["reversed"] }
"ui.cursor.primary" = { fg = "base05", modifiers = ["reversed"] }
"ui.cursorline.primary" = { fg = "base05", bg = "base01" }
"ui.cursor.match" = { fg = "base05", bg = "base02", modifiers = ["bold"] }
"ui.cursor.select" = { fg = "base05", modifiers = ["reversed"] }
"ui.gutter" = { bg = "base00" }
"ui.help" = { fg = "base06", bg = "base01" }
"ui.linenr" = { fg = "base03", bg = "base00" }
"ui.linenr.selected" = { fg = "base04", bg = "base01", modifiers = ["bold"] }
"ui.menu" = { fg = "base05", bg = "base01" }
"ui.menu.scroll" = { fg = "base03", bg = "base01" }
"ui.menu.selected" = { fg = "base01", bg = "base04" }
"ui.popup" = { bg = "base01" }
"ui.selection" = { bg = "base02" }
"ui.selection.primary" = { bg = "base02" }
"ui.statusline" = { fg = "base04", bg = "base01" }
"ui.statusline.inactive" = { bg = "base01", fg = "base03" }
"ui.statusline.insert" = { fg = "base00", bg = "base0B" }
"ui.statusline.normal" = { fg = "base00", bg = "base03" }
"ui.statusline.select" = { fg = "base00", bg = "base0F" }
"ui.text" = "base05"
"ui.text.directory" = "base0D"
"ui.text.focus" = "base05"
"ui.virtual.indent-guide" = { fg = "base03" }
"ui.virtual.inlay-hint" = { fg = "base03" }
"ui.virtual.ruler" = { bg = "base01" }
"ui.virtual.jump-label" = { fg = "base0A", modifiers = ["bold"] }
"ui.virtual.whitespace" = { fg = "base03" }
"ui.window" = { bg = "base01" }
[palette]
base00 = "#{{.colors.base00}}" # Default Background
base01 = "#{{.colors.base01}}" # Lighter Background (Used for status bars, line number and folding marks)
base02 = "#{{.colors.base02}}" # Selection Background
base03 = "#{{.colors.base03}}" # Comments, Invisibles, Line Highlighting
base04 = "#{{.colors.base04}}" # Dark Foreground (Used for status bars)
base05 = "#{{.colors.base05}}" # Default Foreground, Caret, Delimiters, Operators
base06 = "#{{.colors.base06}}" # Light Foreground (Not often used)
base07 = "#{{.colors.base07}}" # Light Background (Not often used)
base08 = "#{{.colors.base08}}" # Variables, XML Tags, Markup Link Text, Markup Lists, Diff Deleted
base09 = "#{{.colors.base09}}" # Integers, Boolean, Constants, XML Attributes, Markup Link Url
base0A = "#{{.colors.base0A}}" # Classes, Markup Bold, Search Text Background
base0B = "#{{.colors.base0B}}" # Strings, Inherited Class, Markup Code, Diff Inserted
base0C = "#{{.colors.base0C}}" # Support, Regular Expressions, Escape Characters, Markup Quotes
base0D = "#{{.colors.base0D}}" # Functions, Methods, Attribute IDs, Headings
base0E = "#{{.colors.base0E}}" # Keywords, Storage, Selector, Markup Italic, Diff Changed
base0F = "#{{.colors.base0F}}" # Deprecated, Opening/Closing Embedded Language Tags, e.g. <?php ?>

View file

@ -0,0 +1,15 @@
source = ~/.config/hypr/land/defaults.conf
source = ~/.config/hypr/land/env.conf
source = ~/.config/hypr/land/lookandfeel.conf
source = ~/.config/hypr/land/input.conf
source = ~/.config/hypr/land/binds.conf
source = ~/.config/hypr/land/rules.conf
monitor=,preferred,auto,auto
# Must be last in case they don't exist and shit'll error.
source = ~/.config/hypr/land/startup.conf
source = ~/.config/hypr/land/monitors.conf # nwg-display support
source = ~/.config/hypr/land/workspaces.conf

View file

@ -0,0 +1,90 @@
# App launching
bind = $mod, Return, exec, $terminal
bind = $mod SHIFT, Return, exec, $browser
bind = $mod, a, exec, $audio
bind = $mod, n, exec, $networking
bind = $mod, b, exec, $bluetooth
bind = $mod, p, exec, $display
bind = $mod, d, exec, $menu
bind = $mod, escape, exec, $lock
bind = CTRL, Print, exec, ~/.config/hypr/scripts/recording.sh
bind = , Print, exec, mkdir -p ~/Pictures/Screenshots && grim -t ppm -o "$(hyprctl activeworkspace -j | jq -r '.monitor')" - | satty -f - -o ~/Pictures/Screenshots/satty-$(date '+%Y%m%d-%H:%M:%S').png
bind = $mod, Q, killactive
bind = $mod, F, fullscreen
bind = $mod SHIFT, E, exit
bind = $mod, Space, togglefloating
# App moving
bind = $mod, h, movefocus, l
bind = $mod, l, movefocus, r
bind = $mod, k, movefocus, u
bind = $mod, j, movefocus, d
bind = $mod SHIFT, h, movewindow, l
bind = $mod SHIFT, l, movewindow, r
bind = $mod SHIFT, k, movewindow, u
bind = $mod SHIFT, j, movewindow, d
# App resizing
bind = $mod, R, submap, resize
submap = resize
binde = , h, resizeactive, -10 0
binde = , l, resizeactive, 10 0
binde = , k, resizeactive, 0, -10
binde = , j, resizeactive, 0, 10
bind = $mod, R, submap, reset
bind = , Return, submap, reset
bind = , escape, submap, reset
submap = reset
# Workspaces
bind = $mod, 1, workspace, 1
bind = $mod, 2, workspace, 2
bind = $mod, 3, workspace, 3
bind = $mod, 4, workspace, 4
bind = $mod, 5, workspace, 5
bind = $mod, 6, workspace, 6
bind = $mod, 7, workspace, 7
bind = $mod, 8, workspace, 8
bind = $mod, 9, workspace, 9
bind = $mod, 0, workspace, 10
bind = $mod SHIFT, 1, movetoworkspace, 1
bind = $mod SHIFT, 2, movetoworkspace, 2
bind = $mod SHIFT, 3, movetoworkspace, 3
bind = $mod SHIFT, 4, movetoworkspace, 4
bind = $mod SHIFT, 5, movetoworkspace, 5
bind = $mod SHIFT, 6, movetoworkspace, 6
bind = $mod SHIFT, 7, movetoworkspace, 7
bind = $mod SHIFT, 8, movetoworkspace, 8
bind = $mod SHIFT, 9, movetoworkspace, 9
bind = $mod SHIFT, 0, movetoworkspace, 10
## TODO: changeme scratchpad
bind = $mod, S, togglespecialworkspace, magic
bind = $mod SHIFT, S, movetoworkspace, special:magic
# Mouse bindings
bind = $mod, mouse_down, workspace, e+1
bind = $mod, mouse_up, workspace, e-1
bindm = $mod, mouse:272, movewindow
bindm = $mod, mouse:273, resizewindow
# Laptop multimedia keys for volume and LCD brightness
bind = ,XF86AudioMedia, exec, ~/.config/hypr/scripts/switch_powerprofiles.sh toggle
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+
bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%-
# Playback
bindl = , XF86AudioNext, exec, playerctl next
bindl = , XF86AudioPause, exec, playerctl play-pause
bindl = , XF86AudioPlay, exec, playerctl play-pause
bindl = , XF86AudioPrev, exec, playerctl previous

View file

@ -0,0 +1,16 @@
# Normal variables
$mod = alt
# Essential variables
$terminal = /usr/bin/kitty
$editor = /usr/bin/helix #THIS ONE MUST BE FULL PATH
$lock = /usr/bin/hyprlock -c ~/.config/hypr/lock/lock.conf
# Setting applications
$audio = $terminal /usr/bin/pulsemixer
$networking = $terminal /usr/bin/nmtui
$bluetooth = $terminal /usr/bin/bluetui
$display = /usr/bin/nwg-displays -w ~/.config/hypr/land/workspaces.conf -m ~/.config/hypr/land/monitors.conf
# Other applications
$browser = /usr/bin/firefox

View file

@ -0,0 +1,6 @@
env = XCURSOR_SIZE,24
env = HYPRCURSOR_SIZE,24
env = TERMINAL,$terminal
env = EDITOR,$editor

View file

@ -0,0 +1,18 @@
input {
repeat_rate = 60
repeat_delay = 200
kb_layout = us
kb_variant =
kb_model =
kb_options = compose:ralt
kb_rules =
follow_mouse = 1
sensitivity = 0
touchpad {
natural_scroll = false
}
}
gesture = 3, horizontal, workspace

View file

@ -0,0 +1,66 @@
general {
gaps_in = 3
gaps_out = 5
border_size = 1
col.active_border = rgb({{ .colors.base0E }})
col.inactive_border = rgb({{ .colors.base02 }})
resize_on_border = false
allow_tearing = false
layout = dwindle
}
decoration {
rounding = 5
rounding_power = 3
active_opacity = 0.95
inactive_opacity = 0.87
shadow {
enabled = true
range = 4
render_power = 3
color = rgb({{ .colors.base01 }})
}
blur {
enabled = true
size = 10
passes = 2
}
}
animations {
enabled = yes
bezier = expressiv2FastSpatial, 0.42, 1.67, 0.21, 0.90
bezier = expressiveSlowSpatial, 0.39, 1.29, 0.35, 0.98
bezier = expressiveDefaultSpatial, 0.38, 1.21, 0.22, 1.00
bezier = emphasizedDecel, 0.05, 0.7, 0.1, 1
bezier = emphasizedAccel, 0.3, 0, 0.8, 0.15
bezier = standardDecel, 0, 0, 0, 1
bezier = menu_decel, 0.1, 1, 0, 1
bezier = menu_accel, 0.52, 0.03, 0.72, 0.08
animation = windowsIn, 1, 3, emphasizedDecel, popin 80%
animation = windowsOut, 1, 2, emphasizedDecel, popin 90%
animation = windowsMove, 1, 3, emphasizedDecel, slide
animation = border, 1, 10, emphasizedDecel
animation = layersIn, 1, 2.7, emphasizedDecel, popin 93%
animation = layersOut, 1, 2.4, menu_accel, popin 94%
animation = fadeLayersIn, 1, 0.5, menu_decel
animation = fadeLayersOut, 1, 2.7, menu_accel
animation = workspaces, 1, 7, menu_decel, slide
animation = specialWorkspaceIn, 1, 2.8, emphasizedDecel, slidevert
animation = specialWorkspaceOut, 1, 1.2, emphasizedAccel, slidevert
}
dwindle {
pseudotile = true
preserve_split = true
}
misc {
force_default_wallpaper = -1
disable_hyprland_logo = false
}

View file

@ -0,0 +1,3 @@
# Generated by nwg-displays on 2025-10-18 at 21:02:54. Do not edit manually.
monitor=eDP-1,2880x1920@120.0,0x0,1.6

View file

@ -0,0 +1,2 @@
windowrule = suppressevent maximize, class:.*
windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0

View file

@ -0,0 +1,5 @@
exec-once = swaybg -i ~/Pictures/wallpaper.png
exec-once = waybar
exec-once = ~/.config/hypr/scripts/switch_powerprofiles.sh sync
exec-once = /usr/bin/hyprlock -c ~/.config/hypr/lock/login.conf
exec-once = mako

View file

@ -0,0 +1,57 @@
image {
halign=center
path=/home/jsw/Pictures/profile.png
position=0, 50
valign=center
}
input-field {
size=200,50
check_color=rgb(e5c890)
fail_color=rgb(e78284)
dots_center=true
dots_size=0.200000
dots_spacing=0.350000
fade_on_empty=false
font_color=rgb(c6d0f5)
halign=center
hide_input=false
inner_color=rgb(303446)
outer_color=rgb(292c3c)
outline_thickness=2
placeholder_text=<i>Input Password...</i>
position=0, -100
rounding=-1
valign=center
fail_text=<i>$FAIL <b>($ATTEMPTS)</b></i>
}
label {
font_family=JetBrains Mono
font_size=95
halign=center
position=0, 300
text=$TIME
valign=center
color_idle=rgba(c6d0f5, 0.75)
color_verify=rgba(51576d, 0.75)
color_fail=rgba(e78284, 0.75)
color_capslock=rgba(a6d189, 0.75)
}
label {
color=rgba(f2d5cf, 0.75)
font_family=JetBrains Mono
font_size=22
halign=center
position=0, 200
text=cmd[update:1000] echo $(date +"%A, %B %d")
valign=center
}
auth {
fingerprint {
enabled = true
retry_delay = 50
}
}

View file

@ -0,0 +1,7 @@
source = ~/.config/hypr/lock/common.conf
background {
blur_passes=2
blur_size=10
path=screenshot
}

View file

@ -0,0 +1,7 @@
source = ~/.config/hypr/lock/common.conf
background {
blur_passes=2
blur_size=10
path=~/Pictures/wallpaper.png
}

View file

@ -0,0 +1,14 @@
#!/bin/env bash
pgrep -x "wf-recorder" && pkill -INT -x wf-recorder && notify-send -h string:wf-recorder:record -t 1000 "Finished Recording" && exit 0
for i in $(seq 1 3); do
notify-send -h string:wf-recorder:record -t 1000 "Recording in:" "<span color='#90a4f4' font='26px'><i><b>$((4 - $i))</b></i></span>"
sleep 1
done
dateTime=$(date +%m-%d-%Y-%H:%M:%S)
dir="$HOME/Videos/ScreenRecordings"
mkdir -p "$dir"
wf-recorder -f "$dir/$dateTime.mp4"

View file

@ -0,0 +1,50 @@
#!/usr/bin/env bash
function sync() {
if [ "$(powerprofilesctl get)" = "power-saver" ]; then
hyprctl --batch "\
keyword animations:enabled 0;\
keyword decoration:shadow:enabled 0;\
keyword decoration:blur:enabled 0;\
keyword decoration:active_opacity 1;\
keyword decoration:inactive_opacity 1;\
keyword general:gaps_in 0;\
keyword general:gaps_out 0;\
keyword general:border_size 1;\
keyword decoration:rounding 0"
hyprctl keyword monitor eDP-1,2880x1920@60,0x0,1.5,vrr,1 #NOTE: use templating if you own multiple laptops
else
hyprctl reload
fi
hyprctl hyprpaper reload ,~/Pictures/wallpaper.png
}
function toggle() {
if [ "$(powerprofilesctl get)" = "power-saver" ]; then
powerprofilesctl set performance
else
powerprofilesctl set power-saver
fi
sync
}
if [ "$#" -ne 1 ]; then
echo "Usage: $0 {toggle|sync}"
exit 1
fi
case "$1" in
toggle)
toggle
;;
sync)
sync
;;
*)
echo "Invalid option: $1"
echo "Usage: $0 {toggle|sync}"
exit 1
;;
esac

View file

@ -0,0 +1,58 @@
# vim:ft=kitty
# The basic colors
background #{{.colors.base00}}
foreground #{{.colors.base05}}
selection_background #{{.colors.base05}}
selection_foreground #{{.colors.base00}}
# Cursor colors
cursor #{{.colors.base05}}
cursor_text_color #{{.colors.base00}}
# URL underline color when hovering with mouse
url_color #{{.colors.base04}}
# Kitty window border colors
active_border_color #{{.colors.base03}}
inactive_border_color #{{.colors.base01}}
# OS Window titlebar colors
wayland_titlebar_color #{{.colors.base00}}
macos_titlebar_color #{{.colors.base00}}
# Tab bar colors
active_tab_background #{{.colors.base00}}
active_tab_foreground #{{.colors.base05}}
inactive_tab_background #{{.colors.base01}}
inactive_tab_foreground #{{.colors.base04}}
tab_bar_background #{{.colors.base01}}
# The 16 terminal colors
# normal
color0 #{{.colors.base00}}
color1 #{{.colors.base08}}
color2 #{{.colors.base0B}}
color3 #{{.colors.base0A}}
color4 #{{.colors.base0D}}
color5 #{{.colors.base0E}}
color6 #{{.colors.base0C}}
color7 #{{.colors.base05}}
# bright
color8 #{{.colors.base02}}
color9 #{{.colors.base12}}
color10 #{{.colors.base14}}
color11 #{{.colors.base13}}
color12 #{{.colors.base16}}
color13 #{{.colors.base17}}
color14 #{{.colors.base15}}
color15 #{{.colors.base07}}
# extended .colors.base16 colors
color16 #{{.colors.base09}}
color17 #{{.colors.base0F}}
color18 #{{.colors.base01}}
color19 #{{.colors.base02}}
color20 #{{.colors.base04}}
color21 #{{.colors.base06}}

View file

@ -0,0 +1,14 @@
background-color=#{{.colors.base00}}
text-color=#{{.colors.base05}}
border-color=#{{.colors.base0D}}
default-timeout=3000
[urgency=low]
background-color=#{{.colors.base00}}
text-color=#{{.colors.base0A}}
border-color=#{{.colors.base0D}}
[urgency=high]
background-color=#{{.colors.base00}}
text-color=#{{.colors.base08}}
border-color=#{{.colors.base0D}}

View file

@ -0,0 +1,4 @@
ookla-speedtest-bin
python-ble-serial
yay-bin
yay-bin-debug

View file

@ -0,0 +1,71 @@
7zip
adw-gtk-theme
amd-ucode
aria2
atuin
base
bluetui
bluez
chezmoi
debugedit
efibootmgr
fakeroot
firefox
fish
fprintd
fwupd
fwupd-efi
git
greetd
gurk
helix
htop
hyprland
hyprlock
hyprshot
jq
kitty
libvdpau-va-gl
linux-firmware
linux-zen
make
mako
man-db
man-pages
mpv
ncspot
networkmanager
noto-fonts
noto-fonts-emoji
nwg-displays
nwg-look
openssh
pipewire
pkgconf
polkit-gnome
power-profiles-daemon
pulsemixer
rclone
reflector
rsync
rtkit
rust
rust-analyzer
satty
sudo
swaybg
tmux
ttf-jetbrains-mono-nerd
udisks2
vulkan-radeon
waybar
waypipe
wev
wf-recorder
which
wireless_tools
wireplumber
wl-clipboard
xdg-desktop-portal-hyprland
xdg-user-dirs
yazi

View file

@ -0,0 +1,89 @@
set -gx ATUIN_SESSION (atuin uuid)
set --erase ATUIN_HISTORY_ID
function _atuin_preexec --on-event fish_preexec
if not test -n "$fish_private_mode"
set -g ATUIN_HISTORY_ID (atuin history start -- "$argv[1]")
end
end
function _atuin_postexec --on-event fish_postexec
set -l s $status
if test -n "$ATUIN_HISTORY_ID"
ATUIN_LOG=error atuin history end --exit $s -- $ATUIN_HISTORY_ID &>/dev/null &
disown
end
set --erase ATUIN_HISTORY_ID
end
function _atuin_search
set -l keymap_mode
switch $fish_key_bindings
case fish_vi_key_bindings
switch $fish_bind_mode
case default
set keymap_mode vim-normal
case insert
set keymap_mode vim-insert
end
case '*'
set keymap_mode emacs
end
# In fish 3.4 and above we can use `"$(some command)"` to keep multiple lines separate;
# but to support fish 3.3 we need to use `(some command | string collect)`.
# https://fishshell.com/docs/current/relnotes.html#id24 (fish 3.4 "Notable improvements and fixes")
set -l ATUIN_H (ATUIN_SHELL=fish ATUIN_LOG=error ATUIN_QUERY=(commandline -b) atuin search --keymap-mode=$keymap_mode $argv -i 3>&1 1>&2 2>&3 | string collect)
if test -n "$ATUIN_H"
if string match --quiet '__atuin_accept__:*' "$ATUIN_H"
set -l ATUIN_HIST (string replace "__atuin_accept__:" "" -- "$ATUIN_H" | string collect)
commandline -r "$ATUIN_HIST"
commandline -f repaint
commandline -f execute
return
else
commandline -r "$ATUIN_H"
end
end
commandline -f repaint
end
function _atuin_bind_up
# Fallback to fish's builtin up-or-search if we're in search or paging mode
if commandline --search-mode; or commandline --paging-mode
up-or-search
return
end
# Only invoke atuin if we're on the top line of the command
set -l lineno (commandline --line)
switch $lineno
case 1
_atuin_search --shell-up-key-binding
case '*'
up-or-search
end
end
if string match -q '4.*' $version
bind ctrl-r _atuin_search
bind up _atuin_bind_up
if bind -M insert >/dev/null 2>&1
bind -M insert ctrl-r _atuin_search
# bind -M insert up _atuin_bind_up
end
else
bind \cr _atuin_search
bind -k up _atuin_bind_up
bind \eOA _atuin_bind_up
bind \e\[A _atuin_bind_up
if bind -M insert >/dev/null 2>&1
bind -M insert \cr _atuin_search
# bind -M insert -k up _atuin_bind_up; bind -M insert \eOA _atuin_bind_up; bind -M insert \e\[A _atuin_bind_up
end
end

View file

@ -0,0 +1,120 @@
set color00 {{substr 0 2 .colors.base00}}/{{substr 2 4 .colors.base00}}/{{substr 4 6 .colors.base00}} # Base 00 - Black
set color01 {{substr 0 2 .colors.base08}}/{{substr 2 4 .colors.base08}}/{{substr 4 6 .colors.base08}} # Base 08 - Red
set color02 {{substr 0 2 .colors.base0B}}/{{substr 2 4 .colors.base0B}}/{{substr 4 6 .colors.base0B}} # Base 0B - Green
set color03 {{substr 0 2 .colors.base0A}}/{{substr 2 4 .colors.base0A}}/{{substr 4 6 .colors.base0A}} # Base 0A - Yellow
set color04 {{substr 0 2 .colors.base0D}}/{{substr 2 4 .colors.base0D}}/{{substr 4 6 .colors.base0D}} # Base 0D - Blue
set color05 {{substr 0 2 .colors.base0E}}/{{substr 2 4 .colors.base0E}}/{{substr 4 6 .colors.base0E}} # Base 0E - Magenta
set color06 {{substr 0 2 .colors.base0C}}/{{substr 2 4 .colors.base0C}}/{{substr 4 6 .colors.base0C}} # Base 0C - Cyan
set color07 {{substr 0 2 .colors.base05}}/{{substr 2 4 .colors.base05}}/{{substr 4 6 .colors.base05}} # Base 05 - White
set color08 {{substr 0 2 .colors.base03}}/{{substr 2 4 .colors.base03}}/{{substr 4 6 .colors.base03}} # Base 03 - Bright Black
set color09 $color01 # Base 08 - Bright Red
set color10 $color02 # Base 0B - Bright Green
set color11 $color03 # Base 0A - Bright Yellow
set color12 $color04 # Base 0D - Bright Blue
set color13 $color05 # Base 0E - Bright Magenta
set color14 $color06 # Base 0C - Bright Cyan
set color15 {{substr 0 2 .colors.base07}}/{{substr 2 4 .colors.base07}}/{{substr 4 6 .colors.base07}} # Base 07 - Bright White
set color16 {{substr 0 2 .colors.base09}}/{{substr 2 4 .colors.base09}}/{{substr 4 6 .colors.base09}} # Base 09
set color17 {{substr 0 2 .colors.base0F}}/{{substr 2 4 .colors.base0F}}/{{substr 4 6 .colors.base0F}} # Base 0F
set color18 {{substr 0 2 .colors.base01}}/{{substr 2 4 .colors.base01}}/{{substr 4 6 .colors.base01}} # Base 01
set color19 {{substr 0 2 .colors.base02}}/{{substr 2 4 .colors.base02}}/{{substr 4 6 .colors.base02}} # Base 02
set color20 {{substr 0 2 .colors.base04}}/{{substr 2 4 .colors.base04}}/{{substr 4 6 .colors.base04}} # Base 04
set color21 {{substr 0 2 .colors.base06}}/{{substr 2 4 .colors.base06}}/{{substr 4 6 .colors.base06}} # Base 06
set colorfg $color07 # Base 05 - White
set colorbg $color00 # Base 00 - Black
if test -n "$TMUX"
# Tell tmux to pass the escape sequences through
# (Source: http://permalink.gmane.org/gmane.comp.terminal-emulators.tmux.user/1324)
function put_template; printf '\033Ptmux;\033\033]4;%d;rgb:%s\033\033\\\033\\' $argv; end;
function put_template_var; printf '\033Ptmux;\033\033]%d;rgb:%s\033\033\\\033\\' $argv; end;
function put_template_custom; printf '\033Ptmux;\033\033]%s%s\033\033\\\033\\' $argv; end;
else if string match 'screen*' $TERM # [ "${TERM%%[-.]*}" = "screen" ]
# GNU screen (screen, screen-256color, screen-256color-bce)
function put_template; printf '\033P\033]4;%d;rgb:%s\007\033\\' $argv; end;
function put_template_var; printf '\033P\033]%d;rgb:%s\007\033\\' $argv; end;
function put_template_custom; printf '\033P\033]%s%s\007\033\\' $argv; end;
else if string match 'linux*' $TERM # [ "${TERM%%-*}" = "linux" ]
function put_template; test $argv[1] -lt 16 && printf "\e]P%x%s" $argv[1] (echo $argv[2] | sed 's/\///g'); end;
function put_template_var; true; end;
function put_template_custom; true; end;
else
function put_template; printf '\033]4;%d;rgb:%s\033\\' $argv; end;
function put_template_var; printf '\033]%d;rgb:%s\033\\' $argv; end;
function put_template_custom; printf '\033]%s%s\033\\' $argv; end;
end
# 16 color space
put_template 0 $color00
put_template 1 $color01
put_template 2 $color02
put_template 3 $color03
put_template 4 $color04
put_template 5 $color05
put_template 6 $color06
put_template 7 $color07
put_template 8 $color08
put_template 9 $color09
put_template 10 $color10
put_template 11 $color11
put_template 12 $color12
put_template 13 $color13
put_template 14 $color14
put_template 15 $color15
# 256 color space
put_template 16 $color16
put_template 17 $color17
put_template 18 $color18
put_template 19 $color19
put_template 20 $color20
put_template 21 $color21
# foreground / background / cursor color
if test -n "$ITERM_SESSION_ID"
# iTerm2 proprietary escape codes
put_template_custom Pg {{.colors.base05}} # foreground
put_template_custom Ph {{.colors.base00}} # background
put_template_custom Pi {{.colors.base05}} # bold color
put_template_custom Pj {{.colors.base02}} # selection color
put_template_custom Pk {{.colors.base05}} # selected text color
put_template_custom Pl {{.colors.base05}} # cursor
put_template_custom Pm {{.colors.base00}} # cursor text
else
put_template_var 10 $colorfg
if [ "$BASE16_SHELL_SET_BACKGROUND" != false ]
put_template_var 11 $colorbg
if string match 'rxvt*' $TERM # [ "${TERM%%-*}" = "rxvt" ]
put_template_var 708 $colorbg # internal border (rxvt)
end
end
put_template_custom 12 ";7" # cursor (reverse video)
end
# set syntax highlighting colors
set -U fish_color_autosuggestion {{.colors.base02}}
set -U fish_color_cancel -r
set -U fish_color_command green #white
set -U fish_color_comment {{.colors.base02}}
set -U fish_color_cwd green
set -U fish_color_cwd_root red
set -U fish_color_end brblack #blue
set -U fish_color_error red
set -U fish_color_escape yellow #green
set -U fish_color_history_current --bold
set -U fish_color_host normal
set -U fish_color_match --background=brblue
set -U fish_color_normal normal
set -U fish_color_operator blue #green
set -U fish_color_param {{.colors.base04}}
set -U fish_color_quote yellow #brblack
set -U fish_color_redirection cyan
set -U fish_color_search_match bryellow --background={{.colors.base02}}
set -U fish_color_selection white --bold --background={{.colors.base02}}
set -U fish_color_status red
set -U fish_color_user brgreen
set -U fish_color_valid_path --underline
set -U fish_pager_color_completion normal
set -U fish_pager_color_description yellow --dim
set -U fish_pager_color_prefix white --bold #--underline
set -U fish_pager_color_progress brwhite --background=cyan

View file

@ -0,0 +1,15 @@
# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you're
# interested in. All local changes will be retained on the next run.
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
# absolute path. No other format is supported.
#
XDG_DESKTOP_DIR="$HOME/Desktop"
XDG_DOWNLOAD_DIR="$HOME/Downloads"
XDG_TEMPLATES_DIR="$HOME/Templates"
XDG_PUBLICSHARE_DIR="$HOME/Public"
XDG_DOCUMENTS_DIR="$HOME/Documents"
XDG_MUSIC_DIR="$HOME/Music"
XDG_PICTURES_DIR="$HOME/Pictures"
XDG_VIDEOS_DIR="$HOME/Videos"

View file

@ -0,0 +1 @@
/usr/lib/systemd/user/pipewire-pulse.service

View file

@ -0,0 +1 @@
/usr/lib/systemd/user/pipewire.service

View file

@ -0,0 +1 @@
/home/jsw/.config/systemd/user/polkit-gnome.service

View file

@ -0,0 +1 @@
/usr/lib/systemd/user/hyprpaper.service

View file

@ -0,0 +1,10 @@
[Unit]
Description=Polkit GNOME Authentication Agent
After=graphical-session.target
[Service]
ExecStart=/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
Restart=on-failure
[Install]
WantedBy=default.target

View file

@ -0,0 +1 @@
/usr/lib/systemd/user/pipewire-pulse.socket

View file

@ -0,0 +1 @@
/usr/lib/systemd/user/pipewire.socket

View file

@ -0,0 +1,104 @@
{
"layer": "bottom",
"position": "bottom",
"height": 26,
"spacing": 5,
"modules-left": ["hyprland/workspaces", "custom/platform-profile", "temperature"],
"modules-center": ["clock"],
"modules-right": ["wireplumber", "battery", "idle_inhibitor", "network", "bluetooth", "tray"],
"hyprland/workspaces": {
"format": "<span size='larger'>{icon}</span>",
"on-click": "activate",
"format-icons": {
"active": "\uf444",
"default": "\uf4c3"
},
"icon-size": 10,
"sort-by-number": true,
"persistent-workspaces": {
"1": [],
"2": [],
"3": [],
"4": [],
"5": [],
}
},
"clock": {
"format": "{:%d.%m.%Y | %H:%M}"
},
"wireplumber": {
"format": "\udb81\udd7e {volume}%",
"max-volume": 100,
"scroll-step": 5
},
"battery": {
"bat": "BAT1",
"interval": 60,
"format": "{icon} {capacity}%",
"format-icons": ["\uf244", "\uf243", "\uf242", "\uf241", "\uf240"],
},
"memory": {
"interval": 30,
"format": "\uf4bc {used:0.1f}G"
},
"temperature": {
"format": "{temperatureC}°C"
},
"network": {
"format": "",
"format-ethernet": "\udb83\udc9d",
"format-wifi": "{icon}",
"format-disconnected": "\udb83\udc9c",
"format-icons": ["\udb82\udd2f", "\udb82\udd1f", "\udb82\udd22", "\udb82\udd25", "\udb82\udd28"],
"tooltip-format-wifi": "{essid} ({signalStrength}%)",
"tooltip-format-ethernet": "{ifname}",
"tooltip-format-disconnected": "Disconnected",
},
"bluetooth": {
"format": "\udb80\udcaf",
"format-disabled": "\udb80\udcb2",
"format-connected": "\udb80\udcb1",
"tooltip-format": "{controller_alias}\t{controller_address}",
"tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{device_enumerate}",
"tooltip-format-enumerate-connected": "{device_alias}\t{device_address}"
},
"hyprland/language": {
"format": "{short}"
},
"tray": {
"icon-size": 16,
"spacing": 16
},
"custom/platform-profile": {
"format": "{icon}",
"exec": "~/.config/waybar/platform_profile.sh",
"return-type": "json",
"restart-interval": 1,
"format-icons": {
"low-power": "󰾆 ",
"balanced": "󰾅 ",
"performance": "󰓅 ",
"default": "?"
},
},
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "\udb80\udd76",
"deactivated": "\udb83\udfaa"
}
}
}

View file

@ -0,0 +1,2 @@
#!/bin/sh
echo "{\"alt\": \"$(cat /sys/firmware/acpi/platform_profile)\"}"

View file

@ -0,0 +1,39 @@
@define-color foreground #{{ .colors.base05 }};
@define-color foreground-inactive #{{.colors.base04 }};
@define-color background #{{.colors.base01 }};
* {
font-family: JetBrainsMono Nerd Font;
font-size: 14px;
padding: 0;
margin: 0;
}
#waybar {
color: @foreground;
background-color: @background;
}
#workspaces button {
color: @foreground;
padding-left: 0.7em;
}
#workspaces button.empty {
color: @foreground-inactive;
}
#memory,
#custom-platform-profile {
padding-left: 1em
}
#wireplumber,
#battery,
#idle_inhibitor,
#language,
#network,
#bluetooth,
#tray {
padding-right: 1em
}