summaryrefslogtreecommitdiff
path: root/guix
diff options
context:
space:
mode:
Diffstat (limited to 'guix')
-rw-r--r--guix/theodora.scm88
1 files changed, 45 insertions, 43 deletions
diff --git a/guix/theodora.scm b/guix/theodora.scm
index 94ad118..75c2808 100644
--- a/guix/theodora.scm
+++ b/guix/theodora.scm
@@ -25,17 +25,17 @@
(comment "Thanos Apollo")
(group "users")
(home-directory "/home/thanos")
- (supplementary-groups '("wheel" "netdev" "audio" "video" "docker")))
+ (supplementary-groups '("wheel" "netdev" "audio" "video" "docker" "git-daemon")))
(user-account
(name "git")
(comment "Git user")
(group "users")
(home-directory "/home/git")
- (supplementary-groups '("netdev")))
+ (supplementary-groups '("netdev" "git-daemon")))
%base-user-accounts))
(packages
(append (map specification->package '("docker" "dbus" "docker-cli" "sqlite"
- "docker-compose"))
+ "docker-compose" "cloudflared" "nginx"))
%base-packages))
(services
(append (list
@@ -45,18 +45,6 @@
(service tailscale-service-type)
- ;; (service gitolite-service-type
- ;; (gitolite-configuration
- ;; (admin-pubkey (plain-file
- ;; "thanosapollo.pub"
- ;; "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDWbBxe1gu9IQEKSIu22Xz7n/w/kCHWl/+7jgDd2YBeqcnIZ3d/s6TGIFDlrZQpSjwkFHke78jk6OW2/LzGn7MH0mYldqdUlbBrAWK1INeQPsdE6bPysKjufLt/E18as1E+gEd1H4lcw63SU2jr+hm/XMU/pK7sCFEbu1n2kAv5qedg6ik0+Ts9y3U9W11DzShATg1TaotgcXvkO+Iaup7wsaPYfUp6MkNBEE9dXg3hrUrtjozlr9bIfcpLwwkG/ZpQJdSPcB/6X9dBg3Crop6iK272vlyvmGohBrvkvuC8EpDVZu+i5xfwr1VAv/kWKdQQyovlJLHC6+S5gGLIE9RC8J5rHSrUkuOcQOhwvEVXThLbtwiXA3ozsyM6Mh/5jVIKc8erqvLrC9+dGh98mAajme4TGFw/agZ5uo/uKehNFGwBEqjXQHFJfjmW0OhjAtNLg2/4E7TuTV+0qtvvxPLEOKiuHDWsVC06OFj5UbLpvMR790j1WhODHVcVlKskop8= thanos@zeus"))
- ;; (rc-file
- ;; (gitolite-rc-file
- ;; (umask #o0027)
- ;; (git-config-keys ".*")
- ;; ;; (unsafe-patt "^$")
- ;; ))))
-
(service git-daemon-service-type
(git-daemon-configuration
(export-all? #t)
@@ -66,13 +54,45 @@
(service cgit-service-type
(cgit-configuration
(root-desc "Δωρεὰν ἐλάβετε, δωρεὰν δότε. | Freely you have received; freely give. (Mathew 10:8)")
- (project-list '("dotfiles" "gnosis" "yeetube" "org-gnosis"
- "hecate" "pcmpl-emerge" "pcmpl-rc" "hunspell-dict-el" "hunspell-dict-en-med"
- "pcmpl-tailscale" "greek-polytonic.el" "org-gnosis-ui" "hunspell-dict-el-polytonic"))
+ (project-list
+ '("dotfiles" "gnosis" "yeetube" "org-gnosis"
+ "hecate" "pcmpl-emerge" "pcmpl-rc" "hunspell-dict-el" "hunspell-dict-en-med"
+ "pcmpl-tailscale" "greek-polytonic.el" "org-gnosis-ui" "hunspell-dict-el-polytonic"))
(repository-directory "/srv/git")
(root-title "Thanos Apollo | Git server")
(enable-index-owner? #f)
- (clone-prefix '("https://git.thanosapollo.org"))))
+ (enable-http-clone? #t) ;; change this to #f when we get git-daemon working properly
+ (clone-prefix '("https://git.thanosapollo.org"))
+ (nginx
+ (list
+ (nginx-server-configuration
+ (server-name '("git.thanosapollo.org"))
+ (root cgit)
+ (locations
+ (list
+ (nginx-location-configuration
+ (uri "@cgit")
+ (body '("fastcgi_param SCRIPT_FILENAME $document_root/lib/cgit/cgit.cgi;"
+ "fastcgi_param PATH_INFO $uri;"
+ "fastcgi_param QUERY_STRING $args;"
+ "fastcgi_param HTTP_HOST $server_name;"
+ "fastcgi_pass 127.0.0.1:9000;")))
+ (nginx-location-configuration
+ (uri "/.git/")
+ (body '("fastcgi_param SCRIPT_FILENAME $document_root/lib/cgit/cgit.cgi;"
+ "fastcgi_param GIT_HTTP_EXPORT_ALL 1;"
+ "fastcgi_param GIT_PROJECT_ROOT /srv/git;"
+ "fastcgi_param HOME /srv/git;"
+ "fastcgi_param PATH_INFO $uri;"
+ "fastcgi_pass unix:/run/fcgiwrap.socket;")))
+ (git-http-nginx-location-configuration
+ (git-http-configuration
+ (uri-path "/")
+ (export-all? #t)))))
+ (try-files (list "$uri" "@cgit"))
+ (listen '("80"))
+ (ssl-certificate #f)
+ (ssl-certificate-key #f))))))
(service nginx-service-type
(nginx-configuration
@@ -80,13 +100,7 @@
(list (nginx-server-configuration
(server-name '("thanosapollo.org"))
(root "/srv/http/thanosapollo.org")
- (listen '("*:8000"))
- (ssl-certificate #f)
- (ssl-certificate-key #f))
- (nginx-server-configuration
- (server-name '("bebliotheke.thanosapollo.org"))
- (root "/srv/http/bebliotheke")
- (listen '("*:8001"))
+ (listen '("80"))
(ssl-certificate #f)
(ssl-certificate-key #f))))))
@@ -98,20 +112,7 @@
(service ntp-service-type)
(service cups-service-type)
(service containerd-service-type)
- (service docker-service-type)
- (service oci-container-service-type
- (list
- ;; (oci-container-configuration
- ;; (image "gitea/gitea")
- ;; (network "host")
- ;; (volumes
- ;; '(("/home/git/data" . "/gitea")
- ;; ("/etc/timezone" . "/etc/timezone")
- ;; ("/etc/localtime" . "/etc/localtime")))
- ;; (ports
- ;; '(("3000" . "3000")
- ;; ("22" . "222"))))
- )))
+ (service docker-service-type))
%base-services))
(bootloader (bootloader-configuration
(bootloader grub-efi-bootloader)
@@ -119,15 +120,16 @@
(keyboard-layout keyboard-layout)))
(swap-devices (list (swap-space
(target (uuid
- "cc0005c6-0cae-4a38-ae3c-ae32009c7788")))))
+ "630773c3-a65d-4b80-9485-04f9760a6b8c")))))
+
(file-systems (cons* (file-system
(mount-point "/boot/efi")
- (device (uuid "54F2-0DFC"
+ (device (uuid "84FE-6DBB"
'fat32))
(type "vfat"))
(file-system
(mount-point "/")
(device (uuid
- "3575b20f-398d-4f67-9f7e-bd793a0ca332"
+ "9f93a61b-76dc-4b68-8e55-e694f02b6ba9"
'ext4))
(type "ext4")) %base-file-systems)))