Add Losslesscut AppImage and update host configs

Enable the Losslesscut AppImage on the Garand‑Desktop host
while keeping it disabled on the laptop and default hosts.

Add opencode to the laptop home configuration
and explicitly disable ollama.

Add a new losslesscut AppImage package definition
and register it in the AppImage collection.

Extend the substituter list with noctalia.cachix.org
and add its trusted public key.
This commit is contained in:
2026-05-27 01:13:23 +02:00
parent 551e9b2cb4
commit 2c13658e89
8 changed files with 63 additions and 10 deletions
+1
View File
@@ -101,6 +101,7 @@ _: {
pixieditor.enable = true; # Pixieditor: Universal editor for all your 2D needs
plex.enable = true; # Plex: media player and server client
jellyfin.enable = true; # Jellyfin: foss media player
appImages.losslesscut.enable = true; # Losslesscut: Swiss army knife of lossless video/audio editing
/*
Utilities / Misc
+2
View File
@@ -7,6 +7,8 @@ _: {
enable = true; # Zed Editor: a modern, highperformance code editor
remote-server.enable = false; # Remote Server: enable remote editing capabilities
};
opencode.enable = true; # OpenCode: terminal coding agent
ollama.enable = false; # Ollama: Local Llms
/*
Web browsers
+1
View File
@@ -101,6 +101,7 @@ _: {
pixieditor.enable = true; # Pixieditor: Universal editor for all your 2D needs
plex.enable = true; # Plex: media player and server client
jellyfin.enable = true; # Jellyfin: foss media player
appImages.losslesscut.enable = false; # Losslesscut: Swiss army knife of lossless video/audio editing
/*
Utilities / Misc
+1
View File
@@ -101,6 +101,7 @@ _: {
pixieditor.enable = false; # Pixieditor: Universal editor for all your 2D needs
plex.enable = true; # Plex: media player and server client
jellyfin.enable = true; # Jellyfin: foss media player
appImages.losslesscut.enable = false; # Losslesscut: Swiss army knife of lossless video/audio editing
/*
Utilities / Misc
@@ -14,6 +14,7 @@
appImagePackages = {
fluxer = pkgs.callPackage ./fluxer.nix {};
helium = pkgs.callPackage ./helium.nix {};
losslesscut = pkgs.callPackage ./losslesscut.nix {};
};
in {
imports = builtins.attrValues (builtins.mapAttrs mkAppImagePackage appImagePackages);
@@ -0,0 +1,39 @@
{
lib,
appimageTools,
fetchurl,
}: let
pname = "losslesscut";
version = "3.68.0";
src = fetchurl {
url = "https://github.com/mifi/lossless-cut/releases/download/v${version}/LosslessCut-linux-x86_64.AppImage";
sha256 = "sha256-/d+j1/XAQOzmx7S2bVUPar/Bx130CumbzOf2sY2sCzo=";
};
appimageContents = appimageTools.extract {inherit pname version src;};
iconSize = "512x512";
in
appimageTools.wrapType2 {
inherit pname version src;
extraInstallCommands = ''
# mv $out/bin/${pname}-${version} $out/bin/${pname}
install -m 444 -D ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop
install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/${iconSize}/apps/${pname}.png \
$out/share/icons/hicolor/${iconSize}/apps/${pname}.png
# substituteInPlace $out/share/applications/${pname}.desktop \
# --replace-fail 'Exec=AppRun' 'Exec=${pname}'
'';
meta = with lib; {
description = "Lossless cut";
homepage = "https://github.com/mifi/lossless-cut";
license = licenses.gpl2Only;
platforms = ["x86_64-linux"];
sourceProvenance = with lib.sourceTypes; [binaryNativeCode];
maintainers = with lib.maintainers; [garand_plg];
};
}
# https://github.com/mifi/lossless-cut/releases/download/v3.68.0/LosslessCut-linux-x86_64.AppImage
+10 -8
View File
@@ -31,14 +31,16 @@
ttySolitaire = tty-solitaire;
gimp = gimp;
eyeOfGnome = eog;
kdenlive = kdePackages.kdenlive.overrideAttrs (old: {
postInstall =
(old.postInstall or "")
+ ''
wrapProgram $out/bin/kdenlive \
--set QT_SCALE_FACTOR 0.8
'';
});
kdenlive =
kdePackages.kdenlive.overrideAttrs
(old: {
postInstall =
(old.postInstall or "")
+ ''
wrapProgram $out/bin/kdenlive \
--set QT_SCALE_FACTOR 0.8
'';
});
plex = [
(
plex-desktop.override {
+8 -2
View File
@@ -12,8 +12,14 @@
"nix-command"
"flakes"
];
substituters = ["https://hyprland.cachix.org"];
trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
substituters = [
"https://hyprland.cachix.org"
"https://noctalia.cachix.org"
];
trusted-public-keys = [
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
"noctalia.cachix.org-1:pCOR47nnMEo5thcxNDtzWpOxNFQsBRglJzxWPp3dkU4="
];
};
};
time.timeZone = "Europe/Warsaw";