;; This is an operating system configuration template ;; for a "bare bones" setup, with no X11 display server. (use-modules (gnu)) (use-service-modules networking ssh) (use-package-modules admin curl networking screen) (operating-system (host-name "ruby-guard-5545") (timezone "Europe/Budapest") (locale "en_US.utf8") ;; Boot in "legacy" BIOS mode, 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) (target "/dev/sdX"))) (file-systems (cons (file-system (device (file-system-label "my-root")) (mount-point "/") (type "ext4")) %base-file-systems)) (users (cons (user-account (name "alice") (comment "Bob's sister") (group "users") ;; adding her to the yggdrasil group means she can use ;; yggdrasilctl to modify the configuration (supplementary-groups '("wheel" "yggdrasil"))) %base-user-accounts)) ;; Globally-installed packages. (packages (cons* screen curl %base-packages)) ;; Add services to the baseline: a DHCP client and ;; an SSH server. ;; If you add an /etc/yggdrasil-private.conf, you can log in to ssh ;; using your Yggdrasil IPv6 address from another machine running Yggdrasil. ;; Alternatively, the client can sit behind a router that has Yggdrasil. ;; That file is specifically _not_ handled by Guix, because we don't want its ;; contents to sit in the world-readable /gnu/store. (services (append (list (service dhcp-client-service-type) (service yggdrasil-service-type (yggdrasil-configuration (log-to 'stdout) (log-level 'debug) (autoconf? #f) (json-config ;; choose a few from ;; https://github.com/yggdrasil-network/public-peers '((peers . #("tcp://1.2.3.4:1337")))) (config-file #f))) (service openssh-service-type (openssh-configuration (port-number 2222)))) %base-services))) 16b4d9a8a038b8d9edd'>build/file-systems.scm
AgeCommit message (Expand)Author
2022-08-10gnu: system: file-systems: Add shared flag....* gnu/build/file-systems.scm (mount-flags->bit-mask, mount-file-system): Handle shared flag. * gnu/system/file-systems.scm (invalid-file-system-flags): Add shared to known flags. * guix/build/syscalls.scm (MS_SHARED): New variable. * doc/guix.texi (File Systems): Document shared flag. Oleg Pykhalov
2022-07-01file-systems: Add 'cleanly-unmounted-ext2?'....* gnu/build/file-systems.scm (ext2-superblock-cleanly-unmounted?) (cleanly-unmounted-ext2?): New procedures. Ludovic Courtès
2022-04-08file-systems: Invoke fsck tools with 'system*/tty'....This ensures those programs, if invoked by shepherd (where standard input is /dev/null), can still interact with the user if needed. * gnu/build/file-systems.scm (check-ext2-file-system) (check-bcachefs-file-system, check-btrfs-file-system): (check-fat-file-system, check-jfs-file-system): (check-f2fs-file-system, check-ntfs-file-system): (check-xfs-file-system): Use 'system*/tty' instead of 'system*'. Ludovic Courtès
2022-04-08mapped-devices: Ensure 'cryptsetup open' gets a tty....Fixes <https://issues.guix.gnu.org/54770>. Regression introduced in 400c9ed3d779308e56038305d40cd93acb496180. Previously, for an encrypted /home (say), "cryptsetup open" would be invoked by shepherd, with /dev/null as its standard input. It would thus run in non-interactive mode and, instead of asking for a passphrase, fail with: Nothing to read on input. This change ensures it runs in interactive mode. * gnu/build/file-systems.scm (system*/console, system*/tty): New procedures. * gnu/system/mapped-devices.scm (open-luks-device): Use 'system*/tty' instead of 'system*'. Ludovic Courtès