Install everyday desktop apps and NetBird
This commit is contained in:
1 parent
ce2fb8c8b6
commit
dacc3599f3
10 files changed
+81
-13
No files matched your search
@@ -78,7 +78,7 @@ It runs these steps, in this order, and every one of them is idempotent:
|
|||||||
| 1. Directories | creates the 19 directories the shell and scripts expect, before anything writes into them |
|
| 1. Directories | creates the 19 directories the shell and scripts expect, before anything writes into them |
|
||||||
| 2. `BLOB_PATH` | symlinks `~/.local/share/blob` to this checkout |
|
| 2. `BLOB_PATH` | symlinks `~/.local/share/blob` to this checkout |
|
||||||
| 3. Packages | installs what is missing from `packages/`, bootstrapping `yay` first on a machine that has no AUR helper |
|
| 3. Packages | installs what is missing from `packages/`, bootstrapping `yay` first on a machine that has no AUR helper |
|
||||||
| 4. Config | copies `hypr/`, the themed app configs, `blob/shell.json`, and the uwsm environment into `~/.config`, sets the default apps for images, video, PDFs and office files, and writes `/etc/profile.d/blob.sh` so a login shell finds the `blob` command |
|
| 4. Config | copies `hypr/`, the themed app configs, `blob/shell.json`, and the uwsm environment into `~/.config`, sets the default apps for images, video, PDFs, office files, text and archives, and writes `/etc/profile.d/blob.sh` so a login shell finds the `blob` command |
|
||||||
| 5. First theme | links `~/wallpapers` to the checkout, applies `flats` headless, picks a background, and links the btop and Neovim theme files, so the first login is not a blank desktop |
|
| 5. First theme | links `~/wallpapers` to the checkout, applies `flats` headless, picks a background, and links the btop and Neovim theme files, so the first login is not a blank desktop |
|
||||||
| 6. User units | installs the session services into `~/.config/systemd/user` and enables them |
|
| 6. User units | installs the session services into `~/.config/systemd/user` and enables them |
|
||||||
| 7. systemd drop-ins | writes the shutdown timeouts, oomd thresholds, plocate prune paths, and sleep hooks under `/etc` |
|
| 7. systemd drop-ins | writes the shutdown timeouts, oomd thresholds, plocate prune paths, and sleep hooks under `/etc` |
|
||||||
|
|||||||
@@ -35,13 +35,13 @@ o.window("org.blob.screensaver", { animation = "slide" })
|
|||||||
|
|
||||||
-- No transparency on media windows.
|
-- No transparency on media windows.
|
||||||
o.window(
|
o.window(
|
||||||
"^(zoom|vlc|mpv|org.kde.kdenlive|com.obsproject.Studio|com.github.PintaProject.Pinta|imv|org.gnome.NautilusPreviewer)$",
|
"^(zoom|vlc|mpv|org.kde.kdenlive|com.obsproject.Studio|com.github.PintaProject.Pinta|imv|org.gnome.Loupe|guvcview|org.gnome.NautilusPreviewer)$",
|
||||||
{
|
{
|
||||||
tag = "-default-opacity",
|
tag = "-default-opacity",
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
o.window(
|
o.window(
|
||||||
"^(zoom|vlc|mpv|org.kde.kdenlive|com.obsproject.Studio|com.github.PintaProject.Pinta|imv|org.gnome.NautilusPreviewer)$",
|
"^(zoom|vlc|mpv|org.kde.kdenlive|com.obsproject.Studio|com.github.PintaProject.Pinta|imv|org.gnome.Loupe|guvcview|org.gnome.NautilusPreviewer)$",
|
||||||
{
|
{
|
||||||
opacity = "1 1",
|
opacity = "1 1",
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
[Service]
|
||||||
|
ExecStart=
|
||||||
|
ExecStart=/usr/bin/netbird service run --log-file /var/log/netbird/client-%i.log --daemon-addr unix:///var/run/netbird.sock $FLAGS
|
||||||
+4
-3
@@ -46,9 +46,10 @@ with `--check`.
|
|||||||
panels come up full of blanks. `fonts.conf` binds `monospace` to
|
panels come up full of blanks. `fonts.conf` binds `monospace` to
|
||||||
`JetBrainsMono Nerd Font`; `blob font set` rewrites the same file, and the
|
`JetBrainsMono Nerd Font`; `blob font set` rewrites the same file, and the
|
||||||
installer then reports it as a local change and keeps your choice.
|
installer then reports it as a local change and keeps your choice.
|
||||||
Default applications are set in `~/.config/mimeapps.list`: `imv` for
|
Default applications are set in `~/.config/mimeapps.list`: Loupe for
|
||||||
images, `mpv` for video and audio, `evince` for PDFs, and LibreOffice for
|
images, `mpv` for video and audio, `evince` for PDFs and other documents, LibreOffice for
|
||||||
documents, spreadsheets and presentations. A file type that already has a
|
documents, spreadsheets and presentations, GNOME Text Editor for text, and
|
||||||
|
File Roller for archives. A file type that already has a
|
||||||
default there is left alone. See [packages.md](packages.md#desktop-applications).
|
default there is left alone. See [packages.md](packages.md#desktop-applications).
|
||||||
`~/.bashrc` gets one line sourcing `session/bashrc`. The line is added once,
|
`~/.bashrc` gets one line sourcing `session/bashrc`. The line is added once,
|
||||||
a `.bak` is kept, and a `~/.bashrc` that already has it is left alone.
|
a `.bak` is kept, and a `~/.bashrc` that already has it is left alone.
|
||||||
|
|||||||
+30
-4
@@ -72,8 +72,8 @@ Two are worth knowing about:
|
|||||||
`install.sh` installs what is missing before it writes any config:
|
`install.sh` installs what is missing before it writes any config:
|
||||||
|
|
||||||
```
|
```
|
||||||
packages/blob.packages 123 packages from core, extra, multilib
|
packages/blob.packages 147 packages from core, extra, multilib
|
||||||
packages/blob-aur.packages 11 packages with no official equivalent
|
packages/blob-aur.packages 13 packages with no official equivalent
|
||||||
```
|
```
|
||||||
|
|
||||||
Only missing packages are touched, through `pacman -S --needed` and
|
Only missing packages are touched, through `pacman -S --needed` and
|
||||||
@@ -142,11 +142,37 @@ The everyday apps come from the official repositories with everything else:
|
|||||||
|
|
||||||
| Package | Opens |
|
| Package | Opens |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| `imv` | images |
|
| `loupe` | images (GNOME Image Viewer) |
|
||||||
|
| `imv` | images, keyboard-driven, for scripts and quick previews |
|
||||||
| `mpv` | video and audio |
|
| `mpv` | video and audio |
|
||||||
| `evince` | PDFs |
|
| `evince` | documents: PDF, PostScript, DjVu, XPS and comic books |
|
||||||
|
| `guvcview` | webcam viewer and capture |
|
||||||
| `libreoffice-fresh` | documents, spreadsheets and presentations (Writer, Calc, Impress) |
|
| `libreoffice-fresh` | documents, spreadsheets and presentations (Writer, Calc, Impress) |
|
||||||
| `kdenlive` | video editing |
|
| `kdenlive` | video editing |
|
||||||
|
| `gnome-text-editor` | plain text and Markdown |
|
||||||
|
| `file-roller` | archives (zip, 7z, rar, tar) |
|
||||||
|
| `gnome-calculator` | calculator |
|
||||||
|
| `baobab` | disk usage analyzer |
|
||||||
|
| `gnome-disk-utility` | drives and partitions |
|
||||||
|
| `gnome-system-monitor` | processes and resources |
|
||||||
|
| `pavucontrol` | audio mixer |
|
||||||
|
| `network-manager-applet` | network connections (`nm-connection-editor`) |
|
||||||
|
|
||||||
|
`hunspell-en_us` gives LibreOffice spell checking, and `ttf-liberation` gives it
|
||||||
|
metric-compatible replacements for Arial, Times New Roman and Courier New, so
|
||||||
|
Microsoft Office documents keep their layout. `7zip`, `unrar` and `zip` are the
|
||||||
|
archive backends `file-roller` needs.
|
||||||
|
|
||||||
|
In the terminal: `btop`, `htop` and `nvtop` for system and GPU monitoring,
|
||||||
|
`duf` for free disk space, and `ncdu` and `dua` for disk usage.
|
||||||
|
|
||||||
|
NetBird comes from the AUR as `netbird-bin` and `netbird-ui-bin`. The package
|
||||||
|
ships a templated `netbird@.service` whose socket lives at
|
||||||
|
`/var/run/netbird/<instance>.sock`, while the `netbird` CLI and the tray app
|
||||||
|
look for `/var/run/netbird.sock`. `install.sh` adds a drop-in that moves the
|
||||||
|
socket to the default path and enables `netbird@main.service`, so
|
||||||
|
`netbird up` and the tray app work with no extra flags. The service starts on
|
||||||
|
the next boot, or now with `sudo systemctl start netbird@main`.
|
||||||
|
|
||||||
`install.sh` makes them the default for their file types through `xdg-mime`,
|
`install.sh` makes them the default for their file types through `xdg-mime`,
|
||||||
which writes `~/.config/mimeapps.list`. A type that already has a default in
|
which writes `~/.config/mimeapps.list`. A type that already has a default in
|
||||||
|
|||||||
@@ -1,12 +1,14 @@
|
|||||||
mimeapps_file="$config_dir/mimeapps.list"
|
mimeapps_file="$config_dir/mimeapps.list"
|
||||||
|
|
||||||
default_app_associations=(
|
default_app_associations=(
|
||||||
"imv.desktop:image/png image/jpeg image/gif image/webp image/bmp image/tiff image/avif image/heif image/svg+xml"
|
"org.gnome.Loupe.desktop:image/png image/jpeg image/gif image/webp image/bmp image/tiff image/avif image/heif image/svg+xml"
|
||||||
"mpv.desktop:video/mp4 video/x-matroska video/webm video/quicktime video/x-msvideo video/mpeg video/ogg audio/mpeg audio/flac audio/ogg audio/x-wav audio/mp4"
|
"mpv.desktop:video/mp4 video/x-matroska video/webm video/quicktime video/x-msvideo video/mpeg video/ogg audio/mpeg audio/flac audio/ogg audio/x-wav audio/mp4"
|
||||||
"org.gnome.Evince.desktop:application/pdf"
|
"org.gnome.Evince.desktop:application/pdf application/postscript image/vnd.djvu application/oxps application/vnd.comicbook+zip application/x-cbz"
|
||||||
"libreoffice-writer.desktop:application/vnd.oasis.opendocument.text application/msword application/vnd.openxmlformats-officedocument.wordprocessingml.document application/rtf"
|
"libreoffice-writer.desktop:application/vnd.oasis.opendocument.text application/msword application/vnd.openxmlformats-officedocument.wordprocessingml.document application/rtf"
|
||||||
"libreoffice-calc.desktop:application/vnd.oasis.opendocument.spreadsheet application/vnd.ms-excel application/vnd.openxmlformats-officedocument.spreadsheetml.sheet text/csv"
|
"libreoffice-calc.desktop:application/vnd.oasis.opendocument.spreadsheet application/vnd.ms-excel application/vnd.openxmlformats-officedocument.spreadsheetml.sheet text/csv"
|
||||||
"libreoffice-impress.desktop:application/vnd.oasis.opendocument.presentation application/vnd.ms-powerpoint application/vnd.openxmlformats-officedocument.presentationml.presentation"
|
"libreoffice-impress.desktop:application/vnd.oasis.opendocument.presentation application/vnd.ms-powerpoint application/vnd.openxmlformats-officedocument.presentationml.presentation"
|
||||||
|
"org.gnome.TextEditor.desktop:text/plain text/markdown"
|
||||||
|
"org.gnome.FileRoller.desktop:application/zip application/x-7z-compressed application/vnd.rar application/x-tar application/x-compressed-tar application/gzip application/x-xz application/x-bzip2 application/zstd"
|
||||||
)
|
)
|
||||||
|
|
||||||
mime_default_chosen() {
|
mime_default_chosen() {
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ system_services=(
|
|||||||
cups.service
|
cups.service
|
||||||
avahi-daemon.service
|
avahi-daemon.service
|
||||||
docker.socket
|
docker.socket
|
||||||
|
netbird@main.service
|
||||||
power-profiles-daemon.service
|
power-profiles-daemon.service
|
||||||
systemd-oomd.service
|
systemd-oomd.service
|
||||||
)
|
)
|
||||||
@@ -105,6 +106,14 @@ install_systemd_dropins() {
|
|||||||
else
|
else
|
||||||
say "SKIP systemd/plocate-updatedb.service.d/10-blob.conf (plocate not installed)"
|
say "SKIP systemd/plocate-updatedb.service.d/10-blob.conf (plocate not installed)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if system_unit_exists netbird@.service; then
|
||||||
|
install_root_file "$systemd_dir/system/netbird@.service.d/10-blob.conf" \
|
||||||
|
/etc/systemd/system/netbird@.service.d/10-blob.conf \
|
||||||
|
"systemd/netbird@.service.d/10-blob.conf"
|
||||||
|
else
|
||||||
|
say "SKIP systemd/netbird@.service.d/10-blob.conf (netbird not installed)"
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
install_user_units() {
|
install_user_units() {
|
||||||
|
|||||||
@@ -26,6 +26,10 @@ yaru-icon-theme
|
|||||||
mise-bin
|
mise-bin
|
||||||
ufw-docker
|
ufw-docker
|
||||||
|
|
||||||
|
# NetBird mesh VPN: the client daemon and its tray app
|
||||||
|
netbird-bin|netbird
|
||||||
|
netbird-ui-bin|netbird-ui
|
||||||
|
|
||||||
# Only in the Omarchy repository as binaries; these are the AUR sources
|
# Only in the Omarchy repository as binaries; these are the AUR sources
|
||||||
tzupdate
|
tzupdate
|
||||||
localsend
|
localsend
|
||||||
+23
-1
@@ -127,16 +127,34 @@ qrencode
|
|||||||
zbar
|
zbar
|
||||||
satty
|
satty
|
||||||
|
|
||||||
# Media: video and audio player, image viewer, PDF viewer
|
# Media: video and audio player, image viewer, document viewer, webcam viewer
|
||||||
|
loupe
|
||||||
mpv
|
mpv
|
||||||
mpv-mpris
|
mpv-mpris
|
||||||
imv
|
imv
|
||||||
evince
|
evince
|
||||||
|
guvcview
|
||||||
|
|
||||||
# Office and video editing
|
# Office and video editing
|
||||||
libreoffice-fresh
|
libreoffice-fresh
|
||||||
|
hunspell-en_us
|
||||||
|
ttf-liberation
|
||||||
kdenlive
|
kdenlive
|
||||||
|
|
||||||
|
# Everyday desktop apps: text editor, calculator, archives, disk usage, system monitor, audio mixer
|
||||||
|
gnome-text-editor
|
||||||
|
gnome-calculator
|
||||||
|
file-roller
|
||||||
|
baobab
|
||||||
|
gnome-system-monitor
|
||||||
|
pavucontrol
|
||||||
|
network-manager-applet
|
||||||
|
|
||||||
|
# Archive formats for file-roller and the command line
|
||||||
|
7zip
|
||||||
|
unrar
|
||||||
|
zip
|
||||||
|
|
||||||
# Default application associations, set by install/steps/apps.sh
|
# Default application associations, set by install/steps/apps.sh
|
||||||
xdg-utils
|
xdg-utils
|
||||||
|
|
||||||
@@ -166,6 +184,10 @@ jq
|
|||||||
starship
|
starship
|
||||||
lazygit
|
lazygit
|
||||||
btop
|
btop
|
||||||
|
htop
|
||||||
|
nvtop
|
||||||
|
duf
|
||||||
|
ncdu
|
||||||
fastfetch
|
fastfetch
|
||||||
inxi
|
inxi
|
||||||
lua
|
lua
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ root_files=(
|
|||||||
/etc/systemd/system/user@.service.d/10-blob.conf
|
/etc/systemd/system/user@.service.d/10-blob.conf
|
||||||
/etc/systemd/oomd.conf.d/10-blob.conf
|
/etc/systemd/oomd.conf.d/10-blob.conf
|
||||||
/etc/systemd/system/plocate-updatedb.service.d/10-blob.conf
|
/etc/systemd/system/plocate-updatedb.service.d/10-blob.conf
|
||||||
|
/etc/systemd/system/netbird@.service.d/10-blob.conf
|
||||||
/etc/systemd/system-sleep/keyboard-backlight
|
/etc/systemd/system-sleep/keyboard-backlight
|
||||||
/etc/systemd/system-sleep/unmount-fuse
|
/etc/systemd/system-sleep/unmount-fuse
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in new issue
Block a user