diff options
author | techchud <protrude_paying969@simplelogin.com> | 2025-09-07 03:14:05 -0500 |
---|---|---|
committer | techchud <protrude_paying969@simplelogin.com> | 2025-09-07 03:14:05 -0500 |
commit | 556ac97006ca8ea632aa77c0dd32c4adba59b5fe (patch) | |
tree | 766cbcf0ab94403ca3a948983e52560a4110d475 | |
parent | edb987ed8fc22aa02390091d48e1c4ea7c07f8f8 (diff) | |
download | guix-techchud-556ac97006ca8ea632aa77c0dd32c4adba59b5fe.tar.gz guix-techchud-556ac97006ca8ea632aa77c0dd32c4adba59b5fe.tar.bz2 guix-techchud-556ac97006ca8ea632aa77c0dd32c4adba59b5fe.zip |
morph for managing nix servers added
-rw-r--r-- | devops.scm | 120 |
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))) + |