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