summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Paśnikowski <marek@marekpasnikowski.pl>2026-09-28 05:42:48 +0200
committerMarek Paśnikowski <marek@marekpasnikowski.pl>2026-10-08 04:12:18 +0200
commitc50a669dbb07dae17df98041f20e4051c7155ff2 (patch)
treecca6c8e5f8b169f73320a78dc94b79c856117601
parent6d211709fff6633e77ae759691c06c1ea79b3c40 (diff)
start using guix-for-channelsHEADtestmaster
-rw-r--r--deployment/channels.scm50
-rw-r--r--deployment/services/admin.scm41
-rw-r--r--users/id1000.scm6
-rw-r--r--users/id1001.scm6
4 files changed, 97 insertions, 6 deletions
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 <marek@marekpasnikowski.pl>
+
+;;; COPYRIGHT NOTICE
+;;;
+;;; Copyright 2026, Marek Paśnikowski <marek@marekpasnikowski.pl>
+
+;;; 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 <https://www.gnu.org/licenses/>.
+
+(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 <marek@marekpasnikowski.pl>
+
+;;; COPYRIGHT NOTICE
+;;;
+;;; Copyright 2026, Marek Paśnikowski <marek@marekpasnikowski.pl>
+
+;;; 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 <https://www.gnu.org/licenses/>.
+
+(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