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 +++++++++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+) create mode 100644 deployment/channels.scm create mode 100644 deployment/services/admin.scm (limited to 'deployment') 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 ")))))) -- cgit v1.3