Compare commits

..

No commits in common. "9cb71938276e0ba555c9d3c115c02d0c90466f27" and "9d7be1f81c0d6d3b3248082d129f58bcd351f4b5" have entirely different histories.

11 changed files with 120 additions and 245 deletions

View File

@ -42,7 +42,6 @@
.
((eval . (put 'computed-substitution-with-inputs 'scheme-indent-function 1))
(eval . (put 'hidden-desktop-entry 'scheme-indent-function 1))
(eval . (put 'modify-services/by-name 'scheme-indent-function 1))
(eval . (put 'btrbk-configuration 'scheme-indent-function 0))
(eval . (put 'caddy-configuration 'scheme-indent-function 0))

View File

@ -51,11 +51,6 @@
{
"action": "shutdown",
"enabled": true
},
{
"action": "rebootToUefi",
"command": "loginctl reboot --firmware-setup",
"enabled": true
}
],
"showHeader": true,

View File

@ -1,8 +1,4 @@
#!/bin/sh
dir="$(dirname "$(realpath "$0")")"
if [[ ! -f ~/.config/emacs/init.el ]]
then
mkdir -p ~/.config/emacs
cp "$dir/init"* ~/.config/emacs
fi
cat "$dir/packages.txt" | xargs guix package --install
[[ ! -e ~/.config/emacs/init.el ]] && cp --recursive "$dir/." ~/.config/emacs
guix package --install --manifest="$dir/manifest.tmpl"

View File

@ -1,36 +1,38 @@
;; What follows is a "manifest" equivalent to the command line you gave.
;; You can store it in a file that you may then pass to any 'guix' command
;; that accepts a '--manifest' (or '-m') option.
;;; -*- mode: scheme -*-
(use-modules (gnu packages))
(specifications->manifest
(list "emacs-pgtk"
"emacs-corfu"
"emacs-doom-modeline"
"emacs-edit-indirect"
"emacs-envrc"
"emacs-evil"
"emacs-fish-mode"
"emacs-flycheck"
"emacs-flycheck-guile"
"emacs-forge"
"emacs-gcmh"
"emacs-geiser"
"emacs-geiser-guile"
"emacs-helpful"
"emacs-hl-todo"
"emacs-json-mode"
"emacs-macrostep"
"emacs-macrostep-geiser"
"emacs-magit"
"emacs-markdown-mode"
"emacs-mwim"
"emacs-no-littering"
"emacs-orderless"
"emacs-puni"
"emacs-rainbow-delimiters"
"emacs-vertico"
"fontconfig"
"font-adobe-source-serif"
"font-google-noto-emoji"
"font-sarasa-gothic"
"font-victor-mono"))
'("emacs-pgtk"
"emacs-corfu"
"emacs-doom-modeline"
"emacs-edit-indirect" ;for emacs-markdown-mode.
"emacs-envrc"
"emacs-evil"
"emacs-fish-mode"
"emacs-flycheck"
"emacs-flycheck-guile"
"emacs-forge"
"emacs-gcmh"
"emacs-geiser"
"emacs-geiser-guile"
"emacs-helpful"
"emacs-hl-todo"
"emacs-json-mode"
"emacs-macrostep"
"emacs-macrostep-geiser"
"emacs-magit"
"emacs-markdown-mode"
"emacs-mwim"
"emacs-nftables-mode"
"emacs-no-littering"
"emacs-orderless"
"emacs-puni"
"emacs-rainbow-delimiters"
"emacs-vertico"
"fontconfig"
"font-adobe-source-serif"
"font-google-noto-emoji"
"font-sarasa-gothic"
"font-victor-mono"
))

View File

@ -1,31 +0,0 @@
emacs-pgtk
emacs-corfu
emacs-doom-modeline
emacs-edit-indirect
emacs-envrc
emacs-evil
emacs-fish-mode
emacs-flycheck
emacs-flycheck-guile
emacs-forge
emacs-gcmh
emacs-geiser
emacs-geiser-guile
emacs-helpful
emacs-hl-todo
emacs-json-mode
emacs-macrostep
emacs-macrostep-geiser
emacs-magit
emacs-markdown-mode
emacs-mwim
emacs-no-littering
emacs-orderless
emacs-puni
emacs-rainbow-delimiters
emacs-vertico
fontconfig
font-adobe-source-serif
font-google-noto-emoji
font-sarasa-gothic
font-victor-mono

View File

@ -27,18 +27,7 @@
(define %my-home
(home-environment
(packages (specifications->packages
'(;; Desktop, see also `%rosenthal-skeletons'.
"niri"
"dconf"
"wl-clipboard"
"xdg-desktop-portal-gnome"
"xdg-desktop-portal-gtk"
"xdg-utils"
"imv" ;image viewer
"wezterm" ;terminal emulator
"xwayland-satellite" ;rootless XWayland support
;; File manager.
'(;; File manager.
"exo"
"file-roller"
"thunar"
@ -57,7 +46,7 @@
"emacs-corfu"
"emacs-doom-modeline"
"emacs-edit-indirect" ;for emacs-markdown-mode
"emacs-edit-indirect" ;for emacs-markdown-mode.
"emacs-envrc"
"emacs-evil"
"emacs-fish-mode"
@ -75,19 +64,21 @@
"emacs-magit"
"emacs-markdown-mode"
"emacs-mwim"
"emacs-nftables-mode"
"emacs-no-littering"
"emacs-orderless"
"emacs-puni"
"emacs-rainbow-delimiters"
"emacs-vertico"
;; Fonts.
;; Fonts, see also `home-fontconfig-service-type'.
"font-adobe-source-serif"
"font-google-noto"
"font-google-noto-emoji"
"font-nerd-symbols"
"font-sarasa-gothic"
"font-victor-mono")))
"font-victor-mono"
)))
(services
(cons* (service home-fish-service-type)
(service home-keyboard-service-type %my-keyboard-layout)
@ -118,6 +109,49 @@
fcitx5-skk
fcitx5-unikey))))
;; Font config.
(simple-service 'extend-fontconfig home-fontconfig-service-type
(let ((sans "Noto Sans")
(serif "Noto Serif")
(mono "Victor Mono")
(emoji "Noto Color Emoji"))
`((alias
(family "sans-serif")
(prefer
(family ,sans)
(family ,emoji)))
(alias
(family "serif")
(prefer
(family ,serif)
(family ,emoji)))
(alias
(family "monospace")
(prefer
(family ,mono)
(family ,emoji)))
,@(map (lambda (name)
`(alias
(family ,name)
(prefer
(family ,sans)
(family "sans-serif"))))
'("BlinkMacSystemFont"
"-apple-system"
"system-ui"
"ui-sans-serif"))
(alias
(family "ui-serif")
(prefer
(family ,serif)
(family "serif")))
(alias
(family "ui-monospace")
(prefer
(family ,mono)
(family "monospace"))))))
%rosenthal-desktop-home-services))))
(define %my-os
@ -165,15 +199,26 @@
(append (specifications->packages
'(;; CLI utilities.
"curl"
"file"
"fd"
"git"
"gnupg"
"mosh"
"ncurses"
"ripgrep"
"rsync"
"unzip"
;; Provide Wayland session for the login manager.
"niri"))
;; Desktop, see also `%rosenthal-skeletons'.
"niri"
"dconf"
"wl-clipboard"
"xdg-desktop-portal-gnome"
"xdg-desktop-portal-gtk"
"xdg-utils"
"imv" ;image viewer
"wezterm" ;terminal emulator
"xwayland-satellite" ;rootless XWayland support
))
%base-packages))
(services

View File

@ -1,14 +1,14 @@
From f45f42fe17a0037ce3b8c4f22537f257338734e5 Mon Sep 17 00:00:00 2001
From b6c1341082102ff4416186cca549b5f05efda162 Mon Sep 17 00:00:00 2001
From: Hilton Chain <hako@ultrarare.space>
Date: Sun, 30 Nov 2025 12:13:36 +0800
Subject: [PATCH] templates: Add more forges.
---
src/cuirass/templates.scm | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
src/cuirass/templates.scm | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/cuirass/templates.scm b/src/cuirass/templates.scm
index 1cf7ebf..2ee29fa 100644
index d591705..5518331 100644
--- a/src/cuirass/templates.scm
+++ b/src/cuirass/templates.scm
@@ -1526,7 +1526,9 @@ (define %vcs-web-views
@ -22,32 +22,6 @@ index 1cf7ebf..2ee29fa 100644
(define %vcs-web-commit-range-views
;; List of host names and corresponding URL to display a commit range.
@@ -1541,7 +1543,13 @@ (define %vcs-web-commit-range-views
(if (string-suffix? ".git" repository-url)
(string-drop-right repository-url 4)
repository-url)
- "/compare/" commit1 ".." commit2))))
+ "/compare/" commit1 ".." commit2)))
+ (sourcehut-url (lambda (repository-url _ commit2)
+ (string-append
+ (if (string-suffix? ".git" repository-url)
+ (string-drop-right repository-url 4)
+ repository-url)
+ "/log/?from=" commit2))))
`(("git.savannah.gnu.org"
,(lambda (repository-url commit1 commit2)
(string-append (string-replace-substring repository-url
@@ -1552,7 +1560,9 @@ (define %vcs-web-commit-range-views
("git.guix.gnu.org" ,github-url) ;alias for codeberg.org
("gitlab.com" ,gitlab-url)
("gitlab.inria.fr" ,gitlab-url)
- ("github.com" ,github-url))))
+ ("github.com" ,github-url)
+ ("git.sr.ht" ,sourcehut-url)
+ ("git.urspace.moe" ,github-url))))
(define* (commit-hyperlink url commit
#:optional (text commit))
--
2.52.0
2.51.2

View File

@ -39,7 +39,7 @@
(define-public noctalia-shell
(package
(name "noctalia-shell")
(version "4.5.0")
(version "4.4.3")
(source (origin
(method git-fetch)
(uri (git-reference
@ -48,7 +48,7 @@
(file-name (git-file-name name version))
(sha256
(base32
"1syqsml49jfjpngi7b099jcggp66lrls0ha6w5daqd5xhd2z94v3"))))
"1bcllxzpc3viyxizv9qqckbzxgsgsdki8pp60cns4nwzk89q4yp4"))))
(build-system copy-build-system)
(arguments
(list
@ -125,7 +125,7 @@ exec ~a --config ~a/etc/xdg/quickshell/noctalia-shell \"$@\"~%"
coreutils-minimal
ddcutil
elogind
fastfetch-minimal
fastfetch
findutils
fontconfig
git-minimal

View File

@ -587,7 +587,10 @@ gtk-key-theme-name = ~a~%"
(".config/xfce4/helpers.rc"
,(local-file "../examples/dot-config/xfce4/helpers.rc"))
,@(default-skeletons)))
;; Selected from the default skeletons.
(".config/gdb/gdbinit" ,%default-gdbinit)
(".config/nano/nanorc" ,%default-nanorc)
(".guile" ,%default-dotguile)))
(define %rosenthal-skeletons-installer
`((".config/noctalia/settings.json"
@ -648,7 +651,8 @@ gtk-key-theme-name = ~a~%"
(using-setuid? #f)))
;; Add udev rules for backlight control.
(simple-service 'backlight udev-service-type (list ddcutil light))
(simple-service 'backlight udev-service-type (list light))
(simple-service 'backlight-external udev-service-type (list ddcutil))
(modify-services %desktop-services
(delete %display-manager-service-type)

View File

@ -1,113 +0,0 @@
;;; SPDX-License-Identifier: GPL-3.0-or-later
;;; Copyright © 2026 Hilton Chain <hako@ultrarare.space>
(define-module (rosenthal utils services)
;; Guile builtins
#:use-module (ice-9 match)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-35)
;; Utilities
#:use-module (guix diagnostics)
#:use-module (guix i18n)
;; Guix System - services
#:use-module (gnu services)
#:export (modify-services/by-name))
;;;
;;; modify-services/by-name
;;;
;; Adapted from (gnu services).
(define-syntax clause-alist
(syntax-rules (=> delete)
((_ (delete name) rest ...)
(cons (list name
(lambda (service)
#f)
(current-source-location))
(clause-alist rest ...)))
((_ (name param => exp ...) rest ...)
(cons (list name
(lambda (svc)
(let ((param (service-value svc)))
(service (service-kind svc)
(begin exp ...))))
(current-source-location))
(clause-alist rest ...)))
((_)
'())))
(define (apply-clauses clauses service deleted-services)
(define (raise-if-deleted name properties)
(match (find (match-lambda
((deleted-name _)
(eq? name deleted-name)))
deleted-services)
((_ deleted-properties)
(raise (make-compound-condition
(condition
(&error-location
(location (source-properties->location properties))))
(formatted-message
(G_ "modify-services: service '~a' was deleted here: ~a")
name
(source-properties->location deleted-properties)))))
(_ #t)))
(match clauses
(((name proc properties) . rest)
(raise-if-deleted name properties)
(if (eq? (and service (service-type-name (service-kind service))) name)
(let ((new-service (proc service)))
(apply-clauses rest new-service
(if new-service
deleted-services
(cons (list name properties)
deleted-services))))
(apply-clauses rest service deleted-services)))
(()
service)))
(define (%modify-services services clauses)
(define (raise-if-not-found clause)
(match clause
((name _ properties)
(unless (find (lambda (service)
(eq? name (service-type-name (service-kind service))))
services)
(raise (make-compound-condition
(condition
(&error-location
(location (source-properties->location properties))))
(formatted-message
(G_ "modify-services/by-name: service '~a' not found in service list")
name)))))))
(for-each raise-if-not-found clauses)
(reverse (filter-map identity
(fold (lambda (service services)
(cons (apply-clauses clauses service '())
services))
'()
services))))
(define-syntax modify-services/by-name
(syntax-rules ()
"Similiar to modify-services but uses the name of the service type instead.
For example:
(modify-services %base-services
('guix
config => (guix-configuration
(inherit config)
(use-substitutes? #f)
(extra-options '(\"--gc-keep-derivations\"))))
('mingetty
config => (mingetty-configuration
(inherit config)
(motd (plain-file \"motd\" \"Hi there!\"))))
(delete 'udev))"
((_ services clauses ...)
(%modify-services services (clause-alist clauses ...)))))

View File

@ -75,7 +75,11 @@
(inherit os)
(kernel-loadable-modules
`(,@(if boot?
`((,zfs "module"))
`((,(package/inherit zfs
(arguments
(substitute-keyword-arguments (package-arguments zfs)
((#:linux _ #f) (operating-system-kernel os)))))
"module"))
'())
,@(operating-system-kernel-loadable-modules os)))
(services