push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
{
callPackage,
btrfs-progs,
coreutils,
cron,
debianutils,
grubPackage,
mount,
psmisc,
rsync,
timeshift-unwrapped,
umount,
}:
let
timeshift-wrapper = callPackage ./wrapper.nix { };
in
(timeshift-wrapper timeshift-unwrapped [
btrfs-progs
coreutils
cron
debianutils
grubPackage
mount
psmisc
rsync
umount
]).overrideAttrs
(oldAttrs: {
meta = oldAttrs.meta // {
description = oldAttrs.meta.description;
longDescription = oldAttrs.meta.longDescription + ''
This package comes with runtime dependencies of command utilities provided by rsync, coreutils, mount, umount, psmisc, cron and btrfs.
If you want to use the commands provided by the system, use timeshift-minimal instead.
'';
};
})

View File

@@ -0,0 +1,16 @@
{
callPackage,
timeshift-unwrapped,
}:
let
timeshift-wrapper = callPackage ./wrapper.nix { };
in
(timeshift-wrapper timeshift-unwrapped [ ]).overrideAttrs (oldAttrs: {
meta = oldAttrs.meta // {
description = oldAttrs.meta.description + " (without runtime dependencies)";
longDescription = oldAttrs.meta.longDescription + ''
This package is a wrapped version of timeshift-unwrapped
without runtime dependencies of command utilities.
'';
};
})

View File

@@ -0,0 +1,79 @@
{
lib,
stdenv,
fetchFromGitHub,
gettext,
help2man,
meson,
ninja,
pkg-config,
vala,
gtk3,
json-glib,
libgee,
util-linuxMinimal,
vte,
xapp,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "timeshift";
version = "25.07.7";
src = fetchFromGitHub {
owner = "linuxmint";
repo = "timeshift";
tag = finalAttrs.version;
hash = "sha256-X3TwUkOeGzcgFM/4Fyfs8eQuGK2wHe3t13WSpIizX8s=";
};
postPatch = ''
for FILE in src/Core/Main.vala src/Utility/Device.vala; do
substituteInPlace "$FILE" \
--replace-fail "/sbin/blkid" "${lib.getExe' util-linuxMinimal "blkid"}"
done
substituteInPlace ./src/Utility/IconManager.vala \
--replace-fail "/usr/share" "$out/share"
# Substitute app_command to look for the `timeshift-gtk` in $out.
substituteInPlace ./src/timeshift-launcher \
--replace-fail "app_command='timeshift-gtk'" "app_command=$out/bin/timeshift-gtk"
'';
nativeBuildInputs = [
gettext
help2man
meson
ninja
pkg-config
vala
];
buildInputs = [
gtk3
json-glib
libgee
vte
xapp
];
env = lib.optionalAttrs stdenv.cc.isGNU {
NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration";
};
meta = {
description = "System restore tool for Linux";
longDescription = ''
TimeShift creates filesystem snapshots using rsync+hardlinks or BTRFS snapshots.
Snapshots can be restored using TimeShift installed on the system or from Live CD or USB.
'';
homepage = "https://github.com/linuxmint/timeshift";
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [
ShamrockLee
bobby285271
];
};
})

View File

@@ -0,0 +1,56 @@
{
stdenvNoCC,
lib,
wrapGAppsHook3,
gdk-pixbuf,
librsvg,
xorg,
shared-mime-info,
}:
timeshift-unwrapped: runtimeDeps:
stdenvNoCC.mkDerivation {
inherit (timeshift-unwrapped) pname version;
dontUnpack = true;
nativeBuildInputs = [
wrapGAppsHook3
xorg.lndir
];
installPhase = ''
runHook preInstall
mkdir -p "$out"
lndir "${timeshift-unwrapped}" "$out"
runHook postInstall
'';
dontWrapGApps = true;
preFixup = ''
makeWrapperArgs=(
--prefix PATH : "${lib.makeBinPath runtimeDeps}"
)
gappsWrapperArgs+=(
# Thumbnailers
--prefix XDG_DATA_DIRS : "${
lib.makeSearchPath "share" [
gdk-pixbuf
librsvg
shared-mime-info
]
}"
"''${makeWrapperArgs[@]}"
)
wrapProgram "$out/bin/timeshift" "''${makeWrapperArgs[@]}"
wrapProgram "$out/bin/timeshift-gtk" "''${gappsWrapperArgs[@]}"
# Substitute app_command to look for the `timeshift-gtk` in $out.
unlink "$out/bin/timeshift-launcher"
substitute ${lib.getExe' timeshift-unwrapped "timeshift-launcher"} "$out/bin/timeshift-launcher" \
--replace-fail "app_command=${lib.getExe' timeshift-unwrapped "timeshift-gtk"}" "app_command=$out/bin/timeshift-gtk"
chmod +x "$out/bin/timeshift-launcher"
'';
inherit (timeshift-unwrapped) meta;
}