diff options
Diffstat (limited to 'gnu/image.scm')
-rw-r--r-- | gnu/image.scm | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/gnu/image.scm b/gnu/image.scm new file mode 100644 index 0000000000..b05fc69dc5 --- /dev/null +++ b/gnu/image.scm @@ -0,0 +1,76 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu image) + #:use-module (guix records) + #:export (partition + partition? + partition-device + partition-size + partition-file-system + partition-label + partition-uuid + partition-flags + partition-initializer + + image + image-name + image-format + image-size + image-operating-system + image-partitions + image-compression? + image-volatile-root? + image-substitutable?)) + + +;;; +;;; Partition record. +;;; + +(define-record-type* <partition> partition make-partition + partition? + (device partition-device (default #f)) + (size partition-size) + (file-system partition-file-system (default "ext4")) + (label partition-label (default #f)) + (uuid partition-uuid (default #f)) + (flags partition-flags (default '())) + (initializer partition-initializer (default #f))) + + +;;; +;;; Image record. +;;; + +(define-record-type* <image> + image make-image + image? + (format image-format) ;symbol + (size image-size ;size in bytes as integer + (default 'guess)) + (operating-system image-operating-system ;<operating-system> + (default #f)) + (partitions image-partitions ;list of <partition> + (default '())) + (compression? image-compression? ;boolean + (default #t)) + (volatile-root? image-volatile-root? ;boolean + (default #t)) + (substitutable? image-substitutable? ;boolean + (default #t))) |