diff --git a/work-laptop/configs/Makefile b/work-laptop/configs/Makefile
new file mode 100644
index 0000000..7913403
--- /dev/null
+++ b/work-laptop/configs/Makefile
@@ -0,0 +1,5 @@
+all:
+ xstow --verbose --target=$$HOME --restow */
+
+delete:
+ xstow --verbose --target=$$HOME --delete */
diff --git a/work-laptop/configs/alacritty/.config/alacritty/alacritty.toml b/work-laptop/configs/alacritty/.config/alacritty/alacritty.toml
new file mode 100644
index 0000000..d9c4283
--- /dev/null
+++ b/work-laptop/configs/alacritty/.config/alacritty/alacritty.toml
@@ -0,0 +1,50 @@
+# There are the specification here: https://github.com/alacritty/alacritty/blob/master/extra/man/alacritty.5.scd
+# It is not obvious how it translates to TOML. But it is extremely straightforward.
+
+# example: WINDOW, COLORS, etc. are tables, and should be represented as [window], [colors], respectively.
+# specifics of variables go under them. e.g.- look under "dynamic_padding" under-
+# https://github.com/alacritty/alacritty/blob/master/extra/man/alacritty.5.scd#window
+# write `dynamic_padding = true` (without backticks -`) under the table [window]
+# for variables with multiple values, use "dotted keys". Like setting `padding.x = 5` under [window].
+# This is simple. If not clear, do several trials and errors.
+
+# Below is my initial set-up. The TOML homepage (https://toml.io/en/v1.0.0) was very helpful in figuring this out.
+# I put the file alacritty.toml in $HOME/.config/alacritty. However it can be kept anywhere among the places mentioned in
+# https://github.com/alacritty/alacritty/tree/master#configuration
+
+import = ["~/.config/alacritty/white.toml"]
+
+[window]
+
+opacity = 0.93
+padding.x = 10
+# padding.y = 10
+decorations = "Full"
+decorations_theme_variant = "Light" # "Dark"
+
+[font]
+size = 11.5
+# normal.family = "CartographCF Nerd Font"
+# normal.style = "Regular"
+# bold.family = "CartographCF Nerd Font"
+# bold.style = "DemiBold"
+# italic.family = "CartographCF Nerd Font"
+# italic.style = "Italic"
+# bold_italic.family = "CartographCF Nerd Font"
+# bold_italic.style = "ExtraBold Italic"
+
+
+[[hints.enabled]]
+binding = { key = "O", mods = "Control|Shift" }
+command = "xdg-open"
+hyperlinks = true
+mouse.enabled = true
+mouse.mods = "Control"
+post_processing = true
+persist = false
+regex = "(ipfs:|ipns:|magnet:|mailto:|gemini://|gopher://|https://|http://|news:|file:|git://|ssh:|ftp://)[^\u0000-\u001F\u007F-\u009F<>\"\\s{-}\\^⟨⟩‘]+"
+
+[keyboard]
+bindings = [
+ { key = "T", mods = "Control|Shift", command = { program = "fish", args = ["/home/lucas/scripts/toggle_opacity_alacritty.fish"] } }
+]
diff --git a/work-laptop/configs/alacritty/.config/alacritty/black.toml b/work-laptop/configs/alacritty/.config/alacritty/black.toml
new file mode 100644
index 0000000..88d8264
--- /dev/null
+++ b/work-laptop/configs/alacritty/.config/alacritty/black.toml
@@ -0,0 +1,31 @@
+# Default colors
+[colors.primary]
+background = '#0a0c10'
+foreground = '#f0f3f6'
+
+# Cursor colors
+[colors.cursor]
+text = '#0a0c10'
+cursor = '#f0f3f6'
+
+# Normal colors
+[colors.normal]
+black = '#7a828e'
+red = '#ff9492'
+green = '#26cd4d'
+yellow = '#f0b72f'
+blue = '#71b7ff'
+magenta = '#cb9eff'
+cyan = '#39c5cf'
+white = '#d9dee3'
+
+# Bright colors
+[colors.bright]
+black = '#9ea7b3'
+red = '#ffb1af'
+green = '#4ae168'
+yellow = '#f7c843'
+blue = '#91cbff'
+magenta = '#cb9eff'
+cyan = '#39c5cf'
+white = '#d9dee3'
diff --git a/work-laptop/configs/alacritty/.config/alacritty/solarized-dark.toml b/work-laptop/configs/alacritty/.config/alacritty/solarized-dark.toml
new file mode 100644
index 0000000..a87227a
--- /dev/null
+++ b/work-laptop/configs/alacritty/.config/alacritty/solarized-dark.toml
@@ -0,0 +1,27 @@
+[colors.primary]
+background = "#002b36"
+foreground = "#839496"
+
+[colors.normal]
+black = '#073642' # Black (Host)
+red = '#dc322f' # red (syntax string)
+green = '#859900' # green (command)
+yellow = '#b58900' # yellow (command second)
+blue = '#268bd2' # blue (path)
+magenta = '#d33682' # magenta (syntax var)
+cyan = '#2aa198' # cyan (prompt)
+white= '#eee8d5' # white
+
+[colors.bright]
+black= '#002b36' # Bright Black
+red = '#cb4b16' # bright red (command error)
+green = '#586e75' # bright green (exec)
+yellow= '#657b83' # bright yellow
+blue = '#839496' # bright blue (folder)
+magenta= '#6c71c4' # bright magenta
+cyan= '#93a1a1' # bright cyan
+white= '#fdf6e3' # bright white
+
+[colors.cursor]
+text = "#002b36"
+cursor = "#839496"
diff --git a/work-laptop/configs/alacritty/.config/alacritty/white.toml b/work-laptop/configs/alacritty/.config/alacritty/white.toml
new file mode 100644
index 0000000..d825c34
--- /dev/null
+++ b/work-laptop/configs/alacritty/.config/alacritty/white.toml
@@ -0,0 +1,31 @@
+[colors.normal]
+black = '#212121' # Black (Host)
+red = '#b7141e' # Red (Syntax string)
+green = '#457b23' # Green (Command)
+yellow = '#f5971d' # Yellow (Command second)
+blue = '#134eb2' # Blue (Path)
+magenta = '#550087' # Magenta (Syntax var)
+cyan = '#0e707c' # Cyan (Prompt)
+white = '#eeeeee' # White
+
+[colors.bright]
+black = '#424242' # Bright Black
+red = '#e83a3f' # Bright Red (Command error)
+green = '#7aba39' # Bright Green (Exec)
+yellow = '#fee92e' # Bright Yellow
+blue = '#53a4f3' # Bright Blue (Folder)
+magenta = '#a94dbb' # Bright Magenta
+cyan = '#26bad1' # Bright Cyan
+white = '#d8d8d8' # Bright White
+
+[colors.primary]
+background = '#eaeaea' # Background
+foreground = '#222221' # Foreground (Text)
+
+[colors.cursor]
+cursor = '#16aec9' # Cursor
+text = '#eaeaea' # Cursor Text
+
+[colors.selection]
+background = '#c1c1c1' # Selection Background
+foreground = '#eaeaea' # Selection Foreground
diff --git a/work-laptop/configs/dunst/.config/dunst/dunstrc b/work-laptop/configs/dunst/.config/dunst/dunstrc
new file mode 100644
index 0000000..ceb2957
--- /dev/null
+++ b/work-laptop/configs/dunst/.config/dunst/dunstrc
@@ -0,0 +1,64 @@
+[global]
+ font = "CartographCF Nerd Font 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 = top-right
+ transparency = 5
+ idle_threshold = 120
+ monitor = 1
+ 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 = "#1e2326"
+ foreground = "#d3c6aa"
+ highlight = "#a7c080"
+ timeout = 3
+
+[urgency_normal]
+ background = "#1e2326"
+ foreground = "#d3c6aa"
+ highlight = "#a7c080"
+ timeout = 5
+
+[urgency_critical]
+ background = "#1e2326"
+ foreground = "#d3c6aa"
+ highlight = "#a7c080"
+ timeout = 3
+
diff --git a/work-laptop/configs/dunst/.config/dunst/original b/work-laptop/configs/dunst/.config/dunst/original
new file mode 100644
index 0000000..fab50b0
--- /dev/null
+++ b/work-laptop/configs/dunst/.config/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/work-laptop/configs/fastfetch/.config/fastfetch/config.jsonc b/work-laptop/configs/fastfetch/.config/fastfetch/config.jsonc
new file mode 120000
index 0000000..1132cb6
--- /dev/null
+++ b/work-laptop/configs/fastfetch/.config/fastfetch/config.jsonc
@@ -0,0 +1 @@
+minimal.jsonc
\ No newline at end of file
diff --git a/work-laptop/configs/fastfetch/.config/fastfetch/logo.jsonc b/work-laptop/configs/fastfetch/.config/fastfetch/logo.jsonc
new file mode 100644
index 0000000..bc9260b
--- /dev/null
+++ b/work-laptop/configs/fastfetch/.config/fastfetch/logo.jsonc
@@ -0,0 +1,66 @@
+{
+ "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
+ "logo": {
+ // "source": "~/pics/anime.jpg",
+ // "type": "sixel",
+ "width": 30,
+ "padding": {
+ "top": 2,
+ "right": 6,
+ },
+ },
+ "display": {
+ "separator": " • ",
+ },
+ "modules": [
+ "break",
+ "break",
+ {
+ "type": "title",
+ "color": {
+ "user": "32",
+ "at": "37",
+ "host": "32",
+ },
+ },
+ "break",
+ {
+ "type": "os",
+ "key": "distribution ",
+ "keyColor": "33",
+ },
+ {
+ "type": "kernel",
+ "key": "linux kernel ",
+ "keyColor": "33",
+ },
+ {
+ "type": "packages",
+ "key": "packages ",
+ "keyColor": "33",
+ },
+ {
+ "type": "shell",
+ "key": "unix shell ",
+ "keyColor": "33",
+ },
+ {
+ "type": "terminal",
+ "key": "terminal ",
+ "keyColor": "33",
+ },
+ {
+ "type": "wm",
+ "format": "{}",
+ "key": "window manager ",
+ "keyColor": "33",
+ },
+ "break",
+ {
+ "type": "colors",
+ "symbol": "circle",
+ },
+ "break",
+ "break",
+ ],
+}
diff --git a/work-laptop/configs/fastfetch/.config/fastfetch/minimal.jsonc b/work-laptop/configs/fastfetch/.config/fastfetch/minimal.jsonc
new file mode 100644
index 0000000..155bd9e
--- /dev/null
+++ b/work-laptop/configs/fastfetch/.config/fastfetch/minimal.jsonc
@@ -0,0 +1,42 @@
+{
+ "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
+ "logo": null,
+ "display": {
+ "separator": " › ",
+ },
+ "modules": [
+ "break",
+ {
+ "type": "os",
+ "key": "OS ",
+ "keyColor": "31",
+ },
+ {
+ "type": "kernel",
+ "key": "KER ",
+ "keyColor": "32",
+ },
+ {
+ "type": "packages",
+ "key": "PKG ",
+ "keyColor": "33",
+ },
+ {
+ "type": "shell",
+ "key": "SH ",
+ "keyColor": "34",
+ },
+ {
+ "type": "terminal",
+ "key": "TER ",
+ "keyColor": "35",
+ },
+ {
+ "type": "wm",
+ "format": "{}",
+ "key": "WM ",
+ "keyColor": "36",
+ },
+ "break",
+ ],
+}
diff --git a/work-laptop/configs/feh/.config/feh/buttons b/work-laptop/configs/feh/.config/feh/buttons
new file mode 100644
index 0000000..a5355e9
--- /dev/null
+++ b/work-laptop/configs/feh/.config/feh/buttons
@@ -0,0 +1,6 @@
+# Unbind existing scroll operations
+prev_img
+next_img
+# Set
+zoom_in 4
+zoom_out 5
diff --git a/work-laptop/configs/fish/.config/fish/conf.d/rustup.fish b/work-laptop/configs/fish/.config/fish/conf.d/rustup.fish
new file mode 100644
index 0000000..fdedb96
--- /dev/null
+++ b/work-laptop/configs/fish/.config/fish/conf.d/rustup.fish
@@ -0,0 +1 @@
+# source "$HOME/.cargo/env.fish"
diff --git a/work-laptop/configs/fish/.config/fish/config.fish b/work-laptop/configs/fish/.config/fish/config.fish
new file mode 100644
index 0000000..3191d0b
--- /dev/null
+++ b/work-laptop/configs/fish/.config/fish/config.fish
@@ -0,0 +1,99 @@
+if status --is-login
+ fish_add_path ~/.local/bin
+ fish_add_path "$HOME/.cargo/bin"
+
+ set -gx BAT_THEME "Solarized (light)"
+ set -gx SOLARIZED true
+ set -gx EDITOR "nvim"
+
+ if test -z "$WAYLAND_DISPLAY" && test "$XDG_VTNR" -eq 1
+ set -gx XDG_CURRENT_DESKTOP "sway"
+ sway
+ end
+end
+if status is-interactive
+ alias cb="~/repos/cports/cbuild"
+ alias g="git"
+ alias ls="bash ~/scripts/elash.sh"
+ alias l="ls -lah"
+ alias v="nvim"
+ alias reboot="systemctl reboot"
+ alias hr="date +'%Hh:%M, %d-%m-%Y'"
+ alias hi="systemctl hibernate"
+ alias ff="fastfetch --config examples/19"
+ alias feh="imv"
+ alias lg="lazygit"
+ alias cpr="cd ~/repos/cports-docker && docker compose run --build --rm cports"
+ alias cop="wl-copy"
+ alias poweroff="systemctl poweroff"
+ alias cat="bat"
+
+ alias protontricks='flatpak run com.github.Matoking.protontricks'
+ alias protontricks-launch='flatpak run --command=protontricks-launch com.github.Matoking.protontricks'
+
+ alias generate_token="curl -u jabuxas https://paste.jabuxas.xyz | wl-copy"
+end
+
+function pst
+ set -l file
+ set -l use_ansifilter false
+
+ if command -v ansifilter > /dev/null
+ set use_ansifilter true
+ end
+
+ if command test -p /dev/stdin
+ set file "/tmp/tmp.txt"
+ if test $use_ansifilter = true
+ ansifilter > $file
+ else
+ cat > $file
+ end
+ else if test -n "$argv[1]"
+ set file "$argv[1]"
+ end
+
+ curl -F "file=@$file" -H "X-Auth: $(cat ~/.key)" https://paste.jabuxas.xyz
+
+ if command test -p /dev/stdin
+ rm "$file"
+ end
+end
+
+function pstf
+ set -l file
+ set -l use_ansifilter false
+
+ if command -v ansifilter > /dev/null
+ set use_ansifilter true
+ end
+
+ if command test -p /dev/stdin
+ set file "/tmp/tmp.txt"
+ if test $use_ansifilter = true
+ ansifilter > $file
+ else
+ cat > $file
+ end
+ else if test -n "$argv[1]"
+ set file "$argv[1]"
+ end
+
+ curl -F "file=@$file" -Fsecret= -H "X-Auth: $(cat ~/.key)" https://paste.jabuxas.xyz
+
+ if command test -p /dev/stdin
+ rm "$file"
+ end
+end
+
+function last_history_item
+ echo $history[1]
+end
+function last_history_arguments
+ set -l args (string split ' ' $history[1])
+ echo $args[-1]
+end
+abbr -a '!*' --position anywhere --function last_history_arguments
+abbr -a !! --position anywhere --function last_history_item
+
+fish_add_path /home/lucas/.spicetify
diff --git a/work-laptop/configs/fish/.config/fish/fish_variables b/work-laptop/configs/fish/.config/fish/fish_variables
new file mode 100644
index 0000000..c26fc4c
--- /dev/null
+++ b/work-laptop/configs/fish/.config/fish/fish_variables
@@ -0,0 +1,43 @@
+# This file contains fish universal variable definitions.
+# VERSION: 3.0
+SETUVAR __fish_initialized:3400
+SETUVAR fish_color_autosuggestion:767676
+SETUVAR fish_color_cancel:\x2d\x2dreverse
+SETUVAR fish_color_command:0087ff
+SETUVAR fish_color_comment:586e75
+SETUVAR fish_color_cwd:green
+SETUVAR fish_color_cwd_root:red
+SETUVAR fish_color_end:00d75f
+SETUVAR fish_color_error:dc322f
+SETUVAR fish_color_escape:00a6b2
+SETUVAR fish_color_history_current:\x2d\x2dbold
+SETUVAR fish_color_host:normal
+SETUVAR fish_color_host_remote:\x1d
+SETUVAR fish_color_keyword:\x1d
+SETUVAR fish_color_match:\x2d\x2dbackground\x3dbrblue
+SETUVAR fish_color_normal:normal
+SETUVAR fish_color_operator:00a6b2
+SETUVAR fish_color_option:\x1d
+SETUVAR fish_color_param:00afaf
+SETUVAR fish_color_quote:d7af5f
+SETUVAR fish_color_redirection:6c71c4
+SETUVAR fish_color_search_match:bryellow\x1e\x2d\x2dbackground\x3dblack
+SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
+SETUVAR fish_color_status:red
+SETUVAR fish_color_user:brgreen
+SETUVAR fish_color_valid_path:\x2d\x2dunderline
+SETUVAR fish_key_bindings:fish_default_key_bindings
+SETUVAR fish_pager_color_background:\x1d
+SETUVAR fish_pager_color_completion:B3A06D
+SETUVAR fish_pager_color_description:B3A06D
+SETUVAR fish_pager_color_prefix:cyan\x1e\x2d\x2dunderline
+SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
+SETUVAR fish_pager_color_secondary_background:\x1d
+SETUVAR fish_pager_color_secondary_completion:\x1d
+SETUVAR fish_pager_color_secondary_description:\x1d
+SETUVAR fish_pager_color_secondary_prefix:\x1d
+SETUVAR fish_pager_color_selected_background:\x2d\x2dbackground\x3dbrblack
+SETUVAR fish_pager_color_selected_completion:\x1d
+SETUVAR fish_pager_color_selected_description:\x1d
+SETUVAR fish_pager_color_selected_prefix:\x1d
+SETUVAR fish_user_paths:/home/lucas/\x2elocal/bin\x1e/home/lucas/\x2espicetify\x1e/home/lucas/\x2ecargo/bin\x1e/yang/\x2ecargo/bin\x1e/yang/\x2elocal/bin
diff --git a/work-laptop/configs/fish/.config/fish/functions/fish_command_not_found.fish b/work-laptop/configs/fish/.config/fish/functions/fish_command_not_found.fish
new file mode 100644
index 0000000..2b70a29
--- /dev/null
+++ b/work-laptop/configs/fish/.config/fish/functions/fish_command_not_found.fish
@@ -0,0 +1,8 @@
+# function fish_command_not_found
+# set -l pkgs (apk search --quiet cmd:$argv[1])
+# set pkgs (string join '|' $pkgs)
+# echo "$argv[1]: not found"
+# if test -n "$pkgs"
+# echo " install with: apk add $pkgs"
+# end
+# end
diff --git a/work-laptop/configs/fish/.config/fish/functions/fish_greeting.fish b/work-laptop/configs/fish/.config/fish/functions/fish_greeting.fish
new file mode 100644
index 0000000..cee461b
--- /dev/null
+++ b/work-laptop/configs/fish/.config/fish/functions/fish_greeting.fish
@@ -0,0 +1,3 @@
+function fish_greeting
+ # no op
+end
diff --git a/work-laptop/configs/fish/.config/fish/functions/fish_prompt.fish b/work-laptop/configs/fish/.config/fish/functions/fish_prompt.fish
new file mode 100644
index 0000000..c4e8847
--- /dev/null
+++ b/work-laptop/configs/fish/.config/fish/functions/fish_prompt.fish
@@ -0,0 +1,21 @@
+function fish_prompt
+ # This is a simple prompt. It looks like
+ # alfa@nobby /path/to/dir $
+ # with the path shortened and colored
+ # and a "#" instead of a "$" when run as root.
+ set -l symbol ' $ '
+ set -l color $fish_color_cwd
+ if fish_is_root_user
+ set symbol ' # '
+ set -q fish_color_cwd_root
+ and set color $fish_color_cwd_root
+ end
+
+ echo -n $USER@$hostname
+
+ set_color $color
+ echo -n (prompt_pwd)
+ set_color normal
+
+ echo -n $symbol
+end
diff --git a/work-laptop/configs/fuzzel/.config/fuzzel/fuzzel.ini b/work-laptop/configs/fuzzel/.config/fuzzel/fuzzel.ini
new file mode 100644
index 0000000..87298d0
--- /dev/null
+++ b/work-laptop/configs/fuzzel/.config/fuzzel/fuzzel.ini
@@ -0,0 +1,32 @@
+[main]
+font=CozetteVector:size=14:antialias=true:style=SemiBold
+dpi-aware=no
+fields=name,generic,comment,categories,filename,keywords
+terminal=foot -e
+prompt="Search "
+icon-theme=Papirus
+icons-enabled=yes
+show-actions=yes
+anchor=top
+lines=10
+width=40
+horizontal-pad=20
+vertical-pad=20
+inner-pad=5
+line-height=20
+letter-spacing=0
+image-size-ratio=0.2
+layer = top
+exit-on-keyboard-focus-loss = yes
+
+[colors]
+background=0a0c10ff
+text=f0f3f6ff
+match=ffb1afff
+selection=cb9effff
+selection-text=1a1b26ff
+border=cb9effff
+
+[border]
+width=2
+radius=0
diff --git a/work-laptop/configs/readme.md b/work-laptop/configs/readme.md
new file mode 100644
index 0000000..466770c
--- /dev/null
+++ b/work-laptop/configs/readme.md
@@ -0,0 +1 @@
+sway + zen browser ftw
diff --git a/work-laptop/configs/scripts/scripts/elash.sh b/work-laptop/configs/scripts/scripts/elash.sh
new file mode 100755
index 0000000..092554c
--- /dev/null
+++ b/work-laptop/configs/scripts/scripts/elash.sh
@@ -0,0 +1,112 @@
+#!/bin/bash
+
+## Change following to '0' for output to be like ls and '1' for exa features
+# Don't list implied . and .. by default with -a
+dot=0
+# Show human readable file sizes by default
+hru=1
+# Show file sizes in decimal (1KB=1000 bytes) as opposed to binary units (1KiB=1024 bytes)
+meb=0
+# Don't show group column
+fgp=0
+# Don't show hardlinks column
+lnk=0
+# Show file git status automatically (can cause a slight delay in large repo trees)
+git=1
+# Show icons
+ico=1
+# Show column headers
+hed=0
+# Group directories first in long listing by default
+gpd=1
+# Colour always even when piping (can be disabled with -N switch when not wanted)
+col=1
+
+help() {
+ cat << EOF
+ ${0##*/} options:
+ -a all
+ -A almost all
+ -1 one file per line
+ -x list by lines, not columns
+ -l long listing format
+ -G display entries as a grid *
+ -k bytes
+ -h human readable file sizes
+ -F classify
+ -R recurse
+ -r reverse
+ -d don't list directory contents
+ -D directories only *
+ -M group directories first *
+ -I ignore [GLOBS]
+ -i show inodes
+ -o show octal permissions *
+ -N no colour *
+ -S sort by file size
+ -t sort by modified time
+ -u sort by accessed time
+ -U sort by created time *
+ -X sort by extension
+ -T tree *
+ -L level [DEPTH] *
+ -s file system blocks
+ -g don't show/show file git status *
+ -n ignore .gitignore files *
+ -b file sizes in binary/decimal (--si in ls)
+ -@ extended attributes and sizes *
+
+ * not used in ls
+EOF
+ exit
+}
+
+[[ "$*" =~ --help ]] && help
+
+exa_opts=()
+
+while getopts ':aAbtuUSI:rkhnsXL:MNg1lFGRdDioTx@' arg; do
+ case $arg in
+ a) (( dot == 1 )) && exa_opts+=(-a) || exa_opts+=(-a -a) ;;
+ A) exa_opts+=(-a) ;;
+ t) exa_opts+=(-s modified); ((++rev)) ;;
+ u) exa_opts+=(-us accessed); ((++rev)) ;;
+ U) exa_opts+=(-Us created); ((++rev)) ;;
+ S) exa_opts+=(-s size); ((++rev)) ;;
+ I) exa_opts+=(--ignore-glob="${OPTARG}") ;;
+ r) ((++rev)) ;;
+ k) ((--hru)) ;;
+ h) ((++hru)) ;;
+ n) exa_opts+=(--git-ignore) ;;
+ s) exa_opts+=(-S) ;;
+ X) exa_opts+=(-s extension) ;;
+ L) exa_opts+=(--level="${OPTARG}") ;;
+ o) exa_opts+=(--octal-permissions) ;;
+ M) ((++gpd)) ;;
+ N) ((++nco)) ;;
+ g) ((++git)) ;;
+ b) ((--meb)) ;;
+ 1|l|F|G|R|d|D|i|T|x|@) exa_opts+=(-"$arg") ;;
+ :) printf "%s: -%s switch requires a value\n" "${0##*/}" "${OPTARG}" >&2; exit 1
+ ;;
+ *) printf "Error: %s\n --help for help\n" "${0##*/}" >&2; exit 1
+ ;;
+ esac
+done
+
+shift "$((OPTIND - 1))"
+
+(( rev == 1 )) && exa_opts+=(-r)
+(( fgp == 0 )) && exa_opts+=(-g)
+(( lnk == 0 )) && exa_opts+=(-H)
+(( hru <= 0 )) && exa_opts+=(-B)
+(( hed == 1 )) && exa_opts+=(-h)
+(( meb == 0 && hru > 0 )) && exa_opts+=(-b)
+(( col == 1 )) && exa_opts+=(--color=always) || exa_opts+=(--color=auto)
+(( nco == 1 )) && exa_opts+=(--color=never)
+(( gpd >= 1 )) && exa_opts+=(--group-directories-first)
+(( ico == 1 )) && exa_opts+=(--icons)
+(( git == 1 )) && \
+ [[ $(git -C "${*:-.}" rev-parse --is-inside-work-tree) == true ]] 2>/dev/null && exa_opts+=(--git)
+
+eza "${exa_opts[@]}" "$@"
diff --git a/work-laptop/configs/scripts/scripts/switch.fish b/work-laptop/configs/scripts/scripts/switch.fish
new file mode 100755
index 0000000..bbb5f04
--- /dev/null
+++ b/work-laptop/configs/scripts/scripts/switch.fish
@@ -0,0 +1,40 @@
+#!/usr/bin/env fish
+set CURRENT_THEME (cat ~/colorscheme)
+echo $CURRENT_THEME
+
+set wpp1_white ~/pics/white2.jpg
+set wpp2_white ~/pics/white.jpg
+
+set wpp1_solarized ~/pics/black.jpg
+set wpp2_solarized ~/pics/black2.jpg
+
+swaymsg reload
+
+switch $CURRENT_THEME
+ case black
+ echo changing to white ...
+ gsettings set org.gnome.desktop.interface gtk-theme "Windows-95"
+ gsettings set org.gnome.desktop.interface icon-theme "nineicons-redux-v0.6"
+ sed -i 's|black.toml|white.toml|' ~/.config/alacritty/alacritty.toml
+ ln -sf ~/.config/tmux/themes/tmux-white.conf ~/.config/tmux/theme.conf
+ tmux source ~/.config/tmux/tmux.conf
+ pkill waybar; waybar -s ~/.config/waybar/style-white.css &> /dev/null & disown
+ ~/scripts/swww.sh $wpp1_white $wpp2_white
+ echo white > ~/colorscheme
+ swaymsg shadows enable
+ case white
+ echo changing to black...
+ gsettings set org.gnome.desktop.interface gtk-theme "Material-Black-Blueberry-LA"
+ gsettings set org.gnome.desktop.interface icon-theme "We10X-black-dark"
+ swaymsg client.focused "#ffffff #ffffff #c1c1c1"
+ swaymsg client.focused_inactive "#c1c1c1 #212121 #cecece"
+ sed -i 's|white.toml|black.toml|' ~/.config/alacritty/alacritty.toml
+ ln -sf ~/.config/tmux/themes/tmux-monochrome.conf ~/.config/tmux/theme.conf
+ tmux source ~/.config/tmux/tmux.conf
+ pkill waybar; waybar &> /dev/null & disown
+ ~/scripts/swww.sh $wpp1_solarized $wpp2_solarized
+ echo black > ~/colorscheme
+ swaymsg shadows disable
+ case '*'
+ echo mmmm what?
+end
diff --git a/work-laptop/configs/scripts/scripts/swww.sh b/work-laptop/configs/scripts/scripts/swww.sh
new file mode 100755
index 0000000..aeda564
--- /dev/null
+++ b/work-laptop/configs/scripts/scripts/swww.sh
@@ -0,0 +1,46 @@
+#!/bin/bash
+export SWWW_TRANSITION_STEP=90
+export SWWW_TRANSITION_FPS=60
+export SWWW_TRANSITION=wipe
+export SWWW_TRANSITION_ANGLE=30
+export SWWW_TRANSITION_POS=center
+
+CURRENT_THEME=$(cat ~/colorscheme)
+if [[ -z "$1" ]]; then
+ case "$CURRENT_THEME" in
+ red)
+ FIRST=~/pics/wallpapers/bm5.jpg
+ SECOND=~/pics/wallpapers/bm3.png
+ ;;
+ melange)
+ FIRST=~/pics/wallpapers/melange2.png
+ SECOND=~/pics/wallpapers/melange1.jpg
+ ;;
+ white)
+ FIRST=~/pics/wallpapers/wh1.png
+ SECOND=~/pics/wallpapers/wh2.jpg
+ ;;
+ solarized)
+ FIRST=~/pics/wallpapers/sl6.jpg
+ SECOND=~/pics/wallpapers/sl7.jpg
+ ;;
+ monochrome)
+ FIRST=~/pics/wallpapers/monochrome-1.png
+ SECOND=~/pics/wallpapers/monochrome-1.jpg
+ ;;
+ forest)
+ FIRST=~/pics/wallpapers/ef1.jpg
+ SECOND=~/pics/wallpapers/ef2.jpg
+ esac
+else
+ FIRST=$1
+ SECOND=$2
+fi
+
+
+swww-daemon &
+sleep 0.3
+
+swww img -o eDP-1 $FIRST
+swww img -o HDMI-A-1 $SECOND
+# swww img -o DP-3 ~/pics/wallpapers/sl4.jpg
diff --git a/work-laptop/configs/scripts/scripts/toggle_opacity_alacritty.fish b/work-laptop/configs/scripts/scripts/toggle_opacity_alacritty.fish
new file mode 100755
index 0000000..a18427c
--- /dev/null
+++ b/work-laptop/configs/scripts/scripts/toggle_opacity_alacritty.fish
@@ -0,0 +1,22 @@
+#!/usr/bin/env fish
+
+# Check if alacritty.toml exists; if not, raise an alert and exit
+if not test -f ~/.config/alacritty/alacritty.toml
+ notify-send "alacritty.toml does not exist"
+ exit 0
+end
+
+# Fetch opacity from alacritty.toml
+set opacity (awk '$1 == "opacity" && $2 == "=" {print $3; exit}' ~/.config/alacritty/alacritty.toml)
+
+# Assign toggle opacity value
+switch $opacity
+ case 1
+ set toggle_opacity 0.93
+ case '*'
+ set toggle_opacity 1
+end
+
+# Replace opacity value in alacritty.toml
+sed -i -- "s/opacity = $opacity/opacity = $toggle_opacity/" ~/.config/alacritty/alacritty.toml
+
diff --git a/work-laptop/configs/scripts/scripts/way-print.sh b/work-laptop/configs/scripts/scripts/way-print.sh
new file mode 100755
index 0000000..19e60ac
--- /dev/null
+++ b/work-laptop/configs/scripts/scripts/way-print.sh
@@ -0,0 +1,44 @@
+#!/usr/bin/env sh
+
+swpy_dir="${XDG_CONFIG_HOME:-$HOME/.config}/swappy"
+save_dir="$HOME/pics/screenshots"
+save_file="screenshot-$(date -Iseconds | cut -d '+' -f1).png"
+temp_screenshot="/tmp/screenshot.png"
+
+mkdir -p $save_dir
+mkdir -p $swpy_dir
+echo -e "[Default]\nsave_dir=$save_dir\nsave_filename_format=$save_file" > $swpy_dir/config
+
+upload ()
+{
+ curl -F'file=@'"${save_dir}/${save_file}" -Fsecret= https://paste.jabuxas.xyz | wl-copy
+}
+
+function print_error
+{
+cat << "EOF"
+ ./screenshot.sh
+ ...valid actions are...
+ p : print all screens
+ s : snip current screen
+ sf : snip current screen (frozen)
+ m : print focused monitor
+EOF
+}
+
+case $1 in
+p) # print all outputs
+ ~/.local/bin/grimblast copysave screen $temp_screenshot && swappy -f $temp_screenshot ;;
+s) # drag to manually snip an area / click on a window to print it
+ ~/.local/bin/grimblast copysave area $temp_screenshot && swappy -f $temp_screenshot ;;
+sf) # frozen screen, drag to manually snip an area / click on a window to print it
+ ~/.local/bin/grimblast --freeze copysave area $temp_screenshot && swappy -f $temp_screenshot ;;
+m) # print focused monitor
+ ~/.local/bin/grimblast copysave output $temp_screenshot && swappy -f $temp_screenshot ;;
+t) #upload to 0x0.st temporarily
+ ~/.local/bin/grimblast copysave area $temp_screenshot && swappy -f $temp_screenshot && upload ;;
+*) # invalid option
+ print_error ;;
+esac
+
+rm "$temp_screenshot"
diff --git a/work-laptop/configs/scripts/scripts/weechat.sh b/work-laptop/configs/scripts/scripts/weechat.sh
new file mode 100755
index 0000000..f563eb6
--- /dev/null
+++ b/work-laptop/configs/scripts/scripts/weechat.sh
@@ -0,0 +1 @@
+/usr/bin/tmux new -d -s weechat weechat \; set-option status off
diff --git a/work-laptop/configs/shell-files/.Xresources b/work-laptop/configs/shell-files/.Xresources
new file mode 100644
index 0000000..98bebfa
--- /dev/null
+++ b/work-laptop/configs/shell-files/.Xresources
@@ -0,0 +1,2 @@
+Xft.dpi : 94
+Xcursor.size : 24
diff --git a/work-laptop/configs/shell-files/.bashrc b/work-laptop/configs/shell-files/.bashrc
new file mode 100644
index 0000000..8d293f8
--- /dev/null
+++ b/work-laptop/configs/shell-files/.bashrc
@@ -0,0 +1,26 @@
+# /etc/skel/.bashrc
+#
+# This file is sourced by all *interactive* bash shells on startup,
+# including some apparently interactive shells such as scp and rcp
+# that can't tolerate any output. So make sure this doesn't display
+# anything or bad things will happen !
+
+
+# Test for an interactive shell. There is no need to set anything
+# past this point for scp and rcp, and it's important to refrain from
+# outputting anything in those cases.
+if [[ $- != *i* ]] ; then
+ # Shell is non-interactive. Be done now!
+ return
+fi
+
+
+# Put your fun stuff here.
+
+alias reboot="loginctl reboot -i"
+export PS1="\[$(tput bold)\]\[$(tput setaf 1)\]\[\[$(tput setaf 3)\]\u\[$(tput setaf 2)\]@\[$(tput setaf 4)\]\h \[$(tput setaf 5)\]\w\[$(tput setaf 1)\]]\[$(tput setaf 7)\]\\$ \[$(tput sgr0)\]"
+alias ls="ls --color"
+LS_COLORS='di=1;35:fi=0:ln=31:pi=5:so=5:bd=5:cd=5:or=31:mi=0:ex=35:*.rpm=90:*.png=35:*.gif=36:*.jpg=35:*.c=92:*.jar=33:*.py=93:*.h=90:*.txt=94:*.doc=104:*.docx=104:*.odt=104:*.csv=102:*.xlsx=102:*.xlsm=102:*.rb=31:*.cpp=92:*.sh=92:*.html=96:*.zip=4;33:*.tar.gz=4;33:*.mp4=105:*.mp3=106'
+export LS_COLORS
+export HISTFILE="${XDG_STATE_HOME}"/bash/history
+. "$HOME/.cargo/env"
diff --git a/work-laptop/configs/shell-files/.ideavimrc b/work-laptop/configs/shell-files/.ideavimrc
new file mode 100644
index 0000000..307c7e9
--- /dev/null
+++ b/work-laptop/configs/shell-files/.ideavimrc
@@ -0,0 +1,133 @@
+" plugins
+Plug 'tpope/vim-commentary'
+
+set which-key
+set commentary
+" Set mouse to "a"
+set mouse=a
+
+" Set line numbers and relative line numbers
+set nu
+set rnu
+
+" Append to clipboard
+set clipboard+=unnamedplus
+
+" Set tab settings
+set tabstop=2
+set softtabstop=2
+set shiftwidth=2
+set expandtab
+
+" Enable smart indentation
+set smartindent
+
+" Disable text wrapping
+set nowrap
+
+" Disable swap and backup files, enable undofile
+set noswapfile
+set nobackup
+let &undodir = $HOME . "/.vim/undodir"
+set undofile
+
+" Disable highlighting search results and enable incremental search
+set nohlsearch
+set incsearch
+
+" Set scrolloff and signcolumn
+set scrolloff=8
+set signcolumn=yes
+
+" Set filename characters
+set isfname+=@-@
+
+" Set update time
+set updatetime=50
+
+" Set colorcolumn
+set colorcolumn=80
+autocmd WinLeave * let &colorcolumn = "0"
+autocmd WinEnter * let &colorcolumn = "80"
+
+" Disable status line, command line, ruler, and mode display
+set laststatus=0
+set noshowcmd
+set noruler
+set noshowmode
+
+" Set conceal level and cursor
+set conceallevel=2
+set concealcursor=n
+
+" Set map leader to " "
+let mapleader = " "
+
+" Set case insensitive searching, smart case, and completion options
+set ignorecase
+set smartcase
+set completeopt=menuone,noselect
+
+" Set split settings
+set splitright
+set splitbelow
+
+" Enable termguicolors and set terminal color
+set termguicolors
+let &t_Cs = "\e[4:3m"
+let &t_Ce = "\e[4:0m"
+
+set notimeout
+
+" Normal mode mappings
+nnoremap J :m '>+1gv=gv
+nnoremap K :m '<-2gv=gv
+nnoremap J mzJ`z
+nnoremap zz
+nnoremap zz
+nnoremap n nzzzv
+nnoremap N Nzzzv
+nnoremap p [["_dP]]
+nnoremap yy "+y
+nnoremap Y "+Y
+nnoremap dd "_d
+nnoremap
+nnoremap Q
+nnoremap :cnextzz
+nnoremap :cprevzz
+nnoremap k :lnextzz
+nnoremap j :lprevzz
+nnoremap rr :%s/\<\<\>/\/gIzz
+nnoremap x :!chmod +x %
+nnoremap q :!go run %
+nnoremap
+nnoremap Sh szz
+nnoremap Sv vzz
+nnoremap Se =zz
+nnoremap Sx :close
+nnoremap lzz
+nnoremap hzz
+nnoremap jzz
+nnoremap kzz
+nnoremap + zz
+nnoremap - zz
+nnoremap 4<
+nnoremap 4>
+nnoremap 4+
+nnoremap 4-
+nnoremap gsj :GoTagAdd json zz
+nnoremap gsy :GoTagAdd yaml zz
+nnoremap :bnextzz
+nnoremap :bprevzz
+nnoremap :bdeletezz
+map (ActivateProjectToolWindow)
+map sf (SearchEverywhere)
+map f (ReformatCode)
+
+
+" Visual mode mappings
+vnoremap J :m '>+1gv=gv
+vnoremap K :m '<-2gv=gv
+vnoremap yy "+y
+vnoremap dd "_d
+
diff --git a/work-laptop/configs/shell-files/.urxvt b/work-laptop/configs/shell-files/.urxvt
new file mode 100644
index 0000000..057391c
--- /dev/null
+++ b/work-laptop/configs/shell-files/.urxvt
@@ -0,0 +1,25 @@
+URxvt*font: xft:UbuntuMono Nerd Font Mono:size=15:antialias=true:hinting=true
+URxvt.scrollBar: false
+URxvt.scrollBar_right: false
+URxvt.scrollBar_floating: false
+URxvt.scrollstyle: rxvt
+!-*- Perl extensions -*-
+URxvt.perl-ext-common: default,selection-to-clipboard,pasta,matcher,keyboard-select,font-size,ctrl_v_paste
+URxvt.keysym.M-u: perl:url-select:select_next
+URxvt.url-launcher: /usr/bin/brave-bin
+URxvt.underlineURLs: True
+URxvt.matcher.button: 1
+URxvt.keysym.M-Escape:perl:keyboard-select:activate
+URxvt.keysym.Control-Shift-V: perl:pasta:paste
+
+URxvt.keysym.C-Up: font-size:increase
+URxvt.keysym.C-Down: font-size:decrease
+URxvt.keysym.C-S-Up: font-size:incglobal
+URxvt.keysym.C-S-Down: font-size:decglobal
+URxvt.keysym.C-equal: font-size:reset
+URxvt.keysym.C-slash: font-size:show
+
+URxvt.keysym.Control-Shift-V: eval:paste_clipboard
+
+URxvt.keysym.Control-Left: \033[1;5D
+URxvt.keysym.Control-Right: \033[1;5C
diff --git a/work-laptop/configs/shell-files/.xinitrc b/work-laptop/configs/shell-files/.xinitrc
new file mode 100755
index 0000000..2b884a7
--- /dev/null
+++ b/work-laptop/configs/shell-files/.xinitrc
@@ -0,0 +1,51 @@
+#!/bin/sh
+
+userresources=$HOME/.Xresources
+usermodmap=$HOME/.Xmodmap
+sysresources=/etc/X11/xinit/Xresources
+sysmodmap=/etc/X11/xinit/Xmodmap
+
+# merge in defaults and keymaps
+
+if [ -f $sysresources ]; then
+
+ xrdb -merge $sysresources
+
+fi
+
+if [ -f $sysmodmap ]; then
+ xmodmap $sysmodmap
+fi
+
+if [ -f "$userresources" ]; then
+
+ xrdb -merge "$userresources"
+
+fi
+
+if [ -f "$usermodmap" ]; then
+ xmodmap "$usermodmap"
+fi
+
+# start some nice programs
+
+if [ -n "$(/etc/X11/chooser.sh)" ]; then
+ command="$(/etc/X11/chooser.sh)"
+else
+ failsafe="yes"
+fi
+
+if [ -d /etc/X11/xinit/xinitrc.d ]; then
+ for f in /etc/X11/xinit/xinitrc.d/?*; do
+ [ -x "$f" ] && . "$f"
+ done
+ unset f
+fi
+
+if [ -n "$failsafe" ]; then
+ export GTK_THEME="Everforest-Dark-BL"
+ export XDG_SESSION_TYPE="x11"
+ exec dbus-launch --exit-with-session leftwm > ~/leftwm.log
+else
+ exec $command
+fi
diff --git a/work-laptop/configs/shell-files/.zshrc b/work-laptop/configs/shell-files/.zshrc
new file mode 100644
index 0000000..ad8714e
--- /dev/null
+++ b/work-laptop/configs/shell-files/.zshrc
@@ -0,0 +1,101 @@
+export PATH=$HOME/.local/bin:$PATH
+export PATH=$HOME/.ghcup/bin:$PATH
+export PATH=/sbin:$PATH
+export PATH=$HOME/.local/share/nvim/mason/bin:$PATH
+export PATH=$HOME/go/bin:$PATH
+export PATH=$HOME/.yarn/bin:$PATH
+export ZSH="$HOME/.oh-my-zsh"
+export R2MOD_INSTALL_DIR="/games/SteamLibrary/steamapps/common/Risk of Rain 2"
+export R2MOD_COMPAT_DIR="/games/SteamLibrary/steamapps/compatdata/632360"
+export GTK_THEME=NumixSolarizedDarkCyan
+
+. "$HOME/.cargo/env"
+
+# ZSH_THEME="daivasmara"
+ZSH_THEME="common"
+zstyle ':omz:update' mode auto # update automatically without asking
+
+umask 002
+
+# Uncomment the following line if pasting URLs and other text is messed up.
+# DISABLE_MAGIC_FUNCTIONS="true"
+plugins=(git fast-syntax-highlighting zsh-autosuggestions autojump zsh-vi-mode)
+
+ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=#344146"
+
+source $ZSH/oh-my-zsh.sh
+unsetopt beep
+alias ls="bash ~/scripts/elash.sh"
+alias cat="bat"
+alias v="nvim"
+alias c="clear"
+alias hi="pkill linux-wallpaperengine; systemctl hibernate"
+alias sx="startx"
+alias reboot="systemctl reboot"
+alias poweroff="systemctl poweroff"
+alias kitsune="cd ~/repos/kitsune && . ~/repos/venv/bin/activate"
+alias sus="systemctl suspend-then-hibernate"
+alias xsc="xclip -sel clip"
+alias sw="swapon --show"
+alias icat="kitty +kitten icat"
+[ "$TERM" = "xterm-kitty" ] && alias ssh="kitty +kitten ssh"
+alias hr="date +'%Hh:%M, %d-%m-%Y'"
+alias neofetch="fastfetch"
+alias kvm="sh ~/scripts/kvm.sh"
+alias windows="sudo grub-set-default 0; sudo grub-reboot 'Microsoft Windows UEFI/GPT'; systemctl reboot"
+alias ff="fastfetch"
+alias feh="imv"
+alias cop="wl-copy"
+alias lg="lazygit"
+alias cpr="cd ~/repos/cports-docker && docker compose run --build --rm cports"
+
+export BAT_THEME="Solarized (light)"
+export FPATH="/hdd/docs/eza/completions/zsh:$FPATH"
+export EDITOR=nvim
+export PATH=$PATH:/yang/.spicetify
+
+eval `dircolors /yang/docs/dircolors.256dark`
+
+[ -f "/yang/.ghcup/env" ] && source "/yang/.ghcup/env" # ghcup-env
+
+if [ -z "${WAYLAND_DISPLAY}" ] && [ "${XDG_VTNR}" -eq 1 ]; then
+ export XDG_CURRENT_DESKTOP="sway"
+ sway
+fi
+
+pst() {
+ local file
+
+ if [[ -p /dev/stdin ]]; then
+ file=$(mktemp)
+ cat > "$file"
+ elif [[ -n $1 ]]; then
+ file="$1"
+ else
+ echo "Usage: pst [file]"
+ return 1
+ fi
+
+ curl -F "file=@$file" -H "X-Auth: $(cat ~/.key)" https://paste.jabuxas.xyz
+
+ if [[ -p /dev/stdin ]]; then
+ rm "$file"
+ fi
+}
+
+
+
+# The next line updates PATH for the Google Cloud SDK.
+if [ -f '/yang/tmp/google-cloud-sdk/path.zsh.inc' ]; then . '/yang/tmp/google-cloud-sdk/path.zsh.inc'; fi
+
+# The next line enables shell command completion for gcloud.
+if [ -f '/yang/tmp/google-cloud-sdk/completion.zsh.inc' ]; then . '/yang/tmp/google-cloud-sdk/completion.zsh.inc'; fi
+
+
+# BEGIN opam configuration
+# This is useful if you're using opam as it adds:
+# - the correct directories to the PATH
+# - auto-completion for the opam binary
+# This section can be safely removed at any time if needed.
+[[ ! -r '/yang/.opam/opam-init/init.zsh' ]] || source '/yang/.opam/opam-init/init.zsh' > /dev/null 2> /dev/null
+# END opam configuration
diff --git a/work-laptop/configs/sway/.config/sway/config b/work-laptop/configs/sway/.config/sway/config
new file mode 100644
index 0000000..f8155b1
--- /dev/null
+++ b/work-laptop/configs/sway/.config/sway/config
@@ -0,0 +1,15 @@
+include ~/.config/sway/settings/*
+
+blur enable
+blur_passes 2
+blur_radius 2
+blur_noise 0.2
+
+shadow_on_csd enable
+shadow_color #424242
+shadow_offset 12 12
+shadow_blur_radius 10
+
+seat seat0 xcursor_theme Simp1e-Adw
+
+# vim: ts=2 sts=2 sw=2 ft=swayconfig
diff --git a/work-laptop/configs/sway/.config/sway/settings/binds b/work-laptop/configs/sway/.config/sway/settings/binds
new file mode 100644
index 0000000..5ef7426
--- /dev/null
+++ b/work-laptop/configs/sway/.config/sway/settings/binds
@@ -0,0 +1,96 @@
+set $mod Mod4
+set $left h
+set $down j
+set $up k
+set $right l
+set $term LC_ALL=C alacritty
+set $menu fuzzel
+
+mode "resize" {
+ bindsym $left resize shrink width 40px
+ bindsym $down resize grow height 40px
+ bindsym $up resize shrink height 40px
+ bindsym $right resize grow width 40px
+ bindsym Return mode "default"
+ bindsym Escape mode "default"
+}
+
+bindsym $mod+r mode "resize"
+bindsym $mod+Shift+b exec firefox-bin
+bindsym $mod+Shift+apostrophe exec ~/scripts/switch.fish
+bindsym $mod+b exec FUSERMOUNT_PROG=/bin/fusermount ./.local/share/AppImage/ZenBrowser.AppImage
+bindsym $mod+Shift+d exec flatpak run de.shorsh.discord-screenaudio
+bindsym $mod+Return exec $term
+bindsym $mod+Shift+c kill
+bindsym $mod+Shift+Return exec $menu
+floating_modifier $mod normal
+bindsym $mod+Shift+r reload
+bindsym $mod+Shift+q exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
+
+bindsym $mod+$up focus up
+bindsym $mod+$down focus down
+bindsym $mod+$left focus left
+bindsym $mod+$right focus right
+
+bindsym $mod+Shift+$up move up
+bindsym $mod+Shift+$down move down
+bindsym $mod+Shift+$left move left
+bindsym $mod+Shift+$right move right
+
+bindsym $mod+1 exec ~/.config/sway/xmonad workspace 1
+bindsym $mod+2 exec ~/.config/sway/xmonad workspace 2
+bindsym $mod+3 exec ~/.config/sway/xmonad workspace 3
+bindsym $mod+4 exec ~/.config/sway/xmonad workspace 4
+bindsym $mod+5 exec ~/.config/sway/xmonad workspace 5
+bindsym $mod+6 exec ~/.config/sway/xmonad workspace 6
+bindsym $mod+7 exec ~/.config/sway/xmonad workspace 7
+bindsym $mod+8 exec ~/.config/sway/xmonad workspace 8
+bindsym $mod+9 exec ~/.config/sway/xmonad workspace 9
+bindsym $mod+0 exec ~/.config/sway/xmonad workspace 10
+bindsym $mod+Shift+1 move container to workspace number 1
+bindsym $mod+Shift+2 move container to workspace number 2
+bindsym $mod+Shift+3 move container to workspace number 3
+bindsym $mod+Shift+4 move container to workspace number 4
+bindsym $mod+Shift+5 move container to workspace number 5
+bindsym $mod+Shift+6 move container to workspace number 6
+bindsym $mod+Shift+7 move container to workspace number 7
+bindsym $mod+Shift+8 move container to workspace number 8
+bindsym $mod+Shift+9 move container to workspace number 9
+bindsym $mod+Shift+0 move container to workspace number 10
+
+bindsym $mod+Control+h splith
+bindsym $mod+Control+v splitv
+bindsym $mod+s layout stacking
+bindsym $mod+w layout tabbed
+bindsym $mod+Shift+e layout toggle split
+bindsym $mod+f fullscreen
+bindsym $mod+t floating toggle
+
+# Swap focus between the tiling area and the floating area
+bindsym $mod+space focus mode_toggle
+bindsym $mod+a focus parent
+
+bindsym $mod+comma focus output left
+bindsym $mod+period focus output right
+bindsym $mod+Shift+comma move container to output left
+bindsym $mod+Shift+period move container to output right
+bindsym $mod+Control+Return move scratchpad
+
+# Show the next scratchpad window or hide the focused scratchpad window.
+# If there are multiple scratchpad windows, this command cycles through them.
+bindsym $mod+Control+s scratchpad show
+
+bindsym $mod+Shift+s exec steam
+bindsym $mod+e exec pcmanfm
+bindsym Print exec ~/scripts/way-print p
+bindsym Shift+Print exec ~/scripts/way-print.sh s
+bindsym $mod+Print exec ~/scripts/way-print.sh t
+bindsym Control+Shift+Print exec ~/scripts/way-print.sh m
+bindsym Control+Print exec ~/scripts/way-print.sh cw
+bindsym $mod+Alt+x exec XL_SECRET_PROVIDER=FILE flatpak run --parent-expose-pids --parent-share-pids --parent-pid=1 --branch=stable --arch=x86_64 --command=xivlauncher dev.goats.xivlauncher
+
+# audio
+bindsym XF86AudioRaiseVolume exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
+bindsym XF86AudioLowerVolume exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
+
+# vim: ts=2 sts=2 sw=2 ft=swayconfig
diff --git a/work-laptop/configs/sway/.config/sway/settings/config b/work-laptop/configs/sway/.config/sway/settings/config
new file mode 100644
index 0000000..ac81f7e
--- /dev/null
+++ b/work-laptop/configs/sway/.config/sway/settings/config
@@ -0,0 +1,50 @@
+output {
+# HDMI-A-1 pos 0 0 mode --custom 2560x1080@75Hz
+# HDMI-A-1 pos 0 0
+# DP-3 pos 0 -1080
+# DP-2 pos 2560 0
+}
+
+default_border pixel 2
+client.focused #16aec9 #16aec9 #222221
+client.focused_inactive #16aec9 #222221 #c1c1c1
+focus_on_window_activation none
+popup_during_fullscreen smart
+no_focus [window_role="pop-up"]
+focus_wrapping workspace
+
+gaps inner 10
+mouse_warping none
+
+input "2362:9523:Gaming_Mouse" {
+ accel_profile flat
+ dwt enabled
+ pointer_accel 0.5
+}
+
+input "1267:12721:ELAN050A:00_04F3:31B1_Touchpad" {
+ dwt enabled
+ tap enabled
+}
+
+input "1241:6185:LogoTech_Gaming_Keyboard" {
+ xkb_layout br
+ xkb_variant abnt2
+ xkb_options ctrl:nocaps
+}
+input "1:1:AT_Translated_Set_2_keyboard" {
+ xkb_layout br
+ xkb_variant abnt2
+ xkb_options ctrl:nocaps
+}
+input "6700:11555:USB_USB_Keyboard" {
+ xkb_layout br
+ xkb_variant abnt2
+ xkb_options ctrl:nocaps
+}
+
+input "1356:2508:Sony_Interactive_Entertainment_Wireless_Controller_Touchpad" {
+ map_to_output DISABLED
+}
+
+# vim: ts=2 sts=2 sw=2 ft=swayconfig
diff --git a/work-laptop/configs/sway/.config/sway/settings/init b/work-laptop/configs/sway/.config/sway/settings/init
new file mode 100644
index 0000000..56770a2
--- /dev/null
+++ b/work-laptop/configs/sway/.config/sway/settings/init
@@ -0,0 +1,20 @@
+set $gnome-schema org.gnome.desktop.interface
+exec {
+ gsettings set $gnome-schema gtk-theme "Sunrise-Dark"
+ gsettings set $gnome-schema icon-theme "Reversal-black-dark"
+ gsettings set $gnome-schema cursor-theme 'Simp1e-Adw'
+ gsettings set $gnome-schema font-name 'CozetteVector 12'
+ xrandr --output HDMI-A-1 --primary
+ waybar &
+ autotiling &
+ gammastep -t 4500:3500 -l -23.5475:-46.63611 -b 1.0:0.7 &
+ dbus-update-activation-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway DISPLAY
+ rm -rf ~/tmp/*
+ ~/scripts/swww.sh
+ # otd-daemon
+ ~/scripts/weechat.sh
+ dunst &
+ nextcloud --background
+}
+
+# vim: ts=2 sts=2 sw=2 ft=swayconfig
diff --git a/work-laptop/configs/sway/.config/sway/settings/rules b/work-laptop/configs/sway/.config/sway/settings/rules
new file mode 100644
index 0000000..1b0651c
--- /dev/null
+++ b/work-laptop/configs/sway/.config/sway/settings/rules
@@ -0,0 +1,54 @@
+for_window [class="Anki" title="Add"] floating enable
+for_window [class="vrising.exe"] move to workspace 9
+for_window [shell=".*"] inhibit_idle fullscreen
+for_window [app_id=".*office.*"] move to workspace 5
+for_window [app_id="WebCord"] move to workspace 6
+for_window [class="WebCord"] move to workspace 6
+for_window [class="Spotify"] move to workspace 4
+for_window [class="Steam"] move to workspace 8
+for_window [class="steam"] move to workspace 8
+for_window [class=".*jetbrains.*"] move to workspace 5
+for_window [app_id="lutris"] move to workspace 7
+for_window [class="heroic"] move to workspace 7
+for_window [class="explorer.exe"] move to workspace 9
+for_window [class="osu!"] move to workspace 9
+for_window [title="Wine System Tray"] kill
+for_window [app_id="org.prismlauncher.PrismLauncher"] move to workspace 7
+for_window [class="ffxiv_dx11.exe"] move to workspace 9, floating enable
+for_window [class="battle.net.exe"] move to workspace 9, floating enable
+for_window [class="diablo iv.exe"] move to workspace 9, floating enable
+for_window [class=".*Minecraft.*"] move to workspace 9, floating enable
+for_window [class="XIVLauncher.Core"] move to workspace 9, floating enable
+for_window [class=".*csgo.*"] move to workspace 9, floating enable
+assign [class="gamescope"] 9
+for_window [class="gamescope"] floating enable
+for_window [class="cs2"] move to workspace 9, fullscreen enable
+for_window [class=".*steam_.*"] move to workspace 9, floating enable
+for_window [class="client-win64-shipping.exe"] move to workspace 10, floating enable
+for_window [title="Wuthering Waves "] move to workspace 9, fullscreen enable
+for_window [instance="CoreKeeper"] move to workspace 9, fullscreen enable
+for_window [class="Melvor Idle"] move to workspace 10
+
+# firefox tweaks
+for_window [title = "Firefox - Sharing Indicator"] kill
+for_window [title = "About Mozilla Firefox"] floating enable
+for_window [window_role = "About"] floating enable
+for_window [app_id="firefox" title="Library"] floating enable, border pixel 1, sticky enable
+for_window [title = "Firefox — Sharing Indicator"] kill
+
+# steam tweaks
+for_window [class="^Steam$" title="^Friends$"] floating enable
+for_window [class="^Steam$" title="Steam - News"] floating enable
+for_window [class="^Steam$" title=".* - Chat"] floating enable
+for_window [class="^Steam$" title="^Settings$"] floating enable
+for_window [class="^Steam$" title=".* - event started"] floating enable
+for_window [class="^Steam$" title=".* CD key"] floating enable
+for_window [class="^Steam$" title="^Steam - Self Updater$"] floating enable
+for_window [class="^Steam$" title="^Screenshot Uploader$"] floating enable
+for_window [class="^Steam$" title="^Steam Guard - Computer Authorization Required$"] floating enable
+for_window [title="^Steam Keyboard$"] floating enable
+
+for_window [class="Mattermost"] move to workspace 7
+for_window [class="teams-for-linux"] move to workspace 8
+
+# vim: ts=2 sts=2 sw=2 ft=swayconfig
diff --git a/work-laptop/configs/sway/.config/sway/xmonad b/work-laptop/configs/sway/.config/sway/xmonad
new file mode 100755
index 0000000..5dce18e
--- /dev/null
+++ b/work-laptop/configs/sway/.config/sway/xmonad
@@ -0,0 +1,121 @@
+#!/bin/python3
+import argparse
+from i3ipc import Connection
+
+sway = Connection()
+outputs = [o for o in sway.get_outputs() if o.active]
+
+
+def focus_monitor(args):
+ indices = {"left": 0, "center": 1, "right": 2}
+ orientation = indices[args.orientation]
+ if len(outputs) <= 1 or len(outputs) < orientation+1:
+ print(len(outputs))
+ return
+
+ sorted_outputs = sorted(outputs, key=lambda x: x.rect.x)
+ output = sorted_outputs[orientation]
+
+ sway.command(f"workspace {output.current_workspace}")
+
+
+def send_to_monitor(args):
+ indices = {"left": 0, "center": 1, "right": 2}
+ orientation = indices[args.orientation]
+ if len(outputs) <= 1 or len(outputs) < orientation+1:
+ print(len(outputs))
+ return
+
+ sorted_outputs = sorted(outputs, key=lambda x: x.rect.x)
+ output = sorted_outputs[orientation]
+
+ sway.command(f"move container to workspace {output.current_workspace}")
+
+
+def switch_workspace(args):
+ workspaces = sway.get_workspaces()
+ workspaces_by_name = {w.name: w for w in workspaces}
+ focused_workspace = next((w for w in workspaces if w.focused))
+ destination = args.workspace
+
+ if focused_workspace.name == destination:
+ return
+
+ if destination not in workspaces_by_name:
+ # workspace doesn't exist
+ sway.command(f"workspace {destination}")
+ return
+
+ target_workspace = workspaces_by_name[destination]
+ destination_output = focused_workspace.output
+ source_output = target_workspace.output
+ if destination_output == source_output:
+ sway.command(f"workspace {destination}")
+ return
+
+ # workspace belongs to a different output
+ if target_workspace.visible:
+ # the workspace we want in the current output is
+ # being displayed in another output, so we swap
+ commands = [
+ "workspace ___temp___",
+ f"move workspace to output {source_output}",
+ f"workspace {destination}",
+ f"move workspace to output {destination_output}",
+ f"workspace {focused_workspace.name}",
+ f"move workspace to output {source_output}",
+ f"workspace {destination}",
+ ]
+ command = ";".join(commands)
+ sway.command(command)
+ else:
+ # the workspace is in a different output but hidden
+ # bring it to the destination output, no need for temp
+ # since we know there's at least one more
+ commands = [
+ f"workspace {destination}",
+ f"move workspace to output {destination_output}"
+ ]
+ command = ";".join(commands)
+ sway.command(command)
+
+
+parser = argparse.ArgumentParser(description="Process custom sway commands")
+
+subparsers = parser.add_subparsers(help="sub-command help")
+
+output_choose = subparsers.add_parser(
+ "monitor",
+ help="pick monitor in X orientation order"
+)
+output_choose.add_argument(
+ "orientation",
+ type=str,
+ choices=["left", "center", "right"]
+)
+output_choose.set_defaults(func=focus_monitor)
+
+send_to_output = subparsers.add_parser(
+ "send_to_output",
+ help="pick monitor in X orientation order"
+)
+send_to_output.add_argument(
+ "orientation",
+ type=str,
+ choices=["left", "center", "right"]
+)
+send_to_output.set_defaults(func=send_to_monitor)
+
+workspace_choose = subparsers.add_parser(
+ "workspace",
+ help="switch workspace"
+)
+workspace_choose.add_argument(
+ "workspace",
+ type=str
+)
+workspace_choose.set_defaults(func=switch_workspace)
+
+
+args = parser.parse_args()
+args.func(args)
diff --git a/work-laptop/configs/tmux/.config/tmux/theme.conf b/work-laptop/configs/tmux/.config/tmux/theme.conf
new file mode 120000
index 0000000..a772f81
--- /dev/null
+++ b/work-laptop/configs/tmux/.config/tmux/theme.conf
@@ -0,0 +1 @@
+/home/lucas/.config/tmux/themes/tmux-white.conf
\ No newline at end of file
diff --git a/work-laptop/configs/tmux/.config/tmux/themes/tmux-melange.conf b/work-laptop/configs/tmux/.config/tmux/themes/tmux-melange.conf
new file mode 100644
index 0000000..ba422cc
--- /dev/null
+++ b/work-laptop/configs/tmux/.config/tmux/themes/tmux-melange.conf
@@ -0,0 +1,50 @@
+
+# status bar
+set -g status-style fg=colour208,bg=black
+# 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 20
+set-option -g status-left '#{?client_prefix,#[bg=colour130] ,#[bg=colour130] #S }#[fg=default,bg=default] '
+
+# Window status
+set-option -g window-status-format "#[fg=white,bg=black] #I #[fg=white,bg=black] #W "
+set-option -g window-status-current-format "#[fg=black,bg=colour130] #I #[fg=black,bg=colour130] #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=colour130,bg=colour236
+
+# Pane number indicator
+set-option -g display-panes-colour colour255
+set-option -g display-panes-active-colour brightwhite
+
+# 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/work-laptop/configs/tmux/.config/tmux/themes/tmux-monochrome.conf b/work-laptop/configs/tmux/.config/tmux/themes/tmux-monochrome.conf
new file mode 100644
index 0000000..e616264
--- /dev/null
+++ b/work-laptop/configs/tmux/.config/tmux/themes/tmux-monochrome.conf
@@ -0,0 +1,60 @@
+# status bar
+set -g status-style fg=colour15,bg=colour235
+# 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 20
+# set-option -g status-left "#[fg=colour249,bg=colour235] #S #[fg=default,bg=default] "
+set-option -g status-left '#{?client_prefix,#[fg=black]#[bg=colour241] ,#[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=colour241] #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=colour241]🌡 BER #[fg=colour249,bg=colour234] $WEATHER #[fg=colour249,bg=colour241] #[fg=colour249,bg=colour234] #(whoami)@#h "
+
+# pane border
+set -g pane-border-style fg=colour238,bg=colour235
+set -g pane-active-border-style fg=colour241,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/work-laptop/configs/tmux/.config/tmux/themes/tmux-red.conf b/work-laptop/configs/tmux/.config/tmux/themes/tmux-red.conf
new file mode 100644
index 0000000..6e567d8
--- /dev/null
+++ b/work-laptop/configs/tmux/.config/tmux/themes/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 20
+# 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/work-laptop/configs/tmux/.config/tmux/themes/tmux-solarized.conf b/work-laptop/configs/tmux/.config/tmux/themes/tmux-solarized.conf
new file mode 100644
index 0000000..14cc1e0
--- /dev/null
+++ b/work-laptop/configs/tmux/.config/tmux/themes/tmux-solarized.conf
@@ -0,0 +1,60 @@
+# status bar
+set -g status-style fg=colour16,bg=colour0
+# 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 colour7
+
+# Left side of status bar
+set-option -g status-left-length 20
+# set-option -g status-left "#[fg=colour7,bg=colour0] #S #[fg=default,bg=default] "
+set-option -g status-left '#{?client_prefix,#[fg=black]#[bg=colour2] ,#[bg=colour0] #S }#[fg=default,bg=default] '
+
+# Window status
+set-option -g window-status-format "#[fg=colour7,bg=colour0] #I #[fg=colour7,bg=colour0] #W "
+set-option -g window-status-current-format "#[fg=black,bg=colour2] #I #[fg=colour7,bg=colour0] #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 | #(date +%H:%M) "
+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=colour7,bg=colour2]🌡 BER #[fg=colour7,bg=colour0] $WEATHER #[fg=colour7,bg=colour2] #[fg=colour7,bg=colour0] #(whoami)@#h "
+
+# pane border
+set -g pane-border-style fg=colour238,bg=colour0
+set -g pane-active-border-style fg=colour2,bg=colour0
+
+# Pane number indicator
+set-option -g display-panes-colour colour0
+set-option -g display-panes-active-colour colour7
+
+# Clock mode
+# set-option -g clock-mode-colour colour7
+# 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/work-laptop/configs/tmux/.config/tmux/themes/tmux-white.conf b/work-laptop/configs/tmux/.config/tmux/themes/tmux-white.conf
new file mode 100644
index 0000000..c2e4d01
--- /dev/null
+++ b/work-laptop/configs/tmux/.config/tmux/themes/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 20
+#set-option -g status-left "#[fg=brightblack,bg=colour255] #S #[fg=default,bg=default] "
+set-option -g status-left '#{?client_prefix,#[bg=colour14] ,#[bg=colour14] #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=colour14] #I #[fg=brightblack,bg=colour14] #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=colour14,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/work-laptop/configs/tmux/.config/tmux/tmux.conf b/work-laptop/configs/tmux/.config/tmux/tmux.conf
new file mode 100644
index 0000000..275ad59
--- /dev/null
+++ b/work-laptop/configs/tmux/.config/tmux/tmux.conf
@@ -0,0 +1,82 @@
+set -g prefix C-a
+unbind C-b
+bind-key C-a send-prefix
+
+# set-option -ga terminal-overrides ",xterm-256color:Tc"
+
+unbind C-o
+bind C-o display-popup -E "tms"
+
+unbind C-j
+bind C-j display-popup -E "tms switch"
+
+unbind C-k
+bind C-k display-popup -E "tms kill"
+
+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-option -g set-titles on
+set-option -g set-titles-string "#S / #W"
+
+
+source ~/.config/tmux/theme.conf
+
+set -g visual-bell off
+set -as terminal-overrides ',*:Smulx=\E[4::%p1%dm' # undercurl support
+set -as terminal-overrides ',*:Setulc=\E[58::2::%p1%{65536}%/%d::%p1%{256}%/%{255}%&%d::%p1%{255}%&%d%;m' # underscore colours - needs tmux-3.0
+set -g status-position bottom
+
+set -g default-terminal "tmux-256color"
+set -sg terminal-overrides ",*:RGB"
diff --git a/work-laptop/configs/waybar/.config/waybar/config b/work-laptop/configs/waybar/.config/waybar/config
new file mode 100644
index 0000000..de08fa5
--- /dev/null
+++ b/work-laptop/configs/waybar/.config/waybar/config
@@ -0,0 +1,87 @@
+{
+ "layer": "top",
+ "position": "bottom",
+ "mod": "dock",
+ "exclusive": true,
+ "passtrough": false,
+ "gtk-layer-shell": true,
+ "height": 30,
+ /* "output": "DP-3", */
+
+ "modules-left": [
+ "sway/workspaces",
+ ],
+
+ "modules-center": [
+ "sway/window"
+ ],
+
+ "modules-right": [
+ "pulseaudio",
+ "battery",
+ "network",
+ "clock",
+ "tray",
+ ],
+
+ "sway/window": {
+ "format": "{}"
+ },
+
+ "sway/workspaces": {
+ "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/work-laptop/configs/waybar/.config/waybar/style-white.css b/work-laptop/configs/waybar/.config/waybar/style-white.css
new file mode 100644
index 0000000..94bde2f
--- /dev/null
+++ b/work-laptop/configs/waybar/.config/waybar/style-white.css
@@ -0,0 +1,44 @@
+* {
+ border: none;
+ border-radius: 0;
+ /* padding: 0; */
+ /* margin: 0; */
+ font-size: 18px;
+ font-family: CozetteVector;
+ font-style: italic;
+}
+
+window#waybar {
+ background: #eaeaea;
+ color: #222221;
+ margin: 10px;
+}
+
+#workspaces button {
+ margin-left: 2px;
+ padding: 2px 8px;
+ color: #222221;
+}
+
+#workspaces button:hover,
+#workspaces button:active {
+ background-color: #004d61;
+ color: #222221;
+}
+
+#workspaces button.focused {
+ background-color: #c1c1c1;
+}
+
+#language {
+ margin-right: 7px;
+}
+
+#battery {
+ margin-left: 7px;
+ margin-right: 3px;
+}
+
+#clock {
+ margin: 0px 6px;
+}
diff --git a/work-laptop/configs/waybar/.config/waybar/style.css b/work-laptop/configs/waybar/.config/waybar/style.css
new file mode 100644
index 0000000..872f205
--- /dev/null
+++ b/work-laptop/configs/waybar/.config/waybar/style.css
@@ -0,0 +1,44 @@
+* {
+ border: none;
+ border-radius: 0;
+ /* padding: 0; */
+ /* margin: 0; */
+ font-size: 18px;
+ font-family: CozetteVector;
+ font-style: italic;
+}
+
+window#waybar {
+ background: #0a0c10;
+ color: #f0f3f6;
+ margin: 10px;
+}
+
+#workspaces button {
+ margin-left: 2px;
+ padding: 2px 8px;
+}
+
+#workspaces button:hover,
+#workspaces button:active {
+ background-color: #424242;
+ color: #f0f3f6;
+}
+
+#workspaces button.focused {
+ background-color: #424242;
+ color: #f0f3f6;
+}
+
+#language {
+ margin-right: 7px;
+}
+
+#battery {
+ margin-left: 7px;
+ margin-right: 3px;
+}
+
+#clock {
+ margin: 0px 6px;
+}
diff --git a/work-laptop/configs/waybar/.config/waybar/unused/base16/base16-default-dark.css b/work-laptop/configs/waybar/.config/waybar/unused/base16/base16-default-dark.css
new file mode 100755
index 0000000..8d18a90
--- /dev/null
+++ b/work-laptop/configs/waybar/.config/waybar/unused/base16/base16-default-dark.css
@@ -0,0 +1,23 @@
+/*
+*
+* Base16 Default Dark
+* Author: Chris Kempson (http://chriskempson.com)
+*
+*/
+
+@define-color base00 #181818;
+@define-color base01 #282828;
+@define-color base02 #383838;
+@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;
diff --git a/work-laptop/configs/waybar/.config/waybar/unused/config-chinese b/work-laptop/configs/waybar/.config/waybar/unused/config-chinese
new file mode 100644
index 0000000..9b7c3df
--- /dev/null
+++ b/work-laptop/configs/waybar/.config/waybar/unused/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/work-laptop/configs/waybar/.config/waybar/unused/dwm-forest.css b/work-laptop/configs/waybar/.config/waybar/unused/dwm-forest.css
new file mode 100644
index 0000000..f8dc6a2
--- /dev/null
+++ b/work-laptop/configs/waybar/.config/waybar/unused/dwm-forest.css
@@ -0,0 +1,73 @@
+@define-color accent #3c4841;
+@define-color text #d3c6aa;
+@define-color invText #d3c6aa;
+/* text when background is accent */
+@define-color bg #1e2326;
+
+/* @import "./wal.css";
+@define-color accent @color5;
+@define-color bg @background;
+@define-color text @foreground; */
+
+* {
+ font-family: CartographCF Nerd Font;
+ font-size: 15px;
+ border-radius: 0px;
+ /* :[ */
+ min-height: 0px;
+}
+
+window#waybar {
+ background-color: @accent;
+ color: @text;
+ opacity: 1;
+}
+
+#workspaces {
+ background-color: transparent;
+ padding: 5px 3px;
+}
+
+#workspaces button {
+ padding: 0 5px;
+ color: @text;
+}
+
+#workspaces button.active {
+ background-color: @accent;
+ color: @invText;
+ /* color: @background; */
+}
+
+#pulseaudio,
+#cpu,
+#memory,
+#temperature,
+#battery,
+#clock,
+#tray,
+#custom-icon {
+ background-color: transparent;
+ color: @text;
+ margin: 1px;
+}
+
+#tray {
+ padding: 4px;
+}
+
+.modules-left {
+ background-color: @bg;
+ padding: 0px 0px 0px 0px;
+}
+
+#window {
+ color: @invText;
+ background-color: @accent;
+ padding-left: 4px;
+}
+
+.modules-right {
+ background-color: @bg;
+ padding: 0px 0px 0px 0px;
+}
diff --git a/work-laptop/configs/waybar/.config/waybar/unused/dwm.css b/work-laptop/configs/waybar/.config/waybar/unused/dwm.css
new file mode 100644
index 0000000..53391c7
--- /dev/null
+++ b/work-laptop/configs/waybar/.config/waybar/unused/dwm.css
@@ -0,0 +1,81 @@
+@define-color accent #383838;
+@define-color text #f8f8f8;
+@define-color invText #f8f8f8;
+/* text when background is accent */
+@define-color bg #181818;
+
+/* @import "./wal.css";
+@define-color accent @color5;
+@define-color bg @background;
+@define-color text @foreground; */
+
+@import "./base16/base16-default-dark.css";
+
+@define-color accent @base01;
+@define-color text @base07;
+@define-color invText @base07;
+/* text when background is accent */
+@define-color bg @base00;
+
+* {
+ font-family: CartographCF Nerd Font;
+ font-size: 15px;
+ border-radius: 0px;
+ /* :[ */
+ min-height: 0px;
+}
+
+window#waybar {
+ background-color: @accent;
+ color: @text;
+ opacity: 1;
+}
+
+#workspaces {
+ background-color: transparent;
+ padding: 5px 3px;
+}
+
+#workspaces button {
+ padding: 0 5px;
+ color: @text;
+}
+
+#workspaces button.active {
+ background-color: @accent;
+ color: @invText;
+ /* color: @background; */
+}
+
+#pulseaudio,
+#cpu,
+#memory,
+#temperature,
+#battery,
+#clock,
+#tray,
+#custom-icon {
+ background-color: transparent;
+ color: @text;
+ margin: 1px;
+}
+
+#tray {
+ padding: 4px;
+}
+
+.modules-left {
+ background-color: @bg;
+ padding: 0px 0px 0px 0px;
+}
+
+#window {
+ color: @invText;
+ background-color: @accent;
+ padding-left: 4px;
+}
+
+.modules-right {
+ background-color: @bg;
+ padding: 0px 0px 0px 0px;
+}
diff --git a/work-laptop/configs/waybar/.config/waybar/unused/dwm.jsonc b/work-laptop/configs/waybar/.config/waybar/unused/dwm.jsonc
new file mode 100644
index 0000000..1aa54ef
--- /dev/null
+++ b/work-laptop/configs/waybar/.config/waybar/unused/dwm.jsonc
@@ -0,0 +1,61 @@
+{
+ "spacing": 4,
+ // try to keep it 4px across the config
+ "height": 25,
+ "modules-left": ["hyprland/workspaces", "custom/icon", "hyprland/window"],
+ "modules-right": [
+ "tray",
+ "pulseaudio",
+ "cpu",
+ "memory",
+ "temperature",
+ "clock",
+ ],
+
+ /*
+ MODULES
+ */
+ "custom/icon": {
+ "exec": "~/.config/waybar/state",
+ "interval": 5,
+ },
+ "tray": {
+ "spacing": 10,
+ },
+
+ "hyprland/workspaces": {
+ "on-scroll-up": "hyprctl dispatch workspace e+1",
+ "on-scroll-down": "hyprctl dispatch workspace e-1",
+ "all-outputs": true,
+ "on-click": "activate",
+ },
+ "clock": {
+ // "timezone": "America/New_York",
+ "tooltip-format": "[{:%Y %B}]\n{calendar}",
+ "format": "[{:%H:%M}]",
+ "format-alt": "[{:%Y-%m-%d}]",
+ },
+ "cpu": {
+ "format": "[CPU:{usage}%]",
+ "tooltip": false,
+ },
+ "memory": {
+ "format": "[MEM:{percentage}%]",
+ },
+ "temperature": {
+ // "thermal-zone": 2,
+ // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
+ "critical-threshold": 80,
+ "format-critical": "[!!{temperatureC}°C!!]",
+ "format": "[{temperatureC}°C]",
+ },
+ "battery": {
+ "format": "[BAT::{capacity}%]",
+ },
+ "pulseaudio": {
+ // "scroll-step": 1, // %, can be a float
+ "format": "[VOL:{volume}%]",
+ "format-muted": "[VOL: M]",
+ "on-click": "pavucontrol",
+ },
+}
diff --git a/work-laptop/configs/waybar/.config/waybar/unused/state b/work-laptop/configs/waybar/.config/waybar/unused/state
new file mode 100755
index 0000000..ee81287
Binary files /dev/null and b/work-laptop/configs/waybar/.config/waybar/unused/state differ
diff --git a/work-laptop/configs/waybar/.config/waybar/unused/style-melange.css b/work-laptop/configs/waybar/.config/waybar/unused/style-melange.css
new file mode 100644
index 0000000..80122c7
--- /dev/null
+++ b/work-laptop/configs/waybar/.config/waybar/unused/style-melange.css
@@ -0,0 +1,50 @@
+* {
+ border: none;
+ border-radius: 0;
+ padding: 0;
+ margin: 0;
+ font-size: 11px;
+}
+
+window#waybar {
+ background: #f1f1f1;
+ color: #54433a;
+}
+
+#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: #54433a;
+}
+
+#workspaces button:hover,
+#workspaces button:active {
+ background-color: #f1f1f1;
+ color: #54433a;
+}
+
+#workspaces button.focused {
+ background-color: #383737;
+}
+
+#language {
+ margin-right: 7px;
+}
+
+#battery {
+ margin-left: 7px;
+ margin-right: 3px;
+}
+
+#clock {
+ margin: 0px 6px;
+}
diff --git a/work-laptop/configs/waybar/.config/waybar/unused/style-solarized-light.css b/work-laptop/configs/waybar/.config/waybar/unused/style-solarized-light.css
new file mode 100644
index 0000000..66c12cc
--- /dev/null
+++ b/work-laptop/configs/waybar/.config/waybar/unused/style-solarized-light.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/work-laptop/configs/waybar/.config/waybar/unused/style-solarized.css b/work-laptop/configs/waybar/.config/waybar/unused/style-solarized.css
new file mode 100644
index 0000000..64d6bbf
--- /dev/null
+++ b/work-laptop/configs/waybar/.config/waybar/unused/style-solarized.css
@@ -0,0 +1,50 @@
+* {
+ border: none;
+ border-radius: 0;
+ padding: 0;
+ margin: 0;
+ font-size: 11px;
+}
+
+window#waybar {
+ background: #002b36;
+ color: #839496;
+}
+
+#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: #839496;
+}
+
+#workspaces button:hover,
+#workspaces button:active {
+ background-color: #002b36;
+ color: #839496;
+}
+
+#workspaces button.focused {
+ background-color: #383737;
+}
+
+#language {
+ margin-right: 7px;
+}
+
+#battery {
+ margin-left: 7px;
+ margin-right: 3px;
+}
+
+#clock {
+ margin: 0px 6px;
+}
diff --git a/work-laptop/configs/waybar/.config/waybar/unused/style.css.chinese b/work-laptop/configs/waybar/.config/waybar/unused/style.css.chinese
new file mode 100644
index 0000000..a18a3d3
--- /dev/null
+++ b/work-laptop/configs/waybar/.config/waybar/unused/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/work-laptop/gentoo/make.conf b/work-laptop/gentoo/make.conf
new file mode 100644
index 0000000..4627da2
--- /dev/null
+++ b/work-laptop/gentoo/make.conf
@@ -0,0 +1,23 @@
+# These settings were set by the catalyst build script that automatically
+# built this stage.
+# Please consult /usr/share/portage/config/make.conf.example for a more
+# detailed example.
+COMMON_FLAGS="-march=native -O2 -pipe"
+CFLAGS="${COMMON_FLAGS}"
+CXXFLAGS="${COMMON_FLAGS}"
+FCFLAGS="${COMMON_FLAGS}"
+FFLAGS="${COMMON_FLAGS}"
+MAKEOPTS="-j5"
+
+USE="wayland pipewire screencast pulseaudio bluetooth vulkan flatpak zstd"
+EMERGE_DEFAULT_OPTS="--keep-going --quiet-build --complete-graph y --with-bdeps y"
+VIDEO_CARDS="amdgpu nouveau radeonsi"
+ACCEPT_LICENSE="*"
+GRUB_PLATFORMS="efi-64"
+FEATURES="${FEATURES} getbinpkg"
+
+# NOTE: This stage was built with the bindist USE flag enabled
+
+# This sets the language of build output to English.
+# Please keep this setting intact when reporting bugs.
+LC_MESSAGES=C.utf8
diff --git a/work-laptop/gentoo/package.accept_keywords b/work-laptop/gentoo/package.accept_keywords
new file mode 100644
index 0000000..bb31f2d
--- /dev/null
+++ b/work-laptop/gentoo/package.accept_keywords
@@ -0,0 +1,4 @@
+# main
+x11-misc/pcmanfm
+x11-libs/libfm
+*/*::guru
diff --git a/work-laptop/gentoo/package.use b/work-laptop/gentoo/package.use
new file mode 100644
index 0000000..c5e2b7d
--- /dev/null
+++ b/work-laptop/gentoo/package.use
@@ -0,0 +1,8 @@
+# main
+sys-kernel/installkernel grub dracut
+gui-wm/sway -swaybar -swaynag
+media-video/pipewire sound-server
+gui-apps/waybar tray
+x11-libs/libdrm video_cards_radeon
+
+*/* CPU_FLAGS_X86: aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt rdrand sha sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 vpclmulqdq
diff --git a/work-laptop/gentoo/readme.md b/work-laptop/gentoo/readme.md
new file mode 100644
index 0000000..b7d678c
--- /dev/null
+++ b/work-laptop/gentoo/readme.md
@@ -0,0 +1,5 @@
+# gentoo
+
+yes i installed gentoo on my work laptop
+
+yes it was worth it
diff --git a/work-laptop/gentoo/world b/work-laptop/gentoo/world
new file mode 100644
index 0000000..c369e12
--- /dev/null
+++ b/work-laptop/gentoo/world
@@ -0,0 +1,52 @@
+app-admin/sudo
+app-admin/xstow
+app-arch/p7zip
+app-editors/neovim
+app-editors/vim
+app-eselect/eselect-repository
+app-misc/brightnessctl
+app-misc/fastfetch
+app-misc/jq
+app-portage/eix
+app-portage/gentoolkit
+app-shells/fish
+app-shells/fzf
+app-text/tree
+app-text/zathura-meta
+dev-db/dbeaver-bin
+dev-debug/strace
+dev-python/i3ipc
+dev-vcs/git
+dev-vcs/lazygit
+gnome-extra/nm-applet
+gui-apps/fuzzel
+gui-apps/grim
+gui-apps/slurp
+gui-apps/swappy
+gui-apps/swww
+gui-apps/waybar
+gui-apps/wl-clipboard
+gui-libs/xdg-desktop-portal-wlr
+gui-wm/sway
+media-gfx/imv
+media-sound/pavucontrol
+net-im/teams-for-linux
+net-libs/nodejs
+net-misc/networkmanager
+net-wireless/blueman
+sys-apps/bat
+sys-apps/eza
+sys-apps/flatpak
+sys-apps/ripgrep
+sys-apps/xdg-desktop-portal-gtk
+sys-block/io-scheduler-udev-rules
+sys-boot/grub
+sys-fs/btrfs-progs
+sys-fs/fuse:0
+sys-kernel/gentoo-kernel-bin
+sys-kernel/linux-firmware
+sys-process/btop
+x11-misc/dunst
+x11-misc/gammastep
+x11-misc/pcmanfm
+x11-terms/alacritty
diff --git a/work-laptop/readme.md b/work-laptop/readme.md
new file mode 100644
index 0000000..e1905da
--- /dev/null
+++ b/work-laptop/readme.md
@@ -0,0 +1,6 @@
+# Specs
+
+- distro: gentoo
+- cpu: ryzen 5 5600h
+- gpu: gtx 1650
+- storage: 500gb nvme