terra: cosmic portals, jupiter smb mount, tea CLI, launcher/theme polish
- swap gtk portal/apps for cosmic (xdg-desktop-portal-cosmic, cosmic-files, cosmic-settings) and drop dolphin/protonplus/bambu-studio (bambu-studio moved to flatpak alongside the other comms/gaming flatpaks) - mount jupiter's samba share at /mnt/jupiter (automount, credentials from the same samba_password secret jupiter itself uses) - add tea (gitea's remote API CLI) for talking to git.mgaction.town from terra without SSHing into jupiter - new dark icon themes (Amy, Azure Glassy, Slot Beauty) vendored from gnome-look.org tarballs, packaged since pling download links expire - rishot: fix Qt5Compat.GraphicalEffects QML import (was missing qt6.qt5compat on QML_IMPORT_PATH, so quickshell failed at config-load) - launcher widgets: stop LauncherConsole/LauncherDock from reserving compositor space (ExclusionMode.Ignore, they're overlays not real docks); bump LauncherCorner app icon size 28->34 - comms script: launch telegram/discord via flatpak, not native binaries - nix-ld + boot.binfmt aarch64 emulation (for building/flashing mercury from terra)
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
{ lib, stdenvNoCC, gtk3 }:
|
||||
|
||||
# Amy-Dark-Icons (gnome-look.org/p/2011598), not packaged in nixpkgs.
|
||||
# gnome-look/pling download links are signed JWTs that expire in ~2 days, so
|
||||
# fetchurl against one would work today and fail on the next rebuild after
|
||||
# that window — the tarball is vendored into the repo instead, as verified
|
||||
# (md5 51bae6972100a36151edd660ba7bf3fa against the gnome-look API's
|
||||
# reported checksum) at dotfiles/icons/Amy-Dark-Icons.tar.xz.
|
||||
stdenvNoCC.mkDerivation {
|
||||
pname = "amy-dark-icons";
|
||||
version = "unstable-2026-07-12";
|
||||
|
||||
src = ../dotfiles/icons/Amy-Dark-Icons.tar.xz;
|
||||
|
||||
nativeBuildInputs = [ gtk3 ];
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
# Upstream ships dozens of dangling symlinks (icons aliased across sizes
|
||||
# that don't all exist) — same class of minor packaging bug as
|
||||
# azure-glassy-dark-icons. Harmless: GTK/Qt icon lookup falls through to
|
||||
# the theme's own Inherits= chain (breeze, hicolor, Adwaita) for those.
|
||||
dontCheckForBrokenSymlinks = true;
|
||||
|
||||
# gtk3's setup hook strips icon-theme.cache from $out by default
|
||||
# (postFixup); opt back out, matching nixpkgs' papirus-icon-theme.
|
||||
dontDropIconThemeCache = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p "$out/share/icons"
|
||||
cp -r . "$out/share/icons/Amy-Dark-Icons"
|
||||
gtk-update-icon-cache --force "$out/share/icons/Amy-Dark-Icons"
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Amy dark icon theme, vendored from gnome-look.org (not packaged in nixpkgs)";
|
||||
homepage = "https://www.gnome-look.org/p/2011598";
|
||||
license = lib.licenses.gpl3Only;
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
{ lib, stdenvNoCC, gtk3 }:
|
||||
|
||||
# Azure-Glassy-Dark-Icons (gnome-look.org/p/2154036), not packaged in
|
||||
# nixpkgs. gnome-look/pling download links are signed JWTs that expire in
|
||||
# ~2 days (`exp` claim on the URL was ~48h out from issuance) — fetchurl
|
||||
# against one would work today and fail on the next rebuild after that
|
||||
# window with no warning. The tarball is vendored into the repo instead, as
|
||||
# verified (md5 d218b358086ee7f68cb5e98c53e9efaf against the gnome-look API's
|
||||
# reported checksum) at dotfiles/icons/Azure-Glassy-Dark-Icons.tar.xz.
|
||||
stdenvNoCC.mkDerivation {
|
||||
pname = "azure-glassy-dark-icons";
|
||||
version = "unstable-2026-07-12";
|
||||
|
||||
src = ../dotfiles/icons/Azure-Glassy-Dark-Icons.tar.xz;
|
||||
|
||||
nativeBuildInputs = [ gtk3 ];
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
# Upstream ships a handful of dangling symlinks under mimetypes/16 (e.g.
|
||||
# libreoffice-spreadsheet.svg -> libreoffice-oasis-spreadsheet.svg, which
|
||||
# doesn't exist in that size dir) — a minor packaging bug in the theme
|
||||
# itself. Harmless: GTK's icon lookup just falls through to the theme's
|
||||
# own Inherits= chain (breeze-dark, breeze, Adwaita, hicolor) for those few
|
||||
# mimetypes. Nixpkgs' default noBrokenSymlinks fixup check would otherwise
|
||||
# fail the whole build over it.
|
||||
dontCheckForBrokenSymlinks = true;
|
||||
|
||||
# gtk3's setup hook strips icon-theme.cache from $out by default
|
||||
# (postFixup); papirus-icon-theme opts back out the same way rather than
|
||||
# let the freshly regenerated cache get thrown away.
|
||||
dontDropIconThemeCache = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p "$out/share/icons"
|
||||
cp -r . "$out/share/icons/Azure-Glassy-Dark-Icons"
|
||||
gtk-update-icon-cache --force "$out/share/icons/Azure-Glassy-Dark-Icons"
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Azure-Glassy dark icon theme, vendored from gnome-look.org (not packaged in nixpkgs)";
|
||||
homepage = "https://www.gnome-look.org/p/2154036";
|
||||
license = lib.licenses.gpl3Only;
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
||||
+9
-1
@@ -9,6 +9,7 @@
|
||||
, curl
|
||||
, kdePackages
|
||||
, libnotify
|
||||
, qt6
|
||||
}:
|
||||
|
||||
# Wayland screenshot + annotation overlay, driven entirely by quickshell (qs -p
|
||||
@@ -16,6 +17,11 @@
|
||||
# plus src/*.qml, no nixpkgs package exists. bin/rishot resolves its QML dir at
|
||||
# $self/../src by default, which breaks once wrapProgram rewrites argv0; setting
|
||||
# RISHOT_CONFIG_DIR sidesteps that self-lookup entirely (see bin/rishot upstream).
|
||||
#
|
||||
# Overlay.qml imports Qt5Compat.GraphicalEffects, which quickshell's own Qt
|
||||
# runtime doesn't ship — without qt5compat on the QML import path, `qs`
|
||||
# fails at config-load with "module Qt5Compat.GraphicalEffects is not
|
||||
# installed" and rishot exits 255 before ever drawing anything.
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "rishot";
|
||||
version = "0-unstable-2026-07-10";
|
||||
@@ -52,7 +58,9 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
curl
|
||||
kdePackages.kdialog
|
||||
libnotify
|
||||
]}
|
||||
]} \
|
||||
--prefix QML_IMPORT_PATH : "${qt6.qt5compat}/lib/qt-6/qml" \
|
||||
--prefix QML2_IMPORT_PATH : "${qt6.qt5compat}/lib/qt-6/qml"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
{ lib, stdenvNoCC }:
|
||||
|
||||
# Slot Beauty Dark Icons (gnome-look.org/p/2346341), not packaged in
|
||||
# nixpkgs. gnome-look/pling download links are signed JWTs that expire in
|
||||
# ~2 days, so fetchurl against one would work today and fail on the next
|
||||
# rebuild after that window — the tarball is vendored into the repo instead,
|
||||
# as verified (md5 8b3e3e1e03c667b7f988b78ad2bc18a6 against the gnome-look
|
||||
# API's reported checksum) at
|
||||
# dotfiles/icons/Slot-Beauty-Dark-Icons-V-2.tar.xz.
|
||||
stdenvNoCC.mkDerivation {
|
||||
pname = "slot-beauty-dark-icons";
|
||||
version = "unstable-2026-07-24";
|
||||
|
||||
src = ../dotfiles/icons/Slot-Beauty-Dark-Icons-V-2.tar.xz;
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
# Upstream ships dozens of dangling symlinks (icons aliased across sizes
|
||||
# that don't all exist) — same class of minor packaging bug as
|
||||
# azure-glassy-dark-icons. Harmless: GTK/Qt icon lookup falls through to
|
||||
# the theme's own Inherits= chain (breeze-dark, Adwaita, hicolor) for those.
|
||||
dontCheckForBrokenSymlinks = true;
|
||||
|
||||
# index.theme's Directories= lists panel/16@2, panel/22@2, panel/24@2 (with
|
||||
# Scale=2), but the actual on-disk dirs are named 16@2x/22@2x/24@2x (the
|
||||
# correct freedesktop-spec suffix) — an upstream index.theme typo. That
|
||||
# mismatch makes `gtk-update-icon-cache` refuse to emit ANY cache at all
|
||||
# (exits 1, "The generated cache was invalid"), so unlike the other vendored
|
||||
# themes here, this one ships with no icon-theme.cache and relies on GTK's
|
||||
# live directory-scan lookup instead — functionally fine, just not
|
||||
# cache-accelerated. gtk3's default postFixup hook (dropIconThemeCache)
|
||||
# would strip a cache anyway, so there's nothing to opt out of.
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p "$out/share/icons"
|
||||
cp -r . "$out/share/icons/Slot-Beauty-Dark-Icons-V-2"
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Slot Beauty dark icon theme, vendored from gnome-look.org (not packaged in nixpkgs)";
|
||||
homepage = "https://www.gnome-look.org/p/2346341";
|
||||
license = lib.licenses.gpl3Only;
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user