1
0
mirror of https://codeberg.org/hako/Rosenthal.git synced 2025-07-03 23:35:31 +00:00
Rosenthal/modules/rosenthal/utils/file.scm
Hilton Chain 0ab2a7eb1a
utils: Add helper procedures from my dotfiles.
* modules/rosenthal/utils/packages.scm (delete-package-from-list, pkg)
(pkg+out, pkgs, pkgs+out): New procedures.
* modules/rosenthal/utils/file.scm (computed-substitution-with-inputs)
(file-content): New procedures.
2025-06-11 00:16:35 +08:00

23 lines
729 B
Scheme

;;; SPDX-License-Identifier: GPL-3.0-or-later
;;; Copyright © 2025 Hilton Chain <hako@ultrarare.space>
(define-module (rosenthal utils file)
#:use-module (ice-9 textual-ports)
#:use-module (guix gexp)
#:export (computed-substitution-with-inputs
file-content))
(define (computed-substitution-with-inputs name file inputs)
(with-imported-modules '((guix build utils))
(computed-file
name
#~(begin
(use-modules (guix build utils))
(copy-file #$file #$output)
(substitute* #$output
(("\\$\\$([^\\$]+)\\$\\$" _ path)
(search-path '#$inputs path)))))))
(define (file-content file)
(call-with-input-file (canonicalize-path file) get-string-all))