mesh/merge-gate pass: builds xdg → g14, shanks; no bus step; every machine composes with the change as it did without (4 of 4 compose)
mesh/repo-check pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (go), merge-check-typescript.sh (typescript)
mesh/delivery superseded: a newer delivery to the same trunk took over its walk
user-dirs.dirs is shell assignments meant to be sourced by a shell, and a setting is pasted into it as it is, so a folder of $HOME/x"; <command>; X=" set through the verb would add a command of the caller's. With the file trusted again, the three folders are set at the controller's terminal alone until settings are typed and quoted at render.
73 lines
4.3 KiB
JSON
73 lines
4.3 KiB
JSON
{
|
|
"module": "xdg",
|
|
"version": "1",
|
|
"capabilities": [
|
|
"package-manager"
|
|
],
|
|
"tools": [
|
|
"xdg_user_dirs",
|
|
"xdg_default",
|
|
"xdg_open_handlers",
|
|
"xdg_autostart",
|
|
"xdg_check"
|
|
],
|
|
"resources": [
|
|
{
|
|
"id": "package-xdg-user-dirs",
|
|
"type": "package",
|
|
"package": "xdg-user-dirs"
|
|
},
|
|
{
|
|
"id": "package-xdg-utils",
|
|
"type": "package",
|
|
"package": "xdg-utils"
|
|
},
|
|
{
|
|
"id": "user-dirs",
|
|
"type": "file",
|
|
"path": "${machine:account-home}/.config/user-dirs.dirs",
|
|
"owner": "${machine:account}",
|
|
"mode": "0600",
|
|
"content": "# The account's folders (module xdg, novox/hq ADR 0182), written by the mesh and replaced at every\n# push. Adopted from the workstations' own files of 2026-10-05. A folder that differs between the\n# machines is a setting of this module; every other one is the same everywhere. PROJECTS names the\n# folder the operator's repositories are in (it pointed at the home, or was absent).\n#\n# xdg-user-dirs-update never rewrites this file: user-dirs.conf beside it says enabled=False. Each\n# line is xdg-user-dirs' only format, XDG_xxx_DIR=\"$HOME/yyy\" or XDG_xxx_DIR=\"/yyy\". \"$HOME/\" is\n# the home itself: the folder is not wanted. xdg_user_dirs says what each one resolves to.\nXDG_DESKTOP_DIR=\"${setting:desktop-dir}\"\nXDG_DOWNLOAD_DIR=\"$HOME/Downloads\"\nXDG_TEMPLATES_DIR=\"$HOME/Templates\"\nXDG_PUBLICSHARE_DIR=\"${setting:publicshare-dir}\"\nXDG_DOCUMENTS_DIR=\"$HOME/Documents\"\nXDG_MUSIC_DIR=\"$HOME/Music\"\nXDG_PICTURES_DIR=\"$HOME/Pictures\"\nXDG_VIDEOS_DIR=\"${setting:videos-dir}\"\nXDG_PROJECTS_DIR=\"$HOME/projects\"\n"
|
|
},
|
|
{
|
|
"id": "user-dirs-locale",
|
|
"type": "file",
|
|
"path": "${machine:account-home}/.config/user-dirs.locale",
|
|
"owner": "${machine:account}",
|
|
"mode": "0644",
|
|
"content": "en_US\n"
|
|
},
|
|
{
|
|
"id": "user-dirs-update",
|
|
"type": "file",
|
|
"path": "${machine:account-home}/.config/user-dirs.conf",
|
|
"owner": "${machine:account}",
|
|
"mode": "0644",
|
|
"content": "# xdg-user-dirs-update for this account (module xdg, novox/hq ADR 0182), written by the mesh and\n# replaced at every push.\n#\n# The update runs at every login (its XDG autostart entry, which the session's dex starts). Enabled,\n# it reassigns a folder it cannot find to the home and adds a line for every folder its defaults\n# know, rewriting user-dirs.dirs, which is the mesh's. Disabled, it does nothing, even with --force.\n# The folders are this module's to say.\nenabled=False\nfilename_encoding=UTF-8\n"
|
|
},
|
|
{
|
|
"id": "default-applications",
|
|
"type": "file",
|
|
"path": "/etc/xdg/mimeapps.list",
|
|
"mode": "0644",
|
|
"content": "# The machine's default applications (module xdg, novox/hq ADR 0182), written by the mesh and\n# replaced at every push.\n#\n# This is the lowest list an application consults. The account's own ~/.config/mimeapps.list comes\n# first: every program that offers \"always open with\" writes there, and so does xdg_default. That\n# file is the person's and is never written by the mesh, so a choice made there always wins; this\n# list answers only what the person has not chosen. Adopted from the workstations' own lists of\n# 2026-10-05, without the entries naming an application neither workstation has installed (see the\n# module's README).\n[Default Applications]\napplication/pdf=firefox.desktop;\napplication/x-extension-htm=firefox.desktop;\napplication/x-extension-shtml=firefox.desktop;\napplication/x-extension-xht=firefox.desktop;\napplication/x-extension-xhtml=firefox.desktop;\napplication/xhtml+xml=firefox.desktop;\ntext/html=firefox.desktop;\nx-scheme-handler/chrome=firefox.desktop;\nx-scheme-handler/ftp=firefox.desktop;\nx-scheme-handler/http=firefox.desktop;\nx-scheme-handler/https=firefox.desktop;\ntext/markdown=org.kde.ghostwriter.desktop;\ninode/directory=thunar.desktop;\nx-scheme-handler/abc=plexamp.desktop;\nx-scheme-handler/slack=slack.desktop;\nx-scheme-handler/tg=org.telegram.desktop.desktop;\n\n[Added Associations]\nvideo/mp4=mpv.desktop;mplayer.desktop;vlc.desktop;\n"
|
|
}
|
|
],
|
|
"build": {
|
|
"artifacts": [
|
|
{
|
|
"name": "tools",
|
|
"kind": "bundle",
|
|
"language": "go",
|
|
"system": "arch",
|
|
"from": "cmd/xdg-tools",
|
|
"binary": "xdg-tools",
|
|
"loads": [
|
|
"xdg-tools"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|