<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
    "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">

<refentry id="flatpak-install">

    <refentryinfo>
        <title>flatpak install</title>
        <productname>flatpak</productname>

        <authorgroup>
            <author>
                <contrib>Developer</contrib>
                <firstname>Alexander</firstname>
                <surname>Larsson</surname>
                <email>alexl@redhat.com</email>
            </author>
        </authorgroup>
    </refentryinfo>

    <refmeta>
        <refentrytitle>flatpak install</refentrytitle>
        <manvolnum>1</manvolnum>
    </refmeta>

    <refnamediv>
        <refname>flatpak-install</refname>
        <refpurpose>Install an application or runtime</refpurpose>
    </refnamediv>

    <refsynopsisdiv>
            <para>Install from a configured remote:</para>
            <cmdsynopsis>
                <command>flatpak install</command>
                <arg choice="opt" rep="repeat">OPTION</arg>
                <arg choice="plain">REMOTE-NAME</arg>
                <arg choice="plain" rep="repeat">REF</arg>
            </cmdsynopsis>
            <para>Install from a .flatpakref file:</para>
            <cmdsynopsis>
                <command>flatpak install</command>
                <arg choice="opt" rep="repeat">OPTION</arg>
                <arg choice="opt">--from</arg>
                <arg choice="plain">LOCATION</arg>
            </cmdsynopsis>
            <para>Install from a .flatpak bundle:</para>
            <cmdsynopsis>
                <command>flatpak install</command>
                <arg choice="opt" rep="repeat">OPTION</arg>
                <arg choice="opt">--bundle</arg>
                <arg choice="plain">FILENAME</arg>
            </cmdsynopsis>
            <para>Install from an OCI registry:</para>
            <cmdsynopsis>
                <command>flatpak install</command>
                <arg choice="opt" rep="repeat">OPTION</arg>
                <arg choice="plain">--oci</arg>
                <arg choice="plain">LOCATION</arg>
                <arg choice="opt">TAG</arg>
            </cmdsynopsis>
    </refsynopsisdiv>

    <refsect1>
        <title>Description</title>

        <para>
          Installs an application or runtime. The primary way to
          install is to specify a <arg>REMOTE</arg>
          name as the source and one ore more <arg>REF</arg>s to specify the
          application or runtime to install.
        </para>
        <para>
            Each <arg choice="plain">REF</arg> argument is a full or partial indentifier in the
            flatpak ref format, which looks like "(app|runtime)/ID/ARCH/BRANCH". All elements
            except ID are optional and can be left out, including the slashes,
            so most of the time you need only specify ID. Any part left out will be matched
            against what is in the remote, and if there are multiple matches an error message
            will list the alternatives.
        </para>
        <para>
            By default this looks for both apps and runtime with the given <arg choice="plain">REF</arg> in
            the specified <arg choice="plain">REMOTE</arg>, but you can limit this by using the --app or
            --runtime option, or by supplying the initial element in the REF.
        </para>
        <para>
            The alternative form of the command (<arg>--from</arg>,
            <arg>--bundle</arg> or <arg>--oci</arg>) allows you to
            install directly from a source such as a .flatpak
            single-file bundle, a .flatpakref app description or an
            OCI registry. The options are optional if the first
            argument have the right extension.
        </para>
        <para>
            Note that flatpak allows one to have multiple branches of an application and runtimes
            installed and used at the same time. However, only version of an application one can be current,
            meaning its exported files (for instance desktop files and icons) are
            visible to the host. The last installed version is made current by
            default, but you can manually change with make-current.
        </para>
        <para>
            Unless overridden with the --user or the --installation option, this command installs
            the application or runtime in the default system-wide installation.
        </para>

    </refsect1>

    <refsect1>
        <title>Options</title>

        <para>The following options are understood:</para>

        <variablelist>
            <varlistentry>
                <term><option>-h</option></term>
                <term><option>--help</option></term>

                <listitem><para>
                    Show help options and exit.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--bundle</option></term>

                <listitem><para>
                  Assume LOCATION is a .flatpak single-bundle file.
                  This is optional if the arguments ends with .flatpak.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--from</option></term>

                <listitem><para>
                  Assume LOCATION is a .flatpakref file containing the details of the app to be installed.
                  This is optional if the arguments ends with .flatpakref.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--oci</option></term>

                <listitem><para>
                    Install from a oci registry with a given uri and optionally a tag (defaults to latest).
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--user</option></term>

                <listitem><para>
                    Install the application or runtime in a per-user installation.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--system</option></term>

                <listitem><para>
                    Install the application or runtime in the default system-wide installation.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--installation=NAME</option></term>

                <listitem><para>
                    Install the application or runtime in a system-wide installation
                    specified by <arg choice="plain">NAME</arg> among those defined in
                    <filename>/etc/flatpak/installations.d</filename>. Using
                    <arg choice="plain">--installation=default</arg> is equivalent to using
                    <arg choice="plain">--system</arg>.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--arch=ARCH</option></term>

                <listitem><para>
                    The default architecture to install for, if not given explicitly in the <arg choice="plain">REF</arg>.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--subpath=PATH</option></term>

                <listitem><para>
                  Install only a subpath of the ref. This is mainly used to install a subset of locales.
                  This can be added multiple times to install multiple subpaths.,
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--no-deploy</option></term>

                <listitem><para>
                    Download the latest version, but don't deploy it.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--no-pull</option></term>

                <listitem><para>
                    Don't download the latest version, deploy whatever is locally available.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--no-related</option></term>

                <listitem><para>
                    Don't download related extensions, such as the locale data.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--no-deps</option></term>

                <listitem><para>
                    Don't verify runtime dependencies when installing.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--app</option></term>

                <listitem><para>
                    Assume that all <arg choice="plain">REF</arg>s are apps if not explicitly specified.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--runtime</option></term>
                <listitem><para>
                    Assume that all <arg choice="plain">REF</arg>s are runtimes if not explicitly specified.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>-v</option></term>
                <term><option>--verbose</option></term>

                <listitem><para>
                    Print debug information during command processing.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--ostree-verbose</option></term>

                <listitem><para>
                    Print OSTree debug information during command processing.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--version</option></term>

                <listitem><para>
                    Print version information and exit.
                </para></listitem>
            </varlistentry>
        </variablelist>
    </refsect1>

    <refsect1>
        <title>Examples</title>

        <para>
            <command>$ flatpak install gnome org.gnome.gedit2</command>
        </para>
        <para>
            <command>$ flatpak --installation=default install gnome org.gnome.gedit2</command>
        </para>
        <para>
            <command>$ flatpak --user install gnome org.gnome.gedit//3.22</command>
        </para>
        <para>
            <command>$ flatpak --user install https://sdk.gnome.org/gedit.flatpakref</command>
        </para>

    </refsect1>

    <refsect1>
        <title>See also</title>

        <para>
            <citerefentry><refentrytitle>flatpak</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
            <citerefentry><refentrytitle>flatpak-update</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
            <citerefentry><refentrytitle>flatpak-list</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
            <citerefentry><refentrytitle>flatpak-build-bundle</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
            <citerefentry><refentrytitle>flatpak-flatpakref</refentrytitle><manvolnum>1</manvolnum></citerefentry>
        </para>

    </refsect1>

</refentry>
