aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gn/deploy/machines.scm4
-rw-r--r--gn/deploy/machines/myserver.scm50
2 files changed, 54 insertions, 0 deletions
diff --git a/gn/deploy/machines.scm b/gn/deploy/machines.scm
index 9d7be62..b54f2f1 100644
--- a/gn/deploy/machines.scm
+++ b/gn/deploy/machines.scm
@@ -5,6 +5,7 @@
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (guix download)
+ #:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
@@ -53,6 +54,9 @@
; (copy-recursively nginx-etc target)
(copy-file (string-append nginx-etc "/nginx.conf")
(string-append target "/nginx.conf"))
+ (plain-file "sudoers" "\
+root ALL=(ALL) ALL
+%wheel ALL=(ALL) ALL\n")
#t))))
(home-page "http://git.genenetwork.org/pjotrp/guix-bioinformatics")
(synopsis "Nginx configuration")
diff --git a/gn/deploy/machines/myserver.scm b/gn/deploy/machines/myserver.scm
new file mode 100644
index 0000000..4f30a5b
--- /dev/null
+++ b/gn/deploy/machines/myserver.scm
@@ -0,0 +1,50 @@
+;; 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 screen)
+
+(operating-system
+ (host-name "komputilo")
+ (timezone "Europe/Berlin")
+ (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))
+
+ ;; This is where user accounts are specified. The "root"
+ ;; account is implicit, and is initially created with the
+ ;; empty password.
+ (users (cons (user-account
+ (name "alice")
+ (comment "Bob's sister")
+ (group "users")
+
+ ;; Adding the account to the "wheel" group
+ ;; makes it a sudoer. Adding it to "audio"
+ ;; and "video" allows the user to play sound
+ ;; and access the webcam.
+ (supplementary-groups '("wheel"
+ "audio" "video")))
+ %base-user-accounts))
+
+ ;; Globally-installed packages.
+ (packages (cons screen %base-packages))
+
+ ;; Add services to the baseline: a DHCP client and
+ ;; an SSH server.
+ (services (append (list (service dhcp-client-service-type)
+ (service openssh-service-type
+ (openssh-configuration
+ (port-number 2222))))
+ %base-services)))