mirror of
https://github.com/foo-dogsquared/wiki.git
synced 2025-01-31 04:58:21 +00:00
Update Flatpak-related notes
This commit is contained in:
parent
e33781ec0c
commit
6200120c94
@ -3,7 +3,7 @@
|
|||||||
:END:
|
:END:
|
||||||
#+title: Command line: Flatpak
|
#+title: Command line: Flatpak
|
||||||
#+date: "2021-06-04 07:39:11 +08:00"
|
#+date: "2021-06-04 07:39:11 +08:00"
|
||||||
#+date_modified: "2021-08-14 16:04:15 +08:00"
|
#+date_modified: "2021-11-08 20:12:02 +08:00"
|
||||||
#+language: en
|
#+language: en
|
||||||
|
|
||||||
|
|
||||||
@ -29,8 +29,11 @@ Most of the query-related subcommands (e.g., =search=, =list=) has the following
|
|||||||
* Subcommands
|
* Subcommands
|
||||||
|
|
||||||
- =info PACKAGE [BRANCH]= prints related information of the package.
|
- =info PACKAGE [BRANCH]= prints related information of the package.
|
||||||
+ =-M, --show-permissions= prints the permissions of the package in a INI-like format.
|
- =-M, --show-permissions= prints the permissions of the package in a INI-like format.
|
||||||
+ =-m, --show-metadata= prints the metadata in a INI-like format.
|
- =-m, --show-metadata= prints the metadata in a INI-like format.
|
||||||
|
- =remote-ls [REMOTE]= lists all of the packages of the given remote.
|
||||||
|
- =--app= only includes standalone applications.
|
||||||
|
- =--runtime= only lists runtimes.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
:END:
|
:END:
|
||||||
#+title: Command line: pacman
|
#+title: Command line: pacman
|
||||||
#+date: "2021-06-08 15:00:04 +08:00"
|
#+date: "2021-06-08 15:00:04 +08:00"
|
||||||
#+date_modified: "2021-11-06 12:05:11 +08:00"
|
#+date_modified: "2021-11-06 12:12:06 +08:00"
|
||||||
#+language: en
|
#+language: en
|
||||||
#+property: header_args :eval no
|
#+property: header_args :eval no
|
||||||
|
|
||||||
@ -109,4 +109,4 @@ pacman -Q --native --quiet | fzf --multi --prompt "Remove installed package(s) >
|
|||||||
for example, you cannot know what files are owned by the package unless it is installed (also you have =pkgfile= for that)
|
for example, you cannot know what files are owned by the package unless it is installed (also you have =pkgfile= for that)
|
||||||
|
|
||||||
- pacman also cannot view the PKGBUILD of packages that are not installed;
|
- pacman also cannot view the PKGBUILD of packages that are not installed;
|
||||||
you can use
|
you can use the =asp= tool for that (i.e., ~asp show ${PACKAGE}~)
|
||||||
|
18
notebook/cloud.open-build-service.org
Normal file
18
notebook/cloud.open-build-service.org
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
:PROPERTIES:
|
||||||
|
:ID: 53061a97-e907-4a31-9109-a2f6c57c6e22
|
||||||
|
:END:
|
||||||
|
#+title: Open Build Service
|
||||||
|
#+date: 2021-11-12 09:45:15 +08:00
|
||||||
|
#+date_modified: 2021-11-17 13:22:28 +08:00
|
||||||
|
#+language: en
|
||||||
|
|
||||||
|
|
||||||
|
- a generic package builder that supports buiding packages for other distributions (e.g., [[id:f3f1201a-9fb9-4481-981f-5f50f8982a5e][Arch Linux]], Debian, roam:Fedora, FreeBSD) and architectures
|
||||||
|
- for [[id:f3f1201a-9fb9-4481-981f-5f50f8982a5e][Arch Linux]], you can configure =pacman= to include the result;
|
||||||
|
for example, adding the OpenSUSE repository that outputs specifically for Arch Linux packages
|
||||||
|
|
||||||
|
#+begin_src conf
|
||||||
|
[openSUSE_Tools_Arch]
|
||||||
|
SigLevel = Optional TrustAll
|
||||||
|
Server = http://download.opensuse.org/repositories/openSUSE:/Tools/Arch/$arch/
|
||||||
|
#+end_src
|
@ -3,7 +3,7 @@
|
|||||||
:END:
|
:END:
|
||||||
#+title: Neovim Lua integration
|
#+title: Neovim Lua integration
|
||||||
#+date: "2021-07-15 07:45:50 +08:00"
|
#+date: "2021-07-15 07:45:50 +08:00"
|
||||||
#+date_modified: "2021-07-20 23:31:52 +08:00"
|
#+date_modified: "2021-11-16 19:15:13 +08:00"
|
||||||
#+language: en
|
#+language: en
|
||||||
|
|
||||||
|
|
||||||
@ -25,6 +25,7 @@
|
|||||||
+ =vim.opt= will return an Option object, it has a common API;
|
+ =vim.opt= will return an Option object, it has a common API;
|
||||||
to learn more about it, see =vim.opt= and its subsections
|
to learn more about it, see =vim.opt= and its subsections
|
||||||
+ to run Vimscript, you can use =vim.cmd= — e.g., ~vim.cmd "colorscheme nord"~
|
+ to run Vimscript, you can use =vim.cmd= — e.g., ~vim.cmd "colorscheme nord"~
|
||||||
|
+ interacting with Neovim API through =vim.api=
|
||||||
- there are Neovim configurations written in Lua
|
- there are Neovim configurations written in Lua
|
||||||
+ [[https://github.com/mjlbach/defaults.nvim][defaults.nvim]]
|
+ [[https://github.com/mjlbach/defaults.nvim][defaults.nvim]]
|
||||||
- comprehensive examples include Neovim plugins that are already written in Lua
|
- comprehensive examples include Neovim plugins that are already written in Lua
|
||||||
@ -32,3 +33,4 @@
|
|||||||
+ [[https://github.com/wbthomason/packer.nvim][packer.nvim]] is a more comprehensive package manager
|
+ [[https://github.com/wbthomason/packer.nvim][packer.nvim]] is a more comprehensive package manager
|
||||||
+ [[https://github.com/L3MON4D3/LuaSnip][LuaSnip]] is a snippet engine
|
+ [[https://github.com/L3MON4D3/LuaSnip][LuaSnip]] is a snippet engine
|
||||||
+ [[https://github.com/nvim-telescope/telescope.nvim][telescope.nvim]] is a fuzzy finder integrated inside Neovim
|
+ [[https://github.com/nvim-telescope/telescope.nvim][telescope.nvim]] is a fuzzy finder integrated inside Neovim
|
||||||
|
- for more information to create Lua modules, see =lua-require-example= help section
|
||||||
|
@ -3,16 +3,38 @@
|
|||||||
:END:
|
:END:
|
||||||
#+title: Flatpak packages
|
#+title: Flatpak packages
|
||||||
#+date: "2021-06-27 23:46:41 +08:00"
|
#+date: "2021-06-27 23:46:41 +08:00"
|
||||||
#+date_modified: "2021-11-04 16:21:45 +08:00"
|
#+date_modified: "2021-11-17 13:31:30 +08:00"
|
||||||
#+language: en
|
#+language: en
|
||||||
|
|
||||||
|
|
||||||
- a Flatpak package usually is an application that depends on runtimes which are collections of library
|
A Flatpak package usually is an application that depends on runtimes which are collections of library.
|
||||||
- while runtimes can be created, there are only a handful of them in the official Flathub remote
|
For more information, Flatpak has a [[https://docs.flatpak.org/][documentation page]] complete with references and tutorials to get started.
|
||||||
- some of the runtimes include Freedesktop, GNOME, and KDE
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
* Terminologies
|
||||||
|
|
||||||
|
To get us on the same page very quickly, here's the terminologies you'll encounter when dealing with Flatpak.
|
||||||
|
|
||||||
|
- *Remotes* are the repositories of packages in a similar vein to [[id:53061a97-e907-4a31-9109-a2f6c57c6e22][Open Build Service]] projects.
|
||||||
|
|
||||||
|
- The *manifest* is the term for package definition which will be passed into the builder service similar to [[id:963c043e-4972-4b29-8360-223ec3465203][Nix packages]].
|
||||||
|
|
||||||
|
- *Runtimes* are a bundle of libraries and applications to be shared from several packages.
|
||||||
|
This is how Flatpak reduces the total build size for all packages.
|
||||||
|
Among others, it has runtime for Freedesktop, GNOME, and KDE platforms.
|
||||||
|
|
||||||
|
- *Base applications* are smaller bundles of libraries not large enough to be a runtime.
|
||||||
|
It enables control by adding this mini-bundle into a package.
|
||||||
|
This is typically specialized in scope (e.g., Electron applications).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
* Extra information
|
||||||
|
|
||||||
- you can run the runtimes to know the installed packages (e.g., ~flatpak run org.freedesktop.Sdk//19.08~)
|
- you can run the runtimes to know the installed packages (e.g., ~flatpak run org.freedesktop.Sdk//19.08~)
|
||||||
- Flatpak can get packages from a repository referred to as *remotes* similar to Arch packages or FreeBSD ports
|
|
||||||
- the package definition are referred to as a *manifest* similar to [[id:963c043e-4972-4b29-8360-223ec3465203][Nix packages]]
|
|
||||||
- Flatpak can create bundles from a manifest, enabling easier distribution without a Flatpak remote
|
- Flatpak can create bundles from a manifest, enabling easier distribution without a Flatpak remote
|
||||||
- similar to [[id:963c043e-4972-4b29-8360-223ec3465203][Nix packages]] and [[id:be917383-84c4-4bf5-9ca0-b04bfb778f4f][Guix package manager]], sandboxing is an important part of the build process;
|
- similar to [[id:963c043e-4972-4b29-8360-223ec3465203][Nix packages]] and [[id:be917383-84c4-4bf5-9ca0-b04bfb778f4f][Guix package manager]], sandboxing is an important part of the build process;
|
||||||
thus, there are limitations such as no network availability, filesystem access, and socket access;
|
thus, there are limitations such as no network availability, filesystem access, and socket access;
|
||||||
|
Loading…
Reference in New Issue
Block a user