diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf
new file mode 100644
index 0000000..2c48b3b
--- /dev/null
+++ b/.config/hypr/hyprland.conf
@@ -0,0 +1,183 @@
+
+# See https://wiki.hyprland.org/Configuring/Monitors/
+monitor=DVI-D-1,preferred,-1920x0,auto
+monitor=HDMI-A-1,preferred,auto,auto
+
+# workspace binding
+workspace=1,monitor:DVI-D-1
+workspace=2,monitor:HDMI-A-1
+workspace=3,monitor:HDMI-A-1
+workspace=4,monitor:HDMI-A-1
+workspace=5,monitor:HDMI-A-1
+workspace=6,monitor:HDMI-A-1
+workspace=7,monitor:HDMI-A-1
+workspace=8,monitor:HDMI-A-1
+workspace=9,monitor:HDMI-A-1
+workspace=10,monitor:HDMI-A-1
+
+
+# Execute your favorite apps at launch
+exec-once = ~/.config/hypr/xdg.sh
+exec-once = hyprpaper
+exec-once = swayidle -w timeout 600 swaylock before-sleep swaylock
+exec-once = ~/.config/hypr/start-in-tray.sh
+
+# Set programs that you use
+$terminal = alacritty
+$fileManager = dolphin
+$menu = wofi --show drun
+
+# Some default env vars.
+env = XCURSOR_SIZE,24
+
+# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
+input {
+ kb_layout = us
+ kb_variant =
+ kb_model =
+ kb_options =
+ kb_rules =
+
+ follow_mouse = 1
+
+ touchpad {
+ natural_scroll = no
+ }
+
+ sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
+}
+
+general {
+ # See https://wiki.hyprland.org/Configuring/Variables/ for more
+
+ gaps_in = 5
+ gaps_out = 10
+ border_size = 2
+ col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
+ col.inactive_border = rgba(595959aa)
+
+ layout = master
+
+ # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
+ allow_tearing = false
+}
+
+decoration {
+ # See https://wiki.hyprland.org/Configuring/Variables/ for more
+
+ rounding = 5
+
+ blur {
+ enabled = true
+ size = 3
+ passes = 1
+ }
+
+ drop_shadow = yes
+ shadow_range = 4
+ shadow_render_power = 3
+ col.shadow = rgba(1a1a1aee)
+}
+
+animations {
+ enabled = yes
+
+ # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
+
+ bezier = myBezier, 0.05, 0.9, 0.1, 1.05
+
+ animation = windows, 1, 7, myBezier
+ animation = windowsOut, 1, 7, default, popin 80%
+ animation = border, 1, 10, default
+ animation = borderangle, 1, 8, default
+ animation = fade, 1, 7, default
+ animation = workspaces, 1, 6, default
+}
+
+dwindle {
+ # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
+ pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
+ preserve_split = yes # you probably want this
+}
+
+master {
+ new_is_master = true
+ new_on_top = true
+}
+
+gestures {
+ # See https://wiki.hyprland.org/Configuring/Variables/ for more
+ workspace_swipe = off
+}
+
+misc {
+ # See https://wiki.hyprland.org/Configuring/Variables/ for more
+ force_default_wallpaper = 0 # Set to 0 to disable the anime mascot wallpapers
+}
+
+# Example per-device config
+# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
+device:epic-mouse-v1 {
+ sensitivity = -0.5
+}
+
+# Example windowrule v1
+# windowrule = float, ^(kitty)$
+# Example windowrule v2
+# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
+# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
+windowrulev2 = nomaximizerequest, class:.* # You'll probably like this.
+
+
+# See https://wiki.hyprland.org/Configuring/Keywords/ for more
+$mainMod = SUPER
+
+# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
+bind = $mainMod SHIFT, Return, exec, $terminal
+bind = $mainMod, Q, killactive,
+bind = $mainMod SHIFT, Q, exit,
+bind = $mainMod, V, togglefloating,
+bind = $mainMod, P, exec, $menu
+
+# DWM style window management
+bind = $mainMod, Return, layoutmsg, swapwithmaster
+bind = $mainMod, J, layoutmsg, cyclenext
+bind = $mainMod, K, layoutmsg, cycleprev
+bind = $mainMod, I, layoutmsg, addmaster
+bind = $mainMod, D, layoutmsg, removemaster
+
+# Switch workspaces with mainMod + [0-9]
+bind = $mainMod, 1, workspace, 1
+bind = $mainMod, 2, workspace, 2
+bind = $mainMod, 3, workspace, 3
+bind = $mainMod, 4, workspace, 4
+bind = $mainMod, 5, workspace, 5
+bind = $mainMod, 6, workspace, 6
+bind = $mainMod, 7, workspace, 7
+bind = $mainMod, 8, workspace, 8
+bind = $mainMod, 9, workspace, 9
+bind = $mainMod, 0, workspace, 10
+
+# Move active window to a workspace with mainMod + SHIFT + [0-9]
+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
+
+# Example special workspace (scratchpad)
+bind = $mainMod, S, togglespecialworkspace, magic
+bind = $mainMod SHIFT, S, movetoworkspace, special:magic
+
+# Scroll through existing workspaces with mainMod + scroll
+bind = $mainMod, mouse_down, workspace, e+1
+bind = $mainMod, mouse_up, workspace, e-1
+
+# Move/resize windows with mainMod + LMB/RMB and dragging
+bindm = $mainMod, mouse:272, movewindow
+bindm = $mainMod, mouse:273, resizewindow
diff --git a/.config/hypr/hyprpaper.conf b/.config/hypr/hyprpaper.conf
new file mode 100644
index 0000000..15d6dac
--- /dev/null
+++ b/.config/hypr/hyprpaper.conf
@@ -0,0 +1,4 @@
+preload = ~/Pictures/arch-wp-1.png
+
+wallpaper = DVI-D-1,~/Pictures/arch-wp-1.png
+wallpaper = HDMI-A-1,~/Pictures/arch-wp-1.png
diff --git a/.config/hypr/start-in-tray.sh b/.config/hypr/start-in-tray.sh
new file mode 100755
index 0000000..dfb448b
--- /dev/null
+++ b/.config/hypr/start-in-tray.sh
@@ -0,0 +1,34 @@
+#!/bin/sh
+# start waybar and programs with tray icons after pause
+
+waybar_loop() {
+ # restart waybar on crash (after suspend mode)
+ WAYBAR_RESTARTS=0
+ while [ $WAYBAR_RESTARTS != 6 ]; do # limited to 5 restars
+ pgrep Hyprland || break # exit if Hyprland is not running
+ waybar
+ let WAYBAR_RESTARTS++
+ notify-send -a "start-in-tray.sh" "Waybar crashed!"
+ sleep 1
+ done
+}
+
+# wait for xdg-desktop-portal-hyprland to start
+until pgrep -f 'xdg-desktop-portal-hyprland'; do echo 'test' && sleep 2; done
+
+# override monitor for workspace 2 and 4 with eDP-2
+# hyprctl monitors | grep eDP-2 && \
+# hyprctl --batch "keyword workspace 2,monitor:eDP-2 ; keyword workspace 4,monitor:eDP-2"
+
+waybar_loop &
+
+sleep 1 # wait for waybar
+
+nm-applet --indicator &
+# crow &
+# syncthingtray --wait &
+XDG_CURRENT_DESKTOP=gnome telegram-desktop &
+# blueman-applet &
+
+hyprctl dispatch workspace 1
+# hyprctl dispatch moveworkspacetomonitor 2 0
diff --git a/.config/hypr/xdg.sh b/.config/hypr/xdg.sh
new file mode 100755
index 0000000..5a31a4a
--- /dev/null
+++ b/.config/hypr/xdg.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+sleep 1
+killall -e xdg-desktop-portal-hyprland
+killall -e 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/waybar/config b/.config/waybar/config
new file mode 100644
index 0000000..bde0d60
--- /dev/null
+++ b/.config/waybar/config
@@ -0,0 +1,161 @@
+{
+ "layer": "top", // Waybar at top layer
+ "position": "top", // Waybar position (top|bottom|left|right)
+ "height": 34, // Waybar height (to be removed for auto height)
+ // "width": 1280, // Waybar width
+ "spacing": 4, // Gaps between modules (4px)
+ // Choose the order of the modules
+ "modules-left": ["hyprland/workspaces", "idle_inhibitor", "pulseaudio", "network", "custom/updates"],
+ "modules-center": ["hyprland/window"],
+ "modules-right": ["cpu", "memory", "temperature", "tray", "clock"],
+ // Modules configuration
+ "hyprland/workspaces": {
+ "disable-scroll": true,
+ "on-click": "activate",
+ "all-outputs": false,
+ // "format": "{name}: {icon}",
+ "format": "{name}",
+ "on-scroll-up": "hyprctl dispatch workspace m-1 > /dev/null",
+ "on-scroll-down": "hyprctl dispatch workspace m+1 > /dev/null",
+ },
+ "keyboard-state": {
+ "numlock": false,
+ "capslock": false,
+ "format": "{name} {icon}",
+ "format-icons": {
+ "locked": "",
+ "unlocked": ""
+ }
+ },
+ "hyprland/window": {
+ "max-length": 50,
+ "separate-outputs": true
+ },
+ "mpd": {
+ "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ",
+ "format-disconnected": "Disconnected ",
+ "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ",
+ "unknown-tag": "N/A",
+ "interval": 2,
+ "consume-icons": {
+ "on": " "
+ },
+ "random-icons": {
+ "off": " ",
+ "on": " "
+ },
+ "repeat-icons": {
+ "on": " "
+ },
+ "single-icons": {
+ "on": "1 "
+ },
+ "state-icons": {
+ "paused": "",
+ "playing": ""
+ },
+ "tooltip-format": "MPD (connected)",
+ "tooltip-format-disconnected": "MPD (disconnected)"
+ },
+ "idle_inhibitor": {
+ "format": "{icon}",
+ "format-icons": {
+ "activated": "",
+ "deactivated": ""
+ }
+ },
+ "tray": {
+ "spacing": 0
+ },
+ "clock": {
+ "tooltip-format": "{:%Y %B}\n{calendar}",
+ "format-alt": "{:%Y-%m-%d}"
+ },
+ "cpu": {
+ "format": "{usage}% ",
+ "tooltip": false
+ },
+ "memory": {
+ "format": "{}% "
+ },
+ "temperature": {
+ "critical-threshold": 80,
+ "format": "{temperatureC}°C {icon}",
+ "format-icons": ["", "", ""]
+ },
+ "battery": {
+ "states": {
+ // "good": 95,
+ "warning": 30,
+ "critical": 15
+ },
+ "format": "{capacity}% {icon}",
+ "format-charging": "{capacity}% 🗲",
+ "format-plugged": "{capacity}% ",
+ "format-alt": "{time} {icon}",
+ // "format-good": "", // An empty format will hide the module
+ // "format-full": "",
+ "format-icons": ["", "", "", "", ""]
+ },
+ "battery#bat2": {
+ "bat": "BAT2"
+ },
+ "network": {
+ // "interface": "wlan0", // (Optional) To force the use of this interface
+ "format-wifi": "{essid} ",
+ "format-ethernet": "{ipaddr}/{cidr} ",
+ "tooltip-format": "{ifname} via {gwaddr} ",
+ "format-linked": "{ifname} (No IP) ",
+ "format-disconnected": "Disconnected ⚠",
+ "format-alt": "{ifname}: {ipaddr}/{cidr}"
+ },
+ "pulseaudio": {
+ // "scroll-step": 10, // %, can be a float
+ "format": "{volume}%{icon} {format_source}",
+ "format-bluetooth": "{volume}% {icon} {format_source}",
+ "format-bluetooth-muted": " {icon} {format_source}",
+ "format-muted": " {format_source}",
+ "format-source": "{volume}% ",
+ "format-source-muted": "",
+ "format-icons": {
+ "headphone": "",
+ "hands-free": "",
+ "headset": "",
+ "phone": "",
+ "portable": "",
+ "car": "",
+ "default": ["", "", ""]
+ },
+ "on-click": "pavucontrol"
+ },
+ "custom/notification": {
+ "tooltip": false,
+ "format": "{} {icon}",
+ "format-icons": {
+ "notification": " ",
+ "none": "",
+ "dnd-notification": " ",
+ "dnd-none": "",
+ "inhibited-notification": " ",
+ "inhibited-none": "",
+ "dnd-inhibited-notification": " ",
+ "dnd-inhibited-none": ""
+ },
+ "return-type": "json",
+ "exec-if": "which swaync-client",
+ "exec": "swaync-client -swb",
+ "on-click": "sleep 0.1 && swaync-client -t -sw",
+ "on-click-right": "swaync-client -d -sw",
+ "escape": true
+ },
+ "custom/updates": {
+ "format": "{} {icon}",
+ "return-type": "json",
+ "format-icons": {
+ "has-updates": "",
+ "updated": ""
+ },
+ "exec-if": "which waybar-module-pacman-updates",
+ "exec": "waybar-module-pacman-updates"
+ }
+}
diff --git a/.config/waybar/style.css b/.config/waybar/style.css
new file mode 100644
index 0000000..78e39a6
--- /dev/null
+++ b/.config/waybar/style.css
@@ -0,0 +1,98 @@
+@define-color base00 #181818;
+@define-color base01 #2b2e37;
+@define-color base02 #3b3e47;
+@define-color base03 #585858;
+@define-color base04 #b8b8b8;
+@define-color base05 #d8d8d8;
+@define-color base06 #e8e8e8;
+@define-color base07 #f8f8f8;
+@define-color base08 #ab4642;
+@define-color base09 #dc9656;
+@define-color base0A #f7ca88;
+@define-color base0B #a1b56c;
+@define-color base0C #86c1b9;
+@define-color base0D #7cafc2;
+@define-color base0E #ba8baf;
+@define-color base0F #a16946;
+
+* {
+ transition: none;
+ box-shadow: none;
+}
+
+#waybar {
+ font-family: 'Source Code Pro', sans-serif;
+ font-size: 1.2em;
+ font-weight: 400;
+ color: @base04;
+ background: @base01;
+}
+
+#workspaces {
+ margin: 0 4px;
+}
+
+#workspaces button {
+ margin: 4px 0;
+ padding: 0 4px;
+ color: @base05;
+}
+
+#workspaces button.visible {
+}
+
+#workspaces button.active {
+ border-radius: 4px;
+ background-color: @base02;
+}
+
+#workspaces button.urgent {
+ color: rgba(238, 46, 36, 1);
+}
+
+#tray {
+ margin: 4px 4px 4px 4px;
+ border-radius: 4px;
+ background-color: @base02;
+}
+
+#tray * {
+ padding: 0 6px;
+ border-left: 1px solid @base00;
+}
+
+#tray *:first-child {
+ border-left: none;
+}
+
+#mode, #battery, #cpu, #memory, #network, #pulseaudio, #idle_inhibitor, #backlight, #custom-storage, #custom-updates, #custom-weather, #custom-mail, #clock, #temperature {
+ margin: 4px 2px;
+ padding: 0 6px;
+ background-color: @base02;
+ border-radius: 4px;
+ min-width: 20px;
+}
+
+#pulseaudio.muted {
+ color: @base0F;
+}
+
+#pulseaudio.bluetooth {
+ color: @base0C;
+}
+
+#clock {
+ margin-left: 0px;
+ margin-right: 4px;
+ background-color: transparent;
+}
+
+#temperature.critical {
+ color: @base0F;
+}
+
+#window {
+ font-size: 0.9em;
+ font-weight: 400;
+ font-family: sans-serif;
+}
diff --git a/.config/wofi/style.css b/.config/wofi/style.css
new file mode 100644
index 0000000..360e44d
--- /dev/null
+++ b/.config/wofi/style.css
@@ -0,0 +1,46 @@
+/*
+Arc-Dark Color Scheme
+*/
+
+@define-color highlight #fbf1c7;
+@define-color base1 #ffffff;
+@define-color base3 #282828;
+
+*{
+ font-family: UbuntuMono;
+}
+
+window {
+ border: 1px solid @highlight;
+}
+
+#input {
+ margin-bottom: 15px;
+ padding:3px;
+ border-radius: 5px;
+ border:none;
+ color: #282828;
+}
+
+#inner-box {
+ background-color: @base3;
+}
+
+#outer-box {
+ margin: 1px;
+ padding:15px;
+ background-color: #282828;
+}
+
+#text {
+ padding: 5px;
+ color: @highlight;
+}
+
+#entry:nth-child() {
+ color: @base1;
+}
+
+#entry:selected {
+ border: 2px solid @highlight;
+}