bunch of nixos updates

This commit is contained in:
2026-03-09 02:50:31 +00:00
parent 961676025b
commit 396882d364
16 changed files with 715 additions and 36 deletions
+8
View File
@@ -1,3 +1,11 @@
# Agent Instructions
## Screenshots
When the user provides a screenshot path (e.g., `/tmp/pi-clipboard-xxx.png`), **ALWAYS** use the `read` tool to read the image file. Do NOT assume you can see the screenshot contents without reading it first.
---
# Sigil usage (for agents) # Sigil usage (for agents)
This repo is managed by **Sigil**, a minimal symlink-based dotfile tool. This repo is managed by **Sigil**, a minimal symlink-based dotfile tool.
+18
View File
@@ -0,0 +1,18 @@
---@class SigilConfig
---@field target table<string, string|boolean>
---@field ignore? string[]
---@type SigilConfig
local config = {
target = {
linux = "~/.config/DankMaterialShell",
default = "~/.config/DankMaterialShell",
},
ignore = {
-- "**/.DS_Store",
-- "**/*.tmp",
-- "cache/**",
},
}
return config
@@ -0,0 +1,7 @@
{
"emojiLauncher": {
"enabled": true,
"trigger": ":",
"noTrigger": false
}
}
Submodule DankMaterialShell/files/plugins/emojiLauncher added at f4f474c9d9
+572
View File
@@ -0,0 +1,572 @@
{
"currentThemeName": "dynamic",
"currentThemeCategory": "dynamic",
"customThemeFile": "/home/thomasgl/.config/DankMaterialShell/themes/catppuccin/theme.json",
"registryThemeVariants": {
"catppuccin": {
"dark": {
"flavor": "frappe",
"accent": "mauve"
}
}
},
"matugenScheme": "scheme-tonal-spot",
"runUserMatugenTemplates": true,
"matugenTargetMonitor": "",
"popupTransparency": 0.75,
"dockTransparency": 1,
"widgetBackgroundColor": "sc",
"widgetColorMode": "default",
"controlCenterTileColorMode": "primary",
"buttonColorMode": "primary",
"cornerRadius": 8,
"niriLayoutGapsOverride": -1,
"niriLayoutRadiusOverride": -1,
"niriLayoutBorderSize": -1,
"hyprlandLayoutGapsOverride": -1,
"hyprlandLayoutRadiusOverride": -1,
"hyprlandLayoutBorderSize": -1,
"mangoLayoutGapsOverride": -1,
"mangoLayoutRadiusOverride": -1,
"mangoLayoutBorderSize": -1,
"use24HourClock": true,
"showSeconds": false,
"padHours12Hour": false,
"useFahrenheit": false,
"windSpeedUnit": "kmh",
"nightModeEnabled": false,
"animationSpeed": 2,
"customAnimationDuration": 500,
"syncComponentAnimationSpeeds": true,
"popoutAnimationSpeed": 1,
"popoutCustomAnimationDuration": 150,
"modalAnimationSpeed": 1,
"modalCustomAnimationDuration": 150,
"enableRippleEffects": true,
"wallpaperFillMode": "Fill",
"blurredWallpaperLayer": false,
"blurWallpaperOnOverview": false,
"showLauncherButton": true,
"showWorkspaceSwitcher": true,
"showFocusedWindow": true,
"showWeather": true,
"showMusic": true,
"showClipboard": true,
"showCpuUsage": true,
"showMemUsage": true,
"showCpuTemp": true,
"showGpuTemp": true,
"selectedGpuIndex": 0,
"enabledGpuPciIds": [],
"showSystemTray": true,
"showClock": true,
"showNotificationButton": true,
"showBattery": true,
"showControlCenterButton": true,
"showCapsLockIndicator": true,
"controlCenterShowNetworkIcon": true,
"controlCenterShowBluetoothIcon": true,
"controlCenterShowAudioIcon": true,
"controlCenterShowAudioPercent": false,
"controlCenterShowVpnIcon": true,
"controlCenterShowBrightnessIcon": false,
"controlCenterShowBrightnessPercent": false,
"controlCenterShowMicIcon": false,
"controlCenterShowMicPercent": false,
"controlCenterShowBatteryIcon": false,
"controlCenterShowPrinterIcon": false,
"controlCenterShowScreenSharingIcon": true,
"showPrivacyButton": true,
"privacyShowMicIcon": false,
"privacyShowCameraIcon": false,
"privacyShowScreenShareIcon": false,
"controlCenterWidgets": [
{
"id": "volumeSlider",
"enabled": true,
"width": 50
},
{
"id": "brightnessSlider",
"enabled": true,
"width": 50
},
{
"id": "wifi",
"enabled": true,
"width": 50
},
{
"id": "bluetooth",
"enabled": true,
"width": 50
},
{
"id": "audioOutput",
"enabled": true,
"width": 50
},
{
"id": "audioInput",
"enabled": true,
"width": 50
},
{
"id": "nightMode",
"enabled": true,
"width": 50
},
{
"id": "darkMode",
"enabled": true,
"width": 50
}
],
"showWorkspaceIndex": true,
"showWorkspaceName": false,
"showWorkspacePadding": false,
"workspaceScrolling": false,
"showWorkspaceApps": false,
"workspaceDragReorder": true,
"maxWorkspaceIcons": 3,
"workspaceAppIconSizeOffset": 0,
"groupWorkspaceApps": true,
"workspaceFollowFocus": false,
"showOccupiedWorkspacesOnly": false,
"reverseScrolling": false,
"dwlShowAllTags": false,
"workspaceColorMode": "default",
"workspaceOccupiedColorMode": "none",
"workspaceUnfocusedColorMode": "default",
"workspaceUrgentColorMode": "default",
"workspaceFocusedBorderEnabled": false,
"workspaceFocusedBorderColor": "primary",
"workspaceFocusedBorderThickness": 2,
"workspaceNameIcons": {},
"waveProgressEnabled": true,
"scrollTitleEnabled": true,
"audioVisualizerEnabled": true,
"audioScrollMode": "volume",
"audioWheelScrollAmount": 5,
"clockCompactMode": false,
"focusedWindowCompactMode": false,
"runningAppsCompactMode": true,
"barMaxVisibleApps": 0,
"barMaxVisibleRunningApps": 0,
"barShowOverflowBadge": true,
"appsDockHideIndicators": false,
"appsDockColorizeActive": false,
"appsDockActiveColorMode": "primary",
"appsDockEnlargeOnHover": false,
"appsDockEnlargePercentage": 125,
"appsDockIconSizePercentage": 100,
"keyboardLayoutNameCompactMode": true,
"runningAppsCurrentWorkspace": false,
"runningAppsGroupByApp": false,
"runningAppsCurrentMonitor": false,
"appIdSubstitutions": [
{
"pattern": "Spotify",
"replacement": "spotify",
"type": "exact"
},
{
"pattern": "beepertexts",
"replacement": "beeper",
"type": "exact"
},
{
"pattern": "home assistant desktop",
"replacement": "homeassistant-desktop",
"type": "exact"
},
{
"pattern": "com.transmissionbt.transmission",
"replacement": "transmission-gtk",
"type": "contains"
},
{
"pattern": "^steam_app_(\\d+)$",
"replacement": "steam_icon_$1",
"type": "regex"
}
],
"centeringMode": "index",
"clockDateFormat": "d MMM yyyy",
"lockDateFormat": "",
"mediaSize": 1,
"appLauncherViewMode": "list",
"spotlightModalViewMode": "list",
"browserPickerViewMode": "grid",
"browserUsageHistory": {
"firefox": {
"count": 1,
"lastUsed": 1773021966215,
"name": "Firefox"
}
},
"appPickerViewMode": "grid",
"filePickerUsageHistory": {},
"sortAppsAlphabetically": false,
"appLauncherGridColumns": 4,
"spotlightCloseNiriOverview": true,
"spotlightSectionViewModes": {},
"appDrawerSectionViewModes": {},
"niriOverviewOverlayEnabled": true,
"dankLauncherV2Size": "compact",
"dankLauncherV2BorderEnabled": false,
"dankLauncherV2BorderThickness": 2,
"dankLauncherV2BorderColor": "primary",
"dankLauncherV2ShowFooter": true,
"dankLauncherV2UnloadOnClose": false,
"useAutoLocation": false,
"weatherEnabled": true,
"networkPreference": "wifi",
"iconTheme": "System Default",
"cursorSettings": {
"theme": "Qogir",
"size": 32,
"niri": {
"hideWhenTyping": false,
"hideAfterInactiveMs": 0
},
"hyprland": {
"hideOnKeyPress": false,
"hideOnTouch": false,
"inactiveTimeout": 0
},
"dwl": {
"cursorHideTimeout": 0
}
},
"launcherLogoMode": "apps",
"launcherLogoCustomPath": "",
"launcherLogoColorOverride": "",
"launcherLogoColorInvertOnMode": false,
"launcherLogoBrightness": 1,
"launcherLogoContrast": 0,
"launcherLogoSizeOffset": 0,
"fontFamily": "Inter Variable",
"monoFontFamily": "Fira Code",
"fontWeight": 400,
"fontScale": 1,
"notepadUseMonospace": true,
"notepadFontFamily": "",
"notepadFontSize": 14,
"notepadShowLineNumbers": false,
"notepadTransparencyOverride": -1,
"notepadLastCustomTransparency": 0.7,
"soundsEnabled": true,
"useSystemSoundTheme": false,
"soundNewNotification": true,
"soundVolumeChanged": true,
"soundPluggedIn": true,
"acMonitorTimeout": 7200,
"acLockTimeout": 3600,
"acSuspendTimeout": 0,
"acSuspendBehavior": 0,
"acProfileName": "",
"batteryMonitorTimeout": 0,
"batteryLockTimeout": 0,
"batterySuspendTimeout": 0,
"batterySuspendBehavior": 0,
"batteryProfileName": "",
"batteryChargeLimit": 100,
"lockBeforeSuspend": false,
"loginctlLockIntegration": true,
"fadeToLockEnabled": true,
"fadeToLockGracePeriod": 5,
"fadeToDpmsEnabled": true,
"fadeToDpmsGracePeriod": 5,
"launchPrefix": "",
"brightnessDevicePins": {},
"wifiNetworkPins": {},
"bluetoothDevicePins": {},
"audioInputDevicePins": {
"preferredInput": [
"alsa_input.usb-Shure_Inc_Shure_MV7__MV7__11-463503d372411c59a96ea3078a206742-01.mono-fallback"
]
},
"audioOutputDevicePins": {},
"gtkThemingEnabled": false,
"qtThemingEnabled": false,
"syncModeWithPortal": true,
"terminalsAlwaysDark": false,
"runDmsMatugenTemplates": true,
"matugenTemplateGtk": true,
"matugenTemplateNiri": true,
"matugenTemplateHyprland": false,
"matugenTemplateMangowc": true,
"matugenTemplateQt5ct": false,
"matugenTemplateQt6ct": false,
"matugenTemplateFirefox": true,
"matugenTemplatePywalfox": true,
"matugenTemplateZenBrowser": true,
"matugenTemplateVesktop": true,
"matugenTemplateEquibop": true,
"matugenTemplateGhostty": true,
"matugenTemplateKitty": true,
"matugenTemplateFoot": true,
"matugenTemplateAlacritty": true,
"matugenTemplateNeovim": false,
"matugenTemplateWezterm": true,
"matugenTemplateDgop": true,
"matugenTemplateKcolorscheme": true,
"matugenTemplateVscode": true,
"matugenTemplateEmacs": true,
"showDock": false,
"dockAutoHide": false,
"dockSmartAutoHide": false,
"dockGroupByApp": false,
"dockOpenOnOverview": false,
"dockPosition": 1,
"dockSpacing": 4,
"dockBottomGap": 0,
"dockMargin": 0,
"dockIconSize": 40,
"dockIndicatorStyle": "circle",
"dockBorderEnabled": false,
"dockBorderColor": "surfaceText",
"dockBorderOpacity": 1,
"dockBorderThickness": 1,
"dockIsolateDisplays": false,
"dockLauncherEnabled": false,
"dockLauncherLogoMode": "apps",
"dockLauncherLogoCustomPath": "",
"dockLauncherLogoColorOverride": "",
"dockLauncherLogoSizeOffset": 0,
"dockLauncherLogoBrightness": 0.5,
"dockLauncherLogoContrast": 1,
"dockMaxVisibleApps": 0,
"dockMaxVisibleRunningApps": 0,
"dockShowOverflowBadge": true,
"notificationOverlayEnabled": false,
"notificationPopupShadowEnabled": true,
"notificationPopupPrivacyMode": false,
"modalDarkenBackground": true,
"lockScreenShowPowerActions": true,
"lockScreenShowSystemIcons": true,
"lockScreenShowTime": true,
"lockScreenShowDate": true,
"lockScreenShowProfileImage": true,
"lockScreenShowPasswordField": true,
"lockScreenShowMediaPlayer": true,
"lockScreenPowerOffMonitorsOnLock": false,
"lockAtStartup": false,
"enableFprint": false,
"maxFprintTries": 3,
"lockScreenActiveMonitor": "all",
"lockScreenInactiveColor": "#000000",
"lockScreenNotificationMode": 0,
"hideBrightnessSlider": true,
"notificationTimeoutLow": 5000,
"notificationTimeoutNormal": 5000,
"notificationTimeoutCritical": 0,
"notificationCompactMode": false,
"notificationPopupPosition": 0,
"notificationAnimationSpeed": 1,
"notificationCustomAnimationDuration": 400,
"notificationHistoryEnabled": true,
"notificationHistoryMaxCount": 50,
"notificationHistoryMaxAgeDays": 7,
"notificationHistorySaveLow": true,
"notificationHistorySaveNormal": true,
"notificationHistorySaveCritical": true,
"notificationRules": [],
"osdAlwaysShowValue": true,
"osdPosition": 5,
"osdVolumeEnabled": true,
"osdMediaVolumeEnabled": true,
"osdMediaPlaybackEnabled": true,
"osdBrightnessEnabled": true,
"osdIdleInhibitorEnabled": true,
"osdMicMuteEnabled": true,
"osdCapsLockEnabled": true,
"osdPowerProfileEnabled": false,
"osdAudioOutputEnabled": true,
"powerActionConfirm": true,
"powerActionHoldDuration": 0.5,
"powerMenuActions": [
"reboot",
"logout",
"poweroff",
"lock",
"suspend",
"restart"
],
"powerMenuDefaultAction": "logout",
"powerMenuGridLayout": false,
"customPowerActionLock": "",
"customPowerActionLogout": "",
"customPowerActionSuspend": "",
"customPowerActionHibernate": "",
"customPowerActionReboot": "",
"customPowerActionPowerOff": "",
"updaterHideWidget": false,
"updaterUseCustomCommand": false,
"updaterCustomCommand": "",
"updaterTerminalAdditionalParams": "",
"displayNameMode": "system",
"screenPreferences": {
"wallpaper": [
"all"
]
},
"showOnLastDisplay": {},
"niriOutputSettings": {},
"hyprlandOutputSettings": {},
"displayProfiles": {},
"activeDisplayProfile": {},
"displayProfileAutoSelect": false,
"displayShowDisconnected": false,
"displaySnapToEdge": true,
"barConfigs": [
{
"id": "default",
"name": "Main Bar",
"enabled": true,
"position": 0,
"screenPreferences": [
"all"
],
"showOnLastDisplay": true,
"leftWidgets": [
{
"id": "launcherButton",
"enabled": true
},
{
"id": "workspaceSwitcher",
"enabled": true
},
{
"id": "focusedWindow",
"enabled": true,
"focusedWindowCompactMode": false
}
],
"centerWidgets": [
{
"id": "music",
"enabled": true,
"mediaSize": 1
},
"clock",
"weather"
],
"rightWidgets": [
"systemTray",
"clipboard",
"cpuUsage",
"memUsage",
"notificationButton",
"battery",
"controlCenterButton"
],
"spacing": 0,
"innerPadding": 8,
"bottomGap": -4,
"transparency": 0,
"widgetTransparency": 0.9,
"squareCorners": false,
"noBackground": false,
"gothCornersEnabled": false,
"gothCornerRadiusOverride": false,
"gothCornerRadiusValue": 12,
"borderEnabled": false,
"borderColor": "surfaceText",
"borderOpacity": 1,
"borderThickness": 1,
"fontScale": 1,
"autoHide": false,
"autoHideDelay": 250,
"openOnOverview": true,
"visible": true,
"popupGapsAuto": true,
"popupGapsManual": 4,
"clickThrough": false,
"widgetOutlineEnabled": false,
"widgetOutlineColor": "primary"
}
],
"desktopClockEnabled": false,
"desktopClockStyle": "analog",
"desktopClockTransparency": 0.8,
"desktopClockColorMode": "primary",
"desktopClockCustomColor": {
"r": 1,
"g": 1,
"b": 1,
"a": 1,
"hsvHue": -1,
"hsvSaturation": 0,
"hsvValue": 1,
"hslHue": -1,
"hslSaturation": 0,
"hslLightness": 1,
"valid": true
},
"desktopClockShowDate": true,
"desktopClockShowAnalogNumbers": false,
"desktopClockShowAnalogSeconds": true,
"desktopClockX": -1,
"desktopClockY": -1,
"desktopClockWidth": 280,
"desktopClockHeight": 180,
"desktopClockDisplayPreferences": [
"all"
],
"systemMonitorEnabled": false,
"systemMonitorShowHeader": true,
"systemMonitorTransparency": 0.8,
"systemMonitorColorMode": "primary",
"systemMonitorCustomColor": {
"r": 1,
"g": 1,
"b": 1,
"a": 1,
"hsvHue": -1,
"hsvSaturation": 0,
"hsvValue": 1,
"hslHue": -1,
"hslSaturation": 0,
"hslLightness": 1,
"valid": true
},
"systemMonitorShowCpu": true,
"systemMonitorShowCpuGraph": true,
"systemMonitorShowCpuTemp": true,
"systemMonitorShowGpuTemp": false,
"systemMonitorGpuPciId": "",
"systemMonitorShowMemory": true,
"systemMonitorShowMemoryGraph": true,
"systemMonitorShowNetwork": true,
"systemMonitorShowNetworkGraph": true,
"systemMonitorShowDisk": true,
"systemMonitorShowTopProcesses": false,
"systemMonitorTopProcessCount": 3,
"systemMonitorTopProcessSortBy": "cpu",
"systemMonitorGraphInterval": 60,
"systemMonitorLayoutMode": "auto",
"systemMonitorX": -1,
"systemMonitorY": -1,
"systemMonitorWidth": 320,
"systemMonitorHeight": 480,
"systemMonitorDisplayPreferences": [
"all"
],
"systemMonitorVariants": [],
"desktopWidgetPositions": {},
"desktopWidgetGridSettings": {},
"desktopWidgetInstances": [],
"desktopWidgetGroups": [],
"builtInPluginSettings": {
"dms_settings_search": {
"trigger": "?"
}
},
"clipboardEnterToPaste": false,
"launcherPluginVisibility": {},
"launcherPluginOrder": [],
"configVersion": 5
}
+1 -1
View File
@@ -10,7 +10,7 @@ style = "Regular"
import = ["~/.config/alacritty/dank-theme.toml"] import = ["~/.config/alacritty/dank-theme.toml"]
[terminal.shell] [terminal.shell]
program = "/usr/bin/fish" program = "fish"
args = ["-l", "-c", "zellij; exec fish -l"] args = ["-l", "-c", "zellij; exec fish -l"]
[window] [window]
+3 -2
View File
@@ -74,8 +74,8 @@ output "DP-1" {
// If the refresh rate is omitted, niri will pick the highest refresh rate // If the refresh rate is omitted, niri will pick the highest refresh rate
// for the resolution. // for the resolution.
// If the mode is omitted altogether or is invalid, niri will pick one automatically. // If the mode is omitted altogether or is invalid, niri will pick one automatically.
mode "3840x2160@240" // mode "3840x2160@240"
// mode "3840x2160@119.880" mode "3840x2160@120"
// You can use integer or fractional scale, for example use 1.5 for 150% scale. // You can use integer or fractional scale, for example use 1.5 for 150% scale.
scale 2 scale 2
@@ -156,6 +156,7 @@ layout {
} }
spawn-at-startup "xwayland-satellite" spawn-at-startup "xwayland-satellite"
spawn-at-startup "mako"
prefer-no-csd prefer-no-csd
+89
View File
@@ -215,6 +215,95 @@ return {
desc = "Recent", desc = "Recent",
}, },
-- git -- git
{
"<leader>gcb",
function()
local cwd = vim.fn.getcwd()
-- Helper to run git commands and capture both stdout and stderr
local function git_cmd(cmd)
local full_cmd = "cd " .. vim.fn.shellescape(cwd) .. " && " .. cmd .. " 2>&1"
local handle = io.popen(full_cmd)
local result = handle and handle:read("*a") or ""
if handle then
handle:close()
end
return result:gsub("%s+$", "")
end
-- Check if in a git repo
local git_dir = git_cmd("git rev-parse --git-dir")
if git_dir == "" or git_dir:match("^fatal") then
vim.notify("Not in a git repository", vim.log.levels.WARN)
return
end
-- Get the default branch
local default_branch = nil
if git_cmd("git show-ref --verify --quiet refs/remotes/origin/main") == "" then
default_branch = "main"
elseif git_cmd("git show-ref --verify --quiet refs/remotes/origin/master") == "" then
default_branch = "master"
end
if not default_branch then
vim.notify("No origin/main or origin/master found", vim.log.levels.WARN)
return
end
-- Get current branch
local current_branch = git_cmd("git branch --show-current")
if current_branch == "" then
current_branch = "HEAD"
end
local compare_target = "origin/" .. default_branch
-- Get files that differ from origin/main (includes committed + uncommitted changes)
local result = git_cmd("git diff --name-only " .. compare_target)
-- Also get untracked files
local untracked = git_cmd("git ls-files --others --exclude-standard")
-- Combine results
local all_files = {}
local seen = {}
for line in result:gmatch("[^\r\n]+") do
if line ~= "" and not seen[line] then
seen[line] = true
table.insert(all_files, { text = line, file = line })
end
end
for line in untracked:gmatch("[^\r\n]+") do
if line ~= "" and not seen[line] then
seen[line] = true
table.insert(all_files, { text = line .. " [untracked]", file = line })
end
end
if #all_files == 0 then
vim.notify("No modified files (vs " .. compare_target .. ")", vim.log.levels.INFO)
return
end
Snacks.picker({
title = "Modified Files (vs " .. compare_target .. ")",
items = all_files,
layout = { preset = "default" },
confirm = function(picker, item)
picker:close()
if item and item.text then
-- Strip [untracked] suffix if present
local file = item.text:gsub(" %[untracked%]$", "")
vim.cmd("edit " .. vim.fn.fnameescape(file))
end
end,
})
end,
desc = "Git Modified Files (vs origin/main)",
},
{ {
"<leader>gb", "<leader>gb",
function() function()
+1
View File
@@ -1,3 +1,4 @@
return { return {
"sQVe/sort.nvim", "sQVe/sort.nvim",
-- test
} }
+6
View File
@@ -1,3 +1,9 @@
# Screenshots
When the user provides a screenshot path (e.g., `/tmp/pi-clipboard-xxx.png`), **ALWAYS** use the `read` tool to read the image file. Do NOT assume you can see the screenshot contents without reading it first.
---
# Git commits and PRs # Git commits and PRs
Before writing any commits or PR titles, check recent git history with `git log --oneline -20` to match my style. Before writing any commits or PR titles, check recent git history with `git log --oneline -20` to match my style.
+5 -5
View File
@@ -10,7 +10,7 @@ import type { ExtensionAPI } from "@mariozechner/pi-coding-agent";
// ============ CONFIGURATION ============ // ============ CONFIGURATION ============
const REMOTE_HOST = "linux-pc"; // SSH host for remote notifications const REMOTE_HOST = "linux-pc"; // SSH host for remote notifications
const LOCAL_SOUND_MAC = "/System/Library/Sounds/Glass.aiff"; const LOCAL_SOUND_MAC = "/System/Library/Sounds/Glass.aiff";
const LOCAL_SOUND_LINUX = "/usr/share/sounds/freedesktop/stereo/complete.oga"; const LOCAL_SOUND_LINUX = "/run/current-system/sw/share/sounds/freedesktop/stereo/window-attention.oga";
// ======================================= // =======================================
function isSSH(): boolean { function isSSH(): boolean {
@@ -37,7 +37,7 @@ function isSSH(): boolean {
function notifyRemote(message: string): void { function notifyRemote(message: string): void {
const { exec } = require("child_process"); const { exec } = require("child_process");
exec( exec(
`ssh -o ConnectTimeout=2 -o BatchMode=yes ${REMOTE_HOST} "paplay /usr/share/sounds/freedesktop/stereo/window-attention.oga & notify-send -i ~/.pi/agent/extensions/assets/pi-logo.svg 'Pi' '${message}'"`, `ssh -o ConnectTimeout=2 -o BatchMode=yes ${REMOTE_HOST} "pw-play /run/current-system/sw/share/sounds/freedesktop/stereo/window-attention.oga & notify-send -i ~/.pi/agent/extensions/assets/pi-logo.svg 'Pi' '${message}'"`,
{ timeout: 5000 }, { timeout: 5000 },
); );
} }
@@ -48,10 +48,10 @@ function notifyLocal(message: string): void {
execFile("afplay", [LOCAL_SOUND_MAC]); execFile("afplay", [LOCAL_SOUND_MAC]);
} else if (process.platform === "linux") { } else if (process.platform === "linux") {
execFile( execFile(
"paplay", "pw-play",
["/usr/share/sounds/freedesktop/stereo/window-attention.oga"], [LOCAL_SOUND_LINUX],
(err: any) => { (err: any) => {
if (err) console.error("paplay error:", err); if (err) console.error("pw-play error:", err);
}, },
); );
exec( exec(
-20
View File
@@ -1,5 +1,4 @@
import type { ExtensionAPI } from "@mariozechner/pi-coding-agent"; import type { ExtensionAPI } from "@mariozechner/pi-coding-agent";
import { Type } from "@sinclair/typebox";
import fs from "node:fs"; import fs from "node:fs";
import path from "node:path"; import path from "node:path";
import os from "node:os"; import os from "node:os";
@@ -47,23 +46,4 @@ export default function (pi: ExtensionAPI) {
}, },
}); });
pi.registerTool({
name: "shot_path",
label: "Latest screenshot path",
description: "Get the latest screenshot path for this machine",
parameters: Type.Object({}),
async execute() {
const result = getLatestScreenshotPath();
if (result.error) {
return {
content: [{ type: "text", text: result.error }],
details: { error: result.error },
};
}
return {
content: [{ type: "text", text: result.path! }],
details: { path: result.path },
};
},
});
} }
+2 -2
View File
@@ -1,8 +1,8 @@
{ {
"lastChangelogVersion": "0.56.3", "lastChangelogVersion": "0.57.0",
"defaultProvider": "opencode-go", "defaultProvider": "opencode-go",
"defaultModel": "kimi-k2.5", "defaultModel": "kimi-k2.5",
"defaultThinkingLevel": "high", "defaultThinkingLevel": "minimal",
"theme": "matugen", "theme": "matugen",
"lsp": { "lsp": {
"hookMode": "edit_write" "hookMode": "edit_write"
-2
View File
@@ -1,5 +1,3 @@
#!/bin/bash
# Predefined folder path # Predefined folder path
FOLDER="$HOME/wallpapers" FOLDER="$HOME/wallpapers"
-2
View File
@@ -1,5 +1,3 @@
#!/bin/bash
# Get the list of sinks and format for Rofi (index and name) # Get the list of sinks and format for Rofi (index and name)
sinks=$(pactl list sinks short | awk '{print $2}') sinks=$(pactl list sinks short | awk '{print $2}')
+2 -2
View File
@@ -295,8 +295,8 @@ theme "matugen"
// Choose the path to the default shell that zellij will use for opening new panes // Choose the path to the default shell that zellij will use for opening new panes
// Default: $SHELL // Default: $SHELL
//
// default_shell "fish" default_shell "fish"
// Choose the path to override cwd that zellij will use for opening new panes // Choose the path to override cwd that zellij will use for opening new panes
// //