LCAGENTRC(5)
β¨ 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--debugon the command line, no cap.directorydirectory β 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 bynoenableon a per-channel basis.joinβ joins channels. also the default. can be overridden bynojoinper 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 byenableper channel.nojoinβ do NOT join channels. can be overridden byjoinper channel.seedseed β 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, unlessnoenableis set globally.directoryβ changes into this directory before executing any commands for this channel.joinβ join the channel. the default, unlessnojoinis set globally.noenable|disableβ the channel is not enabled. it will still be joined (unlessnojoinis also set), and attempts to execute it will be logged, but no commands will actually execute. this also prevents execution withlcagent exec.nojoinβ do not join the Librecast Channel. the channel commands can still be executed by callinglcagent exec, so she's not gone, just unbothered πcommandcommand β execute command. if it fails, don't execute any of the following commands. the channel keeps on listening though, she's resilient.trycommand β 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 π«Ά
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
- nixos 26.05: lcagent 0.1.0
- nixpkgs unstable: lcagent 0.1.0
- ubuntu stonking: lcagent 0.1.0-2 Β· GPL-2.0-only OR GPL-3.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms