{"action":"created","comment":{"url":"https://api.github.com/repos/NixOS/nixpkgs/pulls/comments/219827704","pull_request_review_id":158093058,"id":219827704,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIxOTgyNzcwNA==","diff_hunk":"@@ -0,0 +1,411 @@\n+{ config, lib, pkgs, ... }@args:\n+\n+with lib;\n+\n+let\n+  cfg = config.services.nextcloud;\n+\n+  phpOptionsExtensions = ''\n+    ${optionalString cfg.caching.apcu \"extension=${pkgs.php71Packages.apcu}/lib/php/extensions/apcu.so\"}\n+    ${optionalString cfg.caching.redis \"extension=${pkgs.php71Packages.redis}/lib/php/extensions/redis.so\"}\n+    ${optionalString cfg.caching.memcached \"extension=${pkgs.php71Packages.memcached}/lib/php/extensions/memcached.so\"}\n+    zend_extension = opcache.so\n+    opcache.enable = 1\n+  '';\n+  phpOptions = {\n+    upload_max_filesize = cfg.maxUploadSize;\n+    post_max_size = cfg.maxUploadSize;\n+    memory_limit = cfg.maxUploadSize;\n+  } // cfg.phpOptions;\n+  phpOptionsStr = phpOptionsExtensions + (concatStringsSep \"\\n\" (mapAttrsToList (k: v: \"${k} = ${v}\") phpOptions));\n+\n+  occ = pkgs.writeScriptBin \"nextcloud-occ\" ''\n+    #! ${pkgs.stdenv.shell}\n+    cd ${pkgs.nextcloud}\n+    exec ${pkgs.sudo}/bin/sudo -u nextcloud \\\n+      NEXTCLOUD_CONFIG_DIR=\"${cfg.home}/config\" \\\n+      ${config.services.phpfpm.phpPackage}/bin/php \\\n+      -c ${pkgs.writeText \"php.ini\" phpOptionsStr}\\\n+      occ $*\n+  '';\n+\n+in {\n+  options.services.nextcloud = {\n+    enable = mkEnableOption \"nextcloud\";\n+    hostName = mkOption {\n+      type = types.str;\n+      description = \"FQDN for the nextcloud instance.\";\n+    };\n+    home = mkOption {\n+      type = types.str;\n+      default = \"/var/lib/nextcloud\";\n+      description = \"Storage path of nextcloud.\";\n+    };\n+    https = mkOption {\n+      type = types.bool;\n+      default = false;\n+      description = \"Enable if there is a TLS terminating proxy in front of nextcloud.\";\n+    };\n+\n+    maxUploadSize = mkOption {\n+      default = \"512M\";\n+      type = types.str;\n+      description = ''\n+        Defines the upload limit for files. This changes the relevant options\n+        in php.ini and nginx if enabled.\n+      '';\n+    };\n+\n+    skeletonDirectory = mkOption {\n+      default = \"\";\n+      type = types.str;\n+      description = ''\n+        The directory where the skeleton files are located. These files will be\n+        copied to the data directory of new users. Leave empty to not copy any\n+        skeleton files.\n+      '';\n+    };\n+\n+    nginx.enable = mkEnableOption \"nginx vhost management\";\n+\n+    webfinger = mkOption {\n+      type = types.bool;\n+      default = false;\n+      description = ''\n+        Enable this option if you plan on using the webfinger plugin.\n+        The appropriate nginx rewrite rules will be added to your configuration.\n+      '';\n+    };\n+\n+    phpOptions = mkOption {\n+      type = types.attrsOf types.str;\n+      default = {\n+        \"short_open_tag\" = \"Off\";\n+        \"expose_php\" = \"Off\";\n+        \"disable_functions\" = \"pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority\";\n+        \"error_reporting\" = \"E_ALL & ~E_DEPRECATED & ~E_STRICT\";\n+        \"display_errors\" = \"stderr\";\n+        \"opcache.enable_cli\" = \"1\";\n+        \"opcache.interned_strings_buffer\" = \"8\";\n+        \"opcache.max_accelerated_files\" = \"10000\";\n+        \"opcache.memory_consumption\" = \"128\";\n+        \"opcache.revalidate_freq\" = \"1\";\n+        \"opcache.fast_shutdown\" = \"1\";\n+        \"openssl.cafile\" = \"/etc/ssl/certs/ca-certificates.crt\";\n+        \"sendmail_path\" = \"/var/setuid-wrappers/sendmail -t -i\";\n+        \"catch_workers_output\" = \"yes\";\n+      };\n+      description = ''\n+        Options for PHP's php.ini file for nextcloud.\n+      '';\n+    };\n+\n+    autoconfig = {\n+      dbtype = mkOption {\n+        type = types.enum [ \"sqlite\" \"pgsql\" \"mysql\" ];\n+        default = \"sqlite\";\n+        description = \"Database type.\";\n+      };\n+      dbname = mkOption {\n+        type = types.str;\n+        default = \"nextcloud\";\n+        description = \"Database name.\";\n+      };\n+      dbuser = mkOption {\n+        type = types.str;\n+        default = \"nextcloud\";\n+        description = \"Database user.\";\n+      };\n+      dbpass = mkOption {\n+        type = types.nullOr types.str;\n+        default = null;\n+        description = ''\n+          Database password.  Use <literal>dbpassFile</literal> to avoid this\n+          being world-readable in the <literal>/nix/store</literal>.\n+        '';\n+      };\n+      dbpassFile = mkOption {\n+        type = types.nullOr types.str;\n+        default = null;\n+        description = ''\n+          The full path to a file that contains the database password.\n+        '';\n+      };\n+      dbhost = mkOption {\n+        type = types.str;\n+        default = \"localhost\";\n+        description = \"Database host.\";\n+      };\n+      dbtableprefix = mkOption {\n+        type = types.str;\n+        default = \"\";\n+        description = \"Table prefix in Nextcloud database.\";\n+      };\n+      adminlogin = mkOption {\n+        type = types.str;\n+        default = \"root\";\n+        description = \"Admin username.\";\n+      };\n+      adminpass = mkOption {\n+        type = types.nullOr types.str;\n+        default = null;\n+        description = ''\n+          Database password.  Use <literal>adminpassFile</literal> to avoid this\n+          being world-readable in the <literal>/nix/store</literal>.\n+        '';\n+      };\n+      adminpassFile = mkOption {\n+        type = types.nullOr types.str;\n+        default = null;\n+        description = ''\n+          The full path to a file that contains the admin's password.\n+        '';\n+      };\n+    };\n+\n+    caching = {\n+      apcu = mkOption {\n+        type = types.bool;\n+        default = true;\n+        description = ''\n+          Whether to load the APCu module into PHP.\n+        '';\n+      };\n+      redis = mkOption {\n+        type = types.bool;\n+        default = false;\n+        description = ''\n+          Whether to load the Redis module into PHP.\n+          You still need to enable Redis in your config.php.\n+          See https://docs.nextcloud.com/server/14/admin_manual/configuration_server/caching_configuration.html\n+        '';\n+      };\n+      memcached = mkOption {\n+        type = types.bool;\n+        default = false;\n+        description = ''\n+          Whether to load the Memcached module into PHP.\n+          You still need to enable Memcached in your config.php.\n+          See https://docs.nextcloud.com/server/14/admin_manual/configuration_server/caching_configuration.html\n+        '';\n+      };\n+    };\n+  };\n+\n+  config = mkIf cfg.enable (mkMerge [\n+    { assertions = let acfg = cfg.autoconfig; in [\n+        { assertion = ((acfg.dbpass != null || acfg.dbpassFile != null)\n+            && !(acfg.dbpass != null && acfg.dbpassFile != null));\n+          message = \"Please specify exactly one of dbpass or dbpassFile\";\n+        }\n+        { assertion = ((acfg.adminpass != null || acfg.adminpassFile != null)\n+            && !(acfg.adminpass != null && acfg.adminpassFile != null));\n+          message = \"Please specify exactly one of adminpass or adminpassFile\";\n+        }\n+      ];\n+    }\n+\n+    { systemd.timers.\"nextcloud-cron\" = {\n+        wantedBy = [ \"timers.target\" ];\n+        timerConfig.OnBootSec = \"5m\";\n+        timerConfig.OnUnitActiveSec = \"15m\";\n+        timerConfig.Unit = \"nextcloud-cron.service\";\n+      };\n+\n+      systemd.services = {\n+        \"nextcloud-setup\" = let\n+          overrideConfig = pkgs.writeText \"nextcloud-config.php\" ''\n+            <?php\n+            $CONFIG = [\n+              'apps_paths' => [\n+                [ 'path' => '${cfg.home}/apps', 'url' => '/apps', 'writable' => false ],\n+                [ 'path' => '${cfg.home}/store-apps', 'url' => '/store-apps', 'writable' => true ],\n+              ],\n+              'datadirectory' => '${cfg.home}/data',\n+              'skeletondirectory' => '${cfg.skeletonDirectory}',\n+              ${optionalString cfg.caching.apcu \"'memcache.local' => '\\\\OC\\\\Memcache\\\\APCu',\"}\n+              'log_type' => 'syslog',\n+            ];\n+          '';\n+          autoConfig = pkgs.writeText \"nextcloud-autoconfig.php\" (let\n+            acfg = cfg.autoconfig;\n+            adminpass = if acfg.adminpass == null\n+              then ''file_get_contents(\"${builtins.toString acfg.adminpassFile}\")''\n+              else ''\"${builtins.toString acfg.adminpass}\"'';\n+            dbpass = if acfg.dbpass == null\n+              then ''file_get_contents(\"${builtins.toString acfg.dbpassFile}\")''\n+              else ''\"${builtins.toString acfg.dbpass}\"'';\n+          in ''\n+            <?php\n+            $AUTOCONFIG = [\n+              \"dbtype\"        => \"${acfg.dbtype}\",\n+              \"dbname\"        => \"${acfg.dbname}\",\n+              \"dbuser\"        => \"${acfg.dbuser}\",\n+              \"dbpass\"        => ${dbpass},\n+              \"dbhost\"        => \"${acfg.dbhost}\",\n+              \"dbtableprefix\" => \"${acfg.dbtableprefix}\",\n+              \"adminlogin\"    => \"${acfg.adminlogin}\",\n+              \"adminpass\"     => ${adminpass},\n+              \"directory\"     => \"${cfg.home}/data\",\n+            ];\n+          '');\n+        in {\n+          wantedBy = [ \"multi-user.target\" ];\n+          before = [ \"phpfpm-nextcloud.service\" ];\n+          script = ''\n+            chmod og+x ${cfg.home}\n+            ln -sf ${pkgs.nextcloud}/apps ${cfg.home}/\n+            mkdir -p ${cfg.home}/config ${cfg.home}/data ${cfg.home}/store-apps\n+            ln -sf ${overrideConfig} ${cfg.home}/config/override.config.php\n+\n+            # Do not create autoconfig if already installed\n+            [ -e ${cfg.home}/config/config.php ] && exit 0\n+\n+            ln -sf ${autoConfig} ${cfg.home}/config/autoconfig.php\n+            chown -R nextcloud:nginx ${cfg.home}/config ${cfg.home}/data ${cfg.home}/store-apps","path":"nixos/modules/services/web-apps/nextcloud.nix","position":279,"original_position":265,"commit_id":"111b488f443df473e3ffee8a3c42149c98123ae1","original_commit_id":"40de96a5c2b075f767899f0da81dee922c8c9cf7","user":{"login":"globin","id":1447245,"node_id":"MDQ6VXNlcjE0NDcyNDU=","avatar_url":"https://avatars3.githubusercontent.com/u/1447245?v=4","gravatar_id":"","url":"https://api.github.com/users/globin","html_url":"https://github.com/globin","followers_url":"https://api.github.com/users/globin/followers","following_url":"https://api.github.com/users/globin/following{/other_user}","gists_url":"https://api.github.com/users/globin/gists{/gist_id}","starred_url":"https://api.github.com/users/globin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/globin/subscriptions","organizations_url":"https://api.github.com/users/globin/orgs","repos_url":"https://api.github.com/users/globin/repos","events_url":"https://api.github.com/users/globin/events{/privacy}","received_events_url":"https://api.github.com/users/globin/received_events","type":"User","site_admin":false},"body":"One cannot use the autoconfig.php with that AFAICS","created_at":"2018-09-24T13:07:01Z","updated_at":"2018-09-24T13:27:23Z","html_url":"https://github.com/NixOS/nixpkgs/pull/47159#discussion_r219827704","pull_request_url":"https://api.github.com/repos/NixOS/nixpkgs/pulls/47159","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/NixOS/nixpkgs/pulls/comments/219827704"},"html":{"href":"https://github.com/NixOS/nixpkgs/pull/47159#discussion_r219827704"},"pull_request":{"href":"https://api.github.com/repos/NixOS/nixpkgs/pulls/47159"}},"in_reply_to_id":219700475},"pull_request":{"url":"https://api.github.com/repos/NixOS/nixpkgs/pulls/47159","id":217439458,"node_id":"MDExOlB1bGxSZXF1ZXN0MjE3NDM5NDU4","html_url":"https://github.com/NixOS/nixpkgs/pull/47159","diff_url":"https://github.com/NixOS/nixpkgs/pull/47159.diff","patch_url":"https://github.com/NixOS/nixpkgs/pull/47159.patch","issue_url":"https://api.github.com/repos/NixOS/nixpkgs/issues/47159","number":47159,"state":"open","locked":false,"title":"nextcloud module: init","user":{"login":"eqyiel","id":3422442,"node_id":"MDQ6VXNlcjM0MjI0NDI=","avatar_url":"https://avatars2.githubusercontent.com/u/3422442?v=4","gravatar_id":"","url":"https://api.github.com/users/eqyiel","html_url":"https://github.com/eqyiel","followers_url":"https://api.github.com/users/eqyiel/followers","following_url":"https://api.github.com/users/eqyiel/following{/other_user}","gists_url":"https://api.github.com/users/eqyiel/gists{/gist_id}","starred_url":"https://api.github.com/users/eqyiel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eqyiel/subscriptions","organizations_url":"https://api.github.com/users/eqyiel/orgs","repos_url":"https://api.github.com/users/eqyiel/repos","events_url":"https://api.github.com/users/eqyiel/events{/privacy}","received_events_url":"https://api.github.com/users/eqyiel/received_events","type":"User","site_admin":false},"body":"###### Motivation for this change\r\nThis is https://github.com/NixOS/nixpkgs/pull/44994 with the requested changes from reviews.\r\n\r\nI don't think I have permission to push to that branch so I'm doing it this way.\r\n\r\n###### Things done\r\n\r\n<!-- Please check what applies. Note that these are not hard requirements but merely serve as information for reviewers. -->\r\n\r\n- [ ] Tested using sandboxing ([nix.useSandbox](http://nixos.org/nixos/manual/options.html#opt-nix.useSandbox) on NixOS, or option `sandbox` in [`nix.conf`](http://nixos.org/nix/manual/#sec-conf-file) on non-NixOS)\r\n- Built on platform(s)\r\n   - [x] NixOS\r\n   - [ ] macOS\r\n   - [ ] other Linux distributions\r\n- [ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside [nixos/tests](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests))\r\n- [ ] Tested compilation of all pkgs that depend on this change using `nix-shell -p nox --run \"nox-review wip\"`\r\n- [ ] Tested execution of all binary files (usually in `./result/bin/`)\r\n- [ ] Determined the impact on package closure size (by running `nix path-info -S` before and after)\r\n- [x] Fits [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/.github/CONTRIBUTING.md).\r\n\r\n---\r\n\r\n","created_at":"2018-09-22T04:58:11Z","updated_at":"2018-09-24T13:27:23Z","closed_at":null,"merged_at":null,"merge_commit_sha":"67f98af4903b098b5194fe4412fad29c6c2c8291","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":731735222,"node_id":"MDU6TGFiZWw3MzE3MzUyMjI=","url":"https://api.github.com/repos/NixOS/nixpkgs/labels/10.rebuild-darwin:%201-10","name":"10.rebuild-darwin: 1-10","color":"eeffee","default":false},{"id":731733923,"node_id":"MDU6TGFiZWw3MzE3MzM5MjM=","url":"https://api.github.com/repos/NixOS/nixpkgs/labels/10.rebuild-linux:%201-10","name":"10.rebuild-linux: 1-10","color":"eeffee","default":false},{"id":60265212,"node_id":"MDU6TGFiZWw2MDI2NTIxMg==","url":"https://api.github.com/repos/NixOS/nixpkgs/labels/6.topic:%20nixos","name":"6.topic: nixos","color":"fef2c0","default":false},{"id":290122884,"node_id":"MDU6TGFiZWwyOTAxMjI4ODQ=","url":"https://api.github.com/repos/NixOS/nixpkgs/labels/8.has:%20module%20(update)","name":"8.has: module (update)","color":"009800","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/NixOS/nixpkgs/pulls/47159/commits","review_comments_url":"https://api.github.com/repos/NixOS/nixpkgs/pulls/47159/comments","review_comment_url":"https://api.github.com/repos/NixOS/nixpkgs/pulls/comments{/number}","comments_url":"https://api.github.com/repos/NixOS/nixpkgs/issues/47159/comments","statuses_url":"https://api.github.com/repos/NixOS/nixpkgs/statuses/111b488f443df473e3ffee8a3c42149c98123ae1","head":{"label":"eqyiel:nextcloud","ref":"nextcloud","sha":"111b488f443df473e3ffee8a3c42149c98123ae1","user":{"login":"eqyiel","id":3422442,"node_id":"MDQ6VXNlcjM0MjI0NDI=","avatar_url":"https://avatars2.githubusercontent.com/u/3422442?v=4","gravatar_id":"","url":"https://api.github.com/users/eqyiel","html_url":"https://github.com/eqyiel","followers_url":"https://api.github.com/users/eqyiel/followers","following_url":"https://api.github.com/users/eqyiel/following{/other_user}","gists_url":"https://api.github.com/users/eqyiel/gists{/gist_id}","starred_url":"https://api.github.com/users/eqyiel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eqyiel/subscriptions","organizations_url":"https://api.github.com/users/eqyiel/orgs","repos_url":"https://api.github.com/users/eqyiel/repos","events_url":"https://api.github.com/users/eqyiel/events{/privacy}","received_events_url":"https://api.github.com/users/eqyiel/received_events","type":"User","site_admin":false},"repo":{"id":71031767,"node_id":"MDEwOlJlcG9zaXRvcnk3MTAzMTc2Nw==","name":"nixpkgs","full_name":"eqyiel/nixpkgs","private":false,"owner":{"login":"eqyiel","id":3422442,"node_id":"MDQ6VXNlcjM0MjI0NDI=","avatar_url":"https://avatars2.githubusercontent.com/u/3422442?v=4","gravatar_id":"","url":"https://api.github.com/users/eqyiel","html_url":"https://github.com/eqyiel","followers_url":"https://api.github.com/users/eqyiel/followers","following_url":"https://api.github.com/users/eqyiel/following{/other_user}","gists_url":"https://api.github.com/users/eqyiel/gists{/gist_id}","starred_url":"https://api.github.com/users/eqyiel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eqyiel/subscriptions","organizations_url":"https://api.github.com/users/eqyiel/orgs","repos_url":"https://api.github.com/users/eqyiel/repos","events_url":"https://api.github.com/users/eqyiel/events{/privacy}","received_events_url":"https://api.github.com/users/eqyiel/received_events","type":"User","site_admin":false},"html_url":"https://github.com/eqyiel/nixpkgs","description":"Nix Packages collection","fork":true,"url":"https://api.github.com/repos/eqyiel/nixpkgs","forks_url":"https://api.github.com/repos/eqyiel/nixpkgs/forks","keys_url":"https://api.github.com/repos/eqyiel/nixpkgs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/eqyiel/nixpkgs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/eqyiel/nixpkgs/teams","hooks_url":"https://api.github.com/repos/eqyiel/nixpkgs/hooks","issue_events_url":"https://api.github.com/repos/eqyiel/nixpkgs/issues/events{/number}","events_url":"https://api.github.com/repos/eqyiel/nixpkgs/events","assignees_url":"https://api.github.com/repos/eqyiel/nixpkgs/assignees{/user}","branches_url":"https://api.github.com/repos/eqyiel/nixpkgs/branches{/branch}","tags_url":"https://api.github.com/repos/eqyiel/nixpkgs/tags","blobs_url":"https://api.github.com/repos/eqyiel/nixpkgs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/eqyiel/nixpkgs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/eqyiel/nixpkgs/git/refs{/sha}","trees_url":"https://api.github.com/repos/eqyiel/nixpkgs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/eqyiel/nixpkgs/statuses/{sha}","languages_url":"https://api.github.com/repos/eqyiel/nixpkgs/languages","stargazers_url":"https://api.github.com/repos/eqyiel/nixpkgs/stargazers","contributors_url":"https://api.github.com/repos/eqyiel/nixpkgs/contributors","subscribers_url":"https://api.github.com/repos/eqyiel/nixpkgs/subscribers","subscription_url":"https://api.github.com/repos/eqyiel/nixpkgs/subscription","commits_url":"https://api.github.com/repos/eqyiel/nixpkgs/commits{/sha}","git_commits_url":"https://api.github.com/repos/eqyiel/nixpkgs/git/commits{/sha}","comments_url":"https://api.github.com/repos/eqyiel/nixpkgs/comments{/number}","issue_comment_url":"https://api.github.com/repos/eqyiel/nixpkgs/issues/comments{/number}","contents_url":"https://api.github.com/repos/eqyiel/nixpkgs/contents/{+path}","compare_url":"https://api.github.com/repos/eqyiel/nixpkgs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/eqyiel/nixpkgs/merges","archive_url":"https://api.github.com/repos/eqyiel/nixpkgs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/eqyiel/nixpkgs/downloads","issues_url":"https://api.github.com/repos/eqyiel/nixpkgs/issues{/number}","pulls_url":"https://api.github.com/repos/eqyiel/nixpkgs/pulls{/number}","milestones_url":"https://api.github.com/repos/eqyiel/nixpkgs/milestones{/number}","notifications_url":"https://api.github.com/repos/eqyiel/nixpkgs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/eqyiel/nixpkgs/labels{/name}","releases_url":"https://api.github.com/repos/eqyiel/nixpkgs/releases{/id}","deployments_url":"https://api.github.com/repos/eqyiel/nixpkgs/deployments","created_at":"2016-10-16T05:20:49Z","updated_at":"2018-09-24T12:05:40Z","pushed_at":"2018-09-24T12:07:45Z","git_url":"git://github.com/eqyiel/nixpkgs.git","ssh_url":"git@github.com:eqyiel/nixpkgs.git","clone_url":"https://github.com/eqyiel/nixpkgs.git","svn_url":"https://github.com/eqyiel/nixpkgs","homepage":null,"size":758032,"stargazers_count":0,"watchers_count":0,"language":"Nix","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"NixOS:master","ref":"master","sha":"f9197b9f63da8b6d9244c5a8e99507fdd294dcc5","user":{"login":"NixOS","id":487568,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ4NzU2OA==","avatar_url":"https://avatars3.githubusercontent.com/u/487568?v=4","gravatar_id":"","url":"https://api.github.com/users/NixOS","html_url":"https://github.com/NixOS","followers_url":"https://api.github.com/users/NixOS/followers","following_url":"https://api.github.com/users/NixOS/following{/other_user}","gists_url":"https://api.github.com/users/NixOS/gists{/gist_id}","starred_url":"https://api.github.com/users/NixOS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NixOS/subscriptions","organizations_url":"https://api.github.com/users/NixOS/orgs","repos_url":"https://api.github.com/users/NixOS/repos","events_url":"https://api.github.com/users/NixOS/events{/privacy}","received_events_url":"https://api.github.com/users/NixOS/received_events","type":"Organization","site_admin":false},"repo":{"id":4542716,"node_id":"MDEwOlJlcG9zaXRvcnk0NTQyNzE2","name":"nixpkgs","full_name":"NixOS/nixpkgs","private":false,"owner":{"login":"NixOS","id":487568,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ4NzU2OA==","avatar_url":"https://avatars3.githubusercontent.com/u/487568?v=4","gravatar_id":"","url":"https://api.github.com/users/NixOS","html_url":"https://github.com/NixOS","followers_url":"https://api.github.com/users/NixOS/followers","following_url":"https://api.github.com/users/NixOS/following{/other_user}","gists_url":"https://api.github.com/users/NixOS/gists{/gist_id}","starred_url":"https://api.github.com/users/NixOS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NixOS/subscriptions","organizations_url":"https://api.github.com/users/NixOS/orgs","repos_url":"https://api.github.com/users/NixOS/repos","events_url":"https://api.github.com/users/NixOS/events{/privacy}","received_events_url":"https://api.github.com/users/NixOS/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/NixOS/nixpkgs","description":"Nix Packages collection","fork":false,"url":"https://api.github.com/repos/NixOS/nixpkgs","forks_url":"https://api.github.com/repos/NixOS/nixpkgs/forks","keys_url":"https://api.github.com/repos/NixOS/nixpkgs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/NixOS/nixpkgs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/NixOS/nixpkgs/teams","hooks_url":"https://api.github.com/repos/NixOS/nixpkgs/hooks","issue_events_url":"https://api.github.com/repos/NixOS/nixpkgs/issues/events{/number}","events_url":"https://api.github.com/repos/NixOS/nixpkgs/events","assignees_url":"https://api.github.com/repos/NixOS/nixpkgs/assignees{/user}","branches_url":"https://api.github.com/repos/NixOS/nixpkgs/branches{/branch}","tags_url":"https://api.github.com/repos/NixOS/nixpkgs/tags","blobs_url":"https://api.github.com/repos/NixOS/nixpkgs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/NixOS/nixpkgs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/NixOS/nixpkgs/git/refs{/sha}","trees_url":"https://api.github.com/repos/NixOS/nixpkgs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/NixOS/nixpkgs/statuses/{sha}","languages_url":"https://api.github.com/repos/NixOS/nixpkgs/languages","stargazers_url":"https://api.github.com/repos/NixOS/nixpkgs/stargazers","contributors_url":"https://api.github.com/repos/NixOS/nixpkgs/contributors","subscribers_url":"https://api.github.com/repos/NixOS/nixpkgs/subscribers","subscription_url":"https://api.github.com/repos/NixOS/nixpkgs/subscription","commits_url":"https://api.github.com/repos/NixOS/nixpkgs/commits{/sha}","git_commits_url":"https://api.github.com/repos/NixOS/nixpkgs/git/commits{/sha}","comments_url":"https://api.github.com/repos/NixOS/nixpkgs/comments{/number}","issue_comment_url":"https://api.github.com/repos/NixOS/nixpkgs/issues/comments{/number}","contents_url":"https://api.github.com/repos/NixOS/nixpkgs/contents/{+path}","compare_url":"https://api.github.com/repos/NixOS/nixpkgs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/NixOS/nixpkgs/merges","archive_url":"https://api.github.com/repos/NixOS/nixpkgs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/NixOS/nixpkgs/downloads","issues_url":"https://api.github.com/repos/NixOS/nixpkgs/issues{/number}","pulls_url":"https://api.github.com/repos/NixOS/nixpkgs/pulls{/number}","milestones_url":"https://api.github.com/repos/NixOS/nixpkgs/milestones{/number}","notifications_url":"https://api.github.com/repos/NixOS/nixpkgs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/NixOS/nixpkgs/labels{/name}","releases_url":"https://api.github.com/repos/NixOS/nixpkgs/releases{/id}","deployments_url":"https://api.github.com/repos/NixOS/nixpkgs/deployments","created_at":"2012-06-04T02:49:46Z","updated_at":"2018-09-24T13:03:30Z","pushed_at":"2018-09-24T13:24:25Z","git_url":"git://github.com/NixOS/nixpkgs.git","ssh_url":"git@github.com:NixOS/nixpkgs.git","clone_url":"https://github.com/NixOS/nixpkgs.git","svn_url":"https://github.com/NixOS/nixpkgs","homepage":null,"size":857566,"stargazers_count":2821,"watchers_count":2821,"language":"Nix","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":3035,"mirror_url":null,"archived":false,"open_issues_count":3339,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":3035,"open_issues":3339,"watchers":2821,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/NixOS/nixpkgs/pulls/47159"},"html":{"href":"https://github.com/NixOS/nixpkgs/pull/47159"},"issue":{"href":"https://api.github.com/repos/NixOS/nixpkgs/issues/47159"},"comments":{"href":"https://api.github.com/repos/NixOS/nixpkgs/issues/47159/comments"},"review_comments":{"href":"https://api.github.com/repos/NixOS/nixpkgs/pulls/47159/comments"},"review_comment":{"href":"https://api.github.com/repos/NixOS/nixpkgs/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/NixOS/nixpkgs/pulls/47159/commits"},"statuses":{"href":"https://api.github.com/repos/NixOS/nixpkgs/statuses/111b488f443df473e3ffee8a3c42149c98123ae1"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"globin"}}