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,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