;; -*- mode: scheme; -*- ;; This is an operating-system configuration template of a ;; 64-bit minimal system for a Raspberry Pi with an NFS root file-system. ;; It neither installs firmware nor device-tree files for the Raspberry Pi. ;; It just assumes them to be existing in boot/efi in the same way that some ;; UEFI firmware with ACPI data is usually assumed to be existing on PCs. ;; It expects the boot/efi directory to be served via TFTP and the root ;; file-system to be served via NFS. See the grub-efi-netboot-bootloader ;; description in the manual for more details. (use-modules (gnu) (gnu artwork) (gnu system nss)) (use-service-modules admin avahi networking ssh) (use-package-modules linux raspberry-pi ssh) (define-public raspberry-pi-64-nfs-root (operating-system (host-name "raspberrypi-guix") (timezone "Europe/Berlin") (bootloader (bootloader-configuration (bootloader grub-efi-bootloader-chain-raspi-64) (targets (list "/boot/efi")) (theme (grub-theme (resolution '(1920 . 1080)) (image (file-append %artwork-repository "/grub/GuixSD-fully-black-16-9.svg")))))) (kernel-arguments '("ip=dhcp")) (kernel (customize-linux #:linux linux-libre-arm64-generic #:extra-version "arm64-generic-netboot" #:configs '("CONFIG_NFS_SWAP=y" "CONFIG_USB_USBNET=y" "CONFIG_USB_LAN78XX=y" "CONFIG_USB_NET_SMSC95XX=y"))) (initrd-modules '()) (file-systems (cons* (file-system (mount-point "/") (type "nfs") (device ":/export/raspberrypi/guix") (options "addr=10.20.30.40,vers=4.1")) %base-file-systems)) (swap-devices (list (swap-space (target "/run/swapfile")))) (users (cons* (user-account (name "pi") (group "users") (supplementary-groups '("wheel" "netdev" "audio" "video")) (home-directory "/home/pi")) %base-user-accounts)) (packages (cons* openssh %base-packages)) (services (cons* (service avahi-service-type) (service dhcp-client-service-type) (service ntp-service-type) (service openssh-service-type (openssh-configuration (x11-forwarding? #t))) %base-services)) (name-service-switch %mdns-host-lookup-nss))) raspberry-pi-64-nfs-root default PS1 prompt to bashrc...Fixes <https://issues.guix.gnu.org/70164>. * home/services/shells.scm (add-bash-configuration): Move default PS1 prompt from .bash_profile to .bashrc. Change-Id: Ic437458ee362cc4aa803a71c9962af866749f59a Signed-off-by: Ludovic Courtès <ludo@gnu.org> Richard Sent 2024-03-27home: services: bash: Reorder aliases....Reported in <https://issues.guix.gnu.org/67652>. * home/services/shells.scm (add-bash-configuration): Reorder aliases. Change-Id: I288856bb6befe378ca60ef78578acc069cb18532 Reported-by: Atte Torri <atte.torri@universite-paris-saclay.fr> Signed-off-by: Hilton Chain <hako@ultrarare.space> Jason Darby 2024-01-17home: services: zsh: Use unified zprofile....* gnu/home/services/shells.scm (zsh-file-zprofile): Use the zprofile defined in (gnu system shadow) as a base. Change-Id: Iaf4c4f66d1ccbc0bd0166136b3d082229bdec201 Efraim Flashner 2023-09-17gnu: home: zsh: Load environment when running via ssh...* gnu/home/services/shells.scm (zsh-file-zshenv): Add snippet to source /etc/profile when running via ssh. (zsh-get-configuration-files): Always add .zshenv as it is never empty. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Saku Laesvuori 2023-07-11home: services: bash: Properly quote shell aliases....Fixes <https://issues.guix.gnu.org/63048>. Reported by Ekaitz Zarraga <ekaitz@elenq.tech>. * gnu/home/services.scm (with-shell-quotation-bindings): New procedure. (environment-variable-shell-definitions): Use it instead of inline copy. * gnu/home/services/shells.scm (bash-serialize-aliases): Use it. Add clause for 'literal-string?'. * tests/guix-home.sh: Add 'aliases' to 'home-bash-extension' and test it. Ludovic Courtès 2023-07-05home: Add inputrc service....* gnu/home/services/shells.scm (home-inputrc-service-type, home-inputrc-configuration): New variables. (serialize-inputrc-key-bindings, serialize-inputrc-variables, serialize-inputrc-conditional-constructs, serialize-inputrc-extra-content): New procedures. * doc/guix.texi (Shells Home Services): Document it. Efraim Flashner 2023-04-02services: replace bare serializers with (serializer ...)...* gnu/home/services/shells.scm (home-zsh-configuration)[environment-variables]: Use (serializer ...). (home-bash-configuration)[aliases, environment-variables]: Likewise. (home-fish-configuration)[abbreviations, aliases] [environment-variables]: Likewise. * gnu/services/audio.scm (mpd-configuration)[music-dir, playlist-dir] [endpoints, address, inputs, archive-plugins, input-cache-size] [decoders, filters, playlist-plugins]: Likewise. * gnu/services/linux.scm (fstrim-configuration)[extra-arguments]: Likewise. * gnu/services/security.scm (fail2ban-jail-configuration)[backend] [log-encoding, extra-content]: Likewise. * tests/services/configuration.scm: Update tests. ("serialize-configuration [deprecated]"): New test. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Bruno Victal