Track Syndicate server configuration

This commit is contained in:
Emery Hemingway 2023-05-18 10:25:31 +01:00
parent 46bbee6090
commit dcd822e6ec
28 changed files with 328 additions and 2 deletions

View File

@ -23,4 +23,4 @@ NIM_FLAGS = --noNimblePath
!preserves_schemac = | $(BIN_DIR)/<schemac> |> ^o^ $(BIN_DIR)/schemac |>
SYNDICATE_CONFIG_DIR = $(TUP_CWD)/config
!assert_built = |> ^ <built "%b" …>^ echo "<built \"%b\" \"`realpath %f`\" \"`b2sum -l 32 %f | { read sum rest ; echo $sum; }`\">" > %o |> $(SYNDICATE_CONFIG_DIR)/built/%b.pr
!assert_built = |> ^ <built "%b" …>^ echo "<built %b \"`realpath %f`\" \"`b2sum -l 32 %f | { read sum rest ; echo $sum; }`\">" > %o |> $(SYNDICATE_CONFIG_DIR)/built/%b.pr

28
config/beeps.pr Normal file
View File

@ -0,0 +1,28 @@
? <mpv ?mpv> $mpv [
$config ? <socketspace ?beepSpace> [
$beepSpace ?? <beep 0> [
$mpv ! <play-file "/home/emery/lib/syndicate/lcars-0.mp3">
]
$beepSpace ?? <beep 1> [
$mpv ! <play-file "/home/emery/star-trek-audio/www.trekcore.com/audio/computer/consolewarning.mp3">
]
]
$config ? <machine-dataspace ?ds> $ds [
?? <acpi_event "button/power" _ _ _> [
$mpv ! <play-file "/home/emery/star-trek-audio/www.trekcore.com/audio/toscomputer/tos_computerthinking1_ep.mp3">
]
?? <acpi_event "ac_adapter" _ _ 256> [
$mpv ! <play-file "/home/emery/star-trek-audio/www.trekcore.com/audio/computer/computerbeep_6.mp3">
]
?? <acpi_event "ac_adapter" _ _ 0> [
$mpv ! <play-file "/home/emery/star-trek-audio/www.trekcore.com/audio/computer/alert24.mp3">
]
]
$config ? <built _ _ ?hash> [
$mpv ! <play-file "/home/emery/star-trek-audio/www.trekcore.com/audio/computer/computerbeep_26.mp3">
]
]

1
config/built/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
*.pr

18
config/daemons/acme.pr Normal file
View File

@ -0,0 +1,18 @@
<require-service <daemon acme>>
; <depends-on <daemon acme> <service-state <daemon fontsrv> ready>>
; <depends-on <daemon acme> <service-state <milestone wayland> ready>>
; <depends-on <daemon acme> <service-state <daemon plumber> ready>>
; <require-service <daemon plumber>>
<daemon acme {
argv: ["/etc/profiles/per-user/emery/bin/9" "acme" "-f" "/mnt/font/FiraSans-Regular/12a/font" "-F" "/mnt/font/FiraCode-Light/10a/font"]
protocol: none}>
<daemon fontsrv {
argv: "/etc/profiles/per-user/emery/bin/9 fontsrv"
protocol: none}>
<daemon plumber {
argv: "/etc/profiles/per-user/emery/bin/9 plumber -f"
protocol: none}>

View File

@ -0,0 +1,23 @@
? <machine-dataspace ?machine> [
<require-service <daemon acpi_actor>>
? <built acpi_actor ?path ?sum> [
<daemon acpi_actor {
argv: [$path]
protocol: application/syndicate
env: {
BUILD_SUM: $sum
}
}>
]
? <service-object <daemon acpi_actor> ?cap> [
$cap { machine: $machine }
]
$machine ?? <acpi_event ?class ?bus ?type ?data> [
$log ! <log "-" { acpi_event: <acpi_event $class $bus $type $data > }>
]
]

View File

@ -0,0 +1,8 @@
<require-service <daemon swaybg>>
<daemon swaybg {
argv: ["swaybg" "-m" "tile" "-i" "/home/emery/tiles/background.png" ]
env: {
WAYLAND_DISPLAY: "wayland-1"
}
protocol: none
}>

View File

@ -0,0 +1,22 @@
? <typespace ?typespace> [
<require-service <daemon fontconfig_actor>>
? <built fontconfig_actor ?path ?sum> [
<daemon fontconfig_actor {
argv: [$path]
protocol: application/syndicate
env: {
BUILD_HASH: $sum
}
}>
]
? <service-object <daemon fontconfig_actor> ?cap> [
$cap { dataspace: $typespace }
]
$typespace ? <fontconfig {size: 8.0, spacing: proportional} ?properties> [
$log ! <log "-" { line: <fontconfig $properties> }>
]
]

View File

@ -0,0 +1,16 @@
; <require-service <daemon jabber_actor>>
? <built jabber_actor ?path ?sum> [
<daemon jabber_actor {
argv: [ $path ]
protocol: application/syndicate
env: { BUILD_HASH: $sum }
}>
let ?client-dataspace = dataspace
? <service-object <daemon jabber_actor> ?cap> [
$cap <xmpp-client "foo@spam.works" "bar" $client-dataspace>
]
]

View File

@ -0,0 +1,17 @@
<require-service <daemon libnotify_actor>>
? <built libnotify_actor ?path ?sum> [
<daemon libnotify_actor {
argv: [$path]
protocol: application/syndicate
env: {
; SYNDICATE_DEBUG: "1"
BUILD_SUM: $sum
}
}>
]
? <notifications ?notifyspace> [
? <service-object <daemon libnotify_actor> ?cap> [
$cap { dataspace: $notifyspace }
]
]

55
config/daemons/mpv.pr Normal file
View File

@ -0,0 +1,55 @@
let ?socketPath = "/run/user/1000/mpv.sock"
let ?mpvSpace = dataspace
$mpvSpace [
; announce the dataspace when the translator is connected
? <connected $socketPath> [
$config <mpv $mpvSpace>
]
; translate <play-file > to an MPV command
?? <play-file ?file> [
! <send-json { "command": ["loadfile" $file "append-play"] }>
]
; log anything that comes back from MPV
; ?? <recv-json ?js> [ $log ! <log "-" { mpv: $js }> ]
; clear the playlist on idle so it doesn't grow indefinitely
?? <recv-json {"event": "idle"}> [
! <send-json { "command": ["playlist-clear"] }>
]
]
; need the translator and the translator needs the daemon
<require-service <daemon mpv-translator>>
<depends-on <daemon mpv-translator> <service-state <daemon mpv-server> ready>>
? <service-object <daemon mpv-translator> ?cap> [
$cap {
dataspace: $mpvSpace
socket: $socketPath
}
]
; assert and retract the daemon as the daemon is built (this is a testing artifact)
? <built json_socket_translator ?path ?sum> [
<daemon mpv-translator {
argv: [$path]
protocol: application/syndicate
env: {BUILD_SUM: $sum}
}>
]
; start mpv regardless
<daemon mpv-server {
argv: [
"/run/current-system/sw/bin/mpv"
"--really-quiet"
"--idle=yes"
"--no-audio-display"
"--input-ipc-server=/run/user/1000/mpv.sock"
]
protocol: none
}>

View File

@ -0,0 +1,19 @@
<require-service <daemon nix_actor>>
? <built nix_actor ?path ?sum> [
<daemon nix_actor {
argv: [$path]
protocol: application/syndicate
env: {
BUILD_SUM: $sum
}
}>
]
? <nixspace ?nixspace> [
? <service-object <daemon nix_actor> ?cap> [
$cap {
dataspace: $nixspace
}
]
]

4
config/daemons/psi.nix Normal file
View File

@ -0,0 +1,4 @@
; <require-service <daemon psi>>
<daemon psi {
argv: "/run/current-system/sw/bin/psi-plus"
protocol: none}>

View File

@ -0,0 +1,21 @@
? <chat-history ?history> [
; <require-service <daemon simplex_history_actor>>
? <built simplex_history_actor ?path ?sum> [
<daemon simplex_history_actor {
argv: [ $path ]
protocol: application/syndicate
env: {
BUILD_HASH: $sum
}
}>
]
? <service-object <daemon simplex_history_actor> ?cap> [
$cap {
dataspace: $history
database: "/home/emery/.simplex/simplex_v1_chat.db"
}
]
]

13
config/daemons/squeak.pr Normal file
View File

@ -0,0 +1,13 @@
; <require-service <daemon squeak>>
<daemon squeak {
argv: [ "/home/emery/.nix-profile/bin/squeak" "/home/emery/squeak/Squeak6.0alpha-21540-64bit.image" ]
dir: "/home/emery/squeak"
protocol: application/syndicate
}>
? <service-object <daemon squeak> ?cap> [
$cap {
config: $config
}
]

View File

@ -0,0 +1 @@
../../xdg_open_ng/uri_runner.pr

5
config/daemons/waybar.pr Normal file
View File

@ -0,0 +1,5 @@
<require-service <daemon waybar>>
<daemon waybar {
argv: "/run/current-system/sw/bin/waybar"
protocol: none
}>

View File

@ -0,0 +1,20 @@
<require-service <daemon yggdrasilctl>>
let ?ds = dataspace
$ds [
?? <recv-json ?js> [ $log ! <log "-" { yggdrasilctl: $js }> ]
]
? <built json_socket_translator ?path ?sum> [
<daemon yggdrasil_actor {
argv: [$path]
protocol: application/syndicate
}>
]
? <service-object <daemon yggdrasilctl> ?cap> [
$cap {
dataspace: $ds
socket: "/run/yggdrasil/yggdrasil.sock"
}
]

View File

@ -0,0 +1,2 @@
let ?ds = dataspace
<chat-history $ds>

17
config/dataspaces/exec.pr Normal file
View File

@ -0,0 +1,17 @@
let ?exec-space = dataspace
<exec-space $exec-space>
; execute programs in response to handlers
$exec-space ?? <exec ?argv> $config [
let ?id = timestamp
let ?facet = facet
let ?d = <uri_runner-exec $id $argv>
<run-service <daemon $d>>
<daemon $d {
argv: $argv,
readyOnStart: #f,
restart: =never,
}>
? <service-state <daemon $d> complete> [$facet ! stop]
? <service-state <daemon $d> failed> [$facet ! stop]
]

View File

@ -0,0 +1,2 @@
let ?machine = dataspace
<machine-dataspace $machine>

4
config/dataspaces/mpv.pr Normal file
View File

@ -0,0 +1,4 @@
; dataspace is created in ../daemons/mpv.config-example.pr
? <mpv ?mpv> $mpv [
! <play-file "/srv/music/Various Artists - Windows 95/01 The Microsoft Sound.mp3">
]

6
config/dataspaces/nix.pr Normal file
View File

@ -0,0 +1,6 @@
let ?nixspace = dataspace
<nixspace $nixspace>
$nixspace ? <nix-build "icmlf#ncdc" ?output> [
$log ! <log "-" { ncdc: $output }>
]

View File

@ -0,0 +1,2 @@
let ?ds = dataspace
<notifications $ds>

View File

@ -0,0 +1,2 @@
let ?typespace = dataspace
<typespace $typespace>

View File

@ -0,0 +1,9 @@
let ?socketspace = dataspace
<require-service <relay-listener <unix "/run/user/1000/dataspace"> $gatekeeper>>
<require-service <relay-listener <tcp "0.0.0.0" 666> $gatekeeper>>
<bind <ref { oid: "syndicate" key: #x"" }> $socketspace #f>
<socketspace $socketspace>
; $socketspace <foo "bar">

1
config/handlers-example.pr Symbolic link
View File

@ -0,0 +1 @@
../xdg_open_ng/handlers-example.pr

View File

@ -1 +0,0 @@
../syndicate_utils/mpv.config-example.pr

11
config/notifications.pr Normal file
View File

@ -0,0 +1,11 @@
? <notifications ?notifyspace> [
? <built _ ?path _> [
$notifyspace ! <notify $path {} >
]
? <nixspace ?nixspace> [
$nixspace ? <nix-build _ ?output> [
$notifyspace ! <notify $output {} >
]
]
]