;; 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-03style: 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-18style: 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-04style: 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-08style: 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-08style: 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-04style: 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-22style: 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