ambevar-dotfiles/.config/guix/channels.scm

61 lines
1.7 KiB
Scheme

(use-modules (srfi srfi-1)
(ice-9 textual-ports)
(ice-9 popen))
(define (find-guix-channel channel-list)
(find
(lambda (channel) (eq? (channel-name channel) 'guix))
channel-list))
(define current-guix (find-guix-channel %default-channels))
(define (current-guix-commit)
(let* ((port (open-input-pipe "guix describe -f channels"))
(str (get-string-all port)))
(close-pipe port)
(channel-commit
(find-guix-channel (eval-string str)))))
(define* (channel-list #:key guix-commit)
(cons*
(channel
(name 'nonguix)
(url "https://gitlab.com/nonguix/nonguix.git")
(introduction
(make-channel-introduction
"897c1a470da759236cc11798f4e0a5f7d4d59fbc"
(openpgp-fingerprint
"2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5")))
(branch "master"))
(channel
(name 'guix-gaming-games)
(url "https://gitlab.com/guix-gaming-channels/games.git")
;; (url "/home/ambrevar/projects/games")
(introduction
(make-channel-introduction
"c23d64f1b8cc086659f8781b27ab6c7314c5cca5"
(openpgp-fingerprint
"50F3 3E2E 5B0C 3D90 0424 ABE8 9BDC F497 A4BB CC7F")))
(branch "master"))
;; (channel
;; (name 'guix-gaming-duke-nukem-3d)
;; (url "https://gitlab.com/guix-gaming-channels/duke-nukem-3d.git")
;; (branch "master"))
;; (channel
;; (name 'guix-gaming-quake-3)
;; (url "https://gitlab.com/guix-gaming-channels/quake-3.git")
;; (branch "master"))
(cons
(if guix-commit
(channel
(inherit current-guix)
(commit guix-commit))
current-guix)
(delete current-guix %default-channels))))
;; (channel-list #:guix-commit (current-guix-commit))
(channel-list)