summaryrefslogtreecommitdiff
path: root/services
diff options
context:
space:
mode:
authorMarek Paśnikowski <marek@marekpasnikowski.pl>2024-05-25 11:47:52 +0200
committerMarek Paśnikowski <marek@marekpasnikowski.pl>2024-05-25 12:27:58 +0200
commit3075bd69813bf199e8eb40bbb580ba3463c3cbaa (patch)
tree12b6cfbb9cdf10d21ba443a746050b6998757b5e /services
parent24b13e12fb681dab7ceaa0a5b50e8a29675c8e15 (diff)
implement system-wide channels.scm file
Diffstat (limited to 'services')
-rw-r--r--services/distribution.scm4
-rw-r--r--services/guix/channels.scm77
2 files changed, 81 insertions, 0 deletions
diff --git a/services/distribution.scm b/services/distribution.scm
index 378a1f0..8f6f898 100644
--- a/services/distribution.scm
+++ b/services/distribution.scm
@@ -2,10 +2,14 @@
#:use-module (gnu services)
#:use-module (gnu services base)
#:use-module (gnu services desktop)
+ #:use-module (services guix channels)
#:use-module (services nonguix substitute))
(define-public %distribution-services
(modify-services %desktop-services
(guix-service-type config
=>
+ (channels config))
+ (guix-service-type config
+ =>
(nonguix-substitute config))))
diff --git a/services/guix/channels.scm b/services/guix/channels.scm
new file mode 100644
index 0000000..ef9a769
--- /dev/null
+++ b/services/guix/channels.scm
@@ -0,0 +1,77 @@
+(define-module (services guix channels)
+ #:use-module (gnu packages package-management)
+ #:use-module (gnu services)
+ #:use-module (gnu services base)
+ #:use-module (guix channels))
+
+;;; DATA
+
+(define deployment-commit
+ "c24ce7cb11e74da13d491f9de3c4b7040a069f43")
+
+(define deployment-url
+ "https://git.marekpasnikowski.pl/git/deployment.git")
+
+(define distribution-commit
+ "7d17bded11ef1239592e6e5abd40ceee1e99cbb8")
+
+(define distribution-url
+ "https://git.marekpasnikowski.pl/git/distribution.git")
+
+(define marekpasnikowski-fingerprint
+ (openpgp-fingerprint "590E 500F E39D 26B3 E60B 743B 6D81 B120 7711 899F"))
+
+(define nonguix-commit
+ "897c1a470da759236cc11798f4e0a5f7d4d59fbc")
+
+(define nonguix-url
+ "https://gitlab.com/nonguix/nonguix")
+
+(define nonguix-fingerprint
+ (openpgp-fingerprint "2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5"))
+
+;;; ABSTRACTION 3
+
+(define deployment-introduction
+ (make-channel-introduction deployment-commit
+ marekpasnikowski-fingerprint))
+
+(define distribution-introduction
+ (make-channel-introduction distribution-commit
+ marekpasnikowski-fingerprint))
+
+(define nonguix-introduction
+ (make-channel-introduction nonguix-commit
+ nonguix-fingerprint))
+
+;;; ABSTRACTION 2
+
+(define deployment
+ (channel (name 'deployment)
+ (url deployment-url)
+ (introduction deployment-introduction)))
+
+(define distribution
+ (channel (name 'distribution)
+ (url distribution-url)
+ (introduction distribution-introduction)))
+
+(define nonguix
+ (channel (name 'nonguix)
+ (url nonguix-url)
+ (introduction nonguix-introduction)))
+
+;;; ABSTRACTION 1
+
+(define distribution-channels
+ (append %default-channels
+ (list deployment
+ distribution
+ nonguix)))
+
+;;; PUBLIC
+
+(define-public (channels config)
+ (guix-configuration (inherit config)
+ (channels distribution-channels)
+ (guix (guix-for-channels distribution-channels))))