;; This is an operating system configuration template
;; for a "desktop" setup with Plasma.
(use-modules (gnu) (gnu system nss) (srfi srfi-1))
(use-service-modules desktop sddm xorg ssh)
(use-package-modules gnome ssh admin fonts)
(use-package-modules qt xorg tmux linux)
(operating-system
(host-name "plasma")
(timezone "Asia/Shanghai")
(locale "en_US.utf8")
;; Assuming /dev/sdX is the target hard disk, and "my-root"
;; is the label of the target root file system.
(bootloader (bootloader-configuration
(bootloader grub-bootloader)
(targets (list "/dev/sdX"))))
(file-systems (cons (file-system
(device "my-root")
(mount-point "/")
(type "ext4"))
%base-file-systems))
(users (cons (user-account
(name "plasma")
(password (crypt "plasma" "$6$abc"))
(group "users")
(supplementary-groups '("wheel" "netdev"
"audio" "video")))
%base-user-accounts))
;; This is where we specify system-wide packages.
(packages (cons* neofetch
htop
tmux
xprop
strace
%base-packages))
(services (cons*
;; for debug
;; (simple-service
;; 'add-qt-debug-env
;; session-environment-service-type
;; '(("QT_MESSAGE_PATTERN"
;; . "[[%{time process} %{type}] %{appname}: %{category} %{function} - %{message}]")
;; ("QT_DEBUG_PLUGINS" . "1")
;; ("QML_IMPORT_TRACE" . "1")))
(service openssh-service-type
(openssh-configuration
(openssh openssh-sans-x)
(port-number 2222)))
(service plasma-desktop-service-type)
(service sddm-service-type
(sddm-configuration
(theme "breeze")))
;; Remove GDM if it's among %DESKTOP-SERVICES; on other
;; architectures, %DESKTOP-SERVICES contains SDDM instead.
(remove (lambda (service)
(memq (service-kind service)
(list gdm-service-type sddm-service-type)))
%desktop-services)))
;; Allow resolution of '.local' host names with mDNS.
(name-service-switch %mdns-host-lookup-nss))
;; Local Variables:
;; mode: scheme
;; End:
8:52 +0200'>2024-06-03
style: Fix conversion of ‘unquote-splicing’ by ‘-S arguments’....* guix/scripts/style.scm (unquote->ungexp): Add missing comma for
‘ungexp-splicing’.
* tests/style.scm ("gexpify arguments, substitute-keyword-arguments +
unquote-splicing"): New test.
Change-Id: I17dcdd9b4812d54ddba1137e369360706b137bb4
| Ludovic Courtès |
2023-05-18 | style: Add 'arguments' styling rule....* guix/scripts/style.scm (unquote->ungexp, gexpify-argument-value)
(quote-argument-value, gexpify-argument-tail)
(gexpify-package-arguments): New procedures.
(%gexp-keywords): New variable.
(%options): Add "arguments" case for 'styling-procedure.
(show-stylings): Update.
* tests/style.scm ("gexpify arguments, already gexpified")
("gexpify arguments, non-gexp arguments, margin comment")
("gexpify arguments, phases and flags")
("gexpify arguments, append arguments")
("gexpify arguments, substitute-keyword-arguments")
("gexpify arguments, append substitute-keyword-arguments"): New tests.
* doc/guix.texi (package Reference): For 'arguments', add compatibility
note and link to 'guix style'.
(Invoking guix style): Document the 'arguments' styling rule.
| Ludovic Courtès |
2023-05-04 | style: Make 'safe' policy less conservative....Previously, a mere (arguments '(#:tests? #f)) would lead
guix style -S inputs --input-simplification=safe
to bail out. It now recognizes such trivial argument lists and
proceeds.
* guix/scripts/style.scm (trivial-package-arguments?): New procedure.
(simplify-package-inputs): Use it in the 'safe case instead of 'null?'.
* tests/style.scm ("input labels, 'safe' policy, trivial arguments"):
New test.
| Ludovic Courtès |
2022-08-08 | style: Adjust test to not emit blank lines....Previously this test would produce a file containing blank lines between
inputs.
* tests/style.scm ("input labels, modify-inputs and margin comment"):
Remove trailing newlines in replacement strings of 'substitute*'
expression.
| Ludovic Courtès |
2022-08-08 | style: Move reader and printer to (guix read-print)....* guix/scripts/style.scm (<comment>, read-with-comments)
(vhashq, %special-forms, %newline-forms, prefix?)
(special-form-lead, newline-form?, escaped-string)
(string-width, canonicalize-comment, pretty-print-with-comments)
(object->string*): Move to...
* guix/read-print.scm: ... here. New file.
* guix/scripts/import.scm: Adjust accordingly.
* tests/style.scm: Move 'test-pretty-print' and tests to...
* tests/read-print.scm: ... here. New file.
* Makefile.am (MODULES): Add 'guix/read-print.scm'.
(SCM_TESTS): Add 'tests/read-print.scm'.
| Ludovic Courtès |
2022-07-04 | style: For 'let' and similar forms, emit one binding per line....Previously, 'let' bindings could be rendered like this:
(let ((x 1) (y 2)
(z 3))
...)
With this change, each bindings goes in its own line.
Partly fixes <https://issues.guix.gnu.org/56297>.
Reported by Maxime Devos <maximedevos@telenet.be>.
* guix/scripts/style.scm (pretty-print-with-comments)[list-of-lists?]:
New procedure.
Use it.
* tests/style.scm: Add tests with 'let' and 'substitute-keyword-arguments'.
| Ludovic Courtès |
2022-06-22 | style: Keep values next to their keyword....This ensures we print '#:key value' rather than insert a newline
between '#:key' and 'value' as was the case before.
* guix/scripts/style.scm (pretty-print-with-comments)[print-sequence]:
When ITEM is a keyword, loop with FIRST? = true.
* tests/style.scm: Add test.
| Ludovic Courtès |