diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 894a542171..abbc87a95a 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -25,6 +25,7 @@ ;;; Copyright © 2014, 2022 Ludovic Courtès ;;; Copyright © 2022 Maxim Cournoyer ;;; Copyright © 2022 Disseminate Dissent +;;; Copyright © 2023 Timotej Lazar ;;; ;;; This file is part of GNU Guix. ;;; @@ -43,6 +44,7 @@ (define-module (gnu packages disk) #:use-module (gnu packages) + #:use-module (gnu packages admin) #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bash) @@ -1502,6 +1504,46 @@ (define-public qdirstat (home-page "https://github.com/shundhammer/qdirstat") (license license:gpl2))) +(define-public nwipe + (package + (name "nwipe") + (version "0.34") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/martijnvanbrummelen/nwipe") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1frwjgz4mpzwr9sigr693crmxsjl08wcikh6ik7dm0x40l1kqqpd")))) + (build-system gnu-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-after 'install 'wrap + (lambda* (#:key inputs outputs #:allow-other-keys) + (wrap-program (search-input-file outputs "bin/nwipe") + (list "PATH" ":" 'prefix + (map (lambda (p) (dirname (search-input-file inputs p))) + '("sbin/dmidecode" + "sbin/hdparm" + "sbin/smartctl"))))))))) + (inputs + (list bash-minimal dmidecode hdparm ncurses parted smartmontools)) + (native-inputs + (list autoconf automake libtool pkg-config)) + (home-page "https://github.com/martijnvanbrummelen/nwipe") + (synopsis "Secure disk wiping utility") + (description + "@command{nwipe} securely erases disks using a variety of methods to +ensure the data cannot be recovered. It can wipe multiple drives in parallel +and can be used noninteractively or with a text-based user interface.") + (license + (list license:gpl2 + license:bsd-3 ; mt19937ar-cok + license:public-domain)))) ; {isaac_rand,PDFGen} + (define-public wipe (package (name "wipe")