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
|
||
|
];
|
||
|
};
|
||
|
}
|