(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.3") (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 "0l6dah4jwk9qh7l3a6ss8wi6qc9dhc10bhd62raa7xz3w0v6lw2y")))) (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 "0fqkz7kc7za17f4fpj6r4ynf2dml7dgdrv6ay5aawc33aszid2f4")))) (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 "00h9r2lxw4xsknhv0ac5b34jyx64v681pvxdl576hmn1z87w5vc6")))) (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 "1z6sv53ak3knfby149bkr7y97qkkdri7abbb9rbyy2bzs0cnzb0a")))) (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)))