aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.config/fastfetch/config.jsonc39
-rw-r--r--.config/fish/config.fish4
-rw-r--r--.config/hypr/hypridle.conf20
-rw-r--r--.config/hypr/hyprland.conf212
-rw-r--r--.config/hypr/hyprlock.conf83
-rw-r--r--.config/hypr/hyprpaper.conf4
-rwxr-xr-x.config/hypr/portalstart8
-rwxr-xr-x.config/hypr/start.sh6
-rw-r--r--.config/kitty/dracula.conf66
-rw-r--r--.config/kitty/gruvbox.conf53
-rw-r--r--.config/kitty/kitty.conf7
-rw-r--r--.config/mako/config15
-rw-r--r--.config/waybar/config128
-rwxr-xr-x.config/waybar/scripts/album_art.sh9
-rwxr-xr-x.config/waybar/scripts/doppler1
-rwxr-xr-x.config/waybar/scripts/hyprdoppler1
-rwxr-xr-x.config/waybar/scripts/hyprweather1
-rwxr-xr-x.config/waybar/scripts/onclick-weather2
-rwxr-xr-x.config/waybar/scripts/pacpackages2
-rwxr-xr-x.config/waybar/scripts/pacupdate4
-rwxr-xr-x.config/waybar/scripts/weather3
-rw-r--r--.config/waybar/style.css190
-rw-r--r--.config/waybar/theme.css26
-rw-r--r--.config/wofi/config41
-rw-r--r--.config/wofi/style.css70
-rw-r--r--README.md6
-rw-r--r--dependencies.txt31
-rwxr-xr-xfishrice2
-rwxr-xr-xrice.sh41
29 files changed, 1075 insertions, 0 deletions
diff --git a/.config/fastfetch/config.jsonc b/.config/fastfetch/config.jsonc
new file mode 100644
index 0000000..c543457
--- /dev/null
+++ b/.config/fastfetch/config.jsonc
@@ -0,0 +1,39 @@
+{
+ "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
+ "logo": {
+ "type": "small"
+ },
+ "modules": [
+ {
+ "type": "os",
+ "key": "os",
+ "keyColor": "red"
+ },
+ {
+ "type": "kernel",
+ "key": "kernel",
+ "keyColor": "yellow"
+ },
+ {
+ "type": "shell",
+ "key": "shell",
+ "keyColor": "green"
+ },
+ {
+ "type": "packages",
+ "key": "packages",
+ "keyColor": "cyan"
+ },
+ {
+ "type": "wm",
+ "key": "wm",
+ "keyColor": "blue"
+ },
+ {
+ "type": "memory",
+ "key": "memory",
+ "keyColor": "magenta"
+ },
+ "break"
+ ]
+}
diff --git a/.config/fish/config.fish b/.config/fish/config.fish
new file mode 100644
index 0000000..b29df19
--- /dev/null
+++ b/.config/fish/config.fish
@@ -0,0 +1,4 @@
+if status is-interactive
+ # Commands to run in interactive sessions can go here
+ [ "$(tty)" = "/dev/tty1" ] && ! pidof -s Hyprland >/dev/null 2>&1 && exec "/home/awy/.config/hypr/start.sh"
+end
diff --git a/.config/hypr/hypridle.conf b/.config/hypr/hypridle.conf
new file mode 100644
index 0000000..c867ff1
--- /dev/null
+++ b/.config/hypr/hypridle.conf
@@ -0,0 +1,20 @@
+general {
+ lock_cmd = notify-send "lock!" # dbus/sysd lock command (loginctl lock-session)
+ unlock_cmd = notify-send "unlock!" # same as above, but unlock
+ before_sleep_cmd = notify-send "Zzz" # command ran before sleep
+ after_sleep_cmd = notify-send "Awake!" # command ran after sleep
+ ignore_dbus_inhibit = false # whether to ignore dbus-sent idle-inhibit requests (used by e.g. firefox or steam)
+ ignore_systemd_inhibit = false # whether to ignore systemd-inhibit --what=idle inhibitors
+}
+
+listener {
+ timeout = 300 # 5min
+ on-timeout = hyprlock # command to run when timeout has passed
+ on-resume = notify-send "Welcome back!" # command to run when activity is detected after timeout has fired.
+}
+
+listener {
+ timeout = 320 # in seconds
+ on-timeout = hyprctl dispatch dpms off # command to run when timeout has passed
+ on-resume = hyprctl dispatch dpms on # command to run when activity is detected after timeout has fired.
+}
diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf
new file mode 100644
index 0000000..cf3dd40
--- /dev/null
+++ b/.config/hypr/hyprland.conf
@@ -0,0 +1,212 @@
+################
+### MONITORS ###
+################
+
+monitor=,preferred,auto,auto
+monitor=DP-3,2560x1440@240,2560x0,1
+monitor=DP-2,2560x1440@165,0x0,1
+
+###################
+### MY PROGRAMS ###
+###################
+
+$terminal = kitty
+$fileManager = dolphin
+$menu = wofi --show drun
+$browser = firefox
+
+#################
+### AUTOSTART ###
+#################
+
+exec-once=pipewire & pipewire-pulse & wireplumber
+exec-once=hyprpaper & waybar & mako
+exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
+exec-once=/home/awy/.config/hypr/portalstart
+exec-once = hypridle
+
+#############################
+### ENVIRONMENT VARIABLES ###
+#############################
+
+env = XCURSOR_THEME,Adwaita
+env = XCURSOR_SIZE,24
+env = HYPRCURSOR_THEME,Adwaita
+env = HYPRCURSOR_SIZE,24
+env = LIBVA_DRIVER_NAME,nvidia
+env = XDG_SESSION_TYPE,wayland
+env = GBM_BACKEND,nvidia-drm
+env = __GLX_VENDOR_LIBRARY_NAME,nvidia
+env = EDITOR,nvim
+env = ELECTRON_OZONE_PLATFORM_HINT,auto
+
+#####################
+### LOOK AND FEEL ###
+#####################
+
+general {
+ gaps_in = 5
+ gaps_out = 10
+
+ border_size = 2
+
+ col.active_border = rgba(fbf1c7ee)
+ col.inactive_border = rgba(3c3836ee)
+
+ resize_on_border = false
+
+ allow_tearing = false
+
+ layout = dwindle
+}
+
+decoration {
+ rounding = 0
+
+ active_opacity = 1.0
+ inactive_opacity = 1.0
+
+ drop_shadow = true
+ shadow_range = 32
+ shadow_render_power = 4
+ col.shadow = rgba(1a1a1aee)
+
+ blur {
+ enabled = true
+ size = 2
+ passes = 4
+ xray = false
+ ignore_opacity = true
+ vibrancy = 0.1696
+ popups = true
+ }
+}
+
+animations {
+ enabled = yes
+
+ bezier = quart, 0.25, 1, 0.5, 1
+
+ animation = windows, 1, 5, quart, slide
+ animation = border, 1, 5, quart
+ animation = borderangle, 1, 5, quart
+ animation = fade, 1, 5, quart
+ animation = workspaces, 1, 5, quart, slidevert
+}
+
+
+dwindle {
+ pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
+ preserve_split = true # You probably want this
+ no_gaps_when_only = 0
+}
+
+misc {
+ force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers
+ disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :(
+ disable_splash_rendering = true
+ enable_swallow = 1
+ swallow_regex = ^(kitty)$
+}
+
+#############
+### INPUT ###
+#############
+
+input {
+ kb_layout = us,ru
+ kb_variant =
+ kb_model =
+ kb_options = grp:alt_shift_toggle
+ kb_rules =
+
+ follow_mouse = 1
+
+ sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
+ force_no_accel = 1
+ touchpad {
+ natural_scroll = false
+ }
+}
+
+gestures {
+ workspace_swipe = false
+}
+
+####################
+### KEYBINDINGS ###
+####################
+
+$mainMod = SUPER # Sets "Windows" key as main modifier
+
+bind = $mainMod, Return, exec, $terminal
+bind = $mainMod SHIFT, Q, killactive,
+bind = $mainMod, M, exit,
+bind = $mainMod, E, exec, $fileManager
+bind = $mainMod SHIFT, B, exec, $browser
+bind = $mainMod, V, togglefloating,
+bind = $mainMod, Space, exec, $menu
+bind = $mainMod, P, pseudo, # dwindle
+bind = $mainMod SHIFT, J, togglesplit, # dwindle
+bind = $mainMod, F, fullscreen,
+bind = $mainMod SHIFT, Return, swapnext
+bind = $mainMod SHIFT, S, exec, grim -g "$(slurp -d)" - | wl-copy
+bind =,XF86AudioPlay, exec, playerctl play-pause
+bind =,XF86AudioPrev, exec, playerctl previous
+bind =,XF86AudioNext, exec, playerctl next
+bind =,mouse:276, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
+
+bind = $mainMod SHIFT, L, resizeactive, 100 0
+bind = $mainMod SHIFT, H, resizeactive, -100 0
+
+bind = $mainMod, H, movefocus, l
+bind = $mainMod, L, movefocus, r
+bind = $mainMod, K, movefocus, u
+bind = $mainMod, J, movefocus, d
+
+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
+
+bind = $mainMod SHIFT, 1, movetoworkspace, 1
+bind = $mainMod SHIFT, 2, movetoworkspace, 2
+bind = $mainMod SHIFT, 3, movetoworkspace, 3
+bind = $mainMod SHIFT, 4, movetoworkspace, 4
+bind = $mainMod SHIFT, 5, movetoworkspace, 5
+bind = $mainMod SHIFT, 6, movetoworkspace, 6
+bind = $mainMod SHIFT, 7, movetoworkspace, 7
+bind = $mainMod SHIFT, 8, movetoworkspace, 8
+bind = $mainMod SHIFT, 9, movetoworkspace, 9
+bind = $mainMod SHIFT, 0, movetoworkspace, 10
+
+bind = $mainMod, S, togglespecialworkspace, magic
+
+bind = $mainMod, mouse_down, workspace, e+1
+bind = $mainMod, mouse_up, workspace, e-1
+
+bindm = $mainMod, mouse:272, movewindow
+bindm = $mainMod, mouse:273, resizewindow
+
+##############################
+### WINDOWS AND WORKSPACES ###
+##############################
+
+windowrule = float, ^(imv)$
+windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.
+
+workspace=1,monitor:DP-2, persistent:true
+workspace=2,monitor:DP-2, persistent:true
+workspace=3,monitor:DP-3, persistent:true
+workspace=4,monitor:DP-3, persistent:true
+
+layerrule = blur, notifications
+layerrule = ignorezero, notifications
+layerrule = blur, waybar
+#layerrule = xray 1, waybar
diff --git a/.config/hypr/hyprlock.conf b/.config/hypr/hyprlock.conf
new file mode 100644
index 0000000..02b5fce
--- /dev/null
+++ b/.config/hypr/hyprlock.conf
@@ -0,0 +1,83 @@
+general {
+ ignore_empty_input = true
+}
+
+background {
+ monitor =
+ path = ~/.local/share/papes/wallhaven-kxg8xm_3840x2160.png
+ color = rgba(1e1e2ee0)
+
+ # all these options are taken from hyprland, see https://wiki.hyprland.org/Configuring/Variables/#blur for explanations
+ blur_passes = 4
+ blur_size = 6
+ noise = 0.05
+ contrast = 1.0
+ brightness = 0.8
+ vibrancy = 0.15
+ vibrancy_darkness = 1.0
+}
+
+label {
+ monitor =
+ text = $TIME
+ text_align = center # center/right or any value for default left. multi-line text alignment inside label container
+ color = rgb(255, 255, 255)
+ font_size = 128
+ font_family = JetBrainsMonoNerdFontMono Bold
+ rotate = 0 # degrees, counter-clockwise
+
+ position = 0, 360
+ halign = center
+ valign = center
+}
+label {
+ monitor =
+ text = Welcome back, $USER!
+ text_align = center # center/right or any value for default left. multi-line text alignment inside label container
+ color = rgb(255, 255, 255)
+ font_size = 32
+ font_family = JetBrainsMonoNerdFontMono Bold
+ rotate = 0 # degrees, counter-clockwise
+
+ position = 0, 100
+ halign = center
+ valign = center
+}
+
+input-field {
+ monitor =
+
+ shadow_passes = 4
+ shadow_size = 6
+ shadow_color = rgb(74c7ec)
+ shadow_boost = 1.0
+
+ size = 120, 40
+ outline_thickness = 4
+ dots_size = 0.33 # Scale of input-field height, 0.2 - 0.8
+ dots_spacing = 0.15 # Scale of dots' absolute size, 0.0 - 1.0
+ dots_center = true
+ dots_rounding = -1 # -1 default circle, -2 follow input-field rounding
+ outer_color = rgb(74c7ec)
+ inner_color = rgba(1e1e2ef0)
+ font_color = rgb(cdd6f4)
+ fade_on_empty = false
+ fade_timeout = 1000 # Milliseconds before fade_on_empty is triggered.
+ placeholder_text = <i></i> # Text rendered in the input box when it's empty.
+ hide_input = false
+ rounding = -1 # -1 means complete rounding (circle/oval)
+ check_color = rgb(f9e2af)
+ fail_color = rgb(f38ba8) # if authentication failed, changes outer_color and fail message color
+ # fail_text = <i>$FAIL <b>($ATTEMPTS)</b></i> # can be set to empty
+ fail_text = <i></i>
+ fail_transition = 300 # transition time in ms between normal outer_color and fail_color
+ capslock_color = -1
+ numlock_color = -1
+ bothlock_color = -1 # when both locks are active. -1 means don't change outer color (same for above)
+ invert_numlock = false # change color if numlock is off
+ swap_font_color = false # see below
+
+ position = 0, -20
+ halign = center
+ valign = center
+}
diff --git a/.config/hypr/hyprpaper.conf b/.config/hypr/hyprpaper.conf
new file mode 100644
index 0000000..bfbf0df
--- /dev/null
+++ b/.config/hypr/hyprpaper.conf
@@ -0,0 +1,4 @@
+ipc = on
+preload = /home/awy/.local/share/papes/Odles_Cisles_y_Mastle_pinus_Cembra.jpg
+wallpaper = , /home/awy/.local/share/papes/Odles_Cisles_y_Mastle_pinus_Cembra.jpg
+splash = false
diff --git a/.config/hypr/portalstart b/.config/hypr/portalstart
new file mode 100755
index 0000000..8f692bf
--- /dev/null
+++ b/.config/hypr/portalstart
@@ -0,0 +1,8 @@
+#!/bin/bash
+sleep 1
+killall xdg-desktop-portal-hyprland
+killall xdg-desktop-portal-wlr
+killall xdg-desktop-portal
+/usr/lib/xdg-desktop-portal-hyprland &
+sleep 2
+/usr/lib/xdg-desktop-portal &
diff --git a/.config/hypr/start.sh b/.config/hypr/start.sh
new file mode 100755
index 0000000..a8d1a17
--- /dev/null
+++ b/.config/hypr/start.sh
@@ -0,0 +1,6 @@
+#\!/bin/sh
+cd ~
+export XDG_RUNTIME_DIR="/tmp/hyprland"
+mkdir -p $XDG_RUNTIME_DIR
+chmod 0700 $XDG_RUNTIME_DIR
+exec dbus-launch --exit-with-session Hyprland
diff --git a/.config/kitty/dracula.conf b/.config/kitty/dracula.conf
new file mode 100644
index 0000000..8f05c52
--- /dev/null
+++ b/.config/kitty/dracula.conf
@@ -0,0 +1,66 @@
+# https://draculatheme.com/kitty
+#
+# Installation instructions:
+#
+# cp dracula.conf ~/.config/kitty/
+# echo "include dracula.conf" >> ~/.config/kitty/kitty.conf
+#
+# Then reload kitty for the config to take affect.
+# Alternatively copy paste below directly into kitty.conf
+
+foreground #f8f8f2
+background #282a36
+selection_foreground #ffffff
+selection_background #44475a
+
+url_color #8be9fd
+
+# black
+color0 #21222c
+color8 #6272a4
+
+# red
+color1 #ff5555
+color9 #ff6e6e
+
+# green
+color2 #50fa7b
+color10 #69ff94
+
+# yellow
+color3 #f1fa8c
+color11 #ffffa5
+
+# blue
+color4 #bd93f9
+color12 #d6acff
+
+# magenta
+color5 #ff79c6
+color13 #ff92df
+
+# cyan
+color6 #8be9fd
+color14 #a4ffff
+
+# white
+color7 #f8f8f2
+color15 #ffffff
+
+# Cursor colors
+cursor #f8f8f2
+cursor_text_color background
+
+# Tab bar colors
+active_tab_foreground #282a36
+active_tab_background #f8f8f2
+inactive_tab_foreground #282a36
+inactive_tab_background #6272a4
+
+# Marks
+mark1_foreground #282a36
+mark1_background #ff5555
+
+# Splits/Windows
+active_border_color #f8f8f2
+inactive_border_color #6272a4
diff --git a/.config/kitty/gruvbox.conf b/.config/kitty/gruvbox.conf
new file mode 100644
index 0000000..57fb6b7
--- /dev/null
+++ b/.config/kitty/gruvbox.conf
@@ -0,0 +1,53 @@
+
+cursor #928374
+cursor_text_color background
+
+url_color #83a598
+
+visual_bell_color #8ec07c
+bell_border_color #8ec07c
+
+active_border_color #d3869b
+inactive_border_color #665c54
+
+foreground #ebdbb2
+background #282828
+selection_foreground #928374
+selection_background #ebdbb2
+
+active_tab_foreground #fbf1c7
+active_tab_background #665c54
+inactive_tab_foreground #a89984
+inactive_tab_background #3c3836
+
+# black (bg3/bg4)
+color0 #665c54
+color8 #7c6f64
+
+# red
+color1 #cc241d
+color9 #fb4934
+
+#: green
+color2 #98971a
+color10 #b8bb26
+
+# yellow
+color3 #d79921
+color11 #fabd2f
+
+# blue
+color4 #458588
+color12 #83a598
+
+# purple
+color5 #b16286
+color13 #d3869b
+
+# aqua
+color6 #689d6a
+color14 #8ec07c
+
+# white (fg4/fg3)
+color7 #a89984
+color15 #bdae93
diff --git a/.config/kitty/kitty.conf b/.config/kitty/kitty.conf
new file mode 100644
index 0000000..a776939
--- /dev/null
+++ b/.config/kitty/kitty.conf
@@ -0,0 +1,7 @@
+include gruvbox.conf
+#cursor_shape beam
+font_family LiterationMono Nerd Font Mono
+font_size 14.0
+window_padding_width 10
+confirm_os_window_close 0
+#background_opacity 0.7
diff --git a/.config/mako/config b/.config/mako/config
new file mode 100644
index 0000000..1463884
--- /dev/null
+++ b/.config/mako/config
@@ -0,0 +1,15 @@
+
+# Colors
+
+background-color=#0c101bcc
+text-color=#ebdbb2
+border-color=#fbf1c7
+progress-color=over #282828
+border-radius=0
+font=LiterationMono Nerd Font
+default-timeout=5000
+
+[urgency=high]
+border-color=#fab387
+ignore-timeout=1
+
diff --git a/.config/waybar/config b/.config/waybar/config
new file mode 100644
index 0000000..fad921d
--- /dev/null
+++ b/.config/waybar/config
@@ -0,0 +1,128 @@
+{
+ "layer": "top",
+ "position": "bottom",
+ "spacing": 0,
+ "reload_style_on_change": true,
+ "modules-left": ["hyprland/workspaces","custom/separator","hyprland/window"],
+ "modules-center": [],
+ "modules-right": ["custom/pacman", "custom/weather","memory","temperature", "custom/separator", "image", "pulseaudio","wireplumber", "custom/separator", "clock","tray"],
+
+ "hyprland/window": {
+ "format": "{}",
+ "max-length": 50,
+ "separate-outputs": true,
+ "rewrite": {
+ "(.*) — Mozilla Firefox": "󰈹 $1",
+ "(.*)Mozilla Firefox": "󰈹 Firefox",
+ "nvim(.*)": " $1",
+ "(.*)spotify_player(.*)": "󰓇 Spotify",
+ "proxychains -q spoti(.*)": "󰓇 Spotify",
+ "(.*)Steam": "󰓓 Steam"
+ }
+ },
+
+ "hyprland/workspaces": {
+ "disable-scroll": true,
+ "all-outputs": true,
+ "on-click": "activate",
+ "format": "{name}",
+ "format-icons": {
+ "1": "",
+ "2": "",
+ "3": "",
+ "4": "",
+ "5": "",
+ "default": ""
+ },
+ },
+ "network": {
+ "tooltip": false,
+ "interval": 5,
+ "format": "󰜮 {bandwidthDownBytes} 󰜷 {bandwidthUpBytes}",
+ },
+ "tray": {
+ "spacing": 10
+ },
+ "clock": {
+ "interval": 1,
+ "format": "{:%H:%M:%S}",
+ "tooltip-format": "{:%a %d %b}"
+ },
+ "mpris": {
+ "tooltip": false,
+ "format": "{player_icon} {artist} - {title}",
+ "format-paused": "{status_icon} <b>{artist} - {title}</b>",
+ "player-icons": {
+ "default": "▶",
+ "spotify_player": "",
+ },
+ "status-icons": {
+ "paused": "󰏤",
+ "stopped": "",
+ },
+ "ignored-players": ["firefox"]
+ },
+ "cpu": {
+ "interval": 10,
+ "format": " {usage}%",
+ "tooltip": false,
+ "spacing": 0
+ },
+ "memory": {
+ "tooltip": false,
+ "format": " {used:0.01f}Gb",
+ "interval": 10,
+ },
+ "temperature": {
+ "tooltip": false,
+ "thermal-zone": 2,
+ "format": " {temperatureC}°C",
+ "interval": 10,
+ },
+ "image":{
+ "exec":"~/.config/waybar/scripts/album_art.sh",
+ //"path": "/tmp/cover.jpeg",
+ "size": 32,
+ "interval": 5,
+ },
+ "wireplumber": {
+ "format": "{icon} {volume}%",
+ "format-muted": "󰝟",
+ "on-click": "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle",
+ "format-icons": [" ", " ", " "]
+ },
+ "pulseaudio": {
+ "tooltip" : false,
+ "format": "{format_source}",
+ "format-source": " {volume}%",
+ "format-source-muted": " ",
+ "on-click": "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"
+ },
+ "custom/weather" : {
+ "tooltip" : false,
+ "signal": 9,
+ "format" : "{}",
+ "interval" : 300,
+ "exec" : "~/.config/waybar/scripts/weather",
+ "on-click": "~/.config/waybar/scripts/hyprweather",
+ "on-click-right": "pkill -RTMIN+9 waybar"
+ },
+ "custom/pacman" : {
+ "tooltip" : false,
+ "signal": 8,
+ "format" : "{}",
+ "interval" : 18000,
+ "exec" : "~/.config/waybar/scripts/pacpackages",
+ "on-click" : "~/.config/waybar/scripts/pacupdate",
+ "on-click-right" : "pkill -RTMIN+8 waybar"
+
+ },
+ "custom/separator" : {
+ "format" : " | ",
+ },
+ "custom/doppler" : {
+ "format": "🌅 ",
+ "on-click": "~/.config/waybar/scripts/hyprdoppler",
+ }
+}
+
diff --git a/.config/waybar/scripts/album_art.sh b/.config/waybar/scripts/album_art.sh
new file mode 100755
index 0000000..5a8cdab
--- /dev/null
+++ b/.config/waybar/scripts/album_art.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+album_art=$(playerctl -p spotify_player metadata mpris:artUrl)
+if [[ -z $album_art ]]
+then
+ # spotify is dead, we should die too.
+ exit
+fi
+curl -s "${album_art}" --output "/tmp/cover.jpeg"
+echo "/tmp/cover.jpeg"
diff --git a/.config/waybar/scripts/doppler b/.config/waybar/scripts/doppler
new file mode 100755
index 0000000..3d1b7dc
--- /dev/null
+++ b/.config/waybar/scripts/doppler
@@ -0,0 +1 @@
+curl -s "https://meteoinfo.ru/hmc-output/rmap/phenomena.gif" | imv - -H 1200 -W 1200
diff --git a/.config/waybar/scripts/hyprdoppler b/.config/waybar/scripts/hyprdoppler
new file mode 100755
index 0000000..d383b32
--- /dev/null
+++ b/.config/waybar/scripts/hyprdoppler
@@ -0,0 +1 @@
+hyprctl dispatch exec "[float; size 1200 1200;]" '/home/awy/.config/waybar/scripts/doppler'
diff --git a/.config/waybar/scripts/hyprweather b/.config/waybar/scripts/hyprweather
new file mode 100755
index 0000000..45687f6
--- /dev/null
+++ b/.config/waybar/scripts/hyprweather
@@ -0,0 +1 @@
+hyprctl dispatch exec "[float; size 1430 1100;]" 'kitty -e "/home/awy/.config/waybar/scripts/onclick-weather"'
diff --git a/.config/waybar/scripts/onclick-weather b/.config/waybar/scripts/onclick-weather
new file mode 100755
index 0000000..9592932
--- /dev/null
+++ b/.config/waybar/scripts/onclick-weather
@@ -0,0 +1,2 @@
+curl wttr.in
+read -p "Press Enter to continue..."
diff --git a/.config/waybar/scripts/pacpackages b/.config/waybar/scripts/pacpackages
new file mode 100755
index 0000000..e362ee2
--- /dev/null
+++ b/.config/waybar/scripts/pacpackages
@@ -0,0 +1,2 @@
+doas pacman -Sy > /dev/null 2>&1
+pacman -Qu | grep -Fcv "[ignored]" | sed "s/^/📦 /;s/^📦 0$//g"
diff --git a/.config/waybar/scripts/pacupdate b/.config/waybar/scripts/pacupdate
new file mode 100755
index 0000000..0bdf32e
--- /dev/null
+++ b/.config/waybar/scripts/pacupdate
@@ -0,0 +1,4 @@
+doas pacman -Syu --noconfirm
+sleep 5
+hyprctl notify 5 10000 "rgb(ff1ea3)" " Packages have been upgraded"
+pkill -RTMIN+8 waybar
diff --git a/.config/waybar/scripts/weather b/.config/waybar/scripts/weather
new file mode 100755
index 0000000..c80b387
--- /dev/null
+++ b/.config/waybar/scripts/weather
@@ -0,0 +1,3 @@
+#!/bin/sh
+#curl -s "wttr.in/?format=3" | awk '{print $3, $4}'
+curl -s "wttr.in/?format='%c%t'" | sed "s/'//g" | sed 's/ / /g'
diff --git a/.config/waybar/style.css b/.config/waybar/style.css
new file mode 100644
index 0000000..243fc28
--- /dev/null
+++ b/.config/waybar/style.css
@@ -0,0 +1,190 @@
+@import "theme.css";
+* {
+ border: none;
+ border-radius: 0;
+ font-family: IBMPlexMono;
+ font-weight: normal;
+ font-size: 14px;
+ min-height: 0;
+}
+
+#waybar {
+ background: rgba(0,0,0,0.5);
+ /*background: @base;*/
+}
+
+tooltip {
+ background: rgba(0,0,0,0.2);
+}
+
+#workspaces {
+ margin-left: 5px;
+}
+
+#workspaces button {
+ color:rgba(100,100,100,0.5);
+ border: 1px;
+ border-style: solid;
+ border-color: rgba(100,100,100,0.3);
+ background: rgba(0, 0, 0,0.2);
+ margin-top: 8px;
+ margin-bottom: 8px;
+ border-radius: 8px;
+ padding: 8px;
+ margin-right: 2px;
+}
+
+#workspaces button.active {
+ color: #FFFFFF;
+ border: 1px;
+ border-style: solid;
+ border-color: rgba(100,100,100,0.5);
+ background: rgba(0, 0, 0,0.3);
+ margin-top: 8px;
+ margin-bottom: 8px;
+ border-radius: 8px;
+ padding: 8px;
+}
+
+#window {
+ color: #FFFFFF;
+ border: 1px;
+ border-style: solid;
+ border-color: rgba(100,100,100,0.5);
+ background: rgba(0, 0, 0,0.3);
+ margin-top: 8px;
+ margin-bottom: 8px;
+ border-radius: 8px;
+ padding: 8px;
+}
+
+#mpris {
+ color: @mauve;
+}
+
+#network {
+ margin-left: 15px;
+ color: @blue;
+}
+
+#custom-weather {
+ margin-right: 5px;
+ color: #FFFFFF;
+ border: 1px;
+ border-style: solid;
+ border-color: rgba(100,100,100,0.5);
+ background: rgba(0, 0, 0,0.3);
+ margin-top: 8px;
+ margin-bottom: 8px;
+ border-radius: 8px;
+ padding: 8px;
+}
+
+#custom-pacman {
+ margin-right: 5px;
+ color: #FFFFFF;
+ border: 1px;
+ border-style: solid;
+ border-color: rgba(100,100,100,0.5);
+ background: rgba(0, 0, 0,0.3);
+ margin-top: 8px;
+ margin-bottom: 8px;
+ border-radius: 8px;
+ padding: 8px;
+}
+
+
+#custom-doppler {
+ margin-left: 15px;
+ color: @sky;
+}
+
+#pulseaudio {
+ margin-right: 5px;
+ color: #FFFFFF;
+ border: 1px;
+ border-style: solid;
+ border-color: rgba(100,100,100,0.5);
+ background: rgba(0, 0, 0,0.3);
+ margin-top: 8px;
+ margin-bottom: 8px;
+ border-radius: 8px;
+ padding: 8px;
+}
+
+#wireplumber {
+ color: #FFFFFF;
+ border: 1px;
+ border-style: solid;
+ border-color: rgba(100,100,100,0.5);
+ background: rgba(0, 0, 0,0.3);
+ margin-top: 8px;
+ margin-bottom: 8px;
+ border-radius: 8px;
+ padding: 8px;
+}
+
+#image {
+ margin-left: 3px;
+ margin-right: 8px;
+ color: #FFFFFF;
+ border: 1px;
+ border-style: solid;
+ border-color: rgba(100,100,100,0.5);
+ margin-top: 8px;
+ margin-bottom: 8px;
+}
+
+
+
+#cpu {
+ margin-left: 15px;
+ color: @yellow;
+}
+
+#memory {
+ margin-right: 5px;
+ color: #FFFFFF;
+ border: 1px;
+ border-style: solid;
+ border-color: rgba(100,100,100,0.5);
+ background: rgba(0, 0, 0,0.3);
+ margin-top: 8px;
+ margin-bottom: 8px;
+ border-radius: 8px;
+ padding: 8px;
+}
+
+#temperature {
+ color: #FFFFFF;
+ border: 1px;
+ border-style: solid;
+ border-color: rgba(100,100,100,0.5);
+ background: rgba(0, 0, 0,0.3);
+ margin-top: 8px;
+ margin-bottom: 8px;
+ border-radius: 8px;
+ padding: 8px;
+}
+
+#custom-separator {
+ color: #BBBBBB;
+}
+
+#clock {
+ margin-right: 5px;
+ color: #FFFFFF;
+ border: 1px;
+ border-style: solid;
+ border-color: rgba(100,100,100,0.5);
+ background: rgba(0, 0, 0,0.3);
+ margin-top: 8px;
+ margin-bottom: 8px;
+ border-radius: 8px;
+ padding: 8px;
+}
+
+#tray {
+ margin-right: 15px;
+ color: @red;
+}
diff --git a/.config/waybar/theme.css b/.config/waybar/theme.css
new file mode 100644
index 0000000..0eb6a82
--- /dev/null
+++ b/.config/waybar/theme.css
@@ -0,0 +1,26 @@
+@define-color rosewater #f5e0dc;
+@define-color flamingo #f2cdcd;
+@define-color pink #f5c2e7;
+@define-color mauve #cba6f7;
+@define-color red #f38ba8;
+@define-color maroon #eba0ac;
+@define-color peach #fab387;
+@define-color yellow #f9e2af;
+@define-color green #a6e3a1;
+@define-color teal #94e2d5;
+@define-color sky #89dceb;
+@define-color sapphire #74c7ec;
+@define-color blue #89b4fa;
+@define-color lavender #b4befe;
+@define-color text #cdd6f4;
+@define-color subtext1 #bac2de;
+@define-color subtext0 #a6adc8;
+@define-color overlay2 #9399b2;
+@define-color overlay1 #7f849c;
+@define-color overlay0 #6c7086;
+@define-color surface2 #585b70;
+@define-color surface1 #45475a;
+@define-color surface0 #313244;
+@define-color base #1e1e2e;
+@define-color mantle #181825;
+@define-color crust #11111b;
diff --git a/.config/wofi/config b/.config/wofi/config
new file mode 100644
index 0000000..72b5b3f
--- /dev/null
+++ b/.config/wofi/config
@@ -0,0 +1,41 @@
+## Wofi Config
+
+## General
+show=drun
+prompt=Apps
+normal_window=true
+layer=overlay
+term=kitty
+columns=2
+
+## Geometry
+width=30%
+height=30%
+location=top_left
+orientation=vertical
+halign=fill
+line_wrap=off
+dynamic_lines=false
+
+## Images
+allow_markup=true
+allow_images=true
+image_size=24
+
+## Search
+exec_search=false
+hide_search=false
+parse_search=false
+insensitive=false
+
+## Other
+hide_scroll=true
+no_actions=true
+sort_order=default
+gtk_dark=true
+filter_rate=100
+
+## Keys
+key_expand=Tab
+key_exit=Escape
+
diff --git a/.config/wofi/style.css b/.config/wofi/style.css
new file mode 100644
index 0000000..6132d1f
--- /dev/null
+++ b/.config/wofi/style.css
@@ -0,0 +1,70 @@
+*{
+font-family: "LiterationMono Nerd Font Mono";
+min-height: 0;
+font-size: 100%;
+font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"';
+padding: 0px;
+margin-top: 1px;
+margin-bottom: 1px;
+}
+
+
+#window {
+ /*background-color: --wofi-color0;*/
+ background-color: #282828;
+ /*color: --wofi-color2;
+ border: 2px solid --wofi-color1;*/
+ border-radius: 0px;
+}
+
+#outer-box {
+ padding: 20px;
+}
+
+#input {
+ /*background-color: --wofi-color1;
+ border: 1px solid --wofi-color3;*/
+ padding: 8px 12px;
+}
+
+#scroll {
+ margin-top: 20px;
+ margin-bottom: 20px;
+}
+
+#inner-box {
+}
+
+#img {
+ padding-right: 10px;
+}
+
+#text {
+ color: #ebdbb2;
+}
+
+#text:selected {
+ color: #282828;
+}
+
+#entry {
+ padding: 6px;
+}
+
+#entry:selected {
+ /*background-color: --wofi-color3;*/
+ background: #fbf1c7;
+ color: rgba(255, 0, 0, 0.0)
+}
+
+#unselected {
+}
+
+#selected {
+}
+
+#input, #entry:selected {
+ border-radius: 8px;
+ border: 1px solid #f6f6f6;
+}
+
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..08a17db
--- /dev/null
+++ b/README.md
@@ -0,0 +1,6 @@
+# Hyprland rice
+
+## v1.5
+
+:warning: Change $PERMUSER variable in **rice.sh** to your username.
+
diff --git a/dependencies.txt b/dependencies.txt
new file mode 100644
index 0000000..d6dbe19
--- /dev/null
+++ b/dependencies.txt
@@ -0,0 +1,31 @@
+hyprland
+pipewire
+pipewire-pulse
+pipewire-alsa
+wireplumber
+firefox
+wl-clipboard
+wofi
+kitty
+waybar
+neovim
+ttf-liberation-mono-nerd
+ttf-ubuntu-nerd
+noto-fonts-emoji
+xdg-desktop-portal-hyprland
+obs-studio
+qt6-base
+qt6-wayland
+grim
+slurp
+fish
+mpv
+yt-dlp
+fastfetch
+hyprpaper
+hyprlock
+hypridle
+mako
+unzip
+imv
+libnotify
diff --git a/fishrice b/fishrice
new file mode 100755
index 0000000..3b5273a
--- /dev/null
+++ b/fishrice
@@ -0,0 +1,2 @@
+fish_config prompt save pythonista
+set -U fish_greeting
diff --git a/rice.sh b/rice.sh
new file mode 100755
index 0000000..73e475e
--- /dev/null
+++ b/rice.sh
@@ -0,0 +1,41 @@
+WORKDIRECTORY=$PWD
+PERMUSER="awy"
+
+if [ "$EUID" -ne 0 ]
+ then printf "The script has to be run as root.\n"
+ exit
+fi
+
+DEPLIST="`sed -e 's/#.*$//' -e '/^$/d' dependencies.txt | tr '\n' ' '`"
+pacman -Sy --noconfirm
+pacman -S $DEPLIST --noconfirm
+
+usermod -aG seat,input,audio,video $PERMUSER
+doas -u $PERMUSER cp -r $WORKDIRECTORY/.config /home/$PERMUSER
+
+doas -u $PERMUSER mkdir -p /home/$PERMUSER/.local/share/themes
+doas -u $PERMUSER mkdir -p /home/$PERMUSER/.local/share/icons
+doas -u $PERMUSER mkdir -p /home/$PERMUSER/.local/share/papes
+
+cd $WORKDIRECTORY
+git clone https://codeberg.org/awy/gruvbox-gtk-theme
+doas -u $PERMUSER cp -r $WORKDIRECTORY/gruvbox-gtk-theme/Gruvbox-Dark /home/$PERMUSER/.local/share/themes
+#doas -u $PERMUSER cp -r $WORKDIRECTORY/gruvbox-gtk-theme/Gruvbox-Icons /home/$PERMUSER/.local/share/icons
+rm -rf $WORKDIRECTORY/gruvbox-gtk-theme
+
+doas -u $PERMUSER dbus-launch gsettings set org.gnome.desktop.interface gtk-theme "Gruvbox-Dark"
+#doas -u $PERMUSER dbus-launch gsettings set org.gnome.desktop.interface icon-theme "Gruvbox-Icons"
+doas -u $PERMUSER dbus-launch gsettings set org.gnome.desktop.wm.preferences button-layout 'appmenu'
+doas -u $PERMUSER dbus-launch gsettings set org.gnome.desktop.interface cursor-theme "Adwaita"
+doas -u $PERMUSER dbus-launch gsettings set org.gnome.desktop.interface font-name "Ubuntu Nerd Font 11"
+
+su - $PERMUSER -c "yes | fish $WORKDIRECTORY/fishrice"
+echo "[ -x /usr/bin/fish ] && SHELL=/usr/bin/fish exec fish" >> /home/$PERMUSER/.bashrc
+sudo -u $PERMUSER mkdir -p /home/$PERMUSER/.config/fish
+
+#echo -e '\033c\e[35mwelcome to the system, master >w<\e[36m' > /etc/issue
+#sed -i "s/seat\ -n\ 3/seat -n 3 -l silent/g" /etc/runit/sv/seatd/run
+cd $WORKDIRECTORY
+cd ..
+rm -rf hyprdots
+echo "Your linux is riced!"