From c50a669dbb07dae17df98041f20e4051c7155ff2 Mon Sep 17 00:00:00 2001 From: Marek Paśnikowski Date: Mon, 28 Sep 2026 05:42:48 +0200 Subject: start using guix-for-channels --- deployment/channels.scm | 50 +++++++++++++++++++++++++++++++++++++++++++ deployment/services/admin.scm | 41 +++++++++++++++++++++++++++++++++++ users/id1000.scm | 6 +++--- users/id1001.scm | 6 +++--- 4 files changed, 97 insertions(+), 6 deletions(-) create mode 100644 deployment/channels.scm create mode 100644 deployment/services/admin.scm diff --git a/deployment/channels.scm b/deployment/channels.scm new file mode 100644 index 0000000..fe20a4d --- /dev/null +++ b/deployment/channels.scm @@ -0,0 +1,50 @@ +;;; SPDX-License-Identifier: GPL-3.0-or-later +;;; SPDX-FileCopyrightText: 2026 Marek Paśnikowski + +;;; COPYRIGHT NOTICE +;;; +;;; Copyright 2026, Marek Paśnikowski + +;;; LICENSE NOTICE +;;; +;;; This library 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. +;;; +;;; This library 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 library. +;;; If not, see . + +(define-module (deployment channels) + #:export (guix-with-channels + master-channels + test-channels) + #:use-module (gnu packages package-management) + #:use-module (guix gexp) + #:use-module (sovereign channels)) + +(define master-channels + (list (default-guix-channel "master") + (deployment-channel "master") + (mnt-reform-nonguix "personal") + (nonguix-channel "master") + (rde-channel "master") + (sovereign-channel "master"))) + +(define test-channels + (list (default-guix-channel "test") + (deployment-channel "test") + (mnt-reform-nonguix "personal") + (nonguix-channel "test") + (rde-channel "master") + (sovereign-channel "test"))) + +(define (guix-with-channels channels) + (file-append (guix-for-channels channels) ; package output + "/bin/guix" ; relative path to the executable + " ")) ; blank required by Bash to parse the next alias + +;;; EOF diff --git a/deployment/services/admin.scm b/deployment/services/admin.scm new file mode 100644 index 0000000..24103ef --- /dev/null +++ b/deployment/services/admin.scm @@ -0,0 +1,41 @@ +;;; SPDX-License-Identifier: GPL-3.0-or-later +;;; SPDX-FileCopyrightText: 2026 Marek Paśnikowski + +;;; COPYRIGHT NOTICE +;;; +;;; Copyright 2026, Marek Paśnikowski + +;;; LICENSE NOTICE +;;; +;;; This library 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. +;;; +;;; This library 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 library. +;;; If not, see . + +(define-module (deployment services admin) + #:export (update-commands) + #:use-module (deployment channels) + #:use-module (gnu home services shells) + #:use-module (gnu services)) + +(define update-commands + (simple-service + 'update-commands + home-bash-service-type + (home-bash-extension + (aliases + `(("collect-garbage" . "gc -d 7d ") + ("delete-generations" . "system delete-generations 7d ") + ("guix" . ,(guix-with-channels master-channels)) + ("guix-test" . ,(guix-with-channels test-channels)) + ("pull" . " pull --fallback ") + ("pull-down" . "pull --allow-downgrades --disable-authentication --fallback ") + ("reconfigure" . "system reconfigure -e \"(@ (deployment system) $HOSTNAME)\" --fallback ") + ("reconfigure-down" . "system reconfigure --allow-downgrades -e \"(@ (deployment system) $HOSTNAME)\" --fallback ") + ("sudo" . "sudo ")))))) diff --git a/users/id1000.scm b/users/id1000.scm index 8ec458d..d21bd5d 100644 --- a/users/id1000.scm +++ b/users/id1000.scm @@ -45,8 +45,8 @@ #:prefix gnu:system:accounts:) #:use-module ( (sovereign packages emacs) #:prefix sovereign:packages:emacs:) - #:use-module ( (sovereign services admin) - #:prefix sovereign:services:admin:) + #:use-module ( (deployment services admin) + #:prefix deployment:services:admin:) #:use-module ( (sovereign services fontutils) #:prefix sovereign:services:fontutils:) #:use-module ( (sovereign systems) @@ -281,7 +281,7 @@ (packages (cons* gnu:packages:version-control:git gnu:packages:disk:gparted sovereign:systems:common-home-environment-packages)) - (services (cons* sovereign:services:admin:update-commands + (services (cons* deployment:services:admin:update-commands l-home-dbus-service l-home-pipewire-service l-home-shepherd-service diff --git a/users/id1001.scm b/users/id1001.scm index 8a2110e..1a76ab6 100644 --- a/users/id1001.scm +++ b/users/id1001.scm @@ -27,8 +27,8 @@ #:prefix gnu:system:accounts:) #:use-module ( (nongnu packages mozilla) #:prefix nongnu:packages:mozilla:) - #:use-module ( (sovereign services admin) - #:prefix sovereign:services:admin:) + #:use-module ( (deployment services admin) + #:prefix deployment:services:admin:) #:use-module ( (sovereign services fontutils) #:prefix sovereign:services:fontutils:) #:use-module ( (sovereign systems) @@ -44,7 +44,7 @@ "Noto"))) (let ( (l-services (list sovereign:systems:bash-configuration - sovereign:services:admin:update-commands + deployment:services:admin:update-commands l-fontconfig))) (gnu:home:home-environment (packages (cons* gnu:packages:libreoffice:libreoffice -- cgit v1.3