Compare commits

...
17 Commits
Author SHA1 Message Date
gitadmin 5fee6bbf4e chore(pi): drop enabledModels list, bump lastChangelogVersion to 0.87.0 2026-09-24 16:32:24 -04:00
gitadmin 6fcdd86cff chore(systemd): remove unused home-dotfiles-restore unit 2026-09-24 16:31:38 -04:00
gitadmin eeee8333b5 feat(systemd): auto-start tmux main session at login and add dotfiles restore unit 2026-09-24 16:24:10 -04:00
gitadmin e4231f3746 feat(nvim): enable exrc so project-local configs are loaded 2026-09-24 16:00:34 -04:00
gitadmin ffff051459 feat(herdr): allow nested panes 2026-09-24 16:00:13 -04:00
gitadmin e7b19ee993 chore(git): use zdiff3 conflict style for cleaner diffs 2026-09-24 15:59:47 -04:00
gitadmin 8086430934 chore(mise): replace Augureal webapp shortcut with X 2026-09-24 15:59:15 -04:00
gitadmin 37d656c502 chore(dotfiles): define mise vars and rename THEME_DIR to THEMES_STATE_DIR
Add a [vars] block to mise.toml (name, email, second brain, theme state dir) so templates can reference them, and switch environments.tmpl to the THEMES_STATE_DIR var.
2026-09-24 15:58:30 -04:00
gitadmin 26ef19f975 chore(pi-lens): disable context injection via mise symlink 2026-09-24 15:57:38 -04:00
gitadmin cdf23af952 chore(strata): bump bundled binary to 0.19.0
Previous build had no version flag; the new one reports 0.19.0 and
adds --unlock-volume. Binary grows 13MB -> 32MB.
2026-09-24 15:57:02 -04:00
gitadmin dcd59a6072 feat: enable wayland in firefox via environment.d 2026-09-24 15:56:30 -04:00
gitadmin ba05ef2a6d refactor(hypr): namespace config under sjb/
Move the Hyprland Lua modules into config/hypr/sjb/ with init.lua as the
entry point, so the whole config tree can be symlinked per-file and the
unmanaged hypr*.conf files keep their own symlinks. Add an sjb block that
requires the new entry point.

While here: bind the second Lenovo L15, force 3440x1440@144 on the
MAG342CQR, use the named 2fg scroll method, and drop dead locals.

Switch the skills mise task to clone/pull SjB/skills into
~/.local/share/skills and symlink it, replacing the npx skills adds.
2026-09-24 15:55:50 -04:00
gitadmin 17a129a2c4 feat(workmux): add agent and layout config with mise symlink 2026-09-24 14:48:19 -04:00
gitadmin 71e1686b25 fix(ssh): update hostnames to new subnet and remove stale TERM setting 2026-09-15 13:52:57 -04:00
gitadmin 32085a5e15 feat(fish): add workmux aliases 2026-09-15 13:52:16 -04:00
gitadmin 4a8c582e81 feat(strata): add binary, config, and theme template 2026-09-03 21:05:34 -04:00
gitadmin a6aa367313 chore(mise): clean up vars, add strata symlinks, fix tmux typo 2026-09-03 21:03:05 -04:00
28 changed files with 198 additions and 93 deletions
Executable
BIN
View File
Binary file not shown.
@@ -0,0 +1 @@
MOZ_ENABLE_WAYLAND=1
+5
View File
@@ -68,6 +68,11 @@ if status is-interactive
/usr/bin/jj util completion fish | source
end
if command -q workmux
alias wm "workmux"
alias wmd "workmux dashboard"
end
# NVM
function __check_nvm --on-variable PWD --description 'Do nvm stuff'
status --is-command-substitution; and return
+1 -1
View File
@@ -53,7 +53,7 @@ pretty = format:%C(blue)%ad%Creset %C(yellow)%h%C(green)%d%Creset %C(blue)%s %C(
layout = BASE,MERGED + BASE,LOCAL + BASE,REMOTE
[merge]
conflictStyle = diff3
conflictStyle = zdiff3
summary = true
verbosity = 1
tool = nvimdiff
+1
View File
@@ -20,6 +20,7 @@ window_title = "{hostname}: {workspace}"
[experimental]
pane_history = true
allow_nested = true
[theme]
name = "terminal"
@@ -1,19 +1,16 @@
-- local terminal = "ghostty -e"
local terminal = "foot"
local _notify_cmd = "notify-send"
local browser = "gtk-launch firefox.desktop"
local webapp = "chromium --new-window --ozone-platform=wayland --app="
local music = "gtk-launch spotify.desktop"
local LEADER = "SUPER + "
local HYPR = "SUPER + CONTROL + SHIFT + ALT + "
require("monitors")
require("functions")
require("rules")
require("sjb/monitors")
require("sjb/functions")
require("sjb/rules")
require("sjb/envs")
require("sjb/autostart")
require("theme")
require("envs")
require("onstart")
hl.config({
input = {
@@ -33,7 +30,7 @@ hl.config({
clickfinger_behavior = true,
scroll_factor = 0.7,
},
scroll_method = 2,
scroll_method = "2fg",
sensitivity = 0, -- -1.0 - 1.0, 0 means no modification.
},
@@ -35,8 +35,9 @@ hl.monitor({
scale =
"1.0"
})
hl.monitor({ output = "desc:Lenovo Group Limited L15 U133R0A2", mode = "preferred", position = "auto-left", scale = 1 })
hl.monitor({ output = "desc:Lenovo Group Limited L15 U133R0A2", mode = "preferred", position = "auto-down", scale = 1 })
hl.monitor({ output = "desc:Lenovo Group Limited M15 V30F2A15", mode = "preferred", position = "auto-left", scale = 1 })
hl.monitor({ output = "desc:Lenovo Group Limited L15 U133X4PG", mode = "preferred", position = "auto-down", scale = 1 })
hl.monitor({ output = "desc:Proteon TYPE-C 8R33926O00QS", mode = "preferred", position = "auto-right", scale = "1.0" })
hl.monitor({ output = "desc:Stargate Technology TYPE-C", mode = "preferred", position = "auto-down", scale = "1.0" })
hl.monitor({ output = "desc:GWD ARZOPA 000000000000", mode = "preferred", position = "auto-down", scale = "1.0" })
@@ -51,7 +52,8 @@ hl.monitor({
})
hl.monitor({
output = "desc:Microstep MSI MAG342CQR DB6H252300057",
mode = "preferred",
mode = "3440x1440@144",
-- mode = "preferred",
position = "auto-left",
scale =
"1.0"
+3 -2
View File
@@ -52,8 +52,9 @@ run = [
[tasks.skills]
run = [
'npx skills add SjB/skills',
'npx skills add mattpocock/skills'
"test -d ~/.local/share/skills || git clone https://github.com/SjB/skills.git ~/.local/share/skills",
"git -C ~/.local/share/skills pull --rebase",
"ln -snf ~/.local/share/skills/skills ~/.agents/skills"
]
[tasks.herdr_setup]
+1
View File
@@ -60,6 +60,7 @@ vim.opt.shiftround = true
vim.opt.shiftwidth = 4
vim.opt.softtabstop = 4
vim.opt.tabstop = 4
vim.opt.exrc = true
vim.opt.hidden = true
vim.opt.shortmess:append({ W = true, I = true, c = true, C = true })
vim.opt.spelllang = { "en" }
+5
View File
@@ -0,0 +1,5 @@
{
"contextInjection": {
"enabled": false
}
}
+1 -23
View File
@@ -1,5 +1,5 @@
{
"lastChangelogVersion": "0.84.3",
"lastChangelogVersion": "0.87.0",
"theme": "light/dark",
"defaultProvider": "openai-codex",
"defaultModel": "gpt-5.6-luna",
@@ -17,28 +17,6 @@
"max": "max"
},
"enableInstallTelemetry": false,
"enabledModels": [
"openai-codex/gpt-5.6-luna",
"openai-codex/gpt-5.6-terra",
"github-copilot/gpt-5-mini",
"github-copilot/mai-code-1-flash-picker",
"opencode-go/deepseek-v4-pro",
"opencode-go/deepseek-v4-flash",
"opencode-go/kimi-k2.7-code",
"opencode-go/hy3",
"opencode-go/minimax-m3",
"opencode-go/minimax-m2.7",
"opencode-go/mimo-v2.5-pro",
"opencode-go/mimo-v2.5",
"opencode-go/kimi-k3",
"opencode-go/kimi-k2.6",
"opencode-go/glm-5.3-flash",
"opencode-go/qwen3.8-max",
"opencode-go/qwen3.8-flash",
"obelix/ornith-1.0-35B",
"bianca/Qwythos-9B-v2",
"dupont/Qwopus3.6-27B"
],
"packages": [
"npm:pi-lens",
"npm:@gotgenes/pi-permission-system",
+2 -2
View File
@@ -1,12 +1,12 @@
Host alcazar-tmux
User tintin
Hostname 172.25.9.8
Hostname 172.25.11.135
ForwardAgent yes
RequestTTY yes
RemoteCommand tmux -l new -A
Host alcazar
User tintin
Hostname 172.25.9.8
Hostname 172.25.11.135
ForwardAgent yes
RequestTTY yes
+1 -1
View File
@@ -1,5 +1,5 @@
Host caraco
User sjb
Hostname 172.25.9.172
Hostname 172.25.11.136
ForwardAgent yes
RequestTTY yes
-1
View File
@@ -1 +0,0 @@
SetEnv TERM=xterm-256color
+1 -1
View File
@@ -1,5 +1,5 @@
Host milou
User tintin
Hostname 172.25.9.9
Hostname 172.25.11.133
ForwardAgent yes
RequestTTY yes
+1 -1
View File
@@ -1,6 +1,6 @@
Host alcazar
User sjb
Hostname 172.25.9.30
Hostname 172.25.11.135
ForwardAgent yes
RemoteForward /run/user/1000/gnupg/S.gpg-agent /run/user/1000/gnupg/S.gpg-agent.extra
StreamLocalBindUnlink yes
+9
View File
@@ -0,0 +1,9 @@
mode = "theme"
theme = "omarchy"
single_click_previews = true
search_open_files_directly = false
browser_mode = "columns"
browser_density = "compact"
sort_key = "name"
sort_direction = "ascending"
check_for_updates = true
@@ -0,0 +1 @@
../tmux-main.service
+15
View File
@@ -0,0 +1,15 @@
[Unit]
Description=Ensure tmux session "main" is running
After=graphical-session.target
PartOf=graphical-session.target
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=%h/.local/share/dotfiles/script/tmux-start.sh
# If the session check fails (no server / lost session), retry until login ends.
Restart=on-failure
RestartSec=5
[Install]
WantedBy=default.target
+55
View File
@@ -0,0 +1,55 @@
nerdfont: true
merge_strategy: rebase
merge_keep: true
agent: pi
agents:
luna-high:
type: pi
command: pi
args:
- --model
- openai-codex/gpt-6-luna
- --thinking
- high
luna-max:
type: pi
command: pi
args:
- --model
- openai-codex/gpt-6-luna
- --thinking
- max
obelix:
type: pi
command: pi
args:
- --model
- obelix/ornith-1.0-35B
fast:
type: pi
command: pi
args:
- --model
- opencode-go/qwen3.8-flash
ds-fast:
type: pi
command: pi
args:
- --model
- opencode-go/deepseek-v4-flash
free:
type: pi
command: pi
args:
- --model
- opencode/mimo-v2.6-flash-free
layouts:
dev:
panes:
- name: "Main"
commands: <agent>
- name: "Editor"
focus: true
commands: "nvim"
+10
View File
@@ -0,0 +1,10 @@
name = "omarchy"
background = "{{ background }}"
surface = "{{ color0 }}"
text = "{{ foreground }}"
accent = "{{ color7 }}"
danger = "{{ color1 }}"
muted = "{{ color8 }}"
highlight = "{{ color4 }}"
border = "{{ color2 }}"
dim_text = "{{ color3 }}"
+15 -7
View File
@@ -2,8 +2,8 @@
USER_FULLNAME = "Steve Beaulac"
USER_EMAIL = "steve@beaulac.me"
DOTFILES_DIR = "{{config_root}}"
THEME_DIR = "~/.local/state/omarchy/current/theme"
SECOND_BRAIN = "~/Documents/sjb-brain"
THEMES_STATE_DIR = ".local/state/omarchy/current/theme"
[env]
DOTFILES_DIR = "{{config_root}}"
@@ -28,7 +28,11 @@ dotfiles.default_mode = "symlink-each"
"~/.config/fabric" = "config/fabric"
"~/.config/fontconfig" = { source = "config/fontconfig", mode = "copy" }
"~/.config/foot" = "config/foot"
"~/.config/hypr" = "config/hypr"
"~/.config/hypr/sjb" = "config/hypr/sjb"
"~/.config/hypr/hypridle.conf" = { source = "config/hypr/hypridle.conf", mode = "symlink" }
"~/.config/hypr/hyprlock.conf" = { source = "config/hypr/hyprlock.conf", mode = "symlink" }
"~/.config/hypr/hyprpm.conf" = { source = "config/hypr/hyprpm.conf", mode = "symlink" }
"~/.config/hypr/hyprland.lua/sjb" = { block = 'require("sjb.init")' }
"~/.config/jj" = "config/jj"
"~/.config/jj/conf.d/local.toml" = { source = "templates/git-local.tmpl", mode = "template", template = "tera" }
"~/.config/kitty" = "config/kitty"
@@ -39,15 +43,17 @@ dotfiles.default_mode = "symlink-each"
"~/.agents" = { source = "config/agents", mode = "symlink-each" }
"~/.config/opencode/agents" = { source = "config/agents/prompts", mode = "symlink" }
"~/.pi" = "config/pi"
"~/.pi-lens/config.json" = { source = "config/pi-lens/config.json", mode = "symlink" }
"~/.pi/agent/AGENTS.md" = { source = "config/agents/AGENTS.md", mode = "symlink" }
"~/.config/rofi" = "config/rofi"
"~/.config/rio" = "config/rio"
"~/.ssh" = "config/ssh"
"~/.config/systemd" = { source="config/systemd", mode = "copy" }
"~/.config/systemd" = { source = "config/systemd", mode = "copy" }
"~/.config/environment.d" = "config/environment.d"
"~/.config/tmux" = "config/tmux"
"~/.config/uwsm" = "config/uwsm"
"~/.config/worktrunk" = "config/worktrunk"
"~/.config/workmux/config.yaml" = { source = "config/workmux/config.yaml", mode = "symlink" }
"~/.config/chromium-flags.conf" = { source = "config/chromium-flags.conf", mode = "symlink" }
"~/.profile" = { source = "config/bash/profile", mode = "symlink" }
"~/.bash_aliases" = { source = "config/bash/aliases", mode = "symlink" }
@@ -96,6 +102,8 @@ dotfiles.default_mode = "symlink-each"
"~/.local/bin/set-wallpaper.sh" = { source = "script/set-wallpaper.sh", mode = "symlink" }
"~/.local/bin/wallpaper-fetcher" = { source = "bin/wallpaper-fetcher", mode = "symlink" }
"~/.local/bin/strata" = { source = "bin/strata", mode = "symlink" }
"~/.config/strata/settings.toml" = { source = "config/strata/settings.toml", mode = "symlink" }
"~/.local/bin/omarchy-cmd-missing" = { source = "script/omarchy-cmd-missing", mode = "symlink" }
"~/.local/bin/omarchy-cmd-present" = { source = "script/omarchy-cmd-present", mode = "symlink" }
"~/.local/bin/omarchy-hook" = { source = "script/omarchy-hook", mode = "symlink" }
@@ -146,7 +154,7 @@ run = [
'mkdir -p ~/.config/mako && ln -snf ~/.local/state/omarchy/current/theme/mako.ini ~/.config/mako/config',
'mkdir -p ~/.config/rofi && ln -snf ~/.local/state/omarchy/current/theme/rofi.rasi ~/.config/rofi/theme.rasi',
'mkdir -p ~/.config/rio/themes && ln -snf ~/.local/state/omarchy/current/theme/rio.toml ~/.config/rio/themes/omarchy.toml',
'mkdir -p ~/.config/tmux && ln -snf ~/.local/state/omarchy/current/theme/tmux" ~/.config/tmux/theme',
'mkdir -p ~/.config/tmux && ln -snf ~/.local/state/omarchy/current/theme/tmux ~/.config/tmux/theme',
]
[tasks.shells]
@@ -175,7 +183,7 @@ run = [
'systemctl --user enable hyprpolkitagent.service',
'systemctl --user enable wallpaper.timer',
'xdg-mime default obsidian.desktop x-scheme-handler/obsidian',
'xdg-settings set default-url-scheme-handler obsidian obsidian.desktop'
'xdg-settings set default-url-scheme-handler obsidian obsidian.desktop',
]
[tasks.theme]
@@ -184,7 +192,7 @@ run = [
'gsettings set org.gnome.desktop.interface gtk-theme "Adwaita-dark"',
'gsettings set org.gnome.desktop.interface color-scheme "prefer-dark"',
'gsettings set org.gnome.desktop.interface icon-theme "Yaru-blue"',
'omarchy-theme-set "tokyo-night"'
'omarchy-theme-set "tokyo-night"',
]
[tasks.webapps]
@@ -204,7 +212,7 @@ run = [
'sjb-webapp-installer "Outlook" https://outlook.office.com/mail/inbox/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/microsoft-outlook.svg',
'sjb-webapp-installer "Slack" https://app.slack.com/client/T09M8T3BB1N/C09KZ5N0ZK9 https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/slack.svg',
'sjb-webapp-installer "Copilot" https://m365.cloud.microsoft https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/microsoft-copilot.svg',
'sjb-webapp-installer "Augureal" https://chat.augureai.ca/chat https://www.svgrepo.com/download/375527/ai-platform.svg',
'sjb-webapp-installer "X" https://x.com/ https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/x.png',
]
[tasks.bootstrap]
+17
View File
@@ -0,0 +1,17 @@
#!/usr/bin/env bash
# Start (or reuse) the tmux server with a session named "main".
# Used by the tmux-main systemd user service at graphical login.
#
# Designed to survive Restart=on-failure: if a session already exists this
# script reattaches nothing and exits 0; if the server dies systemd restarts
# us and we recreate the session.
set -u
session=main
if ! tmux ls 2>/dev/null | grep -q "^${session}:"; then
tmux new-session -d -s "$session"
fi
# Keep the unit "active" only briefly; the session lives in the tmux server.
exit 0
+1 -1
View File
@@ -4,6 +4,6 @@ npm_config_prefix=$HOME/.local
DOTFILES_DIR = "{{ vars.DOTFILES_DIR }}"
USER_FULLNAME = "{{ vars.USER_FULLNAME }}"
USER_EMAIL = "{{ vars.USER_FULLNAME }}"
THEME_DIR = "{{ vars.THEME_DIR }}"
THEMES_STATE_DIR = "{{ vars.THEMES_STATE_DIR }}"
SECOND_BRAIN = "{{ vars.SECOND_BRAIN }}"
KNOWLEDGES_VAULT = "{{ vars.SECOND_BRAIN }}"