feat: add config from my work laptop

This commit is contained in:
lucas barbieri 2024-11-25 16:25:53 -03:00
parent 48a08d695d
commit 8ad80de262
63 changed files with 2953 additions and 0 deletions

View File

@ -0,0 +1,5 @@
all:
xstow --verbose --target=$$HOME --restow */
delete:
xstow --verbose --target=$$HOME --delete */

View File

@ -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"] } }
]

View File

@ -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'

View File

@ -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"

View File

@ -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

View File

@ -0,0 +1,64 @@
[global]
font = "CartographCF Nerd Font 13"
allow_markup = yes
markup = yes
format = "<span foreground='#a7c080'><b>%s</b></span>\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

View File

@ -0,0 +1,223 @@
[global]
font = Cartograph CF 13
# allow a small subset of html markup:
# <b>bold</b>
# <i>italic</i>
# <s>strikethrough<s/>
# <u>underline</u>
#
# 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 = "<b>%a:</b> %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
#

View File

@ -0,0 +1 @@
minimal.jsonc

View File

@ -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",
],
}

View File

@ -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",
],
}

View File

@ -0,0 +1,6 @@
# Unbind existing scroll operations
prev_img
next_img
# Set <action> <mouse button>
zoom_in 4
zoom_out 5

View File

@ -0,0 +1 @@
# source "$HOME/.cargo/env.fish"

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,3 @@
function fish_greeting
# no op
end

View File

@ -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

View File

@ -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

View File

@ -0,0 +1 @@
sway + zen browser ftw

View File

@ -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[@]}" "$@"

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 <action>
...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"

View File

@ -0,0 +1 @@
/usr/bin/tmux new -d -s weechat weechat \; set-option status off

View File

@ -0,0 +1,2 @@
Xft.dpi : 94
Xcursor.size : 24

View File

@ -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"

View File

@ -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 <silent> J :m '>+1<CR>gv=gv
nnoremap <silent> K :m '<-2<CR>gv=gv
nnoremap <silent> J mzJ`z
nnoremap <silent> <C-d> <C-d>zz
nnoremap <silent> <C-u> <C-u>zz
nnoremap <silent> n nzzzv
nnoremap <silent> N Nzzzv
nnoremap <leader>p [["_dP]]
nnoremap <silent> <leader>yy "+y
nnoremap <silent> <leader>Y "+Y
nnoremap <leader>dd "_d
nnoremap <silent> <C-c> <Esc>
nnoremap Q <nop>
nnoremap <silent> <A-k> :cnext<CR>zz
nnoremap <silent> <A-j> :cprev<CR>zz
nnoremap <silent> <leader>k :lnext<CR>zz
nnoremap <silent> <leader>j :lprev<CR>zz
nnoremap <leader>rr :%s/\<\<<C-r><C-w>\>/\<C-r><C-w>/gI<Left><Left><Left><Left>zz
nnoremap <silent> <leader>x :!chmod +x %<CR><CR>
nnoremap <leader>q :!go run %<CR><CR>
nnoremap <leader><Esc> <C-\><C-n>
nnoremap <leader>Sh <C-w>szz
nnoremap <leader>Sv <C-w>vzz
nnoremap <leader>Se <C-w>=zz
nnoremap <leader>Sx :close<CR>
nnoremap <C-l> <C-w>lzz
nnoremap <C-h> <C-w>hzz
nnoremap <C-j> <C-w>jzz
nnoremap <C-k> <C-w>kzz
nnoremap + <C-a>zz
nnoremap - <C-x>zz
nnoremap <left> 4<C-w><
nnoremap <right> 4<C-w>>
nnoremap <up> 4<C-w>+
nnoremap <down> 4<C-w>-
nnoremap <leader>gsj :GoTagAdd json <CR>zz
nnoremap <leader>gsy :GoTagAdd yaml <CR>zz
nnoremap <A-.> :bnext<CR>zz
nnoremap <A-,> :bprev<CR>zz
nnoremap <A-x> :bdelete<CR>zz
map <C-e> <action>(ActivateProjectToolWindow)
map <leader>sf <action>(SearchEverywhere)
map <leader>f <action>(ReformatCode)
" Visual mode mappings
vnoremap <silent> J :m '>+1<CR>gv=gv
vnoremap <silent> K :m '<-2<CR>gv=gv
vnoremap <silent> <leader>yy "+y
vnoremap <silent> <leader>dd "_d

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -0,0 +1 @@
/home/lucas/.config/tmux/themes/tmux-white.conf

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -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": "<big>{:%Y %B}</big>\n\n<tt><small>{calendar}</small></tt>"
},
"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}% //"
}
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;

View File

@ -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": "<big>{:%Y %B}</big>\n\n<tt><small>{calendar}</small></tt>"
},
"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}%"
}
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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": "<big>[{:%Y %B}]</big>\n<tt><small>{calendar}</small></tt>",
"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",
},
}

Binary file not shown.

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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

View File

@ -0,0 +1,4 @@
# main
x11-misc/pcmanfm
x11-libs/libfm
*/*::guru

View File

@ -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

View File

@ -0,0 +1,5 @@
# gentoo
yes i installed gentoo on my work laptop
yes it was worth it

52
work-laptop/gentoo/world Normal file
View File

@ -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

6
work-laptop/readme.md Normal file
View File

@ -0,0 +1,6 @@
# Specs
- distro: gentoo
- cpu: ryzen 5 5600h
- gpu: gtx 1650
- storage: 500gb nvme