I started updating process.process-compose to allow overriding individual settings without losing any of the defaults.
But I noticed that, despite the description, those settings are never used.
What needs to be fixed
Name
Type
Default
Comment
process.process-compose
attrs
{ version = "0.5"; ... }
Claims to control top-level settings. Only used for tui and unix-socket.
process.process-compose.tui
any
true
Controls the --tui CLI option
process.process-compose.unix-socket
any
"${config.devenv.runtime}/pc.sock"
Sets the --unix-socket path.
process.process-compose.settings
yaml
{} implementation in config
Claims to modify process-specific settings. Controls top-level settings in reality.
process-managers.process-compose.settings.tui
bool
lib.mkDefault true
Never used. Not a PC setting AFAIKT, only command-line.
process-managers.process-compose.settings.port
int
lib.mkDefault 9999
Never used. Not a PC settings AFAIKT, only command-line.
Other issues
tui = false; breaks process-compose. Fixed by serializing the bool to true or false, instead of "1" and "".
PC_TUI_ENABLED doesn't exist in process-compose. There's PC_DISABLE_TUI though. edit: nevermind, looks like this exists for backwards-compatibility with previous devenv versions. We should document this. See https://github.com/cachix/devenv/issues/1109.
Proposal
Name
Action
process.process-compose
Deprecate. If this was previously used for settings, migrate to process-managers.process-compose.settings.
process.process-compose.tui
Move to process-managers.process-compose.tui.
process.process-compose.unix-socket
Move to process-managers.process-compose.unixSocket. Or unix-socket 🤷.
process-managers.process-compose.settings
Fix description to say that this controls the top-level options
process-managers.process-compose.settings.port
Move to process-managers.process-compose.port.
process-managers.process-compose.settings.tui
Remove. Migrate if previously used.
process-managers.process-compose.useUnixSocket
Add. Set to true by default and controls the --use-uds CLI flag. Or enable when port = 0.
I started updating
process.process-compose
to allow overriding individual settings without losing any of the defaults. But I noticed that, despite the description, those settings are never used.What needs to be fixed
process.process-compose
attrs
{ version = "0.5"; ... }
tui
andunix-socket
.process.process-compose.tui
any
true
--tui
CLI optionprocess.process-compose.unix-socket
any
"${config.devenv.runtime}/pc.sock"
--unix-socket
path.process.process-compose.settings
yaml
{}
implementation in configprocess-managers.process-compose.settings.tui
bool
lib.mkDefault true
process-managers.process-compose.settings.port
int
lib.mkDefault 9999
Other issues
tui = false;
breaks process-compose. Fixed by serializing the bool totrue
orfalse
, instead of"1"
and""
.PC_TUI_ENABLED
doesn't exist inprocess-compose
. There'sPC_DISABLE_TUI
though. edit: nevermind, looks like this exists for backwards-compatibility with previous devenv versions. We should document this. See https://github.com/cachix/devenv/issues/1109.Proposal
process.process-compose
process-managers.process-compose.settings
.process.process-compose.tui
process-managers.process-compose.tui
.process.process-compose.unix-socket
process-managers.process-compose.unixSocket
. Orunix-socket
🤷.process-managers.process-compose.settings
process-managers.process-compose.settings.port
process-managers.process-compose.port
.process-managers.process-compose.settings.tui
process-managers.process-compose.useUnixSocket
true
by default and controls the--use-uds
CLI flag. Or enable whenport = 0
.