diff --git a/.gitmodules b/.gitmodules index d108718..8b5d265 100644 --- a/.gitmodules +++ b/.gitmodules @@ -11,3 +11,6 @@ [submodule "vobject"] path = vobject url = git@github.com:sabre-io/vobject.git +[submodule "circles"] + path = circles + url = https://github.com/nextcloud/circles.git diff --git a/calendar b/calendar index 3548c55..e72d225 160000 --- a/calendar +++ b/calendar @@ -1 +1 @@ -Subproject commit 3548c55b17b14f40c7f75b439e85e87b685717fa +Subproject commit e72d2259dc9a624771a417725c388de1ae57872d diff --git a/circles b/circles new file mode 160000 index 0000000..f3b38fc --- /dev/null +++ b/circles @@ -0,0 +1 @@ +Subproject commit f3b38fc5c96ce3f0c05b4df95a718724d109f6f1 diff --git a/dav b/dav index 8e09bff..406f688 160000 --- a/dav +++ b/dav @@ -1 +1 @@ -Subproject commit 8e09bff0d50ecdc3c68b3dffa59302c1d57d5f9d +Subproject commit 406f688f040ec5aef04a78b6e525805682bd81f3 diff --git a/flake.lock b/flake.lock index 579ad28..2c2db3f 100644 --- a/flake.lock +++ b/flake.lock @@ -1,12 +1,15 @@ { "nodes": { "flake-utils": { + "inputs": { + "systems": "systems" + }, "locked": { - "lastModified": 1678901627, - "narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=", + "lastModified": 1689068808, + "narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=", "owner": "numtide", "repo": "flake-utils", - "rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6", + "rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4", "type": "github" }, "original": { @@ -17,16 +20,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1683408522, - "narHash": "sha256-9kcPh6Uxo17a3kK3XCHhcWiV1Yu1kYj22RHiymUhMkU=", + "lastModified": 1689431009, + "narHash": "sha256-hPgQCRWP5q/Xc4qOIP3c2krR9nQua78+t9EDiuey5nc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "897876e4c484f1e8f92009fd11b7d988a121a4e7", + "rev": "af8279f65fe71ce5a448408034a8c06e2b4b2c66", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-unstable", + "ref": "nixos-23.05", "repo": "nixpkgs", "type": "github" } @@ -36,6 +39,21 @@ "flake-utils": "flake-utils", "nixpkgs": "nixpkgs" } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 0f0906f..f62700a 100644 --- a/flake.nix +++ b/flake.nix @@ -1,7 +1,6 @@ { inputs = { - # FIXME: Switch to 23.05 when phpunit released - nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05"; # Required for multi platform support flake-utils.url = "github:numtide/flake-utils"; }; diff --git a/server b/server index 3d4015a..8cfcb8e 160000 --- a/server +++ b/server @@ -1 +1 @@ -Subproject commit 3d4015ae4dc079d1a2be0d3a573edef20264d701 +Subproject commit 8cfcb8e2a2f9ba1bbe993161f00d7dcebf07708f diff --git a/vm-nextcloud.nix b/vm-nextcloud.nix index 5928ec9..ee55ede 100644 --- a/vm-nextcloud.nix +++ b/vm-nextcloud.nix @@ -12,26 +12,24 @@ # FIXME disabledModules = [ "services/web-apps/nextcloud.nix" - "services/mail/maddy.nix" ]; imports = [ - ./nextcloud.nix - "${fetchTarball "https://github.com/NixOS/nixpkgs/archive/master.tar.gz"}/nixos/modules/services/mail/maddy.nix" - ]; + ./nextcloud.nix ]; nixpkgs = { overlays = [ (self: super: { # Remove first run wizard and password policy check from Nextcloud # package - nextcloud26 = super.nextcloud26.overrideAttrs (oldAttrs: rec { - patches = []; - src = ./server; + nextcloud27 = super.nextcloud27.overrideAttrs (oldAttrs: rec { + #patches = []; + #src = ./server; installPhase = oldAttrs.installPhase + '' mkdir -p $out/ cp -R . $out/ #rm -r $out/apps/firstrunwizard #rm -r $out/apps/password_policy + rm -r $out/apps/circles ''; dontBuild = true; }); @@ -42,12 +40,12 @@ # Setup Nextcloud including apps services.nextcloud = { enable = true; - package = pkgs.nextcloud26; + package = pkgs.nextcloud27; hostName = "localhost"; - #extraApps = with pkgs.nextcloud26Packages.apps; { - # inherit calendar; + #extraApps = with pkgs.nextcloud27Packages.apps; { + # inherit activity; #}; - extraAppsEnable = true; + #extraAppsEnable = true; config = { adminuser = "admin"; adminpassFile = "${pkgs.writeText "adminpass" "test123"}"; @@ -64,26 +62,16 @@ "xdebug.start_with_request" = "yes"; "xdebug.idekey" = "ECLIPSE"; }; - appstoreEnable = false; - caching = { - redis = true; - apcu = false; - }; + appstoreEnable = true; + configureRedis = true; + caching.apcu = false; extraOptions = { mail_smtpmode = "sendmail"; mail_sendmailmode = "pipe"; - debug = true; - logLevel = 0; + log_type = "syslog"; + syslog_tag = "Nextcloud"; + loglevel = 0; trusted_domains = [ "10.100.100.1" ]; - redis = { - host = "/run/redis-nextcloud/redis.sock"; - port = 0; - }; - memcache = { - local = "\\OC\\Memcache\\Redis"; - distributed = "\\OC\\Memcache\\Redis"; - locking = "\\OC\\Memcache\\Redis"; - }; phpOptions = { short_open_tag = "Off"; expose_php = "Off"; @@ -100,41 +88,44 @@ "openssl.cafile" = "/etc/ssl/certs/ca-certificates.crt"; catch_workers_output = "yes"; }; - apps_paths = [ - { - path = "/var/lib/nextcloud/nix-apps"; - url = "/nix-apps"; - writeable = false; - } - { - path = "/var/lib/nextcloud/server/apps"; - url = "/apps"; - writeable = false; - } - ]; + # apps_paths = [ + # { + # path = "/var/lib/nextcloud/nix-apps"; + # url = "/nix-apps"; + # writeable = false; + # } + # { + # path = "/var/lib/nextcloud/server/apps"; + # url = "/apps"; + # writeable = false; + # } + # ]; }; }; # Mount our local development repositories into the VM nixos-shell.mounts.extraMounts = { - "/var/lib/nextcloud/server" = { - target = ./server; - cache = "none"; - }; - "/var/lib/nextcloud/server/apps/calendar" = { - target = ./calendar; - cache = "none"; - }; - "/var/lib/nextcloud/server/3rdparty/sabre/dav" = { - target = ./dav; + "/var/lib/nextcloud/store-apps/circles" = { + target = ./circles; cache = "none"; }; }; - services.nginx.virtualHosts."localhost".root = lib.mkForce "/var/lib/nextcloud/server"; - services.redis.servers.nextcloud = { - enable = true; - user = "nextcloud"; - port = 0; - }; + # "/var/lib/nextcloud/server" = { + # target = ./server; + # cache = "none"; + # }; + # "/var/lib/nextcloud/server/apps/calendar" = { + # target = ./calendar; + # cache = "none"; + # }; + # "/var/lib/nextcloud/server/apps/activity" = { + # target = ./activity; + # cache = "none"; + # }; + # "/var/lib/nextcloud/server/3rdparty/sabre/dav" = { + # target = ./dav; + # cache = "none"; + # }; + #services.nginx.virtualHosts."localhost".root = lib.mkForce "/var/lib/nextcloud/server"; # Setup mail server services.maddy = { @@ -156,11 +147,11 @@ "user2@localhost" "admin@localhost" ]; - ensureCredentials = [ + ensureCredentials = { "user1@localhost".passwordFile = "${pkgs.writeText "password" "test123"}"; "user2@localhost".passwordFile = "${pkgs.writeText "password" "test123"}"; "admin@localhost".passwordFile = "${pkgs.writeText "password" "test123"}"; - ]; + }; }; # Configure local mail delivery @@ -200,16 +191,7 @@ wantedBy = [ "multi-user.target" ]; }; - # Required for php unit testing - environment.systemPackages = with pkgs; [ php sqlite htop ]; - # FIXME Package phpunit? - # Inside /var/lib/nextcloud/server run - # composer require phpunit/phpunit - environment.interactiveShellInit = '' - export PATH="$PATH:/var/lib/nextcloud/server/lib/composer/bin" - ''; - - system.stateVersion = "22.11"; + system.stateVersion = "23.05"; documentation.info.enable = false; documentation.man.enable = false;