aboutsummaryrefslogtreecommitdiff
path: root/etc/guix-gc.service.in
blob: 2f1ca6584bbcef9e53d211023d397704285d8269 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# This is a "service unit file" for the systemd init system to perform a
# one-shot 'guix gc' operation.  It is meant to be triggered by a timer.
# Drop it in /etc/systemd/system or similar together with 'guix-gc.timer'
# to set it up.

[Unit]
Description=Discard unused Guix store items

[Service]
Type=oneshot
# Customize the 'guix gc' arguments to fit your needs.
ExecStart=@localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix gc -d 1m -F 10G
PrivateDevices=yes
PrivateNetwork=yes
PrivateUsers=no
ProtectKernelTunables=yes
ProtectKernelModules=yes
ProtectControlGroups=yes
MemoryDenyWriteExecute=yes
SystemCallFilter=@default @file-system @basic-io @system-service
s libidn2 libpsl)) (native-inputs (list lzip pkg-config perl python ;for testenv suite perl-http-daemon perl-io-socket-ssl)) (home-page "https://www.gnu.org/software/wget/") (synopsis "Non-interactive command-line utility for downloading files") (description "GNU Wget is a non-interactive tool for fetching files using the HTTP, HTTPS and FTP protocols. It can resume interrupted downloads, use file name wild cards, supports proxies and cookies, and it can convert absolute links in downloaded documents to relative links.") (license license:gpl3+))) ; some files are under GPLv2+ (define-public wgetpaste (package (name "wgetpaste") (version "2.34") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/zlin/wgetpaste") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "1z70wfzkrzlhhqm82i5gdk6clmsc06n9gsf2wizb1kzk3h61h296")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) (guix build utils) (srfi srfi-1)) #:phases (modify-phases %standard-phases (delete 'configure) (delete 'build) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (bin (string-append out "/bin")) (zsh (string-append out "/share/zsh/site-functions"))) (install-file "wgetpaste" bin) (install-file "_wgetpaste" zsh)))) (add-after 'install 'wrap-program ;; /bin/wgetpaste prides itself on relying only on the following ;; inputs, and doesn't need to execute arbitrary commands, so ;; override PATH completely to detect any new dependencies early. (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) (wrap-program (string-append out "/bin/wgetpaste") `("PATH" ":" = ,(delete-duplicates (map (lambda (command) (dirname (which command))) (list "bash" "mktemp" "sed" "sort" "tee" "tr" "wget" "xclip"))))))))) #:tests? #f)) ; no test target (inputs (list bash-minimal wget xclip)) (home-page "https://wgetpaste.zlin.dk/") (synopsis "Script that automates pasting to a number of pastebin services") (description "@code{wgetpaste} is an extremely simple command-line interface to various online pastebin services.") (license license:expat))) (define-public wget2 (package (name "wget2") (version "2.1.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/wget/wget2-" version ".tar.gz")) (sha256 (base32 "1rz294dld9zmd5fmsrjgfyj7nlpmg1x7gckdzl9r7bbb3hcwapd0")))) (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases (add-after 'unpack 'skip-network-tests (lambda _ (substitute* "tests/Makefile.in" (("test-gpg-verify-no-file\\$\\(EXEEXT)") "") (("test-gpg-valid\\$\\(EXEEXT)") "") (("test-gpg-styles\\$\\(EXEEXT)") ""))))) #:configure-flags '("--enable-static=no" "--with-bzip2=yes" "--with-lzma=yes"))) (inputs (list brotli bzip2 gnutls/dane gpgme libidn2 libmicrohttpd libpsl `(,nghttp2 "lib") pcre2 xz zlib `(,zstd "lib"))) ;; TODO: Add libhsts. (native-inputs (list pkg-config)) (home-page "https://gitlab.com/gnuwget/wget2") (synopsis "Successor of GNU Wget") (description "GNU Wget2 is the successor of GNU Wget, a file and recursive website downloader. Designed and written from scratch it wraps around libwget, that provides the basic functions needed by a web client.") (properties '((ftp-directory . "/gnu/wget"))) (license (list license:gpl3+ license:lgpl3+))))