LCAGENTRC(5)

πŸ“¦ version 0.1.0, in nixos 26.05, nixpkgs unstable, ubuntu stonking

✨ LCAGENTRC(5) ✨

okay bestie, so this is the Librecast File Formats Manual page for lcagentrc, aka the config file that makes lcagent do its little thing πŸ’…


πŸ’– NAME πŸ’–

lcagentrc β€” it's the lcagent rcfile, fr. your whole config lives here πŸŽ€


🌸 DESCRIPTION 🌸

So basically the rcfile is made of two parts: some global options first, and then a whole list of channels with all their settings and commands after that. that's it. that's the whole structure. iconic honestly πŸ¦‹

πŸ“ Comments

A comment starts with # and then literally everything after it, all the way up to a NEWLINE, is ignored. send it to the void. πŸ’€


✨ OPTIONS ✨

πŸ‘‘ Global Options

  • debug β€” turns on debug logging. it's the same thing as setting --debug on the command line, no cap.
  • directory directory β€” sets the default directory for channels. lcagent changes into this directory before running any commands.
  • enable β€” enables channels. this is the default behaviour. can be overridden by noenable on a per-channel basis.
  • join β€” joins channels. also the default. can be overridden by nojoin per channel.
  • logfile β€” sets the path to the logfile. logs get written here instead of going to stderr.
  • noenable | disable β€” do NOT enable channels. can be overridden by enable per channel.
  • nojoin β€” do NOT join channels. can be overridden by join per channel.
  • seed seed β€” generates a symmetric key from seed and uses it to encrypt and decrypt data sent and received on all channels. πŸ”
⚠️ bestie listen: if an encryption seed is used, the permissions on the rcfile must NOT be world readable. if they are, lcagent will straight up refuse to run and print an error. protect your file, she's private πŸ’…

🧚 Channel Options

  • enable β€” enable this channel. this is the default, unless noenable is set globally.
  • directory β€” changes into this directory before executing any commands for this channel.
  • join β€” join the channel. the default, unless nojoin is set globally.
  • noenable | disable β€” the channel is not enabled. it will still be joined (unless nojoin is also set), and attempts to execute it will be logged, but no commands will actually execute. this also prevents execution with lcagent exec.
  • nojoin β€” do not join the Librecast Channel. the channel commands can still be executed by calling lcagent exec, so she's not gone, just unbothered πŸ’œ
  • command command β€” execute command. if it fails, don't execute any of the following commands. the channel keeps on listening though, she's resilient.
  • try command β€” execute command. if it fails, just keep executing any subsequent commands anyway. no drama 🌈

πŸ”₯ EXAMPLE πŸ”₯

here's the whole thing verbatim, every last character, because it's giving study material:

# This is an example rcfile for lcagent(1)
# Comments begin with a hash and run until the end of the line.
# Whitespace, including blank lines are ignored.
# Indenting channel settings is optional, but is recommended for readability.
# Leaving a blank line between channels is also advised.

# enable debug logging and set logfile
debug
logfile /var/log/lcagent.log
seed somepassword

# set any global options
# these can be overridden by individual channel options
# these are the defaults:
join
enable

channel "my very first channel"
     # we usually indent the settings for each channel
     noenable             # this channel will not be executed
     command "/this/command/not/executed"

# this channel will not be joined, but can still be executed
# with `lcagent exec`
channel 'single quotes are valid string delimiters too'
     nojoin               # this channel will not be joined
     command "cat > /tmp/somefile"
     command "bzip2 /tmp/somefile"
     reload               # reload lcagent config on success

channel unquoted-string-channel
     try "/bin/false"     # this can fail, and we still continue
     command "/bin/true"  # this command must succeed, or we stop
     command "/usr/local/bin/someplugin"
     restart              # restart lcagent config on success

# this channel will apply a git patch sent to it which was created
# with git-format-patch(1).
# If the patch applies without error, `gmake test` is run
channel "lcagent patchtest"
        directory /home/lcagent/src/lcagent
        command "git am --committer-date-is-author-date"
        command "gmake test"

🫢 SEE ALSO 🫢

lcagent(1), librecast(7)


Librecast Β· 2025-05-16 Β· LCAGENTRC(5)

okay that's the whole page bestie, you ate it, now go write your rcfile πŸ’–βœ¨πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from