This commit is contained in:
Yuri Zamyatin 2025-09-16 04:26:57 +00:00
parent 5f827671f1
commit bf5a01b1e7
7 changed files with 88 additions and 296 deletions

View File

@ -6,7 +6,7 @@ PACKAGES=(
linux base linux-firmware lvm2 sudo polkit # base linux base linux-firmware lvm2 sudo polkit # base
pulseaudio pulseaudio-bluetooth bluez bluez-utils networkmanager udisks2 # device management pulseaudio pulseaudio-bluetooth bluez bluez-utils networkmanager udisks2 # device management
openssh sysstat htop screen man-db which rlwrap # system openssh strace sysstat htop screen man-db which rlwrap # system
nodejs dash jq # runtime nodejs dash jq # runtime
qemu-system-x86 # virt qemu-system-x86 # virt
@ -19,7 +19,6 @@ PACKAGES=(
gnupg pass pass-otp # crypt gnupg pass pass-otp # crypt
imv mpv imagemagick gimp # media imv mpv imagemagick gimp # media
aichat libqalculate translate-shell # utils aichat libqalculate translate-shell # utils
sqlitebrowser qt5-wayland # db
libreoffice-still # docs libreoffice-still # docs
qutebrowser qt6-wayland # web browsing qutebrowser qt6-wayland # web browsing
@ -27,7 +26,7 @@ PACKAGES=(
neomutt telegram-desktop # communication neomutt telegram-desktop # communication
greetd sway swaybg swayidle # desktop basic greetd sway swaybg swayidle # desktop basic
foot bemenu-wayland i3blocks mako libnotify # terminals, ui alacritty bemenu-wayland i3blocks mako libnotify # terminals, ui
wev wl-clipboard wtype slurp grim # interaction wev wl-clipboard wtype slurp grim # interaction
ttf-roboto ttf-roboto-mono otf-font-awesome # fonts ttf-roboto ttf-roboto-mono otf-font-awesome # fonts
kvantum kvantum-qt5 kvantum-theme-materia materia-gtk-theme # themes kvantum kvantum-qt5 kvantum-theme-materia materia-gtk-theme # themes

View File

@ -38,16 +38,23 @@ clients:
reasoning: reasoning:
effort: high effort: high
- name: deepseek/deepseek-chat-v3.1
max_input_tokens: 163840
input_price: 0.20
output_price: 0.80
patch:
body:
reasoning:
effort: high
- name: deepseek/deepseek-r1-0528 - name: deepseek/deepseek-chat-v3.1:free
max_input_tokens: 65536 max_input_tokens: 163840
input_price: 0.28
output_price: 1.12
- name: deepseek/deepseek-r1-0528:free
max_input_tokens: 65536
input_price: 0 input_price: 0
output_price: 0 output_price: 0
patch:
body:
reasoning:
effort: high
- name: perplexity/sonar-pro - name: perplexity/sonar-pro

View File

@ -1,3 +1,3 @@
--- ---
model: openrouter:deepseek/deepseek-r1-0528:free model: openrouter:deepseek/deepseek-chat-v3.1:free
--- ---

View File

@ -1,3 +1,3 @@
--- ---
model: openrouter:deepseek/deepseek-r1-0528 model: openrouter:deepseek/deepseek-chat-v3.1
--- ---

View File

@ -48,3 +48,67 @@ title = "term"
[window.padding] [window.padding]
x = 8 x = 8
y = 4 y = 4
[[keyboard.bindings]]
key = "C"
mods = "Control"
action = "Copy"
[[keyboard.bindings]]
key = "V"
mods = "Control"
action = "Paste"
[[keyboard.bindings]]
key = "Escape"
mods = "Alt"
action = "ToggleViMode"
[[keyboard.bindings]]
key = "N"
mode = "Vi"
action = "Left"
[[keyboard.bindings]]
key = "E"
mode = "Vi"
action = "Down"
[[keyboard.bindings]]
key = "I"
mode = "Vi"
action = "Up"
[[keyboard.bindings]]
key = "O"
mode = "Vi"
action = "Right"
[[keyboard.bindings]]
key = "H"
mode = "Vi"
action = "ToggleViMode"
[[keyboard.bindings]]
key = "k"
mode = "Vi"
action = "SearchNext"
[[keyboard.bindings]]
key = "K"
mode = "Vi"
action = "SearchPrevious"
[[keyboard.bindings]]
key = "J"
mode = "Vi"
action = "SemanticRightEnd"
[[keyboard.bindings]]
key = "i"
mode = "Vi"
action = "ToggleViMode"

View File

@ -1,280 +0,0 @@
{{ define "fadeColor" }}
{{- $color := .color -}}
{{- $opacity := .opacity -}}
{{ $result := "" }}
{{- range $color | regexp.Replace "(..)" "$1 " | strings.TrimSpace | strings.Split " " -}}
{{- $result = printf "%s%s" $result (conv.ParseInt . 16 32 | math.Mul $opacity | math.Round | conv.ToInt | printf "%02x") -}}
{{- end -}}
{{- $result -}}
{{- end -}}
# -*- conf -*-
# shell=$SHELL (if set, otherwise user's default shell from /etc/passwd)
# term=foot (or xterm-256color if built with -Dterminfo=disabled)
# login-shell=no
# app-id=foot # globally set wayland app-id. Default values are "foot" and "footclient" for desktop and server mode
title=term
# locked-title=no
font={{ .theme.font.name_mono }}:size={{ .theme.font.size_base_pt }}
# font-bold=<bold variant of regular font>
# font-italic=<italic variant of regular font>
# font-bold-italic=<bold+italic variant of regular font>
# font-size-adjustment=0.5
# line-height=<font metrics>
# letter-spacing=0
# horizontal-letter-offset=0
# vertical-letter-offset=0
# underline-offset=<font metrics>
# underline-thickness=<font underline thickness>
# strikeout-thickness=<font strikeout thickness>
# box-drawings-uses-font-glyphs=no
# dpi-aware=no
# initial-window-size-pixels=700x500 # Or,
# initial-window-size-chars=<COLSxROWS>
# initial-window-mode=windowed
pad=8x4 # optionally append 'center'
# resize-by-cells=yes
# resize-keep-grid=yes
# resize-delay-ms=100
# bold-text-in-bright=no
# word-delimiters=,│`|:"'()[]{}<>
# selection-target=primary
# workers=<number of logical CPUs>
# utmp-helper=/usr/lib/utempter/utempter # When utmp backend is libutempter (Linux)
# utmp-helper=/usr/libexec/ulog-helper # When utmp backend is ulog (FreeBSD)
[environment]
# name=value
[bell]
urgent=yes
# notify=no
# visual=no
# command=
# command-focused=no
[desktop-notifications]
# command=notify-send --wait --app-name ${app-id} --icon ${app-id} --category ${category} --urgency ${urgency} --expire-time ${expire-time} --hint STRING:image-path:${icon} --hint BOOLEAN:suppress-sound:${muted} --hint STRING:sound-name:${sound-name} --replace-id ${replace-id} ${action-argument} --print-id -- ${title} ${body}
# command-action-argument=--action ${action-name}=${action-label}
# close=""
# inhibit-when-focused=yes
[scrollback]
lines=10000
# multiplier=3.0
# indicator-position=relative
# indicator-format=""
[url]
# launch=xdg-open ${url}
# label-letters=sadfjklewcmpgh
# osc8-underline=url-mode
# protocols=http, https, ftp, ftps, file, gemini, gopher
# uri-characters=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+="'()[]
[cursor]
# style=block
# color=<inverse foreground/background>
# blink=no
blink-rate=250
# beam-thickness=1.5
# underline-thickness=<font underline thickness>
[mouse]
# hide-when-typing=no
# alternate-scroll-mode=yes
[touch]
# long-press-delay=400
[colors]
#alpha=1
background={{ .theme.color.bg }}
foreground={{ .theme.color.fg }}
# flash=7f7f00
# flash-alpha=0.5
## Normal/regular colors (color palette 0-7)
# regular0=242424 # black
# regular1=f62b5a # red
# regular2=47b413 # green
# regular3=e3c401 # yellow
# regular4=24acd4 # blue
# regular5=f2affd # magenta
# regular6=13c299 # cyan
# regular7=e6e6e6 # white
## Bright colors (color palette 8-15)
# bright0=616161 # bright black
# bright1=ff4d51 # bright red
# bright2=35d450 # bright green
# bright3=e9e836 # bright yellow
# bright4=5dc5f8 # bright blue
# bright5=feabf2 # bright magenta
# bright6=24dfc4 # bright cyan
# bright7=ffffff # bright white
regular0={{ .theme.color.bg }}
regular1=ff4d51
regular2=35d450
regular3=e9e836
regular4=5dc5f8
regular5={{ .theme.color.fg_accent }}
regular6=24dfc4
regular7={{ .theme.color.fg }}
bright0={{ .theme.color.bg }}
bright5={{ .theme.color.fg_accent }}
bright7={{ .theme.color.fg }}
## dimmed colors (see foot.ini(5) man page)
# dim0=<not set>
# ...
# dim7=<not-set>
## The remaining 256-color palette
# 16 = <256-color palette #16>
# ...
# 255 = <256-color palette #255>
## Sixel colors
# sixel0 = 000000
# sixel1 = 3333cc
# sixel2 = cc2121
# sixel3 = 33cc33
# sixel4 = cc33cc
# sixel5 = 33cccc
# sixel6 = cccc33
# sixel7 = 878787
# sixel8 = 424242
# sixel9 = 545499
# sixel10 = 994242
# sixel11 = 549954
# sixel12 = 995499
# sixel13 = 549999
# sixel14 = 999954
# sixel15 = cccccc
## Misc colors
# selection-foreground=<inverse foreground/background>
# selection-background=<inverse foreground/background>
# jump-labels=<regular0> <regular3> # black-on-yellow
scrollback-indicator={{ .theme.color.bg }} {{ template "fadeColor" (dict "color" .theme.color.fg_accent "opacity" .theme.opacity.med) }}
search-box-no-match={{ .theme.color.fg }} {{ .theme.color.bg_accent_dark }}
search-box-match={{ .theme.color.fg }} {{ .theme.color.bg_accent_dark }}
# urls=<regular3>
[csd]
# preferred=server
# size=26
# font=<primary font>
# color=<foreground color>
# hide-when-maximized=no
# double-click-to-maximize=yes
# border-width=0
# border-color=<csd.color>
# button-width=26
# button-color=<background color>
# button-minimize-color=<regular4>
# button-maximize-color=<regular2>
# button-close-color=<regular1>
[key-bindings]
scrollback-up-page=Control+Shift+b
scrollback-up-half-page=Control+Shift+u
scrollback-up-line=Control+Shift+i
scrollback-down-page=Control+Shift+f
scrollback-down-half-page=Control+Shift+d
scrollback-down-line=Control+Shift+e
scrollback-home=none
scrollback-end=Control+Shift+g
clipboard-copy=Control+c
clipboard-paste=Control+v
primary-paste=Control+Shift+p
search-start=Control+Shift+slash
font-increase=Control+plus
font-decrease=Control+minus
font-reset=Control+equal
spawn-terminal=Control+Shift+h
# minimize=none
# maximize=none
# fullscreen=none
# pipe-visible=[sh -c "xurls | fuzzel | xargs -r firefox"] none
pipe-scrollback=[sh -c 'f=$(mktemp); cat - > $f; footclient vim $f'] Control+Shift+s
# pipe-selected=[xargs -r firefox] none
pipe-command-output=[wl-copy] Control+Shift+y
# show-urls-launch=Control+Shift+o
# show-urls-copy=none
# show-urls-persistent=none
# prompt-prev=Control+Shift+z
# prompt-next=Control+Shift+x
unicode-input=none
# noop=none
[search-bindings]
cancel=Escape
commit=Return
find-prev=Control+Shift+k
find-next=Control+k
# prompt - emacs like
cursor-left=Control+b Left
cursor-left-word=Mod1+b Control+Left
cursor-right=Control+f Right
cursor-right-word=Mod1+f Control+Right
cursor-home=Control+a
cursor-end=Control+e
delete-prev=BackSpace Control+n
delete-prev-word=Control+w Mod1+BackSpace Control+BackSpace
# delete-next=Delete
# delete-next-word=Mod1+d Control+Delete
delete-to-start=Control+u
delete-to-end=none
#######################
extend-char=Shift+o
extend-to-word-boundary=Shift+w
# extend-to-next-whitespace=Control+Shift+w
extend-to-next-whitespace=none
extend-line-down=Shift+e
extend-backward-char=Shift+n
extend-backward-to-word-boundary=Shift+b
# extend-backward-to-next-whitespace=none
extend-line-up=Shift+i
clipboard-paste=Control+v
primary-paste=Control+Shift+p
# unicode-input=none
scrollback-up-page=none
scrollback-up-half-page=none
scrollback-up-line=none
scrollback-down-page=none
scrollback-down-half-page=none
scrollback-down-line=none
scrollback-home=none
scrollback-end=none
[url-bindings]
# cancel=Control+g Control+c Control+d Escape
# toggle-url-visible=t
[text-bindings]
# \x03=Mod4+c # Map Super+c -> Ctrl+c
[mouse-bindings]
# scrollback-up-mouse=BTN_WHEEL_BACK
# scrollback-down-mouse=BTN_WHEEL_FORWARD
# font-increase=Control+BTN_WHEEL_BACK
# font-decrease=Control+BTN_WHEEL_FORWARD
# selection-override-modifiers=Shift
# primary-paste=BTN_MIDDLE
# select-begin=BTN_LEFT
# select-begin-block=Control+BTN_LEFT
# select-extend=BTN_RIGHT
# select-extend-character-wise=Control+BTN_RIGHT
# select-word=BTN_LEFT-2
# select-word-whitespace=Control+BTN_LEFT-2
# select-quote = BTN_LEFT-3
# select-row=BTN_LEFT-4
# vim: ft=dosini

View File

@ -13,14 +13,16 @@ set $bwd quotedbl
################ styles #################### ################ styles ####################
default_border pixel 2 default_border pixel 2
gaps inner 4
smart_borders on smart_borders on
smart_gaps on
title_align center title_align center
font pango:{{ .theme.font.name_regular }} {{ .theme.font.size_base_pt }} font pango:{{ .theme.font.name_regular }} {{ .theme.font.size_base_pt }}
output * bg #{{ .theme.color.bg }} solid_color output * bg #{{ .theme.color.bg }} solid_color
client.focused #{{ .theme.color.bg_accent_light }} #{{ .theme.color.bg_accent_light }} #{{ .theme.color.fg }} #{{ .theme.color.fg_accent }} #{{ .theme.color.bg_accent_light }} client.focused #{{ .theme.color.bg_accent_light }} #{{ .theme.color.bg_accent_light }} #{{ .theme.color.fg }} #{{ .theme.color.fg_accent }} #{{ .theme.color.bg_accent_light }}
client.focused_tab_title #{{ .theme.color.bg_accent_light }}{{ math.Mul .theme.opacity.low 255 | conv.ToInt64 | printf "%02X" }} #{{ .theme.color.bg_accent_light }}{{ math.Mul .theme.opacity.low 255 | conv.ToInt64 | printf "%02X" }} #{{ .theme.color.fg_dark }} #{{ .theme.color.fg_accent }} #{{ .theme.color.bg_accent_light }}{{ math.Mul .theme.opacity.low 255 | conv.ToInt64 | printf "%02X" }} client.focused_tab_title #{{ .theme.color.bg_accent_light }}{{ math.Mul .theme.opacity.low 255 | conv.ToInt64 | printf "%02X" }} #{{ .theme.color.bg_accent_light }}{{ math.Mul .theme.opacity.low 255 | conv.ToInt64 | printf "%02X" }} #{{ .theme.color.fg_dark }} #{{ .theme.color.fg_accent }} #{{ .theme.color.bg_accent_light }}{{ math.Mul .theme.opacity.low 255 | conv.ToInt64 | printf "%02X" }}
client.focused_inactive #{{ .theme.color.bg_accent_light }}{{ math.Mul .theme.opacity.low 255 | conv.ToInt64 | printf "%02X" }} #{{ .theme.color.bg_accent_light }}{{ math.Mul .theme.opacity.low 255 | conv.ToInt64 | printf "%02X" }} #{{ .theme.color.fg_dark }} #{{ .theme.color.fg_accent }} #{{ .theme.color.bg_accent_light }}{{ math.Mul .theme.opacity.low 255 | conv.ToInt64 | printf "%02X" }} client.focused_inactive #{{ .theme.color.bg_accent_light }}{{ math.Mul .theme.opacity.low 255 | conv.ToInt64 | printf "%02X" }} #{{ .theme.color.bg_accent_light }}{{ math.Mul .theme.opacity.low 255 | conv.ToInt64 | printf "%02X" }} #{{ .theme.color.fg_dark }} #{{ .theme.color.fg_accent }} #{{ .theme.color.bg_accent_light }}{{ math.Mul .theme.opacity.low 255 | conv.ToInt64 | printf "%02X" }}
client.unfocused #{{ .theme.color.bg_accent_dark }} #{{ .theme.color.bg_accent_dark }} #{{ .theme.color.fg_dark }} #{{ .theme.color.fg_accent }} #{{ .theme.color.bg_accent_light }}{{ math.Mul .theme.opacity.low 255 | conv.ToInt64 | printf "%02X" }} client.unfocused #{{ .theme.color.bg_accent_light }}{{ math.Mul .theme.opacity.low 255 | conv.ToInt64 | printf "%02X" }} #{{ .theme.color.bg_accent_dark }} #{{ .theme.color.fg_dark }} #{{ .theme.color.fg_accent }} #{{ .theme.color.bg_accent_light }}{{ math.Mul .theme.opacity.low 255 | conv.ToInt64 | printf "%02X" }}
client.urgent #{{ .theme.color.fg_accent }} #{{ .theme.color.fg_accent }} #{{ .theme.color.fg }} #{{ .theme.color.fg_accent }} #{{ .theme.color.fg_accent }} client.urgent #{{ .theme.color.fg_accent }} #{{ .theme.color.fg_accent }} #{{ .theme.color.fg }} #{{ .theme.color.fg_accent }} #{{ .theme.color.fg_accent }}
bar { bar {
position top position top
@ -135,18 +137,18 @@ bindsym --to-code {
XF86AudioRaiseVolume exec pactl set-sink-volume \@DEFAULT_SINK@ +5% && pkill -SIGRTMIN+2 i3blocks XF86AudioRaiseVolume exec pactl set-sink-volume \@DEFAULT_SINK@ +5% && pkill -SIGRTMIN+2 i3blocks
XF86AudioMicMute exec pactl set-source-mute \@DEFAULT_SOURCE@ toggle && pkill -SIGRTMIN+2 i3blocks XF86AudioMicMute exec pactl set-source-mute \@DEFAULT_SOURCE@ toggle && pkill -SIGRTMIN+2 i3blocks
# basic scripts # basic scripts
$mod+Return exec alacritty msg create-window
$mod+Colon exec ~/.local/bin/sway/command-mode.sh $mod+Colon exec ~/.local/bin/sway/command-mode.sh
$mod+Return exec footclient
$mod+Space exec ~/.local/bin/bemenu/run.sh $mod+Space exec ~/.local/bin/bemenu/run.sh
} }
############################################## ##############################################
################# daemons #################### ################# daemons ####################
exec foot -s
exec mako exec mako
exec swayidle exec swayidle
exec alacritty --daemon
############################################## ##############################################
############## app-specific ################## ############## app-specific ##################
for_window [app_id="_float"] floating enable, resize set 960 540 for_window [app_id="_float"] floating enable, resize set 960 540
############################################## #############################################