summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortechchud <protrude_paying969@simplelogin.com>2025-09-07 03:14:05 -0500
committertechchud <protrude_paying969@simplelogin.com>2025-09-07 03:14:05 -0500
commit556ac97006ca8ea632aa77c0dd32c4adba59b5fe (patch)
tree766cbcf0ab94403ca3a948983e52560a4110d475
parentedb987ed8fc22aa02390091d48e1c4ea7c07f8f8 (diff)
downloadguix-techchud-556ac97006ca8ea632aa77c0dd32c4adba59b5fe.tar.gz
guix-techchud-556ac97006ca8ea632aa77c0dd32c4adba59b5fe.tar.bz2
guix-techchud-556ac97006ca8ea632aa77c0dd32c4adba59b5fe.zip
morph for managing nix servers added
-rw-r--r--devops.scm120
1 files changed, 120 insertions, 0 deletions
diff --git a/devops.scm b/devops.scm
new file mode 100644
index 0000000..0068ee7
--- /dev/null
+++ b/devops.scm
@@ -0,0 +1,120 @@
+(define-module (devops)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix build-system go)
+ #:use-module (guix build utils)
+ #:use-module (guix packages)
+ #:use-module (gnu packages)
+ #:use-module (guix git-download)
+ #:use-module (gnu packages golang)
+ #:use-module (gnu packages golang-build)
+ #:use-module (gnu packages golang-xyz)
+ )
+
+(define-public morph
+ (package
+ (name "morph")
+ (version "1.8.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/DBCDK/morph")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0kwpp8imn6a3wzb81mpx1pvgcpfyylgjz861w7vssjkk95bav992"))
+ (patches (search-patches "aux-files/morph/fix-kingpin-path.patch"))
+ ))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go go-1.24
+ #:tests? #f
+ #:import-path "github.com/DBCDK/morph"))
+ (propagated-inputs (list go-golang-org-x-crypto go-github-com-gobwas-glob
+ go-github-com-alecthomas-kingpin-v2-morphified
+ go-github-com-mattes-go-expand-tilde
+ go-github-com-alecthomas-template
+ ))
+ (home-page "https://github.com/DBCDK/morph")
+ (synopsis "morph")
+ (description
+ "Morph is a tool for managing existing @code{NixOS} hosts - basically a fancy
+ wrapper around @@code{nix-build}, @@code{nix copy}, @@code{nix-env},
+ @@code{/nix/store/.../bin/switch-to-configuration}, @@code{scp} and more. Morph
+ supports updating multiple hosts in a row, and with support for health checks
+ makes it fairly safe to do so.")
+ (license license:expat)))
+
+(define-public go-github-com-alecthomas-kingpin-v2-morphified
+ (package
+ (inherit go-github-com-alecthomas-kingpin-v2)
+ (name "go-github-com-alecthomas-kingpin-v2-morphified")
+ (version "8554767bc91254c59c7297a99e9867c770e4eadb")
+ (arguments
+ (list
+ #:go go-1.24
+ #:tests? #f
+ #:import-path "github.com/alecthomas/kingpin/v2"))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/DBCDK/kingpin")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "05hfpgylv5mfnjz2mdd3jl8p3psmczvdbs4ydf9xvvc17c9mlrpq"))))
+ (inputs (modify-inputs (package-inputs go-github-com-alecthomas-kingpin-v2)
+ (prepend go-github-com-mattes-go-expand-tilde go-github-com-alecthomas-template)))
+ ))
+
+
+(define-public go-github-com-alecthomas-template
+ (package
+ (name "go-github-com-alecthomas-template")
+ (version "0.0.0-20190718012654-fb15b899a751")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/alecthomas/template")
+ (commit (go-version->git-ref version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1vlasv4dgycydh5wx6jdcvz40zdv90zz1h7836z7lhsi2ymvii26"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:tests? #f
+ #:go go-1.24
+ #:import-path "github.com/alecthomas/template"))
+ (home-page "https://github.com/alecthomas/template")
+ (synopsis "Go's")
+ (description
+ "Package template implements data-driven templates for generating textual output.")
+ (license license:bsd-3)))
+
+(define-public go-github-com-mattes-go-expand-tilde
+ (package
+ (name "go-github-com-mattes-go-expand-tilde")
+ (version "1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mattes/go-expand-tilde")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "06xrp05njwam4sn031fkmd4gym5wfsw5q0v24nqhs4883lsx9dwq"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go go-1.24
+ #:import-path "gopkg.in/mattes/go-expand-tilde.v1"))
+ (home-page "https://github.com/mattes/go-expand-tilde")
+ (synopsis #f)
+ (description #f)
+ (license #f)))
+