Skip to content

flathub/com.vscodium.codium

Repository files navigation

Flatpak VSCodium

Issues

Please open issues under: https://github.com/flathub/com.vscodium.codium/issues

FAQ

Wayland vs X11

If you have problems to start this flatpak under X11 please run one of these two commands and try again

# Only disable wayland to force fallback on xwayland
flatpak override --user --nosocket=wayland com.vscodium.codium
# or
# Disable wayland and enable X11
flatpak override --user --socket=x11 --nosocket=wayland com.vscodium.codium

Is also recommended to run flatpak permission-reset com.vscodium.codium

About the access to the host filesystem

Note that VSCodium is granted full access to your host directories (but at certain grade is still sandboxed).

You can use flatpak override to locally adjust this if you prefer a more hardened sandbox for VSCodium file system access:

flatpak override --user com.vscodium.codium --nofilesystem=host

Now manually grant accesss to the folder(s) you want to work in

flatpak override --user com.vscodium.codium --filesystem=~/src

Remember: this version is running inside a container and is therefore not able to access SDKs on your host system!

To execute commands on the host system, run inside the sandbox:

$ flatpak-spawn --host <COMMAND>

or

$ host-spawn <COMMAND>

  • Most users seem to report a better experience with host-spawn

Note that this runs the COMMAND without any further host-side confirmation. If you want to prevent such full host access from inside the sandbox, you can use flatpak override as follows:

flatpak override --user com.vscodium.codium --no-talk-name=org.freedesktop.Flatpak

Where is my X extension? AKA modify product.json

Since are serveral ways to achieve this the better is to use vsix-manager

Host Shell

To make the Integrated Terminal automatically use the host system's shell, you can add one of the following configurations for flatpak-spawn or host-spawn to the settings of vscodium:

flatpak-spawn

  {
    "terminal.integrated.defaultProfile.linux": "bash",
    "terminal.integrated.profiles.linux": {
      "bash": {
        "path": "/usr/bin/flatpak-spawn",
        "args": ["--host", "--env=TERM=xterm-256color", "bash"],
        "icon": "terminal-bash",
        "overrideName": true
      }
    },
  }

host-spawn

  {
    "terminal.integrated.defaultProfile.linux": "bash",
    "terminal.integrated.profiles.linux": {
      "bash": {
        "path": "/app/bin/host-spawn",
        "args": ["bash"],
        "icon": "terminal-bash",
        "overrideName": true
      }
    },
  }
  • You can change bash to any terminal you are using: zsh, fish, sh.
  • overrideName allows for the 'name' (or whatever you set it to) of the shell you're using to appear (e.g. normally zsh, fish, sh).

SDKs

This flatpak provides a standard development environment (gcc, python, etc). To see what's available:

  $ flatpak run --command=sh com.vscodium.codium
  $ ls /usr/bin (shared runtime)
  $ ls /app/bin (bundled with this flatpak)

To get support for additional languages, you have to install SDK extensions, e.g.

  $ flatpak install flathub org.freedesktop.Sdk.Extension.dotnet
  $ flatpak install flathub org.freedesktop.Sdk.Extension.golang
  $ FLATPAK_ENABLE_SDK_EXT=dotnet,golang flatpak run com.vscodium.codium

You can use

  $ flatpak search <TEXT>

to find others.

Run flatpak codium from host terminal

If you want to run codium /path/to/file from the host terminal just add this to your shell's rc file

$ alias codium="flatpak run com.vscodium.codium "

then reload sources, now you could try:

$ codium /path/to/
# or
$ FLATPAK_ENABLE_SDK_EXT=dotnet,golang codium /path/to/

Git LFS support

To use Git LFS with VSCodium's integrated Git support, you will need the com.visualstudio.code.tool.git-lfs addon.

  $ flatpak install flathub com.visualstudio.code.tool.git-lfs

You might need to reinstall the Git LFS hooks in each repo with git lfs install.

Deprecation of arm (32 bits) builds

  • armhf/armv7 builds have their particular branch named armv7 and will be deprecated on 2021 due to the org.freedesktop.Sdk versions >= 20.08 disable armv7 builds. You can follow the discussion here.
  • This particular branch is based on org.freedesktop.Sdk == 19.08 that be supported until 2021, you can read more about it here.

Related Documentation