;; 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
Age | Commit message (Expand) | Author |
2022-08-10 | gnu: 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-01 | file-systems: Add 'cleanly-unmounted-ext2?'....* gnu/build/file-systems.scm (ext2-superblock-cleanly-unmounted?)
(cleanly-unmounted-ext2?): New procedures.
| Ludovic Courtès |
2022-04-08 | file-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-08 | mapped-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 |