(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 "0qghd712b7fvk5r0iycv0cxgh6wa5mmgw76s153z4rcr4a40xy2p")))) (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 "0405qfk7mjm5mjwz9rfac3mn26gf27ikipwjy3nclrs01ggxkrqv")))) (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 "0ba0waj90rm21g62gav4lagl8ygiv8brbpaf5fixlzlml51shwvf")))) (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 "0dr0k3fp9c6f378cl0sdnnvfl9dzz6q43wf06dbfaq4l9ac1wwrl")))) (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)))