guix gc: '--delete-generations' now deletes old Home generations.
Previously, 'guix gc -d4m' would ignore Home generations. With this change, they are treated like profiles and generations that match the pattern are deleted. * guix/scripts/gc.scm (guix-gc)[delete-generations]: Add call to 'home-generation-base'. * doc/guix.texi (Invoking guix gc): Document the change.
This commit is contained in:
		
							parent
							
								
									5df8f7802e
								
							
						
					
					
						commit
						ba22560627
					
				
					 2 changed files with 6 additions and 3 deletions
				
			
		| 
						 | 
					@ -4362,7 +4362,8 @@ nothing and exit immediately.
 | 
				
			||||||
@item --delete-generations[=@var{duration}]
 | 
					@item --delete-generations[=@var{duration}]
 | 
				
			||||||
@itemx -d [@var{duration}]
 | 
					@itemx -d [@var{duration}]
 | 
				
			||||||
Before starting the garbage collection process, delete all the generations
 | 
					Before starting the garbage collection process, delete all the generations
 | 
				
			||||||
older than @var{duration}, for all the user profiles; when run as root, this
 | 
					older than @var{duration}, for all the user profiles and home environment
 | 
				
			||||||
 | 
					generations; when run as root, this
 | 
				
			||||||
applies to all the profiles @emph{of all the users}.
 | 
					applies to all the profiles @emph{of all the users}.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
For example, this command deletes all the generations of all your profiles
 | 
					For example, this command deletes all the generations of all your profiles
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,5 @@
 | 
				
			||||||
;;; GNU Guix --- Functional package management for GNU
 | 
					;;; GNU Guix --- Functional package management for GNU
 | 
				
			||||||
;;; Copyright © 2012, 2013, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
 | 
					;;; Copyright © 2012-2013, 2015-2020, 2022 Ludovic Courtès <ludo@gnu.org>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -26,6 +26,7 @@
 | 
				
			||||||
                                profile-generations
 | 
					                                profile-generations
 | 
				
			||||||
                                generation-number)
 | 
					                                generation-number)
 | 
				
			||||||
  #:autoload   (guix scripts package) (delete-generations)
 | 
					  #:autoload   (guix scripts package) (delete-generations)
 | 
				
			||||||
 | 
					  #:autoload   (gnu home) (home-generation-base)
 | 
				
			||||||
  #:use-module (ice-9 match)
 | 
					  #:use-module (ice-9 match)
 | 
				
			||||||
  #:use-module (ice-9 regex)
 | 
					  #:use-module (ice-9 regex)
 | 
				
			||||||
  #:use-module (srfi srfi-1)
 | 
					  #:use-module (srfi srfi-1)
 | 
				
			||||||
| 
						 | 
					@ -260,7 +261,8 @@ is deprecated; use '-D'~%"))
 | 
				
			||||||
                     (filter-map (lambda (root)
 | 
					                     (filter-map (lambda (root)
 | 
				
			||||||
                                   (and (or (zero? (getuid))
 | 
					                                   (and (or (zero? (getuid))
 | 
				
			||||||
                                            (user-owned? root))
 | 
					                                            (user-owned? root))
 | 
				
			||||||
                                        (generation-profile root)))
 | 
					                                        (or (generation-profile root)
 | 
				
			||||||
 | 
					                                            (home-generation-base root))))
 | 
				
			||||||
                                 (gc-roots)))))
 | 
					                                 (gc-roots)))))
 | 
				
			||||||
      (for-each (lambda (profile)
 | 
					      (for-each (lambda (profile)
 | 
				
			||||||
                  (delete-old-generations store profile pattern))
 | 
					                  (delete-old-generations store profile pattern))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Reference in a new issue