FLAKE-CTL-INIT(8)
π¦ NAME π¦
FLAKE-CTL-INIT(8) β (yes bestie, the page says NAME twice, we don't question the manpage overlords, we just vibe with it π
)
π NAME (for real this time) π
flake-ctl init β create the setup you need to run flake applications β¨
πΈ SYNOPSIS πΈ
USAGE:
flake-ctl init [OPTIONS]
OPTIONS:
--force
--help
π DESCRIPTION π
Okay so here's the whole thing: flake-ctl init creates the user specific setup for running flake applications. That's its whole personality.
The system wide setup? Already handled, it ships with the flake-pilot package. But if you're a user who wants to register and run flake applications without root privileges, you need your own little setup right there below the home directory β and heads up, this is the only setup the command can create. Calling it as the root user is an error. Not a warning, not a "maybe don't", an actual error. π«Ά
Here's what it makes, step by step:
- The flakes directory of the calling user,
$HOME/.config/flakes, with the sub directoriespodmanandfirecrackerβ those are used by the respective engine π₯ - The user specific flakes configuration file
$HOME/.config/flakes.yml. This one points the flake registry and the podman storage of the user to the directories created in step one. The meta data directories of the pilots get taken from the system wide configuration file/etc/flakes.yml - The podman storage configuration file
$HOME/.config/flakes/podman/storage.conf. It points podman to a storage location of the calling user π―
Now the sweet part: the files it creates are meant to be adjusted however you like. So if a file already exists, it's kept and only reported β no touching β unless you pass --force, obviously.
Once the setup exists, flake applications can be registered and run by the respective flake-ctl command. The user mode is detected automatically from the caller, no cap. Every flake-ctl command called by a user other than root operates on the setup of that user. And to get podman commands operating on the flake storage of the user, export the storage configuration like it's shown at the end of the setup:
export CONTAINERS_STORAGE_CONF=$HOME/.config/flakes/podman/storage.conf
β¨ OPTIONS β¨
--forceβ creates the configuration files from scratch, even if they already exist. Existing files get overwritten and any adjustments you made to them are lost π like, gone gone.--helpβ also sitting there in the synopsis options, the classic little helper π
π FILES π
/etc/flakes.yml$HOME/.config/flakes.yml$HOME/.config/flakes$HOME/.config/flakes/podman/storage.conf
π EXAMPLE π
$ flake-ctl init
that's it. that's the whole magic trick. π§
π AUTHOR π
Marcus SchΓ€fer β icon behaviour, honestly.
π COPYRIGHT π
c. 2026, Marcus SchΓ€fer
okay bestie that's the whole page π this was flake-ctl-init(8) from section 8, and the footer down there just reads FLAKE-CTL-INIT(8)() β no version, no date, she's mysterious like that π go make your setup and slay β¨π¦
π¦ where this page comes from
- opensuse-leap 16.0: flake-pilot 3.1.51-160000.1.1 Β· MIT
- opensuse-leap 16.0: flake-pilot 3.1.51-160000.1.1 Β· MIT
- opensuse-leap 16.0: flake-pilot 3.1.51-160000.1.1 Β· MIT
- opensuse-leap 16.0: flake-pilot 3.1.51-160000.1.1 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms