diff --git a/services/self_host/nextcloud.nix b/services/self_host/nextcloud.nix index 1309b73..70648cf 100644 --- a/services/self_host/nextcloud.nix +++ b/services/self_host/nextcloud.nix @@ -16,38 +16,60 @@ in ]; users = { groups.datausers = { }; - users = { - nextcloud.extraGroups = [ "datausers" ]; + users.nextcloud.extraGroups = [ + "datausers" + ]; }; }; systemd.tmpfiles.rules = [ - "d /mnt/data 2770 root datausers -" - ]; - services = { - nextcloud = { - enable = true; - https = true; - package = pkgs.nextcloud32; - hostName = "nextcloud.enium.eu"; - datadir = dataDir; - config = { - adminpassFile = "/etc/nextcloud-pass.txt"; - adminuser = "OwnedByTheEniumTeam"; - dbtype = "sqlite"; - }; - settings = { - trusted_domains = [ - "192.168.1.254" - ]; - default_phone_region = "FR"; - }; + "d /mnt/data 2770 root datausers -" + ]; + services = { + nextcloud = { + enable = true; + https = true; + package = pkgs.nextcloud32; + hostName = "nextcloud.enium.eu"; + datadir = dataDir; + config = { + adminpassFile = "/etc/nextcloud-pass.txt"; + adminuser = "OwnedByTheEniumTeam"; + dbtype = "sqlite"; + }; + extraApps = { + oidc_login.enable = true; + }; + settings = { + trusted_domains = [ + "192.168.1.254" + "nextcloud.enium.eu" + ]; + default_phone_region = "FR"; + "oidc_login_provider_url" = "https://auth.enium.eu/application/o/nextcloud/"; + "oidc_login_client_id" = "xxxxxxxxxxxx"; + "oidc_login_client_secret" = "yyyyyyyyyyyy"; + "oidc_login_end_session_redirect" = true; + "oidc_login_auto_redirect" = true; + "oidc_login_hide_password_form" = true; + "oidc_login_use_id_token" = true; + "oidc_login_scope" = "openid profile email"; + "oidc_login_disable_registration" = false; + "oidc_login_button_text" = "Se connecter avec Enium"; + "oidc_login_default_group" = ""; + "oidc_login_unique_id_claim" = "sub"; + "oidc_login_mapping_displayname" = "name"; + "oidc_login_mapping_email" = "email"; + }; + }; + }; + nginx.virtualHosts."nextcloud.enium.eu" = { + enableACME = true; + forceSSL = true; + locations."~ \.php$".extraConfig = '' + fastcgi_pass unix:/run/phpfpm-nextcloud.sock; + ''; }; - nginx.virtualHosts."nextcloud.enium.eu".enableACME = true; - nginx.virtualHosts."nextcloud.enium.eu".forceSSL = true; - nginx.virtualHosts."nextcloud.enium.eu".locations."~ \.php$".extraConfig = '' - fastcgi_pass unix:/run/phpfpm-nextcloud.sock; - ''; }; }; }