diff --git a/laptop/configs/dunst/dunstrc b/laptop/configs/dunst/dunstrc
new file mode 100644
index 0000000..d4a251f
--- /dev/null
+++ b/laptop/configs/dunst/dunstrc
@@ -0,0 +1,64 @@
+[global]
+ font = "Ubuntu Nerd Font, Cartograph CF Regular 13"
+ allow_markup = yes
+ markup = yes
+ format = "%s\n%b"
+ sort = yes
+ indicate_hidden = yes
+ bounce_freq = 0
+ show_age_threshold = 60
+ word_wrap = yes
+ ignore_newline = false
+ origin = bottom-center
+ transparency = 5
+ idle_threshold = 120
+ monitor = 0
+ follow = mouse
+ sticky_history = yes
+ line_height = 0
+ separator_height = 2
+ padding = 12
+ horizontal_padding = 12
+ separator_color = "#3c4549"
+ separator_width = 1
+ startup_notification = false
+ corner_radius = 15
+ frame_color = "#3c4549"
+ frame_width = 1
+ width = 400
+ progress_bar_max_width = 400
+ progress_bar_min_width = 400
+ progress_bar_height = 10
+ progress_bar_frame_width = 1
+ progress_bar_corner_radius = 5
+ scale = 1
+ min_icon_size = 64
+ max_icon_size = 64
+ alignment = center
+ vertical_alignment = center
+ #offset = 12x67
+
+[shortcuts]
+ close = ctrl+space
+ close_all = ctrl+shift+space
+ history = ctrl+grave
+ context = ctrl+shift+period
+
+[urgency_low]
+ background = "#131519"
+ foreground = "#ffffff"
+ highlight = "#5bb1b4"
+ timeout = 5
+
+[urgency_normal]
+ background = "#131519"
+ foreground = "#ffffff"
+ highlight = "#5bb1b4"
+ timeout = 20
+
+[urgency_critical]
+ background = "#131519"
+ foreground = "#ffffff"
+ highlight = "#5bb1b4"
+ timeout = 0
+
diff --git a/laptop/configs/dunst/original b/laptop/configs/dunst/original
new file mode 100644
index 0000000..fab50b0
--- /dev/null
+++ b/laptop/configs/dunst/original
@@ -0,0 +1,223 @@
+[global]
+ font = Cartograph CF 13
+
+ # allow a small subset of html markup:
+ # bold
+ # italic
+ # strikethrough
+ # underline
+ #
+ # for a complete reference see http://developer.gnome.org/pango/stable/PangoMarkupFormat.html
+ # If markup is not allowed, those tags will be stripped out of the message.
+ allow_markup = yes
+
+ # The format of the message. Possible variables are:
+ # %a appname
+ # %s summary
+ # %b body
+ # %i iconname (including its path)
+ # %I iconname (without its path)
+ # %p progress value if set ([ 0%] to [100%]) or nothing
+ # Markup is allowed
+ format = "%a: %s\n%b"
+
+ # Sort messages by urgency
+ sort = yes
+
+ # Show how many messages are currently hidden (because of geometry)
+ indicate_hidden = yes
+
+ # alignment of message text.
+ # Possible values are "left", "center" and "right"
+ alignment = left
+
+ # The frequency with wich text that is longer than the notification
+ # window allows bounces back and forth.
+ # This option conflicts with 'word_wrap'.
+ # Set to 0 to disable
+ bounce_freq = 0
+
+ # show age of message if message is older than show_age_threshold seconds.
+ # set to -1 to disable
+ show_age_threshold = 60
+
+ # split notifications into multiple lines if they don't fit into geometry
+ word_wrap = yes
+
+ # ignore newlines '\n' in notifications
+ ignore_newline = no
+
+
+ # the geometry of the window
+ # geometry [{width}]x{height}][+/-{x}+/-{y}]
+ # The geometry of the message window.
+ # The height is measured in number of notifications everything else in pixels. If the width
+ # is omitted but the height is given ("-geometry x2"), the message window
+ # expands over the whole screen (dmenu-like). If width is 0,
+ # the window expands to the longest message displayed.
+ # A positive x is measured from the left, a negative from the
+ # right side of the screen. Y is measured from the top and down respectevly.
+ # The width can be negative. In this case the actual width is the
+ # screen width minus the width defined in within the geometry option.
+ geometry = "300x5-30+20"
+
+ # The transparency of the window. range: [0; 100]
+ # This option will only work if a compositing windowmanager is present (e.g. xcompmgr, compiz, etc..)
+ transparency = 0
+
+ # Don't remove messages, if the user is idle (no mouse or keyboard input)
+ # for longer than idle_threshold seconds.
+ # Set to 0 to disable.
+ idle_threshold = 120
+
+ # Which monitor should the notifications be displayed on.
+ monitor = 1
+
+ # Display notification on focused monitor. Possible modes are:
+ # mouse: follow mouse pointer
+ # keyboard: follow window with keyboard focus
+ # none: don't follow anything
+ #
+ # "keyboard" needs a windowmanager that exports the _NET_ACTIVE_WINDOW property.
+ # This should be the case for almost all modern windowmanagers.
+ #
+ # If this option is set to mouse or keyboard, the monitor option will be
+ # ignored.
+ follow = none
+
+ # should a notification popped up from history be sticky or
+ # timeout as if it would normally do.
+ sticky_history = yes
+
+ # The height of a single line. If the height is smaller than the font height,
+ # it will get raised to the font height.
+ # This adds empty space above and under the text.
+ line_height = 0
+
+ # Draw a line of 'separatpr_height' pixel height between two notifications.
+ # Set to 0 to disable
+ separator_height = 2
+
+ # padding between text and separator
+ padding = 8
+
+ # horizontal padding
+ horizontal_padding = 8
+
+ # Define a color for the separator.
+ # possible values are:
+ # * auto: dunst tries to find a color fitting to the background
+ # * foreground: use the same color as the foreground
+ # * frame: use the same color as the frame.
+ # * anything else will be interpreted as a X color
+ separator_color = frame
+
+ # print a notification on startup
+ # This is mainly for error detection, since dbus (re-)starts dunst
+ # automatically after a crash.
+ startup_notification = true
+
+ # dmenu path
+ dmenu = /usr/bin/dmenu -p dunst:
+
+ # browser for opening urls in context menu
+ browser = /usr/bin/firefox -new-tab
+
+[frame]
+ width = 0
+ color = "#000000"
+
+[shortcuts]
+ # shortcuts are specified as [modifier+][modifier+]...key
+ # available modifiers are 'ctrl', 'mod1' (the alt-key), 'mod2', 'mod3'
+ # and 'mod4' (windows-key)
+ # xev might be helpful to find names for keys
+
+ # close notification
+ close = mod4+c
+
+ # close all notifications
+ close_all = mod4+shift+m
+
+ # redisplay last message(s)
+ history = mod4+n
+
+ # context menu
+ context = mod4+shift+i
+
+[urgency_low]
+ # IMPORTANT: colors have to be defined in quotation marks.
+ # Otherwise the '#' and following would be interpreted as a comment.
+ background = "#222222"
+ foreground = "#888888"
+ timeout = 10
+
+[urgency_normal]
+ background = "#303030"
+ foreground = "#ffffff"
+ timeout = 10
+
+[urgency_critical]
+ background = "#900000"
+ foreground = "#ffffff"
+ timeout = 0
+
+
+# Every section that isn't one of the above is interpreted as a rules
+# to override settings for certain messages.
+# Messages can be matched by 'appname', 'summary', 'body' or 'icon'
+# and you can override the 'timeout', 'urgency', 'foreground', 'background'
+# and 'format'.
+# Shell-like globbing will get expanded.
+#
+# SCRIPTING
+# you can specify a script that gets run when the rule matches by setting
+# the 'script' option.
+# The script will be called as follows:
+# script appname summary body icon urgency
+# where urgency can be "LOW", "NORMAL" or "CRITICAL".
+#
+# NOTE: if you don't want a notification to be displayed, set the format to ""
+# NOTE: It might be helpful to run dunst -print in a terminal in order to find
+# fitting options for rules.
+
+#[espeak]
+# summary = "*"
+# script = dunst_espeak.sh
+
+#[script-test]
+# summary = "*script*"
+# script = dunst_test.sh
+
+#[ignore]
+## This notification will not be displayed
+# summary = "foobar"
+# format = ""
+
+[signed_on]
+ appname = Pidgin
+ summary = "*signed on*"
+ urgency = low
+
+[signed_off]
+ appname = Pidgin
+ summary = *signed off*
+ urgency = low
+
+[says]
+ appname = Pidgin
+ summary = *says*
+ urgency = critical
+ format = "%s "%b""
+
+[music]
+ appname = Amarok
+ summary = "Now playing"
+ urgency = low
+
+#[twitter]
+# appname = Pidgin
+# summary = *twitter.com*
+# urgency = normal
+#
+
diff --git a/laptop/configs/feh/buttons b/laptop/configs/feh/buttons
new file mode 100644
index 0000000..a5355e9
--- /dev/null
+++ b/laptop/configs/feh/buttons
@@ -0,0 +1,6 @@
+# Unbind existing scroll operations
+prev_img
+next_img
+# Set
+zoom_in 4
+zoom_out 5
diff --git a/laptop/configs/hypr/binds.conf b/laptop/configs/hypr/binds.conf
new file mode 100644
index 0000000..7e3d811
--- /dev/null
+++ b/laptop/configs/hypr/binds.conf
@@ -0,0 +1,67 @@
+# control bindings
+$mainMod = SUPER
+
+bind = $mainMod SHIFT, apostrophe, exec, bash ~/scripts/change-colorscheme.sh
+
+# app bindings
+bind = $mainMod, Return, exec, wezterm
+bind = $mainMod, E, exec, thunar
+bind = $mainMod SHIFT, Return, exec, tofi-drun
+bind = , Home, exec, ~/.local/bin/way-print.sh p
+bind = SHIFT, Home, exec, ~/.local/bin/way-print.sh s
+bind = CONTROL SHIFT, Home, exec, ~/.local/bin/way-print.sh t
+bind = CONTROL, Home, exec, ~/.local/bin/way-print.sh m
+bind = $mainMod, b, exec, firefox
+
+# window control
+bind = $mainMod SHIFT, C, killactive,
+bind = $mainMod, t, togglefloating,
+bind = $mainMod, F, fullscreen, 0
+bind = $mainMod, Space, fullscreen, 1
+bind = $mainMod SHIFT, comma, movewindow, mon:-1
+bind = $mainMod SHIFT, period, movewindow, mon:+1
+bind = $mainMod, left, movefocus, l
+bind = $mainMod, right, movefocus, r
+bind = $mainMod, up, movefocus, u
+bind = $mainMod, down, movefocus, d
+bind = $mainMod, period, focusmonitor, -1
+bind = $mainMod, comma, focusmonitor, +1
+bind = $mainMod SHIFT, H, layoutmsg, swapnext
+bind = $mainMod SHIFT, L, layoutmsg, swapnext
+binde = $mainMod, H, resizeactive, -30 30
+binde = $mainMod, L, resizeactive, 30 -30
+bind = $mainMod, J, layoutmsg, cyclenext
+bind = $mainMod, K, layoutmsg, cycleprev
+bind = $mainMod, N, layoutmsg, orientationnext
+
+# workspace control
+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, minus, workspace, 11
+bind = $mainMod, equal, workspace, 12
+bind = $mainMod, F1, workspace, 13
+
+bind = $mainMod SHIFT, 1, movetoworkspacesilent, 1
+bind = $mainMod SHIFT, 2, movetoworkspacesilent, 2
+bind = $mainMod SHIFT, 3, movetoworkspacesilent, 3
+bind = $mainMod SHIFT, 4, movetoworkspacesilent, 4
+bind = $mainMod SHIFT, 5, movetoworkspacesilent, 5
+bind = $mainMod SHIFT, 6, movetoworkspacesilent, 6
+bind = $mainMod SHIFT, 7, movetoworkspacesilent, 7
+bind = $mainMod SHIFT, 8, movetoworkspacesilent, 8
+bind = $mainMod SHIFT, 9, movetoworkspacesilent, 9
+bind = $mainMod SHIFT, 0, movetoworkspacesilent, 10
+bind = $mainMod SHIFT, minus, movetoworkspacesilent, 11
+bind = $mainMod SHIFT, equal, movetoworkspacesilent, 12
+bind = $mainMod SHIFT, F1, movetoworkspacesilent, 13
+
+bindm = $mainMod, mouse:272, movewindow
+bindm = $mainMod, mouse:273, resizewindow
diff --git a/laptop/configs/hypr/hyprland.conf b/laptop/configs/hypr/hyprland.conf
new file mode 100644
index 0000000..d4cea11
--- /dev/null
+++ b/laptop/configs/hypr/hyprland.conf
@@ -0,0 +1,12 @@
+# jab
+monitor=LVDS-1, 1366x768, auto, 1
+source = ~/.config/hypr/init.conf
+
+env = XCURSOR_SIZE,18
+env = QT_QPA_PLATOFORMTHEME=qt5ct
+
+source = ~/.config/hypr/settings.conf
+
+source = ~/.config/hypr/binds.conf
+
+source = ~/.config/hypr/rules.conf
diff --git a/laptop/configs/hypr/init.conf b/laptop/configs/hypr/init.conf
new file mode 100644
index 0000000..2925409
--- /dev/null
+++ b/laptop/configs/hypr/init.conf
@@ -0,0 +1,9 @@
+exec-once = swww init &
+exec = swww img ~/pics/ranni..jpg
+exec-once = lxqt-policykit-agent &
+exec-once = dunst &
+exec-once = gammastep -t 4500:3500 -l -23.5475:-46.63611 &
+exec-once = gsettings set org.gnome.desktop.interface icon-theme Win10Sur-black-dark & gsettings set org.gnome.desktop.interface gtk-theme Numix-BLACK-Pomegranate & gsettings set org.gnome.desktop.interface cursor-theme Simp1e
+exec-once = dbus-update-activation-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
+exec-once = rm -rf ~/tmp/*
+exec-once = waybar &
diff --git a/laptop/configs/hypr/rules.conf b/laptop/configs/hypr/rules.conf
new file mode 100644
index 0000000..b7e362d
--- /dev/null
+++ b/laptop/configs/hypr/rules.conf
@@ -0,0 +1,53 @@
+# rules file
+
+workspace= 9, border:0,rounding:0,decorate:0,
+
+windowrulev2 = opacity 0.0 override 0.0 override,class:^(xwaylandvideobridge)$
+windowrulev2 = noanim,class:^(xwaylandvideobridge)$
+windowrulev2 = nofocus,class:^(xwaylandvideobridge)$
+windowrulev2 = noinitialfocus,class:^(xwaylandvideobridge)$
+windowrulev2 = stayfocused, title:^()$,class:^(steam)$
+windowrulev2 = minsize 1 1, title:^()$,class:^(steam)$
+windowrulev2=float,class:anki,title:Add
+windowrulev2=size 0%,class:explorer.exe,title:Wine System Tray
+windowrulev2=workspace 2, class:(firefox)
+
+windowrule=float,xdg-desktop-portal-gtk
+windowrule=workspace 11 silent,org.corectrl.corectrl
+windowrule=workspace 5 silent,anki
+windowrule=workspace 7 silent,lutris
+windowrule=workspace 5 silent,com.obsproject.Studio
+windowrule=noblur,com.obsproject.Studio
+windowrule=float,pavucontrol
+windowrule=workspace 8 silent,steam
+windowrule=workspace 7 silent, org.prismlauncher.PrismLauncher
+windowrule=workspace 7 silent,heroic
+windowrule=float,thunar
+windowrule=workspace 10 silent,thunderbird
+windowrule=workspace 7 silent,XIVLauncher.Core
+windowrule=workspace 7 silent,moe.launcher.the-honkers-railway-launcher
+windowrule=workspace 9 silent,ffxiv_dx11.exe
+windowrule=float,.*.exe$
+windowrule=workspace 9 silent,.*.exe$
+windowrule=workspace 9 silent,Terraria.bin.x86_64
+windowrule=noborder,.*.exe$
+windowrule=workspace 6 silent,WebCord
+windowrule=float,title:(File Upload)
+windowrule=float,.*Save.*
+windowrule=float,.*Sign in.*
+windowrule=workspace 9 silent,gamescope
+windowrule=fullscreen,gamescope
+windowrule=workspace 9 silent,.*Minecraft.*
+windowrule=workspace 9 silent,cs2
+windowrule=workspace 9 silent,.*league.*
+windowrule=workspace 9 silent,.*riot.*
+windowrule=float,steam_.*
+# windowrule=fakefullscreen,steam_.*
+# windowrule=nomaximizerequest,steam_.*
+# windowrule=nofullscreenrequest,steam_.*
+windowrule=workspace 9 silent,steam_.*
+windowrule=workspace 10 silent,SFP_UI
+windowrule=workspace 4 silent,Spotify
+windowrule=workspace 3 silent,parsecd
+windowrule=workspace 12 silent,org.pwmt.zathura
+windowrule=workspace 13 silent,Chromium-browser-chromium
diff --git a/laptop/configs/hypr/settings.conf b/laptop/configs/hypr/settings.conf
new file mode 100644
index 0000000..91b7043
--- /dev/null
+++ b/laptop/configs/hypr/settings.conf
@@ -0,0 +1,88 @@
+input {
+ kb_layout = br
+ kb_variant = abnt2
+ kb_options = ctrl:nocaps
+ kb_model =
+ kb_rules =
+
+ follow_mouse = 1
+
+ touchpad {
+ natural_scroll = no
+ }
+
+ sensitivity = -0.3 # -1.0 - 1.0, 0 means no modification.
+}
+
+general {
+ gaps_in = 5
+ gaps_out = 5
+ border_size = 2
+ col.active_border = rgba(ff0038ee) rgba(33e2c5ee) 45deg
+ col.inactive_border = rgba(595959aa)
+ no_cursor_warps = false
+ layout = master
+}
+
+decoration {
+ rounding = 0
+
+ blur {
+ enabled = true
+ size = 3
+ passes = 2
+ }
+
+ drop_shadow = yes
+ shadow_range = 4
+ shadow_render_power = 3
+ col.shadow = rgba(1a1a1aee)
+}
+
+animations {
+ enabled = false
+
+ bezier = myBezier, 0.05, 1.2, 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
+}
+
+master {
+ new_is_master = false
+ allow_small_split = true
+ mfact = 0.5
+}
+
+gestures {
+ workspace_swipe = true
+ workspace_swipe_fingers = 3
+}
+
+misc {
+ mouse_move_enables_dpms = true
+ key_press_enables_dpms = true
+ enable_swallow = true
+ disable_hyprland_logo = true
+ focus_on_activate = false
+}
+
+binds {
+ workspace_back_and_forth = true
+}
+
+plugin {
+ hyprbars {
+ # example config
+ bar_height = 20
+
+ # example buttons (R -> L)
+ # hyprbars-button = color, size, on-click
+ hyprbars-button = rgb(ff4040), 10, , hyprctl dispatch killactive
+ hyprbars-button = rgb(eeee11), 10, , hyprctl dispatch fullscreen 1
+ }
+}
diff --git a/laptop/configs/neofetch/assets/ascii.txt b/laptop/configs/neofetch/assets/ascii.txt
new file mode 100644
index 0000000..144509d
--- /dev/null
+++ b/laptop/configs/neofetch/assets/ascii.txt
@@ -0,0 +1,12 @@
+⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
+⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠳⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
+⠀⠀⠀⠀⠀⠀⠀⣀⡴⢧⣀⠀⠀⣀⣠⠤⠤⠤⠤⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
+⠀⠀⠀⠀⠀⠀⠀⠀⠘⠏⢀⡴⠊⠁⠀⠀⠀⠀⠀⠀⠈⠙⠦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀
+⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢶⣶⣒⣶⠦⣤⣀⠀⠀
+⠀⠀⠀⠀⠀⠀⠀⢀⣰⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣟⠲⡌⠙⢦⠈⢧⠀
+⠀⠀⠀⠀⣠⢴⡾⢟⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⡴⢃⡠⠋⣠⠋⠀
+⠀⠐⠀⠞⣱⠋⢰⠁⢿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⠤⢖⣋⡥⢖⣫⠔⠋⠀⠀⠀
+⠀⠈⠠⡀⠹⢤⣈⣙⠚⠶⠤⠤⠤⠴⠶⣒⣒⣚⣩⠭⢵⣒⣻⠭⢖⠏⠁⢀⣀⠀⠀⠀⠀
+⠀⠠⠀⠈⠓⠒⠦⠭⠭⠭⣭⠭⠭⠭⠭⠿⠓⠒⠛⠉⠉⠀⠀⣠⠏⠀⠀⠘⠞⠀⠀⠀⠀
+⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠓⢤⣀⠀⠀⠀⠀⠀⠀⣀⡤⠞⠁⠀⣰⣆⠀⠀⠀⠀⠀⠀
+⠀⠀⠀⠀⠀⠀⠘⠿⠀⠀⠀⠀⠀⠈⠉⠙⠒⠒⠛⠉⠁⠀⠀⠀⠉⢳⡞⠉⠀⠀⠀⠀⠀
diff --git a/laptop/configs/neofetch/assets/images/badge.svg b/laptop/configs/neofetch/assets/images/badge.svg
new file mode 100644
index 0000000..37e8feb
--- /dev/null
+++ b/laptop/configs/neofetch/assets/images/badge.svg
@@ -0,0 +1 @@
+
diff --git a/laptop/configs/neofetch/assets/images/bar_bottom.png b/laptop/configs/neofetch/assets/images/bar_bottom.png
new file mode 100644
index 0000000..6dedd26
Binary files /dev/null and b/laptop/configs/neofetch/assets/images/bar_bottom.png differ
diff --git a/laptop/configs/neofetch/assets/images/bar_charging.png b/laptop/configs/neofetch/assets/images/bar_charging.png
new file mode 100644
index 0000000..b35a585
Binary files /dev/null and b/laptop/configs/neofetch/assets/images/bar_charging.png differ
diff --git a/laptop/configs/neofetch/assets/images/bar_critical.png b/laptop/configs/neofetch/assets/images/bar_critical.png
new file mode 100644
index 0000000..c06ab22
Binary files /dev/null and b/laptop/configs/neofetch/assets/images/bar_critical.png differ
diff --git a/laptop/configs/neofetch/assets/images/bar_disabled.png b/laptop/configs/neofetch/assets/images/bar_disabled.png
new file mode 100644
index 0000000..9981ca3
Binary files /dev/null and b/laptop/configs/neofetch/assets/images/bar_disabled.png differ
diff --git a/laptop/configs/neofetch/assets/images/bar_discharge.png b/laptop/configs/neofetch/assets/images/bar_discharge.png
new file mode 100644
index 0000000..c6004ca
Binary files /dev/null and b/laptop/configs/neofetch/assets/images/bar_discharge.png differ
diff --git a/laptop/configs/neofetch/assets/images/bar_empty.png b/laptop/configs/neofetch/assets/images/bar_empty.png
new file mode 100644
index 0000000..895795f
Binary files /dev/null and b/laptop/configs/neofetch/assets/images/bar_empty.png differ
diff --git a/laptop/configs/neofetch/assets/images/bar_error.png b/laptop/configs/neofetch/assets/images/bar_error.png
new file mode 100644
index 0000000..58feada
Binary files /dev/null and b/laptop/configs/neofetch/assets/images/bar_error.png differ
diff --git a/laptop/configs/neofetch/assets/images/bar_full.png b/laptop/configs/neofetch/assets/images/bar_full.png
new file mode 100644
index 0000000..e6c5571
Binary files /dev/null and b/laptop/configs/neofetch/assets/images/bar_full.png differ
diff --git a/laptop/configs/neofetch/assets/images/bar_low.png b/laptop/configs/neofetch/assets/images/bar_low.png
new file mode 100644
index 0000000..6c4cc94
Binary files /dev/null and b/laptop/configs/neofetch/assets/images/bar_low.png differ
diff --git a/laptop/configs/neofetch/assets/images/example.png b/laptop/configs/neofetch/assets/images/example.png
new file mode 100644
index 0000000..2156c17
Binary files /dev/null and b/laptop/configs/neofetch/assets/images/example.png differ
diff --git a/laptop/configs/neofetch/config.conf b/laptop/configs/neofetch/config.conf
new file mode 100644
index 0000000..c011a48
--- /dev/null
+++ b/laptop/configs/neofetch/config.conf
@@ -0,0 +1,120 @@
+# font from nerdfonts.com required
+
+print_info() {
+ prin " "
+ prin " "
+ prin " "
+ # info " " title
+
+ info topbar
+
+ info " " distro
+ info " " kernel #
+ info " " packages
+ info " " shell #
+ info " " de
+ info " " uptime
+
+ info bottombar
+}
+
+# custom configs
+battery_name="BAT1"
+hide_battery=false
+
+# neofetch configs
+os_arch="off"
+package_managers="tiny"
+gap=3
+separator="\n"
+#uptime_shorthand="tiny"
+ascii_bold="off"
+image_backend="iterm2"
+image_source="$HOME/pics/ranni.jpg"
+image_size="300px"
+image_loop="off"
+
+# battery bar
+bar_char_elapsed=""
+bar_char_total=""
+
+bar_border="off"
+bar_length=10
+
+# custom battery bar (Linux only)
+get_topbar() {
+ if $hide_battery; then
+ prin "╭───────────────────────────╮"
+ return 0
+ fi
+
+ bat="/sys/class/power_supply/${battery_name}"
+ capacity="$(< "${bat}/capacity")"
+ status="$(< "${bat}/status")"
+
+ if [[ "$capacity" ]]; then
+ original_elapsed=${bar_color_elapsed}
+ original_total=${bar_color_total}
+
+ case "$status" in
+ "Charging")
+ bar_color_total=$(color 3)
+ bar_color_elapsed=$(color 3)
+
+ battery_indicator=""
+ ;;
+
+ "Full" | "Not charging")
+ bar_color_total=$(color 12)
+ bar_color_elapsed=$(color 12)
+
+ battery_indicator=""
+ ;;
+
+ "Discharging")
+ bar_color_total=$(color 7)
+ battery_indicator="$(color 15)" #
+
+ if (( capacity < 10 )); then
+ bar_color_total=$(color 1)
+ bar_color_elapsed=$(color 1)
+
+ battery_indicator=""
+
+ elif (( capacity < 20 )); then
+ bar_color_elapsed=$(color 1)
+
+ elif (( capacity < 30 )); then
+ bar_color_elapsed=$(color 3)
+
+ else
+ bar_color_elapsed=$(color 2)
+
+ fi
+ ;;
+
+ esac
+
+ # round battery to nearest 10 for printing
+ capacity=$(( (capacity + 5) / 10 * 10 ))
+
+ battery="$(bar "$capacity" 100)"
+ prin "╭${battery}${battery_indicator}\e[m────────────────╮"
+
+ bar_color_elapsed=${original_elapsed}
+ bar_color_total=${original_total}
+
+ else
+ prin "╭ $(color 1)ʙᴀᴛᴛᴇʀʏ ᴇʀʀᴏʀ\e[m ────────────╮"
+
+ fi
+}
+
+# custom color bar
+get_bottombar() {
+ prin "╰────────── $(color 3) $(color 8) $(color 2) $(color 1) $(color 4) $(color 5) $(color 6) $(color 7) \e[m╯"
+}
+
+# unused
+#bar_char_elapsed=""
+#bar_char_total=""
diff --git a/laptop/configs/tmux/plugins/tmux-plugin-playerctl b/laptop/configs/tmux/plugins/tmux-plugin-playerctl
new file mode 160000
index 0000000..5e99e7f
--- /dev/null
+++ b/laptop/configs/tmux/plugins/tmux-plugin-playerctl
@@ -0,0 +1 @@
+Subproject commit 5e99e7f28bdc151314ef85266c24947116115538
diff --git a/laptop/configs/tmux/plugins/tmux-sensible b/laptop/configs/tmux/plugins/tmux-sensible
new file mode 160000
index 0000000..25cb91f
--- /dev/null
+++ b/laptop/configs/tmux/plugins/tmux-sensible
@@ -0,0 +1 @@
+Subproject commit 25cb91f42d020f675bb0a2ce3fbd3a5d96119efa
diff --git a/laptop/configs/tmux/plugins/tpm b/laptop/configs/tmux/plugins/tpm
new file mode 160000
index 0000000..99469c4
--- /dev/null
+++ b/laptop/configs/tmux/plugins/tpm
@@ -0,0 +1 @@
+Subproject commit 99469c4a9b1ccf77fade25842dc7bafbc8ce9946
diff --git a/laptop/configs/tmux/theme.conf b/laptop/configs/tmux/theme.conf
new file mode 120000
index 0000000..0ea0d98
--- /dev/null
+++ b/laptop/configs/tmux/theme.conf
@@ -0,0 +1 @@
+tmux-black.conf
\ No newline at end of file
diff --git a/laptop/configs/tmux/tmux-black.conf b/laptop/configs/tmux/tmux-black.conf
new file mode 100644
index 0000000..d66b814
--- /dev/null
+++ b/laptop/configs/tmux/tmux-black.conf
@@ -0,0 +1,60 @@
+# status bar
+set -g status-style fg=colour208,bg=colour232
+# set-option -g status-attr default
+set-option -g status-position bottom
+set-option -g status-interval 60
+set-option -g status-bg default
+set-option -g status-fg colour249
+
+# Left side of status bar
+set-option -g status-left-length 10
+# set-option -g status-left "#[fg=colour249,bg=colour235] #S #[fg=default,bg=default] "
+set-option -g status-left '#{?client_prefix,#[fg=black]#[bg=colour99] ,#[bg=colour234] #S }#[fg=default,bg=default] '
+
+# Window status
+set-option -g window-status-format "#[fg=colour249,bg=colour234] #I #[fg=colour249,bg=colour234] #W "
+set-option -g window-status-current-format "#[fg=black,bg=colour99] #I #[fg=colour249,bg=colour234] #W "
+set-option -g window-status-separator " "
+set-option -g status-justify left
+
+# Right side of status bar
+set-option -g status-right-length 200
+set -g status-right "#{playerctl_short} | #(whoami)@#h "
+set -g @short_length "50"
+
+# set -g @short_length "30"
+# set -g @short_append_chars "..."
+# WEATHER='#(curl -s wttr.in/Berlin\?format\="%%t+%%C+%%w+%%m")'
+# set-option -g status-right "#[fg=colour249,bg=colour99]🌡 BER #[fg=colour249,bg=colour234] $WEATHER #[fg=colour249,bg=colour99] #[fg=colour249,bg=colour234] #(whoami)@#h "
+
+# pane border
+set -g pane-border-style fg=colour238,bg=colour235
+ set -g pane-active-border-style fg=colour99,bg=colour236
+
+# Pane number indicator
+ set-option -g display-panes-colour colour234
+set-option -g display-panes-active-colour colour249
+
+# Clock mode
+# set-option -g clock-mode-colour colour249
+# set-option -g clock-mode-style 24
+
+# Message
+set -g message-style fg=default,bg=default
+
+# Activity
+set-option -g monitor-activity on
+set-option -g monitor-silence 0
+set-option -g monitor-bell on
+set-option -g activity-action other
+set-option -g visual-activity off
+
+# Window numbering
+set-option -g base-index 1
+set-option -g pane-base-index 1
+set-option -g renumber-windows on
+
+# select default layout
+set-option -g main-pane-width 65
+set-option -g main-pane-height 65
+
diff --git a/laptop/configs/tmux/tmux-red.conf b/laptop/configs/tmux/tmux-red.conf
new file mode 100644
index 0000000..e45432d
--- /dev/null
+++ b/laptop/configs/tmux/tmux-red.conf
@@ -0,0 +1,60 @@
+# status bar
+set -g status-style fg=colour208,bg=colour232
+# set-option -g status-attr default
+set-option -g status-position bottom
+set-option -g status-interval 60
+set-option -g status-bg default
+set-option -g status-fg colour249
+
+# Left side of status bar
+set-option -g status-left-length 10
+# set-option -g status-left "#[fg=colour249,bg=colour235] #S #[fg=default,bg=default] "
+set-option -g status-left '#{?client_prefix,#[fg=black]#[bg=colour88] ,#[bg=colour234] #S }#[fg=default,bg=default] '
+
+# Window status
+set-option -g window-status-format "#[fg=colour249,bg=colour234] #I #[fg=colour249,bg=colour234] #W "
+set-option -g window-status-current-format "#[fg=black,bg=colour88] #I #[fg=colour249,bg=colour234] #W "
+set-option -g window-status-separator " "
+set-option -g status-justify left
+
+# Right side of status bar
+set-option -g status-right-length 200
+set -g status-right "#{playerctl_short} | #(whoami)@#h "
+set -g @short_length "50"
+
+# set -g @short_length "30"
+# set -g @short_append_chars "..."
+# WEATHER='#(curl -s wttr.in/Berlin\?format\="%%t+%%C+%%w+%%m")'
+# set-option -g status-right "#[fg=colour249,bg=colour88]🌡 BER #[fg=colour249,bg=colour234] $WEATHER #[fg=colour249,bg=colour88] #[fg=colour249,bg=colour234] #(whoami)@#h "
+
+# pane border
+set -g pane-border-style fg=colour238,bg=colour235
+set -g pane-active-border-style fg=colour88,bg=colour236
+
+# Pane number indicator
+set-option -g display-panes-colour colour234
+set-option -g display-panes-active-colour colour249
+
+# Clock mode
+# set-option -g clock-mode-colour colour249
+# set-option -g clock-mode-style 24
+
+# Message
+set -g message-style fg=default,bg=default
+
+# Activity
+set-option -g monitor-activity on
+set-option -g monitor-silence 0
+set-option -g monitor-bell on
+set-option -g activity-action other
+set-option -g visual-activity off
+
+# Window numbering
+set-option -g base-index 1
+set-option -g pane-base-index 1
+set-option -g renumber-windows on
+
+# select default layout
+set-option -g main-pane-width 65
+set-option -g main-pane-height 65
+
diff --git a/laptop/configs/tmux/tmux-white.conf b/laptop/configs/tmux/tmux-white.conf
new file mode 100644
index 0000000..49a450a
--- /dev/null
+++ b/laptop/configs/tmux/tmux-white.conf
@@ -0,0 +1,51 @@
+
+# status bar
+set -g status-style fg=colour208,bg=white
+# set-option -g status-attr default
+set-option -g status-position bottom
+set-option -g status-interval 60
+set-option -g status-bg default
+set-option -g status-fg black
+
+# Left side of status bar
+set-option -g status-left-length 10
+#set-option -g status-left "#[fg=brightblack,bg=colour255] #S #[fg=default,bg=default] "
+set-option -g status-left '#{?client_prefix,#[bg=colour195] ,#[bg=colour195] #S }#[fg=default,bg=default] '
+
+# Window status
+set-option -g window-status-format "#[fg=black,bg=white] #I #[fg=black,bg=white] #W "
+set-option -g window-status-current-format "#[fg=brightblack,bg=colour195] #I #[fg=brightblack,bg=colour195] #W "
+set-option -g window-status-separator " "
+set-option -g status-justify left
+
+# Right side of status bar
+set-option -g status-right-length 200
+set -g status-right "#{playerctl_short} | #(whoami)@#h "
+set -g @short_length "50"
+
+# pane border
+set -g pane-border-style fg=colour238,bg=colour235
+set -g pane-active-border-style fg=colour195,bg=colour236
+
+# Pane number indicator
+set-option -g display-panes-colour colour255
+set-option -g display-panes-active-colour brightblack
+
+# Message
+set -g message-style fg=default,bg=default
+
+# Activity
+set-option -g monitor-activity on
+set-option -g monitor-silence 0
+set-option -g monitor-bell on
+set-option -g activity-action other
+set-option -g visual-activity on
+
+# Window numbering
+set-option -g base-index 1
+set-option -g pane-base-index 1
+set-option -g renumber-windows on
+
+# select default layout
+set-option -g main-pane-width 65
+set-option -g main-pane-height 65
diff --git a/laptop/configs/tmux/tmux.conf b/laptop/configs/tmux/tmux.conf
new file mode 100644
index 0000000..8b556de
--- /dev/null
+++ b/laptop/configs/tmux/tmux.conf
@@ -0,0 +1,80 @@
+set -g prefix C-a
+unbind C-b
+bind-key C-a send-prefix
+
+set -g default-terminal "tmux-256color"
+set-option -sa terminal-overrides ",xterm-kitty:RGB"
+
+unbind C-o
+bind C-o display-popup -E "tms"
+
+unbind C-j
+bind C-j display-popup -E "tms switch"
+
+unbind %
+bind | split-window -h
+
+unbind '"'
+bind _ split-window -v
+
+unbind r
+bind r source-file ~/.config/tmux/tmux.conf
+
+bind C-z set-option -g status
+
+bind -r j resize-pane -D 5
+bind -r k resize-pane -U 5
+bind -r l resize-pane -R 5
+bind -r h resize-pane -L 5
+
+bind -r m resize-pane -Z
+
+set -g mouse on
+
+set-window-option -g mode-keys vi
+
+bind-key -T copy-mode-vi 'v' send -X begin-selection
+bind-key -T copy-mode-vi 'y' send -X copy-selection
+
+set -ga update-environment 'KITTY_LISTEN_ON'
+set -gq allow-passthrough on
+
+unbind -T copy-mode-vi MouseDragEnd1Pane
+
+is_vim="ps -o state= -o comm= -t '#{pane_tty}' \
+ | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'"
+bind-key -n 'C-h' if-shell "$is_vim" 'send-keys C-h' 'select-pane -L'
+bind-key -n 'C-j' if-shell "$is_vim" 'send-keys C-j' 'select-pane -D'
+bind-key -n 'C-k' if-shell "$is_vim" 'send-keys C-k' 'select-pane -U'
+bind-key -n 'C-l' if-shell "$is_vim" 'send-keys C-l' 'select-pane -R'
+tmux_version='$(tmux -V | sed -En "s/^tmux ([0-9]+(.[0-9]+)?).*/\1/p")'
+if-shell -b '[ "$(echo "$tmux_version < 3.0" | bc)" = 1 ]' \
+ "bind-key -n 'C-\\' if-shell \"$is_vim\" 'send-keys C-\\' 'select-pane -l'"
+if-shell -b '[ "$(echo "$tmux_version >= 3.0" | bc)" = 1 ]' \
+ "bind-key -n 'C-\\' if-shell \"$is_vim\" 'send-keys C-\\\\' 'select-pane -l'"
+bind-key -n 'C-Space' if-shell "$is_vim" 'send-keys C-Space' 'select-pane -t:.+'
+
+bind-key -T copy-mode-vi 'C-h' select-pane -L
+bind-key -T copy-mode-vi 'C-j' select-pane -D
+bind-key -T copy-mode-vi 'C-k' select-pane -U
+bind-key -T copy-mode-vi 'C-l' select-pane -R
+bind-key -T copy-mode-vi 'C-\' select-pane -l
+bind-key -T copy-mode-vi 'C-Space' select-pane -t:.+
+
+set -g @plugin 'tmux-plugins/tpm'
+set -g @plugin 'tmux-plugins/tmux-sensible'
+set -g @plugin 'richin13/tmux-plugin-playerctl'
+
+# set -g @plugin 'tmux-plugins/tmux-resurrect'
+# set -g @plugin 'tmux-plugins/tmux-continuum'
+# set -g @resurrect-capture-pane-contents 'on'
+# set -g @continuum-restore 'on'
+
+# set -g set-titles-string '#{pane_title}
+
+set-option -g set-titles on
+set-option -g set-titles-string "#S / #W"
+
+source ~/.config/tmux/theme.conf
+
+run '~/.config/tmux/plugins/tpm/tpm'
diff --git a/laptop/configs/user-dirs.dirs b/laptop/configs/user-dirs.dirs
new file mode 100644
index 0000000..7f4bd05
--- /dev/null
+++ b/laptop/configs/user-dirs.dirs
@@ -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_DOWNLOAD_DIR="$HOME/down"
+XDG_DOCUMENTS_DIR="$HOME/docs"
+XDG_MUSIC_DIR="$HOME/"
+XDG_PICTURES_DIR="$HOME/"
+XDG_VIDEOS_DIR="$HOME/"
+XDG_DESKTOP_DIR="$HOME/"
+XDG_TEMPLATES_DIR="$HOME/"
+XDG_PUBLICSHARE_DIR="$HOME/"
diff --git a/laptop/configs/waybar/config b/laptop/configs/waybar/config
new file mode 100644
index 0000000..80f41e3
--- /dev/null
+++ b/laptop/configs/waybar/config
@@ -0,0 +1,88 @@
+{
+ "layer": "top",
+ "position": "top",
+ "mod": "dock",
+ "exclusive": true,
+ "passtrough": false,
+ "gtk-layer-shell": true,
+ "height": 0,
+
+ "modules-left": [
+ "hyprland/workspaces",
+ ],
+
+ "modules-center": [
+ "hyprland/window"
+ ],
+
+ "modules-right": [
+ "network",
+ "battery",
+ "pulseaudio",
+ "clock",
+ "tray",
+ ],
+
+ "hyprland/window": {
+ "format": "{}"
+ },
+
+ "hyprland/workspaces": {
+ "on-scroll-up": "hyprctl dispatch workspace e+1",
+ "on-scroll-down": "hyprctl dispatch workspace e-1",
+ "all-outputs": true,
+ "on-click": "activate",
+ "format": "{icon}",
+ "format-icons": {
+ "1": "1",
+ "2": "2",
+ "3": "3",
+ "4": "4",
+ "5": "5",
+ "6": "6",
+ "7": "7",
+ "8": "8",
+ "9": "9",
+ "10": "10",
+ "11": "11",
+ "12": "12",
+ "13": "13"
+ }
+ },
+
+ "tray": {
+ "icon-size": 20,
+ "tooltip": false,
+ "spacing": 10
+ },
+
+ "clock": {
+ "format": "{:%a %b %d, %H:%M}",
+ "tooltip-format": "{:%Y %B}\n\n{calendar}"
+ },
+
+ "pulseaudio": {
+ "format": " {volume}% ",
+ "tooltip": false,
+ "format-muted": " N/A",
+ "on-click": "pavucontrol &",
+ "scroll-step": 5
+ },
+
+ "network": {
+ "format-wifi": " {essid} {signalStrength}% ",
+ "format-ethernet": " {signalStrength}% ",
+ "format-disconnected": " N/A "
+ },
+
+ "battery": {
+ "states": {
+ "warning": 20,
+ "critical": 15
+ },
+ "format": " {capacity}% ",
+ "format-charging": " {capacity}% ",
+ "format-plugged": " {capacity}% "
+ }
+}
+
diff --git a/laptop/configs/waybar/config-chinese b/laptop/configs/waybar/config-chinese
new file mode 100644
index 0000000..9b7c3df
--- /dev/null
+++ b/laptop/configs/waybar/config-chinese
@@ -0,0 +1,87 @@
+{
+ "layer": "top",
+ "position": "top",
+ "mod": "dock",
+ "exclusive": true,
+ "passtrough": false,
+ "gtk-layer-shell": true,
+ "height": 0,
+ "output": "HDMI-A-1",
+
+ "modules-left": [
+ "hyprland/workspaces",
+ ],
+
+ "modules-center": [
+ "hyprland/window"
+ ],
+
+ "modules-right": [
+ "pulseaudio",
+ "clock",
+ "tray",
+ ],
+
+ "hyprland/window": {
+ "format": "{}"
+ },
+
+ "hyprland/workspaces": {
+ "on-scroll-up": "hyprctl dispatch workspace e+1",
+ "on-scroll-down": "hyprctl dispatch workspace e-1",
+ "all-outputs": true,
+ "on-click": "activate",
+ "format": "{icon}",
+ "format-icons": {
+ "1": "一",
+ "2": "二",
+ "3": "三",
+ "4": "四",
+ "5": "五",
+ "6": "六",
+ "7": "七",
+ "8": "八",
+ "9": "九",
+ "10": "十",
+ "11": "十一",
+ "12": "十二",
+ "13": "十三"
+ }
+ },
+
+ "tray": {
+ "icon-size": 20,
+ "tooltip": false,
+ "spacing": 10
+ },
+
+ "clock": {
+ "format": "{:%a %b %d, %H:%M}",
+ "tooltip-format": "{:%Y %B}\n\n{calendar}"
+ },
+
+ "pulseaudio": {
+ "format": " {volume}%",
+ "tooltip": false,
+ "format-muted": " N/A",
+ "on-click": "pavucontrol &",
+ "scroll-step": 5
+ },
+
+ "network": {
+ "format-wifi": " {essid} {signalStrength}%",
+ "format-ethernet": " {signalStrength}%",
+ "format-disconnected": " N/A"
+ },
+
+ "battery": {
+ "states": {
+ "warning": 20,
+ "critical": 15
+ },
+ "format": " {capacity}%",
+ "format-charging": " {capacity}%",
+ "format-plugged": " {capacity}%"
+ }
+}
+
diff --git a/laptop/configs/waybar/style-solarized.css b/laptop/configs/waybar/style-solarized.css
new file mode 100644
index 0000000..66c12cc
--- /dev/null
+++ b/laptop/configs/waybar/style-solarized.css
@@ -0,0 +1,50 @@
+* {
+ border: none;
+ border-radius: 0;
+ padding: 0;
+ margin: 0;
+ font-size: 11px;
+}
+
+window#waybar {
+ background: #fff;
+ color: #292828;
+}
+
+#custom-logo {
+ font-size: 18px;
+ margin: 0;
+ margin-left: 7px;
+ margin-right: 12px;
+ padding: 0;
+ font-family: NotoSans Nerd Font Mono;
+}
+
+#workspaces button {
+ margin-left: 2px;
+ margin-right: 10px;
+ color: #292828;
+}
+
+#workspaces button:hover,
+#workspaces button:active {
+ background-color: #fff;
+ color: #292828;
+}
+
+#workspaces button.focused {
+ background-color: #383737;
+}
+
+#language {
+ margin-right: 7px;
+}
+
+#battery {
+ margin-left: 7px;
+ margin-right: 3px;
+}
+
+#clock {
+ margin: 0px 6px;
+}
diff --git a/laptop/configs/waybar/style.css b/laptop/configs/waybar/style.css
new file mode 100644
index 0000000..70615a8
--- /dev/null
+++ b/laptop/configs/waybar/style.css
@@ -0,0 +1,50 @@
+* {
+ border: none;
+ border-radius: 0;
+ padding: 0;
+ margin: 0;
+ font-size: 11px;
+}
+
+window#waybar {
+ background: #292828;
+ color: #ffffff;
+}
+
+#custom-logo {
+ font-size: 18px;
+ margin: 0;
+ margin-left: 7px;
+ margin-right: 12px;
+ padding: 0;
+ font-family: NotoSans Nerd Font Mono;
+}
+
+#workspaces button {
+ margin-left: 2px;
+ margin-right: 8px;
+ color: #ffffff;
+}
+
+#workspaces button:hover,
+#workspaces button:active {
+ background-color: #292828;
+ color: #ffffff;
+}
+
+#workspaces button.focused {
+ background-color: #383737;
+}
+
+#language {
+ margin-right: 7px;
+}
+
+#battery {
+ margin-left: 7px;
+ margin-right: 4px;
+}
+
+#clock {
+ margin: 0px 6px;
+}
diff --git a/laptop/configs/waybar/style.css.chinese b/laptop/configs/waybar/style.css.chinese
new file mode 100644
index 0000000..a18a3d3
--- /dev/null
+++ b/laptop/configs/waybar/style.css.chinese
@@ -0,0 +1,128 @@
+* {
+ border: none;
+ border-radius: 0;
+ font-family: "Cartograph CF Nerd Font";
+ font-weight: bold;
+ font-size: 16px;
+ min-height: 0;
+ margin: 1px;
+}
+
+window#waybar {
+ background: rgba(75, 75, 75, 0);
+ color: #f1f1f1;
+}
+
+tooltip {
+ background: #595959;
+ border-radius: 0px;
+}
+
+#workspaces button {
+ padding: 5px;
+ color: #f1f1f1;
+}
+
+#workspaces button.active {
+ background-color: #e16b53;
+ border-radius: 10px;
+}
+
+#workspaces button.focused {
+ color: #f1f1f1;
+ background: #595959;
+ border-radius: 10px;
+}
+
+#workspaces button.urgent {
+ color: #f1f1f1;
+ background: #595959;
+ border-radius: 10px;
+}
+
+#workspaces button:hover {
+ background: #f1f1f1;
+ color: #595959;
+ border-radius: 10px;
+}
+
+#custom-language,
+#custom-updates,
+#custom-caffeine,
+#custom-weather,
+#window,
+#clock,
+#battery,
+#pulseaudio,
+#network,
+#workspaces,
+#tray,
+#language,
+#backlight {
+ background:
+ /*#F6821E*/
+ #444444;
+ padding: 0px 5px;
+ margin: 0px;
+ font-weight: 100;
+}
+
+#tray {
+ margin-right: 0px;
+ border-radius: 0px 10px 10px 0px;
+}
+
+#workspaces {
+ color: #f1f1f1;
+ margin-left: 0px;
+ padding-right: 0px;
+ padding-left: 5px;
+ border-radius: 10px;
+}
+
+#custom-caffeine {
+ color: #f1f1f1;
+ border-right: 0px;
+ margin-left: 10px;
+}
+
+#custom-language {
+ color: #f1f1f1;
+ border-left: 0px;
+ border-right: 0px;
+}
+
+#custom-updates {
+ color: #f1f1f1;
+ border-left: 0px;
+ border-right: 0px;
+}
+
+#window {
+ color: #f1f1f1;
+ background-color: #595959;
+ font-weight: 100;
+ border-radius: 10px;
+ margin-left: 0px;
+ margin-right: 60px;
+}
+
+#clock {
+ color: #f1f1f1;
+ margin-left: 0px;
+ border-right: 0px;
+ padding: 0px 10px;
+}
+
+#pulseaudio {
+ color: #f1f1f1;
+ border-left: 0px;
+ border-right: 0px;
+ padding-left: 10px;
+ border-radius: 10px 0px 0px 10px;
+}
+
+#pulseaudio.microphone {
+ color: #f1f1f1;
+ margin-right: 5px;
+}
diff --git a/laptop/configs/wezterm/colors/Flexoki Dark.toml b/laptop/configs/wezterm/colors/Flexoki Dark.toml
new file mode 100644
index 0000000..3217b9c
--- /dev/null
+++ b/laptop/configs/wezterm/colors/Flexoki Dark.toml
@@ -0,0 +1,43 @@
+# name: Flexoki (Dark)
+# author: Kepano
+# license: MIT
+# upstream: https://stephango.com/flexoki
+# blurb: An inky color scheme for prose and code[colors]
+
+[colors]
+ansi = [
+ "#100F0F", #Black
+ "#AF3029", # Red
+ "#66800B", # Green
+ "#AD8301", # Yellow
+ "#205EA6", # Blue
+ "#5E409D", # Purple
+ "#24837B", # Cyan
+ "#CECDC3", # White
+]
+brights = [
+ "#575653", # Black
+ "#D14D41", # Red
+ "#879A39", # Green
+ "#D0A215", # Yellow
+ "#4385BE", # Blue
+ "#8B7EC8", # Purple
+ "#3AA99F", # Cyan
+ "#FFFCF0", # White
+]
+foreground = "#CECDC3"
+background = "#100F0F"
+
+cursor_bg = "#CECDC3"
+cursor_border = "#CECDC3"
+cursor_fg = "#100F0F"
+selection_bg = "#282726"
+selection_fg = "#CECDC3"
+
+[colors.indexed]
+
+[metadata]
+aliases = ["Flexoki Dark"]
+name = "Flexoki Dark"
+origin_url = "https://stephango.com/flexoki"
+wezterm_version = "Always"
diff --git a/laptop/configs/wezterm/colors/Flexoki Light.toml b/laptop/configs/wezterm/colors/Flexoki Light.toml
new file mode 100644
index 0000000..0fa50b9
--- /dev/null
+++ b/laptop/configs/wezterm/colors/Flexoki Light.toml
@@ -0,0 +1,47 @@
+# name: Flexoki (Light)
+# author: Kepano
+# license: MIT
+# upstream: https://stephango.com/flexoki
+# blurb: An inky color scheme for prose and code[colors]
+
+[colors]
+ansi = [
+ "#100F0F", # Black
+ "#AF3029", # Red
+ "#66800B", # Green
+ "#AD8301", # Yellow
+ "#205EA6", # Blue
+ "#A02F6F", # Magenta
+ "#24837B", # Cyan
+ "#DAD8CE", # White
+]
+
+brights = [
+ "#B7B5AC", # Black
+ "#D14D41", # Red
+ "#879A39", # Green
+ "#D0A215", # Yellow
+ "#4385BE", # Blue
+ "#CE5D97", # Magenta
+ "#3AA99F", # Cyan
+ "#E6E4D9", # White
+]
+
+foreground = "#100F0F"
+background = "#FFFCF0"
+
+cursor_bg = "#403E3C"
+cursor_border = "#403E3C"
+cursor_fg = "#FFFCF0"
+
+selection_fg = "#100F0F"
+selection_bg = "#E6E4D9"
+
+[colors.indexed]
+
+[metadata]
+aliases = ["Flexoki Light"]
+name = "Flexoki Light"
+origin_url = "https://stephango.com/flexoki"
+wezterm_version = "Always"
+
diff --git a/laptop/configs/wezterm/wezterm.lua b/laptop/configs/wezterm/wezterm.lua
new file mode 100644
index 0000000..639b7bb
--- /dev/null
+++ b/laptop/configs/wezterm/wezterm.lua
@@ -0,0 +1,104 @@
+local wezterm = require("wezterm")
+
+local function font_with_fallback(name, params)
+ local names = { name, "Apple Color Emoji", "azuki_font", "monospace" }
+ return wezterm.font_with_fallback(names, params)
+end
+
+local font_name = "Cartograph CF Nerd Font"
+
+return {
+ -- OpenGL for GPU acceleration, Software for CPU
+ front_end = "OpenGL",
+
+ colors = {
+ foreground = "#bdbdbd",
+ background = "#080808",
+ cursor_bg = "#9e9e9e",
+ cursor_fg = "#080808",
+ selection_fg = "#080808",
+ selection_bg = "#b2ceee",
+
+ ansi = {
+ "#323437",
+ "#ff5454",
+ "#8cc85f",
+ "#e3c78a",
+ "#80a0ff",
+ "#cf87e8",
+ "#79dac8",
+ "#c6c6c6",
+ },
+
+ brights = {
+ "#949494",
+ "#ff5189",
+ "#36c692",
+ "#c2c292",
+ "#74b2ff",
+ "#ae81ff",
+ "#85dc85",
+ "#e4e4e4",
+ },
+ },
+
+ -- Font config
+ font = font_with_fallback(font_name),
+ warn_about_missing_glyphs = false,
+ font_size = 13,
+ line_height = 1.0,
+ dpi = 96.0,
+
+ -- Cursor style
+ default_cursor_style = "BlinkingUnderline",
+
+ -- X11
+ enable_wayland = true,
+
+ -- Keybinds
+ disable_default_key_bindings = true,
+ keys = {
+ -- standard copy/paste bindings
+ {
+ key = "x",
+ mods = "CTRL",
+ action = "ActivateCopyMode",
+ },
+
+ { key = '=', mods = 'CTRL', action = wezterm.action.IncreaseFontSize },
+ { key = '-', mods = 'CTRL', action = wezterm.action.DecreaseFontSize },
+
+ {
+ key = "v",
+ mods = "CTRL|SHIFT",
+ action = wezterm.action({ PasteFrom = "Clipboard" }),
+ },
+ {
+ key = "c",
+ mods = "CTRL|SHIFT",
+ action = wezterm.action({ CopyTo = "ClipboardAndPrimarySelection" }),
+ },
+ },
+
+ -- Aesthetic Night Colorscheme
+ bold_brightens_ansi_colors = true,
+ -- Padding
+ window_padding = {
+ left = 15,
+ right = 15,
+ top = 15,
+ bottom = 15,
+ },
+
+ -- Tab Bar
+ hide_tab_bar_if_only_one_tab = true,
+ show_tab_index_in_tab_bar = false,
+ tab_bar_at_bottom = true,
+
+ -- General
+ automatically_reload_config = true,
+ inactive_pane_hsb = { saturation = 1.0, brightness = 1.0 },
+ window_background_opacity = 0.75,
+ window_close_confirmation = "NeverPrompt",
+ window_frame = { active_titlebar_bg = "#45475a", font = font_with_fallback(font_name, { bold = true }) },
+}
diff --git a/laptop/configs/zathura/zathurarc b/laptop/configs/zathura/zathurarc
new file mode 100644
index 0000000..d9c008f
--- /dev/null
+++ b/laptop/configs/zathura/zathurarc
@@ -0,0 +1,98 @@
+# zathurarc-dark
+# set notification-error-bg "#073642" # base01 # seem not work
+# set notification-error-fg "#dc322f" # red
+# set notification-warning-bg "#073642" # base01
+# set notification-warning-fg "#dc322f" # red
+# set notification-bg "#073642" # base01
+# set notification-fg "#b58900" # yellow
+#
+# set completion-group-bg "#002b36" # base03
+# set completion-group-fg "#839496" # base0
+# set completion-bg "#073642" # base02
+# set completion-fg "#93a1a1" # base1
+# set completion-highlight-bg "#586e75" # base01
+# set completion-highlight-fg "#eee8d5" # base2
+#
+# # Define the color in index mode
+# set index-bg "#073642" # base02
+# set index-fg "#93a1a1" # base1
+# set index-active-bg "#586e75" # base01
+# set index-active-fg "#eee8d5" # base2
+#
+# set inputbar-bg "#073642" # base01
+# set inputbar-fg "#93a1a1" # base2
+#
+# set statusbar-bg "#073642" # base02
+# set statusbar-fg "#93a1a1" # base1
+#
+# set highlight-color "#657b83" # base00 # hightlight match when search keyword(vim's /)
+# set highlight-active-color "#268bd2" # blue
+#
+# set default-bg "#073642" # base02
+# set default-fg "#93a1a1" # base1
+# # set render-loading true
+# # set render-loading-fg "#073642" # base02
+# # set render-loading-bg "#073642" # base02
+#
+# # Recolor book content's color
+# set recolor true
+# set recolor-lightcolor "#073642" # base02
+# set recolor-darkcolor "#93a1a1" # base1
+# # set recolor-keephue true # keep original color
+#
+# zathurarc-light
+set notification-error-bg "#eee8d5" # base2 # seem not work
+set notification-error-fg "#dc322f" # red
+set notification-warning-bg "#eee8d5" # base2
+set notification-warning-fg "#dc322f" # red
+set notification-bg "#eee8d5" # base2
+set notification-fg "#268bd2" # blue
+
+set completion-bg "#fdf6e3" # base3
+set completion-fg "#657b83" # base00
+set completion-group-bg "#eee8d5" # base2
+set completion-group-fg "#586e75" # base01
+set completion-highlight-bg "#93a1a1" # base1
+set completion-highlight-fg "#073642" # base02
+
+# Define the color in index mode
+set index-bg "#fdf6e3" # base3
+set index-fg "#657b83" # base00
+set index-active-bg "#eee8d5" # base2
+set index-active-fg "#586e75" # base01
+
+set inputbar-bg "#93a1a1" # base1
+set inputbar-fg "#073642" # base02
+
+set statusbar-bg "#fdf6e3" # base3
+set statusbar-fg "#657b83" # base00
+
+set highlight-color "#839496" # base0 # hightlight match when search keyword(vim's /)
+set highlight-active-color "#cb4616" # orange
+
+set default-bg "#fdf6e3" # base3
+set default-fg "#657b83" # base00
+set render-loading true
+# set render-loading-fg "#fdf6e3" # base3
+# set render-loading-bg "#fdf6e3" # base3
+
+# Recolor book content's color
+# verbose
+# verbose
+set recolor-lightcolor "#fdf6e3" # base3
+set recolor-darkcolor "#657b83" # base00
+set recolor "true"
+# set recolor-keephue true # keep original color
+set statusbar-h-padding 0
+set statusbar-v-padding 0
+set page-padding 1
+map u scroll half-up
+map d scroll half-down
+map D toggle_page_mode
+map r reload
+map R rotate
+map K zoom in
+map J zoom out
+map i recolor
+set recolor true
+map p print