Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions build_library/extra_sysexts.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ EXTRA_SYSEXTS=(
"nvidia-drivers-570-open|x11-drivers/nvidia-drivers:0/570|kernel-open persistenced|amd64"
"podman|app-containers/podman,net-misc/passt"
"python|dev-lang/python,dev-python/pip"
"tools|app-editors/vim"
"zfs|sys-fs/zfs"
)

Expand Down
1 change: 1 addition & 0 deletions changelog/changes/2025-09-03-sysext-vim.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- `vim` is now provided as part of a `tools` sysext image which is enabled by default ([scripts#2502](https://github.com/flatcar/scripts/pull/2502))
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ RDEPEND="${RDEPEND}
app-crypt/gnupg
app-crypt/go-tspi
app-crypt/tpmpolicy
app-editors/vim
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To state what was written elsewhere: We might want to still include an emergency editor in the base image. Something like nano is good because it's common, user friendly, and minimal (and many distros have it as default editor).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unrelated comment: I think it would be nice to have mksquashfs and mkfs.erofs available to build sysext images on Flatcar itself, maybe they could also directly go to a tools extension instead of the base image. Not sure if tools or optional extra-tools would be better - in doubt extra-tools to keep the default small?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am just worried about the confusion that tools and extra-tools can add. What is extra ? Maybe dev-tools (and this could be part of the sysext devcontainer flatcar/Flatcar#1125)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With "extra" thought we can communicate that these are additional/optional. In the dev extension that would replace the dev container we would have even less common things because most people won't need a compiler and debugger. I think three layers somehow make sense in the long run and should give enough room for package inclusion requests so that we don't add a bunch of other extensions where it's maybe difficult to know how they are compatible with each other once dynamic libraries are involved. For the three layers "tools", "extra(-tools)" and "dev" we should build/generate them stacked so that extra and dev can depend on the contents of "tools" (and "extra") to avoid file conflicts.
This dependency can be documented and we can also add "tools"/"extra" implicitly when parsing the extension config file.

app-editors/nano
app-emulation/qemu-guest-agent
app-containers/cri-tools
app-misc/ca-certificates
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
tools
Original file line number Diff line number Diff line change
Expand Up @@ -204,4 +204,7 @@ src_install() {
# (The below keepdir will result in a tmpfiles entry in base_image_var.conf)
keepdir /var/kubernetes/kubelet-plugins/volume/exec
dosym /var/kubernetes/kubelet-plugins/volume/exec /usr/libexec/kubernetes/kubelet-plugins/volume/exec

insinto "/usr/share/flatcar"
doins "${FILESDIR}/flatcar/enabled-sysext.conf"
}
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ RDEPEND="
app-containers/docker-buildx
app-containers/docker-cli
app-containers/incus
app-editors/vim
app-emulation/amazon-ssm-agent
app-emulation/hv-daemons
app-emulation/wa-linux-agent
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
# Distributed under the terms of the GNU General Public License v2

app-admin/sudo ldap sssd
# -crypt: Disable crypt to avoid installing libsodlium.
app-editors/vim minimal -crypt
# -crypt: Disable crypt to avoid installing libsodium.
app-editors/vim -crypt
# minimal: Don't pull app-vim/gentoo-syntax
app-editors/vim-core minimal

Expand Down
Loading