nix-git/modules/ark.nix
2025-01-06 18:59:48 +01:00

44 lines
1.0 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, 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
];
};
}