FLAKE-CTL-INIT(8)

πŸ“¦ version 3.1.51, in opensuse-leap 16.0

πŸ¦‹ 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:

  1. The flakes directory of the calling user, $HOME/.config/flakes, with the sub directories podman and firecracker β€” those are used by the respective engine πŸ”₯
  2. 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
  3. 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.

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