diff --git a/arch-root/install.sh b/arch-root/install.sh index f789c62..336d5d3 100755 --- a/arch-root/install.sh +++ b/arch-root/install.sh @@ -6,7 +6,7 @@ PACKAGES=( linux base linux-firmware lvm2 sudo polkit # base 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 qemu-system-x86 # virt @@ -19,7 +19,6 @@ PACKAGES=( gnupg pass pass-otp # crypt imv mpv imagemagick gimp # media aichat libqalculate translate-shell # utils - sqlitebrowser qt5-wayland # db libreoffice-still # docs qutebrowser qt6-wayland # web browsing @@ -27,7 +26,7 @@ PACKAGES=( neomutt telegram-desktop # communication 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 ttf-roboto ttf-roboto-mono otf-font-awesome # fonts kvantum kvantum-qt5 kvantum-theme-materia materia-gtk-theme # themes diff --git a/arch-user/config/aichat/config.yaml.tmpl b/arch-user/config/aichat/config.yaml.tmpl index 6ef0edc..bd17692 100644 --- a/arch-user/config/aichat/config.yaml.tmpl +++ b/arch-user/config/aichat/config.yaml.tmpl @@ -38,16 +38,23 @@ clients: reasoning: 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 - max_input_tokens: 65536 - input_price: 0.28 - output_price: 1.12 - - - name: deepseek/deepseek-r1-0528:free - max_input_tokens: 65536 + - name: deepseek/deepseek-chat-v3.1:free + max_input_tokens: 163840 input_price: 0 output_price: 0 + patch: + body: + reasoning: + effort: high - name: perplexity/sonar-pro diff --git a/arch-user/config/aichat/roles/ds-free.md b/arch-user/config/aichat/roles/ds-free.md index 488324d..e17e2b1 100644 --- a/arch-user/config/aichat/roles/ds-free.md +++ b/arch-user/config/aichat/roles/ds-free.md @@ -1,3 +1,3 @@ --- -model: openrouter:deepseek/deepseek-r1-0528:free +model: openrouter:deepseek/deepseek-chat-v3.1:free --- diff --git a/arch-user/config/aichat/roles/ds.md b/arch-user/config/aichat/roles/ds.md index fc0780c..d33a98c 100644 --- a/arch-user/config/aichat/roles/ds.md +++ b/arch-user/config/aichat/roles/ds.md @@ -1,3 +1,3 @@ --- -model: openrouter:deepseek/deepseek-r1-0528 +model: openrouter:deepseek/deepseek-chat-v3.1 --- diff --git a/arch-user/config/alacritty/alacritty.toml b/arch-user/config/alacritty/alacritty.toml index 7776b73..d1a6c65 100644 --- a/arch-user/config/alacritty/alacritty.toml +++ b/arch-user/config/alacritty/alacritty.toml @@ -48,3 +48,67 @@ title = "term" [window.padding] x = 8 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" + diff --git a/arch-user/config/foot/foot.ini.tmpl b/arch-user/config/foot/foot.ini.tmpl deleted file mode 100644 index eb2fa0c..0000000 --- a/arch-user/config/foot/foot.ini.tmpl +++ /dev/null @@ -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= -# font-italic= -# font-bold-italic= -# font-size-adjustment=0.5 -# line-height= -# letter-spacing=0 -# horizontal-letter-offset=0 -# vertical-letter-offset=0 -# underline-offset= -# underline-thickness= -# strikeout-thickness= -# box-drawings-uses-font-glyphs=no -# dpi-aware=no - -# initial-window-size-pixels=700x500 # Or, -# initial-window-size-chars= -# 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= -# 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= -# blink=no -blink-rate=250 -# beam-thickness=1.5 -# 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= -# ... -# dim7= - -## 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= -# selection-background= -# jump-labels= # 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= - -[csd] -# preferred=server -# size=26 -# font= -# color= -# hide-when-maximized=no -# double-click-to-maximize=yes -# border-width=0 -# border-color= -# button-width=26 -# button-color= -# button-minimize-color= -# button-maximize-color= -# button-close-color= - -[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 diff --git a/arch-user/config/sway/config.tmpl b/arch-user/config/sway/config.tmpl index 377ad5b..ea92683 100644 --- a/arch-user/config/sway/config.tmpl +++ b/arch-user/config/sway/config.tmpl @@ -13,14 +13,16 @@ set $bwd quotedbl ################ styles #################### default_border pixel 2 +gaps inner 4 smart_borders on +smart_gaps on title_align center font pango:{{ .theme.font.name_regular }} {{ .theme.font.size_base_pt }} 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_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.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 }} bar { position top @@ -135,18 +137,18 @@ bindsym --to-code { 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 # basic scripts + $mod+Return exec alacritty msg create-window $mod+Colon exec ~/.local/bin/sway/command-mode.sh - $mod+Return exec footclient $mod+Space exec ~/.local/bin/bemenu/run.sh } ############################################## ################# daemons #################### -exec foot -s exec mako exec swayidle +exec alacritty --daemon ############################################## ############## app-specific ################## for_window [app_id="_float"] floating enable, resize set 960 540 -############################################## +#############################################