Skip to content
1 change: 1 addition & 0 deletions modules/proxmox-ve/manager.nix
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,7 @@ lib.mkIf cfg.enable {
"pve-guests.service"
"pve-storage.target"
];
path = with pkgs; [ btrfs-progs zfs ];
serviceConfig = {
ExecStartPre = [
"${pkgs.coreutils}/bin/touch /var/lib/pve-manager/pve-replication-state.lck"
Expand Down
22 changes: 22 additions & 0 deletions pkgs/cstream/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
lib,
stdenv,
fetchurl,
...
}:

stdenv.mkDerivation rec {
pname = "cstream";
version = "4.0.0";

src = fetchurl {
url = "https://www.cons.org/cracauer/download/cstream-${version}.tar.gz";
sha256 = "sha256-a8BtfEOG+5jTqRcTQ0wxXZ5tQlyRyIYoG+qiVMDgluM=";
};

meta = {
description = "A general-purpose stream-handling tool like dd";
homepage = "https://www.cons.org/cracauer/cstream.html";
maintainers = with lib.maintainers; [ ];
};
}
1 change: 1 addition & 0 deletions pkgs/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ let
termproxy = callPackage ./termproxy { };
unifont_hex = callPackage ./unifont { };
vncterm = callPackage ./vncterm { };
cstream = callPackage ./cstream { };

proxmox-acme = callPackage ./proxmox-acme { };
proxmox-backup = callPackage ./proxmox-backup { };
Expand Down
23 changes: 22 additions & 1 deletion pkgs/pve-manager/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
pve-docs,
pve-ha-manager,
pve-http-server,
cdrkit,
enableLinstor ? false,
ceph,
gnupg,
Expand All @@ -26,7 +27,15 @@
shadow,
sqlite,
wget,
bash,
zstd,
util-linux,
system-sendmail,
rsync,
busybox,
cstream,
lvm2,
lxc,
libfaketime,
corosync,
openssl,
Expand Down Expand Up @@ -116,7 +125,8 @@ perl538.pkgs.toPerlModule (
-e "s|/usr/share/pve-xtermjs|${pve-xtermjs}/share/pve-xtermjs|" \
-Ee "s|(/usr)?/s?bin/||" \
-e "s|/usr/share/novnc-pve|${pve-novnc}/share/webapps/novnc|" \
-e "s/Ceph Nautilus required/Ceph Nautilus required - PATH: \$ENV{PATH}\\\n/"
-e "s/Ceph Nautilus required/Ceph Nautilus required - PATH: \$ENV{PATH}\\\n/" \
-e "s|/usr/share/perl5/\\\$plug|/run/current-system/sw/${perl538.libPrefix}/${perl538.version}/\$plug|"

# Ceph systemd units in NixOS do not use templates
find $out/lib -type f -wholename "*Ceph*" | xargs sed -i -e "s/\\\@/-/g"
Expand All @@ -134,6 +144,7 @@ perl538.pkgs.toPerlModule (
--prefix PATH : ${
lib.makeBinPath [
ceph
cdrkit # cloud-init
corosync
gnupg
gzip
Expand All @@ -150,6 +161,16 @@ perl538.pkgs.toPerlModule (
termproxy
util-linux
wget

## dependencies of backup and restore
bash
busybox
cstream
lvm2
lxc
rsync
system-sendmail
zstd
]
} \
--prefix PERL5LIB : $out/${perl538.libPrefix}/${perl538.version}
Expand Down
3 changes: 3 additions & 0 deletions pkgs/pve-storage/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
file,
glusterfs,
gptfdisk,
gzip,
libiscsi,
lvm2,
nfs-utils,
Expand Down Expand Up @@ -111,6 +112,8 @@ perl538.pkgs.toPerlModule (
-e "s|/usr/bin/smbclient|${samba}/bin/smbclient|" \
-e "s|/usr/bin/ssh|${openssh}/bin/ssh|" \
-e "s|/usr/bin/targetcli|${targetcli}/bin/targetcli|" \
-e "s|/usr/bin/vma|${pve-qemu}/bin/vma|" \
-e "s|/usr/bin/zcat|${gzip}/bin/zcat|" \
-e "s|/usr/libexec/ceph|$out/libexec/ceph|" \
-re "s|/usr/s?bin/ceph|${ceph}/bin/ceph|" \
-e "s|/usr/sbin/gluster|${glusterfs}/bin/gluster|" \
Expand Down