vm-inherit-image 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. ;;; Configuration file for a virtual machine.
  2. ;;; Copyright © `(nth 5 (decode-time))` `user-full-name` <`user-mail-address`>
  3. ;;; Released under the GNU GPLv3 or any later version.
  4. (use-modules (gnu)
  5. (gnu services)
  6. (guix gexp)
  7. (guix gexp)
  8. (guix records)
  9. (ice-9 match)
  10. (ice-9 textual-ports)
  11. (srfi srfi-1)
  12. (srfi srfi-26))
  13. (use-package-modules admin certs curl dns linux ncurses ssh)
  14. (use-service-modules base dns networking shepherd ssh web)
  15. (define %home (getenv "HOME"))
  16. (define %vm
  17. (let ((os (load (string-append %home "/src/git.savannah.gnu.org/git/guix/gnu/system/examples/vm-image.tmpl"))))
  18. (operating-system
  19. (inherit os)
  20. (timezone "Europe/Moscow")
  21. (kernel-arguments '("console=ttyS0"))
  22. (users (cons (user-account
  23. (name "bob")
  24. (comment "Alice's brother")
  25. (group "users")
  26. (supplementary-groups '("wheel" "netdev"
  27. "audio" "video"))
  28. (home-directory "/home/bob")
  29. (password (crypt "secret" "bar")))
  30. (operating-system-users os)))
  31. (services (cons (dhcp-client-service)
  32. (operating-system-user-services os)))
  33. (packages (cons* curl #;knot openssh
  34. ncurses ;for ‘reset’ command in Bash
  35. strace tcpdump
  36. (operating-system-packages os)))
  37. (name-service-switch %mdns-host-lookup-nss))))
  38. %vm