Compare commits

...

3 Commits

Author SHA1 Message Date
Hilton Chain
3f4240e093
rosenthal: noctalia-shell: Update to 4.6.1.
* modules/rosenthal/packages/wm.scm (noctalia-shell): Update to 4.6.1.
[inputs]: Replace quickshell with noctalia-qs.
2026-03-03 16:56:14 +08:00
Hilton Chain
67a6395e7c
rosenthal: Add noctalia-qs.
* modules/rosenthal/packages/wm.scm (noctalia-qs): New variable.
2026-03-03 16:48:26 +08:00
Hilton Chain
088bc2bf51
bootloader: limine: Delay bootloader installation.
* modules/rosenthal/bootloader/limine.scm (limine-configuration-file): Install
bootloader after installing UKIs and generating the configuration file.
2026-03-03 16:34:55 +08:00
2 changed files with 52 additions and 27 deletions

View File

@ -56,7 +56,7 @@
(limine-directory (in-vicinity directory "EFI/BOOT"))
(guix-directory (in-vicinity directory "EFI/Guix")))
(for-each mkdir-p (list limine-directory guix-directory))
(install-file #$limine limine-directory)
;; Install unified kernel images and generate Limine configuration.
(call-with-output-file (in-vicinity limine-directory "limine.conf.tmp")
(lambda (port)
(let* ((ukify #$(file-append ukify "/bin/ukify"))
@ -78,32 +78,36 @@
current-label)
(unless (null? old-labels)
(format port "~%/GNU system, old configurations...~%"))
(let loop ((count 1)
(labels old-labels)
(args old-args))
(let* ((image-name (format #f "OLD-~a.EFI" count)))
(unless (null? labels)
(with-exception-handler
(lambda _
(false-if-exception (delete-file image-name))
(exit))
(lambda ()
(when (< (free-disk-space ".") minbytes)
(raise-exception 'insuffcient-disk-space))
(apply invoke/quiet
ukify "build" "--output" image-name
(first args))
(format port "~
(false-if-exception
(let loop ((count 1)
(labels old-labels)
(args old-args))
(let* ((image-name (format #f "OLD-~a.EFI" count)))
(unless (null? labels)
(with-exception-handler
(lambda _
(false-if-exception (delete-file image-name))
;; Exit loop.
(loop 0 '() '()))
(lambda ()
(when (< (free-disk-space ".") minbytes)
(raise-exception 'insuffcient-disk-space))
(apply invoke/quiet
ukify "build" "--output" image-name
(first args))
(format port "~
//~a
protocol: efi
path: boot():/EFI/Guix/OLD-~a.EFI~%"
(first labels)
count)))
(loop (1+ count)
(cdr labels)
(cdr args)))))))))
(rename-file (in-vicinity limine-directory "limine.conf.tmp")
(in-vicinity limine-directory "limine.conf")))))))
(first labels)
count)))
(loop (1+ count)
(cdr labels)
(cdr args))))))))
(rename-file (in-vicinity limine-directory "limine.conf.tmp")
(in-vicinity limine-directory "limine.conf"))
;; Finally, install Limine.
(install-file #$limine limine-directory))))))))
(define install-limine-efi
#~(lambda (bootloader target mount-point)

View File

@ -30,6 +30,7 @@
#:use-module (gnu packages linux)
#:use-module (gnu packages llvm)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages polkit)
#:use-module (gnu packages python)
#:use-module (gnu packages qt)
#:use-module (gnu packages version-control)
@ -39,7 +40,7 @@
(define-public noctalia-shell
(package
(name "noctalia-shell")
(version "4.5.0")
(version "4.6.1")
(source (origin
(method git-fetch)
(uri (git-reference
@ -48,7 +49,7 @@
(file-name (git-file-name name version))
(sha256
(base32
"1syqsml49jfjpngi7b099jcggp66lrls0ha6w5daqd5xhd2z94v3"))))
"12plnkf46ncw9cx5mh2di23jvwd0hbxayr5bjlaj9blz63r10cjs"))))
(build-system copy-build-system)
(arguments
(list
@ -135,10 +136,10 @@ exec ~a --config ~a/etc/xdg/quickshell/noctalia-shell \"$@\"~%"
imagemagick
khal
network-manager
noctalia-qs
python-minimal
qtbase
qtwayland
quickshell
which
wl-clipboard
wlsunset
@ -151,3 +152,23 @@ exec ~a --config ~a/etc/xdg/quickshell/noctalia-shell \"$@\"~%"
supporting various Wayland compositors like @code{niri}, @code{hyprland}, and
@code{sway}.")
(license license:expat)))
(define-public noctalia-qs
(package
(inherit quickshell)
(name "noctalia-qs")
(version "0.0.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/noctalia-dev/noctalia-qs")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0gyk951pk946dib3rdsgk7nzxwxvghjvp26rs5f32x6a8g8ww1fm"))))
(inputs
(modify-inputs (package-inputs quickshell)
(prepend glib polkit)))
(home-page "https://noctalia.dev/")
(synopsis "QtQuick-based desktop shell toolkit (Noctalia fork)")))