mirror of
https://codeberg.org/privacy1st/nix-git
synced 2025-01-10 05:01:20 +01:00
44 lines
1.1 KiB
Nix
44 lines
1.1 KiB
Nix
# Archive manager: Compress and decompress
|
|
|
|
# https://github.com/NixOS/nixpkgs/issues/311240
|
|
# The package definition for `kdePackages.ark` does not specify the extra tools that can be used by Ark. The older definition `libsForQt5.ark` contains extra tools such as unar to handle extra types of archives.
|
|
#
|
|
# Solution: To extract `.rar` files, we manually override some of the attributes based on how it is done in the old file of `libsForQt5.ark`.
|
|
|
|
{ config, pkgs, mkKdeDerivation, lib, ... }:
|
|
let
|
|
extraTools = with pkgs; [
|
|
p7zip
|
|
lrzip
|
|
unar
|
|
unrar
|
|
];
|
|
|
|
# https://ryantm.github.io/nixpkgs/using/overrides/#sec-pkg-overrideAttrs
|
|
ark-with-unrar = pkgs.kdePackages.ark.overrideAttrs {
|
|
buildInputs = with pkgs; [
|
|
libarchive
|
|
libzip
|
|
] ++ extraTools;
|
|
|
|
qtWrapperArgs = [
|
|
"--prefix"
|
|
"PATH"
|
|
":"
|
|
(lib.makeBinPath extraTools)
|
|
];
|
|
};
|
|
in
|
|
{
|
|
allowUnfree = [
|
|
# Required for ark
|
|
"unrar"
|
|
];
|
|
|
|
users.users.yoda = {
|
|
packages = with pkgs; [
|
|
ark-with-unrar # Archive manager: Compress and decompress
|
|
];
|
|
};
|
|
}
|