Migrate to chezmoi with per-host sway/waybar configs
- Restructure repo into chezmoi source layout (dot_ prefix) - Add .chezmoi.toml.tmpl mapping hostname to hosttype (laptop/desktop) - Template sway config.d fragments (outputs/inputs/binds) per host - Template waybar config.jsonc with shared bar/module definitions - Host-scope pulsemeeter (flow) and teams-for-linux (desktop hosts) via .chezmoiignore - Trim install.sh package lists to configured software + config deps - Remove stale kitty.conf.bak and untracked host fragments
This commit is contained in:
@@ -0,0 +1,7 @@
|
|||||||
|
{{- $hosttype := "desktop" -}}
|
||||||
|
{{- if eq .chezmoi.hostname "framework13pro" -}}
|
||||||
|
{{- $hosttype = "laptop" -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
[data]
|
||||||
|
hosttype = "{{ $hosttype }}"
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
**/*.bak
|
||||||
|
{{ if ne .chezmoi.hostname "flow" -}}
|
||||||
|
.config/pulsemeeter
|
||||||
|
{{- end }}
|
||||||
|
{{ if eq .chezmoi.hostname "framework13pro" -}}
|
||||||
|
.config/teams-for-linux
|
||||||
|
{{- end }}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"output": "{{ .out }}",
|
||||||
|
"layer": "top",
|
||||||
|
"position": "left",
|
||||||
|
"width": 44,
|
||||||
|
"modules-left": ["clock", "pulseaudio"],
|
||||||
|
"modules-center": ["sway/workspaces"],
|
||||||
|
"modules-right": ["tray", "battery", "custom/power"],
|
||||||
|
{{ template "workspaces" (dict "out" .out "ws" .ws) }}
|
||||||
|
{{ template "waybar-modules" . }}
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"output": "DP-2",
|
||||||
|
"layer": "top",
|
||||||
|
"position": "top",
|
||||||
|
"height": 44,
|
||||||
|
"modules-right": ["clock"],
|
||||||
|
"modules-center": ["sway/workspaces"],
|
||||||
|
{{ template "workspaces" (dict "out" "DP-2" "ws" (list "5" "6" "7" "8")) }}
|
||||||
|
"clock": {
|
||||||
|
"timezone": "America/Montreal",
|
||||||
|
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||||
|
"format": "🕐 {:%H:%M 📅 %d/%m/%y}"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
"tray": {
|
||||||
|
"icon-size": 21,
|
||||||
|
"spacing": 10
|
||||||
|
},
|
||||||
|
"clock": {
|
||||||
|
"timezone": "America/Montreal",
|
||||||
|
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||||
|
"format": "🕐\n{:%H\n%M\n\n📅\n%d\n%m\n%y} "
|
||||||
|
},
|
||||||
|
"backlight": {
|
||||||
|
"device": "intel_backlight",
|
||||||
|
"format": "{icon}",
|
||||||
|
"format-icons": ["", "", "", "", "", "", "", "", ""]
|
||||||
|
},
|
||||||
|
"battery": {
|
||||||
|
"states": {
|
||||||
|
"warning": 30,
|
||||||
|
"critical": 15
|
||||||
|
},
|
||||||
|
"format": "🔋\n{capacity}",
|
||||||
|
"format-charging": "⚡\n{capacity}",
|
||||||
|
"format-plugged": "🔌\n{capacity}",
|
||||||
|
"format-alt": "{icon}",
|
||||||
|
"format-icons": ["", "", "", "", "", "", "", "", "", "", "", ""]
|
||||||
|
},
|
||||||
|
"custom/power": {
|
||||||
|
"format" : "⏻",
|
||||||
|
"tooltip": false,
|
||||||
|
"menu": "on-click",
|
||||||
|
"menu-file": "~/.config/waybar/power_menu.xml",
|
||||||
|
"menu-actions": {
|
||||||
|
"logout": "loginctl terminate-user \"\"",
|
||||||
|
"shutdown": "systemctl poweroff",
|
||||||
|
"reboot": "systemctl reboot"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pulseaudio": {
|
||||||
|
"format": "{icon}\n{volume}",
|
||||||
|
"format-muted": "",
|
||||||
|
"format-icons": {
|
||||||
|
"default": ["", "", " "]
|
||||||
|
},
|
||||||
|
"on-click": "pwvucontrol"
|
||||||
|
},
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
"sway/workspaces": {
|
||||||
|
"persistent-workspaces": {
|
||||||
|
{{- range $ws := .ws }}
|
||||||
|
"{{ $ws }}": ["{{ $.out }}"],
|
||||||
|
{{- end }}
|
||||||
|
},
|
||||||
|
"disable-scroll": true,
|
||||||
|
"sort-by-name": true,
|
||||||
|
"format": "{icon}",
|
||||||
|
"format-icons": {
|
||||||
|
"default": "<span color=\"#cdd6f4\">●</span>",
|
||||||
|
"focused": "<span color=\"#fab387\">●</span>",
|
||||||
|
},
|
||||||
|
},
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
1password
|
|
||||||
losslesscut-bin
|
|
||||||
rustdesk-bin
|
|
||||||
v4l2loopback-dkms-git
|
|
||||||
@@ -1,229 +0,0 @@
|
|||||||
accountsservice
|
|
||||||
adobe-source-han-sans-cn-fonts
|
|
||||||
adobe-source-han-sans-jp-fonts
|
|
||||||
adobe-source-han-sans-kr-fonts
|
|
||||||
alsa-firmware
|
|
||||||
alsa-plugins
|
|
||||||
alsa-utils
|
|
||||||
appmenu-gtk-module
|
|
||||||
awesome-terminal-fonts
|
|
||||||
base
|
|
||||||
base-devel
|
|
||||||
bash-completion
|
|
||||||
bind
|
|
||||||
bluez
|
|
||||||
bluez-hid2hci
|
|
||||||
bluez-libs
|
|
||||||
bluez-utils
|
|
||||||
btop
|
|
||||||
btrfs-progs
|
|
||||||
cachyos-fish-config
|
|
||||||
cachyos-gaming-meta
|
|
||||||
cachyos-hello
|
|
||||||
cachyos-hooks
|
|
||||||
cachyos-kernel-manager
|
|
||||||
cachyos-keyring
|
|
||||||
cachyos-micro-settings
|
|
||||||
cachyos-mirrorlist
|
|
||||||
cachyos-packageinstaller
|
|
||||||
cachyos-plymouth-bootanimation
|
|
||||||
cachyos-rate-mirrors
|
|
||||||
cachyos-settings
|
|
||||||
cachyos-v3-mirrorlist
|
|
||||||
cachyos-v4-mirrorlist
|
|
||||||
cachyos-wallpapers
|
|
||||||
cachyos-zsh-config
|
|
||||||
chromium
|
|
||||||
chwd
|
|
||||||
cpupower
|
|
||||||
cryptsetup
|
|
||||||
cups
|
|
||||||
cups-filters
|
|
||||||
cups-pdf
|
|
||||||
device-mapper
|
|
||||||
dhclient
|
|
||||||
diffutils
|
|
||||||
discord
|
|
||||||
dmidecode
|
|
||||||
dmraid
|
|
||||||
dnsmasq
|
|
||||||
dolphin
|
|
||||||
dosfstools
|
|
||||||
duf
|
|
||||||
e2fsprogs
|
|
||||||
efibootmgr
|
|
||||||
efitools
|
|
||||||
egl-wayland
|
|
||||||
ethtool
|
|
||||||
exfatprogs
|
|
||||||
f2fs-tools
|
|
||||||
fastfetch
|
|
||||||
ffmpegthumbnailer
|
|
||||||
foomatic-db
|
|
||||||
foomatic-db-engine
|
|
||||||
foomatic-db-gutenprint-ppds
|
|
||||||
foomatic-db-nonfree
|
|
||||||
foomatic-db-nonfree-ppds
|
|
||||||
foomatic-db-ppds
|
|
||||||
fsarchiver
|
|
||||||
gamemode
|
|
||||||
gamescope
|
|
||||||
ghostscript
|
|
||||||
git
|
|
||||||
glances
|
|
||||||
gnome-keyring
|
|
||||||
gpu-screen-recorder-ui
|
|
||||||
gsfonts
|
|
||||||
gst-libav
|
|
||||||
gst-plugin-pipewire
|
|
||||||
gst-plugin-va
|
|
||||||
gst-plugins-bad
|
|
||||||
gst-plugins-ugly
|
|
||||||
gutenprint
|
|
||||||
haveged
|
|
||||||
hdparm
|
|
||||||
hwdetect
|
|
||||||
hwinfo
|
|
||||||
inetutils
|
|
||||||
iptables-nft
|
|
||||||
iwd
|
|
||||||
jfsutils
|
|
||||||
kcalc
|
|
||||||
kitty
|
|
||||||
lazygit
|
|
||||||
less
|
|
||||||
lib32-gamemode
|
|
||||||
lib32-mesa
|
|
||||||
lib32-opencl-mesa
|
|
||||||
libdbusmenu-glib
|
|
||||||
libdvdcss
|
|
||||||
libgsf
|
|
||||||
libopenraw
|
|
||||||
libwnck3
|
|
||||||
limine
|
|
||||||
limine-mkinitcpio-hook
|
|
||||||
linux-cachyos
|
|
||||||
linux-cachyos-headers
|
|
||||||
linux-cachyos-lts
|
|
||||||
linux-cachyos-lts-headers
|
|
||||||
linux-firmware
|
|
||||||
logrotate
|
|
||||||
lsb-release
|
|
||||||
lsscsi
|
|
||||||
lvm2
|
|
||||||
ly
|
|
||||||
man-db
|
|
||||||
man-pages
|
|
||||||
mangohud
|
|
||||||
mdadm
|
|
||||||
mediainfo
|
|
||||||
meld
|
|
||||||
mesa
|
|
||||||
mesa-utils
|
|
||||||
micro
|
|
||||||
mkinitcpio
|
|
||||||
modemmanager
|
|
||||||
mpv
|
|
||||||
mtools
|
|
||||||
nano-syntax-highlighting
|
|
||||||
neovim
|
|
||||||
netctl
|
|
||||||
networkmanager
|
|
||||||
networkmanager-openvpn
|
|
||||||
nfs-utils
|
|
||||||
nilfs-utils
|
|
||||||
noise-suppression-for-voice
|
|
||||||
noto-color-emoji-fontconfig
|
|
||||||
noto-fonts
|
|
||||||
noto-fonts-cjk
|
|
||||||
noto-fonts-emoji
|
|
||||||
nss-mdns
|
|
||||||
ntp
|
|
||||||
obs-studio
|
|
||||||
obs-vkcapture
|
|
||||||
octopi
|
|
||||||
opencl-mesa
|
|
||||||
opendesktop-fonts
|
|
||||||
openssh
|
|
||||||
os-prober
|
|
||||||
otf-font-awesome
|
|
||||||
pacman-contrib
|
|
||||||
paru
|
|
||||||
perl
|
|
||||||
pipewire-alsa
|
|
||||||
pipewire-pulse
|
|
||||||
pkgfile
|
|
||||||
plocate
|
|
||||||
plymouth
|
|
||||||
poppler-glib
|
|
||||||
power-profiles-daemon
|
|
||||||
proton-mail-bin
|
|
||||||
pv
|
|
||||||
pwvucontrol
|
|
||||||
python
|
|
||||||
python-defusedxml
|
|
||||||
python-packaging
|
|
||||||
rebuild-detector
|
|
||||||
reflector
|
|
||||||
ripgrep
|
|
||||||
rofi
|
|
||||||
rsync
|
|
||||||
rtkit
|
|
||||||
s-nail
|
|
||||||
sg3_utils
|
|
||||||
signal-desktop
|
|
||||||
smartmontools
|
|
||||||
sof-firmware
|
|
||||||
splix
|
|
||||||
starship
|
|
||||||
steam
|
|
||||||
sudo
|
|
||||||
sway
|
|
||||||
swaylock
|
|
||||||
sysfsutils
|
|
||||||
system-config-printer
|
|
||||||
tailscale
|
|
||||||
texinfo
|
|
||||||
tmux
|
|
||||||
ttf-bitstream-vera
|
|
||||||
ttf-dejavu
|
|
||||||
ttf-jetbrains-mono-nerd
|
|
||||||
ttf-liberation
|
|
||||||
ttf-meslo-nerd
|
|
||||||
ttf-opensans
|
|
||||||
ufw
|
|
||||||
unrar
|
|
||||||
unzip
|
|
||||||
upower
|
|
||||||
usb_modeswitch
|
|
||||||
usbmuxd
|
|
||||||
usbutils
|
|
||||||
uwsm
|
|
||||||
v4l2loopback-dkms
|
|
||||||
vim
|
|
||||||
vlc-plugins-all
|
|
||||||
waybar
|
|
||||||
wayland-protocols
|
|
||||||
wget
|
|
||||||
which
|
|
||||||
wireless-regdb
|
|
||||||
wireplumber
|
|
||||||
wl-clipboard
|
|
||||||
wmenu
|
|
||||||
wofi
|
|
||||||
wpa_supplicant
|
|
||||||
xdg-desktop-portal
|
|
||||||
xdg-desktop-portal-wlr
|
|
||||||
xdg-user-dirs
|
|
||||||
xdg-utils
|
|
||||||
xf86-input-libinput
|
|
||||||
xfsprogs
|
|
||||||
xl2tpd
|
|
||||||
xorg-server
|
|
||||||
xorg-xdpyinfo
|
|
||||||
xorg-xinit
|
|
||||||
xorg-xinput
|
|
||||||
xorg-xkill
|
|
||||||
xorg-xrandr
|
|
||||||
xorg-xwayland
|
|
||||||
yazi
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
# Font Configuration
|
|
||||||
font_family JetBrainsMono Nerd Font
|
|
||||||
bold_font auto
|
|
||||||
italic_font auto
|
|
||||||
bold_italic_font auto
|
|
||||||
|
|
||||||
# Shell Integration - Start tmux by default
|
|
||||||
shell /usr/bin/tmux new-session -A -D -s main
|
|
||||||
|
|
||||||
# Terminal Type
|
|
||||||
term xterm-256color
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
- Prefer concise, readable code over clever one-liners
|
|
||||||
- No unnecessary comments — code should be self-documenting
|
|
||||||
- Docker-friendly: no hardcoded paths, use env vars for config
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
{
|
|
||||||
"$schema": "https://opencode.ai/config.json",
|
|
||||||
"agent": {
|
|
||||||
"build": {
|
|
||||||
"model": "opencode-go/deepseek-v4-flash",
|
|
||||||
"temperature": 1.0,
|
|
||||||
"top_p": 0.95,
|
|
||||||
"permission":{
|
|
||||||
"skill": {
|
|
||||||
"git-*": "allow"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"plan": {
|
|
||||||
"model": "kimi-for-coding/k3",
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"mcp": {
|
|
||||||
"gitea-mcp": {
|
|
||||||
"enabled": true,
|
|
||||||
"type": "local",
|
|
||||||
"command": [
|
|
||||||
"gitea-mcp",
|
|
||||||
"-t", "stdio",
|
|
||||||
"-H", "https://gitea.itspm.cc",
|
|
||||||
"-T", "82e8aeb9bcf9b26d1bad9167549f6532f968bcb0"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,98 +0,0 @@
|
|||||||
[{
|
|
||||||
"output": "DP-1",
|
|
||||||
"layer": "top", // Waybar at top layer
|
|
||||||
"position": "left", // Waybar position (top|bottom|left|right)
|
|
||||||
"width": 44, // Waybar width
|
|
||||||
// Choose the order of the modules
|
|
||||||
"modules-left": ["clock", "pulseaudio"],
|
|
||||||
"modules-center": ["sway/workspaces"],
|
|
||||||
"modules-right": ["tray", "battery", "custom/power"],
|
|
||||||
"sway/workspaces": {
|
|
||||||
"persistent-workspaces": {
|
|
||||||
"1": ["DP-1"],
|
|
||||||
"2": ["DP-1"],
|
|
||||||
"3": ["DP-1"],
|
|
||||||
"4": ["DP-1"],
|
|
||||||
},
|
|
||||||
"disable-scroll": true,
|
|
||||||
"sort-by-name": true,
|
|
||||||
"format": "{icon}",
|
|
||||||
"format-icons": {
|
|
||||||
"default": "<span color=\"#cdd6f4\">●</span>",
|
|
||||||
"focused": "<span color=\"#fab387\">●</span>",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
"tray": {
|
|
||||||
"icon-size": 21,
|
|
||||||
"spacing": 10
|
|
||||||
},
|
|
||||||
"clock": {
|
|
||||||
"timezone": "America/Montreal",
|
|
||||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
|
||||||
"format": "🕐\n{:%H\n%M\n\n📅\n%d\n%m\n%y} "
|
|
||||||
},
|
|
||||||
"backlight": {
|
|
||||||
"device": "intel_backlight",
|
|
||||||
"format": "{icon}",
|
|
||||||
"format-icons": ["", "", "", "", "", "", "", "", ""]
|
|
||||||
},
|
|
||||||
"battery": {
|
|
||||||
"states": {
|
|
||||||
"warning": 30,
|
|
||||||
"critical": 15
|
|
||||||
},
|
|
||||||
"format": "🔋\n{capacity}",
|
|
||||||
"format-charging": "⚡\n{capacity}",
|
|
||||||
"format-plugged": "🔌\n{capacity}",
|
|
||||||
"format-alt": "{icon}",
|
|
||||||
"format-icons": ["", "", "", "", "", "", "", "", "", "", "", ""]
|
|
||||||
},
|
|
||||||
"custom/power": {
|
|
||||||
"format" : "⏻",
|
|
||||||
"tooltip": false,
|
|
||||||
"menu": "on-click",
|
|
||||||
"menu-file": "~/.config/waybar/power_menu.xml",
|
|
||||||
"menu-actions": {
|
|
||||||
"logout": "loginctl terminate-user \"\"",
|
|
||||||
"shutdown": "systemctl poweroff",
|
|
||||||
"reboot": "systemctl reboot"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pulseaudio": {
|
|
||||||
// "scroll-step": 1, // %, can be a float
|
|
||||||
"format": "{icon}\n{volume}",
|
|
||||||
"format-muted": "",
|
|
||||||
"format-icons": {
|
|
||||||
"default": ["", "", " "]
|
|
||||||
},
|
|
||||||
"on-click": "pwvucontrol"
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"output": "DP-2",
|
|
||||||
"layer": "top",
|
|
||||||
"position": "top",
|
|
||||||
"height": 44,
|
|
||||||
"modules-right": ["clock"],
|
|
||||||
"modules-center": ["sway/workspaces"],
|
|
||||||
"sway/workspaces": {
|
|
||||||
"persistent-workspaces": {
|
|
||||||
"5": ["DP-2"],
|
|
||||||
"6": ["DP-2"],
|
|
||||||
"7": ["DP-2"],
|
|
||||||
"8": ["DP-2"],
|
|
||||||
},
|
|
||||||
"disable-scroll": true,
|
|
||||||
"sort-by-name": true,
|
|
||||||
"format": "{icon}",
|
|
||||||
"format-icons": {
|
|
||||||
"default": "<span color=\"#cdd6f4\">●</span>",
|
|
||||||
"focused": "<span color=\"#fab387\">●</span>",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
"clock": {
|
|
||||||
"timezone": "America/Montreal",
|
|
||||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
|
||||||
"format": "🕐 {:%H:%M 📅 %d/%m/%y}"
|
|
||||||
}
|
|
||||||
}]
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
[[plugin.deps]]
|
|
||||||
use = "AnirudhG07/rich-preview"
|
|
||||||
rev = "573b275"
|
|
||||||
hash = "c3e2871c9ef244fd181f203791f9b0d2"
|
|
||||||
|
|
||||||
[[plugin.deps]]
|
|
||||||
use = "yazi-rs/plugins:git"
|
|
||||||
rev = "6c71385"
|
|
||||||
hash = "36a484acf6a0a0219c543ccb4cee218f"
|
|
||||||
|
|
||||||
[flavor]
|
|
||||||
deps = []
|
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
opencode-bin
|
||||||
|
{{ if eq .chezmoi.hostname "flow" -}}
|
||||||
|
pulsemeeter-git
|
||||||
|
{{- end }}
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
# Software with configs in this repo + runtime deps referenced by those configs
|
||||||
|
{{ if eq .hosttype "desktop" -}}
|
||||||
|
teams-for-linux
|
||||||
|
{{- end }}
|
||||||
|
brightnessctl
|
||||||
|
cachyos-fish-config
|
||||||
|
chezmoi
|
||||||
|
dunst
|
||||||
|
fish
|
||||||
|
git
|
||||||
|
gnome-keyring
|
||||||
|
kitty
|
||||||
|
lazygit
|
||||||
|
neovim
|
||||||
|
paru
|
||||||
|
pipewire-pulse
|
||||||
|
polkit-gnome
|
||||||
|
pwvucontrol
|
||||||
|
rofi
|
||||||
|
starship
|
||||||
|
sway
|
||||||
|
swayidle
|
||||||
|
swaylock
|
||||||
|
tmux
|
||||||
|
ttf-jetbrains-mono-nerd
|
||||||
|
uwsm
|
||||||
|
waybar
|
||||||
|
wl-clipboard
|
||||||
|
yazi
|
||||||
|
zsh
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
source /usr/share/cachyos-fish-config/cachyos-config.fish
|
source /usr/share/cachyos-fish-config/cachyos-config.fish
|
||||||
|
|
||||||
alias dotfiles='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'
|
alias dotfiles='chezmoi'
|
||||||
|
|
||||||
fish_add_path ~/.local/bin
|
fish_add_path ~/.local/bin
|
||||||
|
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
- Prefer concise, readable code over clever one-liners
|
||||||
|
- No unnecessary comments — code should be self-documenting
|
||||||
|
- Docker-friendly: no hardcoded paths, use env vars for config
|
||||||
|
|
||||||
|
<!-- codebase-memory-mcp:start -->
|
||||||
|
# Codebase Knowledge Graph (codebase-memory-mcp)
|
||||||
|
|
||||||
|
This project uses codebase-memory-mcp to maintain a knowledge graph of the codebase.
|
||||||
|
ALWAYS prefer MCP graph tools over grep/glob/file-search for code discovery.
|
||||||
|
|
||||||
|
## Priority Order
|
||||||
|
1. `search_graph` — find functions, classes, routes, variables by pattern
|
||||||
|
2. `trace_path` — trace who calls a function or what it calls
|
||||||
|
3. `get_code_snippet` — read specific function/class source code
|
||||||
|
4. `query_graph` — run Cypher queries for complex patterns
|
||||||
|
5. `get_architecture` — high-level project summary
|
||||||
|
|
||||||
|
## When to fall back to grep/glob
|
||||||
|
- Searching for string literals, error messages, config values
|
||||||
|
- Searching non-code files (Dockerfiles, shell scripts, configs)
|
||||||
|
- When MCP tools return insufficient results
|
||||||
|
|
||||||
|
## Examples
|
||||||
|
- Find a handler: `search_graph(name_pattern=".*OrderHandler.*")`
|
||||||
|
- Who calls it: `trace_path(function_name="OrderHandler", direction="inbound")`
|
||||||
|
- Read source: `get_code_snippet(qualified_name="pkg/orders.OrderHandler")`
|
||||||
|
<!-- codebase-memory-mcp:end -->
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://opencode.ai/config.json",
|
||||||
|
"agent": {
|
||||||
|
"build": {
|
||||||
|
"model": "opencode-go/deepseek-v4-flash",
|
||||||
|
"temperature": 1.0,
|
||||||
|
"top_p": 0.95,
|
||||||
|
"permission": {
|
||||||
|
"skill": {
|
||||||
|
"git-*": "allow"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"plan": {
|
||||||
|
"model": "kimi-for-coding/k3"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"mcp": {
|
||||||
|
"gitea-mcp": {
|
||||||
|
"enabled": true,
|
||||||
|
"type": "local",
|
||||||
|
"command": [
|
||||||
|
"gitea-mcp",
|
||||||
|
"-t",
|
||||||
|
"stdio",
|
||||||
|
"-H",
|
||||||
|
"https://gitea.itspm.cc",
|
||||||
|
"-T",
|
||||||
|
"82e8aeb9bcf9b26d1bad9167549f6532f968bcb0"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"codebase-memory-mcp": {
|
||||||
|
"enabled": true,
|
||||||
|
"type": "local",
|
||||||
|
"command": [
|
||||||
|
"/home/pmcc/.local/bin/codebase-memory-mcp"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{{ if eq .hosttype "laptop" -}}
|
||||||
|
bindsym XF86MonBrightnessDown exec brightnessctl -d intel_backlight s 5%-
|
||||||
|
bindsym XF86MonBrightnessUp exec brightnessctl -d intel_backlight s +5%
|
||||||
|
|
||||||
|
bindsym --no-repeat $mod+Shift+r exec ~/.config/sway/scripts/toggle-refresh-rate.sh
|
||||||
|
{{- end }}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
{{ if eq .hosttype "laptop" -}}
|
||||||
|
input "type:pointer" {
|
||||||
|
accel_profile flat
|
||||||
|
pointer_accel 0
|
||||||
|
}
|
||||||
|
|
||||||
|
input "2362:4931:PIXA3854:00_093A:1343_Touchpad" {
|
||||||
|
tap enabled
|
||||||
|
}
|
||||||
|
{{- end }}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
{{ if eq .chezmoi.hostname "framework13pro" -}}
|
||||||
|
output eDP-1 mode 2880x1920@120Hz
|
||||||
|
{{- else if eq .chezmoi.hostname "flow" -}}
|
||||||
|
# TODO: fill in flow's outputs (run: swaymsg -t get_outputs)
|
||||||
|
# output DP-1 mode 2560x1440@144Hz position 0 0
|
||||||
|
# output DP-2 mode 2560x1440@144Hz position 2560 0
|
||||||
|
{{- else if eq .chezmoi.hostname "gata" -}}
|
||||||
|
# TODO: fill in gata's outputs (run: swaymsg -t get_outputs)
|
||||||
|
# output DP-1 mode 2560x1440@144Hz position 0 0
|
||||||
|
# output DP-2 mode 1920x1080@60Hz position 2560 0
|
||||||
|
{{- end }}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
OUTPUT="eDP-1"
|
||||||
|
CURRENT=$(swaymsg -rt get_outputs | jq -r ".[] | select(.name==\"$OUTPUT\") | .current_mode.refresh" | cut -d. -f1)
|
||||||
|
|
||||||
|
if [ "$CURRENT" -eq 120000 ]; then
|
||||||
|
swaymsg output "$OUTPUT" mode 2880x1920@60Hz
|
||||||
|
notify-send "Refresh Rate" "Switched to 60Hz" -t 2000
|
||||||
|
else
|
||||||
|
swaymsg output "$OUTPUT" mode 2880x1920@120Hz
|
||||||
|
notify-send "Refresh Rate" "Switched to 120Hz" -t 2000
|
||||||
|
fi
|
||||||
|
|
||||||
|
pkill -RTMIN+8 waybar
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
{{- if eq .chezmoi.hostname "framework13pro" -}}
|
||||||
|
[{{ template "bar-primary" (dict "out" "eDP-1" "ws" (list "1" "2" "3" "4")) }},
|
||||||
|
{{ template "bar-secondary" . }}]
|
||||||
|
{{- else if eq .chezmoi.hostname "flow" -}}
|
||||||
|
[{{ template "bar-primary" (dict "out" "DP-1" "ws" (list "1" "2" "3" "4")) }},
|
||||||
|
{{ template "bar-secondary" . }}]
|
||||||
|
{{- else if eq .chezmoi.hostname "gata" -}}
|
||||||
|
// TODO: fill in gata's outputs (run: swaymsg -t get_outputs)
|
||||||
|
[{{ template "bar-primary" (dict "out" "DP-1" "ws" (list "1" "2" "3" "4")) }},
|
||||||
|
{{ template "bar-secondary" . }}]
|
||||||
|
{{- end }}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
[[plugin.deps]]
|
||||||
|
use = "AnirudhG07/rich-preview"
|
||||||
|
rev = "7d616ad"
|
||||||
|
hash = "d64feec9761392cbc250d199ab4b8a3a"
|
||||||
|
|
||||||
|
[[plugin.deps]]
|
||||||
|
use = "yazi-rs/plugins:git"
|
||||||
|
rev = "9014ed2"
|
||||||
|
hash = "88e56a64b7ce7c4314427452343fef17"
|
||||||
|
|
||||||
|
[flavor]
|
||||||
|
deps = []
|
||||||
+1
-1
@@ -13,7 +13,7 @@ bindkey "^[[3~" delete-char
|
|||||||
|
|
||||||
alias ls='ls --color=auto'
|
alias ls='ls --color=auto'
|
||||||
alias grep='grep --color=auto'
|
alias grep='grep --color=auto'
|
||||||
alias dotfiles='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'
|
alias dotfiles='chezmoi'
|
||||||
|
|
||||||
eval "$(starship init zsh)"
|
eval "$(starship init zsh)"
|
||||||
|
|
||||||
Reference in New Issue
Block a user