(define-module (glicid packages authentik) #:use-module (guix build-system gnu) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix packages) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system copy) #:use-module (guix build-system go) #:use-module (gnu packages gl) #:use-module (gnu packages golang) #:use-module (gnu packages golang-build) #:use-module (gnu packages golang-check) #:use-module (gnu packages golang-web) #:use-module (gnu packages golang-xyz) ) (define %authentik-version "2025.6.2") (define %authentik-synopsis "authentik is an open-source Identity Provider that emphasizes flexibility and versatility, with support for a wide set of protocols. Dirty version.") (define %authentik-description "authentik is an open-source Identity Provider that emphasizes flexibility and versatility, with support for a wide set of protocols. Dirty version.") (define %authentik-homepage "https://github.com/goauthentik/authentik") (define %glicid-authentik-homepage "https://forgejo.glicid.fr/GLiCID/authentik-outpost-for-guix") (define-public authentik-outpost-ldap (package (name "authentik-outpost-ldap") (version %authentik-version) (source (origin (method url-fetch) (uri (string-append "https://forgejo.glicid.fr/api/packages/GLiCID/generic/authentik-outpost-for-guix/" version "/authentik-ldap-" version ".tar.xz")) (sha256 (base32 "1f4cn4wj9mk02h5rkimxdmabghn405dpli2241jh0nygc018knk8")))) (build-system copy-build-system) (arguments `(#:install-plan `(("ldap" "/sbin/")))) (synopsis (string-append %authentik-synopsis ". Check " %glicid-authentik-homepage " for more information.")) (description %authentik-description) (home-page %authentik-homepage) (license license:expat))) (define-public authentik-outpost-proxy (package (name "authentik-outpost-proxy") (version %authentik-version) (source (origin (method url-fetch) (uri (string-append "https://forgejo.glicid.fr/api/packages/GLiCID/generic/authentik-outpost-for-guix/" version "/authentik-proxy-" version ".tar.xz")) (sha256 (base32 "0cazlnd5n4jl8jhb61jn3rlc105ykxkcl35ngfaf3qfjhfazi0m3")))) (build-system copy-build-system) (arguments `(#:install-plan `(("proxy" "/sbin/")))) (synopsis (string-append %authentik-synopsis ". Check " %glicid-authentik-homepage " for more information.")) (description %authentik-description) (home-page %authentik-homepage) (license license:expat))) ; we need to patch internal/outpost/rac/guacd.go to remove hardcoded guacd path (define-public authentik-outpost-rac (package (name "authentik-outpost-rac") (version %authentik-version) (source (origin (method url-fetch) (uri (string-append "https://forgejo.glicid.fr/api/packages/GLiCID/generic/authentik-outpost-for-guix/" version "/authentik-rac-" version ".tar.xz")) (sha256 (base32 "0s0p284sg8c5dqkz513l9haf8x4gr600bslb3dxsyf51n7xz7y2i")))) (build-system copy-build-system) (arguments `(#:install-plan `(("rac" "/sbin/")))) (synopsis (string-append %authentik-synopsis ". Check " %glicid-authentik-homepage " for more information.")) (description %authentik-description) (home-page %authentik-homepage) (license license:expat))) (define-public authentik-outpost-radius (package (name "authentik-outpost-radius") (version %authentik-version) (source (origin (method url-fetch) (uri (string-append "https://forgejo.glicid.fr/api/packages/GLiCID/generic/authentik-outpost-for-guix/" version "/authentik-radius-" version ".tar.xz")) (sha256 (base32 "0jb7jd87rjnwqhqp73dqpx3l1snm1kqa2y3iak12n7zha6dg4yyx")))) (build-system copy-build-system) (arguments `(#:install-plan `(("radius" "/sbin/")))) (synopsis (string-append %authentik-synopsis ". Check " %glicid-authentik-homepage " for more information.")) (description %authentik-description) (home-page %authentik-homepage) (license license:expat)))