From 0518efb332f5c9cf558cdd4619eab329f77b22b1 Mon Sep 17 00:00:00 2001 From: awy Date: Wed, 31 Jul 2024 19:26:35 +0300 Subject: clean --- .config/fastfetch/config.jsonc | 39 ++++++ .config/fish/config.fish | 4 + .config/hypr/hypridle.conf | 20 ++++ .config/hypr/hyprland.conf | 212 +++++++++++++++++++++++++++++++++ .config/hypr/hyprlock.conf | 83 +++++++++++++ .config/hypr/hyprpaper.conf | 4 + .config/hypr/portalstart | 8 ++ .config/hypr/start.sh | 6 + .config/kitty/dracula.conf | 66 ++++++++++ .config/kitty/gruvbox.conf | 53 +++++++++ .config/kitty/kitty.conf | 7 ++ .config/mako/config | 15 +++ .config/waybar/config | 128 ++++++++++++++++++++ .config/waybar/scripts/album_art.sh | 9 ++ .config/waybar/scripts/doppler | 1 + .config/waybar/scripts/hyprdoppler | 1 + .config/waybar/scripts/hyprweather | 1 + .config/waybar/scripts/onclick-weather | 2 + .config/waybar/scripts/pacpackages | 2 + .config/waybar/scripts/pacupdate | 4 + .config/waybar/scripts/weather | 3 + .config/waybar/style.css | 190 +++++++++++++++++++++++++++++ .config/waybar/theme.css | 26 ++++ .config/wofi/config | 41 +++++++ .config/wofi/style.css | 70 +++++++++++ README.md | 6 + dependencies.txt | 31 +++++ fishrice | 2 + rice.sh | 41 +++++++ 29 files changed, 1075 insertions(+) create mode 100644 .config/fastfetch/config.jsonc create mode 100644 .config/fish/config.fish create mode 100644 .config/hypr/hypridle.conf create mode 100644 .config/hypr/hyprland.conf create mode 100644 .config/hypr/hyprlock.conf create mode 100644 .config/hypr/hyprpaper.conf create mode 100755 .config/hypr/portalstart create mode 100755 .config/hypr/start.sh create mode 100644 .config/kitty/dracula.conf create mode 100644 .config/kitty/gruvbox.conf create mode 100644 .config/kitty/kitty.conf create mode 100644 .config/mako/config create mode 100644 .config/waybar/config create mode 100755 .config/waybar/scripts/album_art.sh create mode 100755 .config/waybar/scripts/doppler create mode 100755 .config/waybar/scripts/hyprdoppler create mode 100755 .config/waybar/scripts/hyprweather create mode 100755 .config/waybar/scripts/onclick-weather create mode 100755 .config/waybar/scripts/pacpackages create mode 100755 .config/waybar/scripts/pacupdate create mode 100755 .config/waybar/scripts/weather create mode 100644 .config/waybar/style.css create mode 100644 .config/waybar/theme.css create mode 100644 .config/wofi/config create mode 100644 .config/wofi/style.css create mode 100644 README.md create mode 100644 dependencies.txt create mode 100755 fishrice create mode 100755 rice.sh 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 = # 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 = $FAIL ($ATTEMPTS) # can be set to empty + fail_text = + 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} {artist} - {title}", + "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!" -- cgit v1.2.3