Is there a way to modify the "core20"-image?

I’m working at a small company which develops an e-Discovery-pipeline. We’ve developed a GUI in Python which uses Pyside6.

The biggest problems are we must use a mixed virtual/system-package-environment (Some packages are installed with Pip in a venv, some must be installed by apt-get). Now we want to deploy this application as a package for our customers.

I made a prototype snapcraft-YAML-file which works fine but isn’t sufficient for our internal network:

Our internal network is separated from the internet and the only access to the world is through Sonatype Nexus and a Snap-store proxy on the same server.

I tried to modify the YAML-file so it uses Nexus for apt-packages but i cannot find a way to setup up a custom sources.list-file. Snapcraft always uses the normal sources.list to update the packages to their latest version.

Is there a way to provide a custom sources.list-file when starting snapcraft, our modify the core20 image with my own sources-file?

Have you tried using the package-repositories feature of snapcraft?

Yes, as said in the intro, i’ve added our internal Nexus-Server as a “package-repositories”-entry. But that doesn’t help.

Before using our Nexus server a normal sources.list-file with “packages.ubuntu.com” is used to update the used virtual machine to the latest packages. And i’ve found no way in the official documentation or this forum how to override this step and provide a custom image, custom sources.list-file or custom virtual machine which Snapcraft can use.

Ah sorry I misunderstood your initial post. One thing you could always do I think is just to overwrite the sources.list in the container via override-build or possibly override-pull, not sure which is better and then see if it hits the right server for getting the packages