;;; guix-ui-system-generation.el --- Interface for displaying system generations -*- lexical-binding: t -*- ;; Copyright © 2016 Alex Kost ;; 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 this program. If not, see . ;;; Commentary: ;; This file provides an interface for displaying system generations ;; in 'list' and 'info' buffers, and commands for working with them. ;;; Code: (require 'cl-lib) (require 'guix-list) (require 'guix-ui) (require 'guix-ui-generation) (require 'guix-profiles) (guix-ui-define-entry-type system-generation) (defun guix-system-generation-get-display (search-type &rest search-values) "Search for system generations and show results. See `guix-ui-get-entries' for the meaning of SEARCH-TYPE and SEARCH-VALUES." (apply #'guix-list-get-display-entries 'system-generation guix-system-profile search-type search-values)) ;;; System generation 'info' (guix-ui-info-define-interface system-generation :buffer-name "*Guix Generation Info*" :format '((number format guix-generation-info-insert-number) (label format (format)) (prev-number format (format)) (current format guix-generation-info-insert-current) (path format (format guix-file)) (time format (time)) (root-device format (format)) (kernel format (format guix-file))) :titles guix-generation-info-titles) ;;; System generation 'list' ;; FIXME It is better to make `guix-generation-list-shared-map' with ;; common keys for both usual and system generations. (defvar guix-system-generation-list-mode-map (copy-keymap guix-generation-list-mode-map) "Keymap for `guix-system-generation-list-mode' buffers.") (guix-ui-list-define-interface system-generation :buffer-name "*Guix Generation List*" :format '((number nil 5 guix-list-sort-numerically-0 :right-align t) (current guix-generation-list-get-current 10 t) (label nil 40 t) (time guix-list-get-time 20 t) (path guix-list-get-file-name 30 t)) :titles guix-generation-list-titles :sort-key '(number . t) :marks '((delete . ?D))) ;;; Interactive commands ;;;###autoload (defun guix-system-generations () "Display information about system generations." (interactive) (guix-system-generation-get-display 'all)) ;;;###autoload (defun guix-last-system-generations (number) "Display information about last NUMBER of system generations." (interactive "nThe number of last generations: ") (guix-system-generation-get-display 'last number)) ;;;###autoload (defun guix-system-generations-by-time (from to) "Display information about system generations created between FROM and TO." (interactive (list (guix-read-date "Find generations (from): ") (guix-read-date "Find generations (to): "))) (guix-system-generation-get-display 'time (float-time from) (float-time to))) (provide 'guix-ui-system-generation) ;;; guix-ui-system-generation.el ends here s/desktop.tmpl: Add group configuration example. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Denis 'GNUtoo' Carikli 2021-11-23doc: Add new Swap Space section....* doc/guix.texi (operating-system Reference): Update swap-devices. * doc/guix.texi (Swap Space): Add it. * gnu/system/examples/desktop.tmpl: Add swap-devices example. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Josselin Poiret 2021-08-29Migrate to the new 'targets' field of bootloader-configuration....The old 'target' field is deprecated; adjust the sources to use the new 'targets' one instead. * doc/guix-cookbook.texi<target>: Replace by 'targets'. * gnu/bootloader/grub.scm: Likewise. * gnu/installer/parted.scm: Likewise. * gnu/machine/digital-ocean.scm: Likewise. * gnu/system/examples/asus-c201.tmpl: Likewise * gnu/system/examples/bare-bones.tmpl: Likewise * gnu/system/examples/bare-hurd.tmpl: Likewise * gnu/system/examples/beaglebone-black.tmpl: Likewise * gnu/system/examples/desktop.tmpl: Likewise * gnu/system/examples/docker-image.tmpl: Likewise * gnu/system/examples/lightweight-desktop.tmpl: Likewise * gnu/system/examples/vm-image.tmpl: Likewise * gnu/system/examples/yggdrasil.tmpl: Likewise * gnu/system/hurd.scm: Likewise * gnu/system/images/hurd.scm: Likewise * gnu/system/images/novena.scm: Likewise * gnu/system/images/pine64.scm: Likewise * gnu/system/images/pinebook-pro.scm: Likewise * gnu/system/images/rock64.scm: Likewise * gnu/system/install.scm: Likewise * gnu/system/vm.scm: Likewise * gnu/tests.scm: Likewise * gnu/tests/ganeti.scm: Likewise * gnu/tests/install.scm: Likewise * gnu/tests/nfs.scm: Likewise * gnu/tests/telephony.scm: Likewise * tests/boot-parameters.scm: Likewise * tests/system.scm: Likewise Maxim Cournoyer 2020-07-29examples: Add password for Alice's brother....* gnu/system/examples/desktop.tmpl (users)[bob]: Add password. Oleg Pykhalov