{"action":"created","comment":{"url":"https://api.github.com/repos/NixOS/nixpkgs/pulls/comments/84592042","pull_request_review_id":5361946,"id":84592042,"diff_hunk":"@@ -0,0 +1,262 @@\n+{ config, lib, pkgs, ... }:\n+\n+with lib;\n+\n+let\n+\n+  setupScript = ''\n+    ## locks\n+    mkdir -p -m 0755 /var/lock/uucp\n+    chown \"uucp:uucp\" \"/var/lock/uucp\"\n+    ## etc\n+    cp -r ${pkgs.hylafaxp}/share/hylafax/etc/hylafax /etc\n+    cat ${_pagesizes} - > /etc/hylafax/pagesizes\n+    chown -R \"uucp:uucp\" \"/etc/hylafax\"\n+    chmod -R 0755 /etc/hylafax\n+    ## spool\n+    cp -r ${pkgs.hylafaxp}/share/hylafax/var/spool/hylafax /var/spool\n+    ${if (config.services.hylafaxp.config != \"\") then \"cat ${_config} - > /var/spool/hylafax/etc/config\" else \"\"}\n+    ${if (config.services.hylafaxp.hfaxd.hosts != \"\") then \"cat ${_hosts_hfaxd} - > /var/spool/hylafax/etc/hosts.hfaxd\" else \"\"}\n+    ${if (config.services.hylafaxp.faxDispatch != \"\") then \"cat ${_FaxDispatch} - > /var/spool/hylafax/etc/FaxDispatch\" else \"\"}\n+    ${pkgs.ghostscript}/bin/gs -q -sDEVICE=tiffg3 -sFONTPATH=\"${pkgs.ghostscript}/share/ghostscript/fonts ${pkgs.ghostscript}/share/ghostscript/${pkgs.ghostscript.version}/Resource/Init ${pkgs.ghostscript}/share/ghostscript/${pkgs.ghostscript.version}/lib ${pkgs.ghostscript}/share/ghostscript/${pkgs.ghostscript.version}/Resource/Font ${pkgs.ghostscript}/share/ghostscript/fonts ${pkgs.ghostscript}/share/fonts/default/ghostscript ${pkgs.ghostscript}/share/fonts/default/Type1 ${pkgs.ghostscript}/share/fonts/default/TrueType\" /var/spool/hylafax/bin/genfontmap.ps > /var/spool/hylafax/etc/Fontmap.HylaFAX 2>/dev/null\n+    ${if (config.services.hylafaxp.devs!={ \"dummy\" = \"\"; }) then (concatStringsSep \";\" (zipListsWith (a: b: \"cp \" + a + \" /var/spool/hylafax/etc/config.\" + b) _configDevs _devs)) else \"\"}\n+    chmod 0755 /var/spool/hylafax\n+    ls -A /var/spool/hylafax/ | grep -v -E 'recvq|log' | ${pkgs.gawk}/bin/awk '{print \"/var/spool/hylafax/\"$1}' | xargs chmod -R 0755\n+    chmod 0755 /var/spool/hylafax/{recvq,log} # avoid overriding RecvFileMode and LogFileMode in /var/spool/hylafax/etc/config. See: hylafax-config(4)\n+    ##\n+    ## faxsetup mkfifos but it seems the services do it fine on their own.\n+    ## kept commented out for reference or any future complications.\n+    #rm -f ${pkgs.hylafaxp}/var/spool/hylafax/FIFO* 2>/dev/null\n+    #mkfifo -m 0777 ${pkgs.hylafaxp}/var/spool/hylafax/FIFO ${if config.services.hylafaxp.devs != { \"\" = \"\"; } then (\"${pkgs.hylafaxp}/var/spool/hylafax/FIFO.\" + (concatStringsSep \" ${pkgs.hylafaxp}/var/spool/hylafax/FIFO.\" _devs)) else \"\"} 2>/dev/null\n+    ##\n+    ${if (config.services.hylafaxp.hfaxd.hosts != \"\") then \"chmod 0600 /var/spool/hylafax/etc/hosts.hfaxd\" else \"\"} #runtime enforced sercurity. see: hfaxd/User.c++:160\n+    chown -R \"uucp:uucp\" \"/var/spool/hylafax\"\n+  '';\n+  _config = pkgs.writeText \"config\" config.services.hylafaxp.config;\n+  _hosts_hfaxd = pkgs.writeText \"hosts.hfaxd\" config.services.hylafaxp.hfaxd.hosts;\n+  _FaxDispatch = pkgs.writeText \"FaxDispatch\" config.services.hylafaxp.faxDispatch;\n+  _pagesizes = pkgs.writeText \"pagesizes\" config.services.hylafaxp.pagesizes;\n+  ## list of devs\n+  _devs = mapAttrsToList (n: v: n) config.services.hylafaxp.devs;\n+  ## list of per-dev config files\n+  _configDevs = mapAttrsToList (n: v: pkgs.writeText n v) config.services.hylafaxp.devs;\n+\n+in\n+{\n+\n+  ###### interface\n+\n+  options = {\n+\n+    services.hylafaxp.enable = mkOption {\n+      type = types.bool;\n+      default = false;\n+      description = ''\n+        Whether to enable HylaFAX+, a Fax Management System.\n+      '';\n+    };\n+\n+    services.hylafaxp.devs = mkOption {\n+      default = { \"dummy\" = \"\"; };\n+      example = { ttyACM0 = \"/var/spool/hylafax/etc/config.ttyACM0 content\"; ttyS1 = \"/var/spool/hylafax/etc/config.ttyS1 content\"; };\n+      type = types.attrsOf types.lines;\n+      description = ''\n+        The ttyFOOBAR devices and their /var/spool/hylafax/etc/config.ttyFOOBAR files.\n+        Run faxsetup to generate the files interactively.\n+        Be sure to copy the results to configuration.nix!\n+      '';\n+    };\n+\n+    services.hylafaxp.config = mkOption {\n+      type = types.lines;\n+      default = \"\";\n+      description = ''\n+        The content of the /var/spool/hylafax/etc/config file.\n+        Run faxsetup to generate one interactively.\n+        Be sure to copy the results to configuration.nix!\n+      '';\n+    };\n+\n+    services.hylafaxp.pagesizes = mkOption {\n+      type = types.lines;\n+      default = ''\n+        #\t$Id: pagesizes.in 2 2005-11-11 21:32:03Z faxguy $\n+        #\n+        # Warning, /etc/hylafax/pagesizes was automatically created by NixOS.\n+        #\n+        # HylaFAX Page Size Database\n+        #\n+        # This file defines the set of known page sizes.  Note that the name is\n+        # matched using a caseless comparison.  Most of the guaranteed reproducible\n+        # areas are guesses based on scaling known GRA's.\n+        #\n+        # File format:\n+        #\n+        # 1. Comments are introduced by '#' and continue to the end of line.\n+        # 2. The first two fields are the full and abbreviated page size names\n+        #    and must be separated from the subsequent fields by a tab (possibly\n+        #    followed by more whitespace).  Otherwise fields can be separated\n+        #    by any amount of any kind of whitespace.\n+        # 3. Numbers are all base 10 and in basic measurement units (BMU);\n+        #    defined as 1/1200 x 25.4 mm for paper output with a scale factor\n+        #    of one.\n+        # 4. All fields must be present on a single line; otherwise the entry\n+        #    is ignored.\n+        # 5. Most all users of this database require a \"default\" entry that\n+        #    specifies the default page size to use.  This entry should be placed\n+        #    last so that inverse matches find the real page size name and not\n+        #    the default entry.\n+        #\t\t\t\t\t\tGuaranteed Reproducible Area\n+        # Name\t\t\tAbbrev\tWidth\tHeight\tWidth\tHeight\tTop\tLeft\n+        ISO A3\t\t\tA3\t14030\t19840\t13200\t 18480\t472\t345\n+        ISO A4\t\t\tA4\t 9920\t14030\t 9240\t 13200\t472\t345\n+        ISO A5\t\t\tA5\t 7133\t 9921\t 6455\t  9236\t472\t345\n+        ISO A6\t\t\tA6\t 5055\t 6991\t 4575\t  6508\t472\t345\n+        ISO B4\t\t\tB4\t12048\t17196\t11325\t 16010\t472\t345\n+        North American Letter\tNA-LET\t10200\t13200\t 9240\t 12400\t472\t345\n+        American Legal\t\tUS-LEG\t10200\t16800\t 9240\t 15775\t472\t345\n+        American Ledger\t\tUS-LED\t13200\t20400\t11946\t 19162\t472\t345\n+        American Executive\tUS-EXE\t 8700\t12600\t 7874\t 11835\t472\t345\n+        Japanese Letter\t\tJP-LET\t 8598\t12141\t 7600\t 10200\t900\t400\n+        Japanese Legal\t\tJP-LEG\t12141\t17196\t11200\t 15300\t900\t400\n+        #\n+        default\t\t\tA4\t 9920\t14030\t 9240\t 13200\t472\t345\n+      '';\n+      description = ''\n+        Page sizes as defined in /etc/hylafax/pagesizes.\n+        Defaults to A4.\n+      '';\n+    };\n+\n+    services.hylafaxp.faxDispatch = mkOption {\n+      type = types.lines;\n+      default = \"\";\n+      example = ''\n+        SENDTO=FaxMaster;\n+        FILETYPE=tif;\n+      '';\n+      description = ''\n+        faxrcvd's facsimile dispatching script at /var/spool/hylafax/etc/FaxDispatch.\n+      '';\n+    };\n+\n+    services.hylafaxp.hfaxd = {\n+      enable = mkOption {\n+        type = types.bool;\n+        default = false ;\n+        description = ''\n+          Whether to enable hfaxd, HylaFAX+ client-server protocol server.\n+        '';\n+      };\n+      port = mkOption {\n+        type = types.int;\n+        default = 4559 ;\n+        description = ''\n+          hfaxd's port.\n+        '';\n+      };\n+      hosts = mkOption {\n+        type = types.lines;\n+        default = ''\n+          localhost\n+          127.0.0.1\n+        '';\n+        description = ''\n+          The client access control list at /var/spool/hylafax/etc/hosts.hfaxd.\n+          Run faxadduser to add hosts, users and passwords.\n+          Be sure to copy the results to configuration.nix!\n+        '';\n+      };\n+    };\n+\n+  };\n+\n+  ###### implementation\n+\n+  config = mkIf config.services.hylafaxp.enable {\n+    environment.systemPackages = with pkgs; [ hylafaxp ];\n+\n+    users.extraUsers = [\n+      {\n+        name = \"uucp\";\n+        uid = config.ids.uids.uucp;\n+        group = \"uucp\";\n+      }\n+    ];\n+\n+    systemd = {\n+      # the services refork as uucp on their own\n+\n+      targets.hylafaxp = {\n+        description = \"HylaFAX+ Server\";\n+        after = [ \"network.target\" ];\n+        wantedBy = [ \"multi-user.target\" ];\n+      };\n+\n+      services =\n+      let\n+        mkFaxgettyService = dev:\n+          assert dev != \"\";\n+          nameValuePair \"hylafaxp-faxgetty-${dev}\" {\n+            description = \"faxgetty ${dev}: HylaFAX+ front-door process\";\n+            after = optionals (dev!=\"dummy\") [ \"hylafaxp-setup.service\" \"hylafaxp-faxq.service\" \"${dev}.device\" ];","path":"nixos/modules/services/networking/hylafaxp.nix","position":202,"original_position":202,"commit_id":"7058d92ba0fa7ccdadc61e5a632586377ea062d2","original_commit_id":"7058d92ba0fa7ccdadc61e5a632586377ea062d2","user":{"login":"RamKromberg","id":14829269,"avatar_url":"https://avatars.githubusercontent.com/u/14829269?v=3","gravatar_id":"","url":"https://api.github.com/users/RamKromberg","html_url":"https://github.com/RamKromberg","followers_url":"https://api.github.com/users/RamKromberg/followers","following_url":"https://api.github.com/users/RamKromberg/following{/other_user}","gists_url":"https://api.github.com/users/RamKromberg/gists{/gist_id}","starred_url":"https://api.github.com/users/RamKromberg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RamKromberg/subscriptions","organizations_url":"https://api.github.com/users/RamKromberg/orgs","repos_url":"https://api.github.com/users/RamKromberg/repos","events_url":"https://api.github.com/users/RamKromberg/events{/privacy}","received_events_url":"https://api.github.com/users/RamKromberg/received_events","type":"User","site_admin":false},"body":"@Mic92 This one sucks but I'm not sure how to clean it up.\r\n\r\nI'd like to condition this entire let..in.. construct by config.services.hylafaxp.devs and move the error message* to the setupscript.\r\n\r\nIt's quite ugly and convoluted in an already complex structure but I don't know how to do the condition so I ended up recycling the unit to display the error letting the user know they should run faxsetup and update config.services.hylafaxp.devs accordingly so the unit won't be a total waste.\r\n\r\nSimilarly, there are also a few setupScript config.services.hylafaxp.devs if statements I'm not particularly happy about.","created_at":"2016-10-23T08:24:45Z","updated_at":"2016-10-23T08:24:45Z","html_url":"https://github.com/NixOS/nixpkgs/pull/19392#discussion_r84592042","pull_request_url":"https://api.github.com/repos/NixOS/nixpkgs/pulls/19392","_links":{"self":{"href":"https://api.github.com/repos/NixOS/nixpkgs/pulls/comments/84592042"},"html":{"href":"https://github.com/NixOS/nixpkgs/pull/19392#discussion_r84592042"},"pull_request":{"href":"https://api.github.com/repos/NixOS/nixpkgs/pulls/19392"}}},"pull_request":{"url":"https://api.github.com/repos/NixOS/nixpkgs/pulls/19392","id":88582549,"html_url":"https://github.com/NixOS/nixpkgs/pull/19392","diff_url":"https://github.com/NixOS/nixpkgs/pull/19392.diff","patch_url":"https://github.com/NixOS/nixpkgs/pull/19392.patch","issue_url":"https://api.github.com/repos/NixOS/nixpkgs/issues/19392","number":19392,"state":"open","locked":false,"title":"HylaFAX+: init at 5.5.8","user":{"login":"RamKromberg","id":14829269,"avatar_url":"https://avatars.githubusercontent.com/u/14829269?v=3","gravatar_id":"","url":"https://api.github.com/users/RamKromberg","html_url":"https://github.com/RamKromberg","followers_url":"https://api.github.com/users/RamKromberg/followers","following_url":"https://api.github.com/users/RamKromberg/following{/other_user}","gists_url":"https://api.github.com/users/RamKromberg/gists{/gist_id}","starred_url":"https://api.github.com/users/RamKromberg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RamKromberg/subscriptions","organizations_url":"https://api.github.com/users/RamKromberg/orgs","repos_url":"https://api.github.com/users/RamKromberg/repos","events_url":"https://api.github.com/users/RamKromberg/events{/privacy}","received_events_url":"https://api.github.com/users/RamKromberg/received_events","type":"User","site_admin":false},"body":"###### Motivation for this change\r\n\r\ntrees?\r\n\r\n###### Things done\r\n\r\nReceiving and sending faxes works.\r\nEmail redirection works.\r\nOptional hfaxd client-server service works (mostly for LAN clients) and some local GUIs.\r\n\r\nConfiguration is somewhat manual\\interactive due to the nature of the hardware:\r\n* 1. In _configuration.nix_: ```services.hylafaxp.enable = true;```\r\n* 2. As root: _faxsetup_.\r\n* 3. Copy _/var/spool/hylafax/etc/config_ and _/var/spool/hylafax/etc/config.tty*_ to _configuration.nix_. e.g.\r\n```\r\n  services.hylafaxp = {\r\n    enable = true;\r\n    config = ''\r\n      LogFacility:                daemon\r\n      CountryCode:                011\r\n      AreaCode:           01\r\n      LongDistancePrefix: 1\r\n      InternationalPrefix:        011\r\n      DialStringRules:    etc/dialrules\r\n      ServerTracing:              1\r\n    '';\r\n    devs = {\r\n      ttyACM0 = ''\r\n        CountryCode:\t\t011\r\n        AreaCode:\t\t01\r\n        FAXNumber:\t\t12345678\r\n        LongDistancePrefix:\t1\r\n        InternationalPrefix:\t011\r\n        DialStringRules:\tetc/dialrules\r\n        ServerTracing:\t\t1\r\n        SessionTracing:\t\t0xFFF\r\n        RecvFileMode:\t\t0600\r\n        LogFileMode:\t\t0600\r\n        DeviceMode:\t\t0600\r\n        RingsBeforeAnswer:\t5\r\n        SpeakerVolume:\t\toff\r\n        GettyArgs:\t\t\"-h %l dx_%s\"\r\n        LocalIdentifier:\tcompanyOrHome\r\n        TagLineFont:\t\tetc/LiberationSans-25.pcf\r\n        TagLineFormat:\t\t\"From %%l|%c|Page %%P of %%T\"\r\n        MaxRecvPages:\t\t25\r\n        #\r\n        #\r\n        # Modem-related stuff: should reflect modem command interface\r\n        # and hardware connection/cabling (e.g. flow control).\r\n        #\r\n        ModemType:\t\tClass1\t\t# use this to supply a hint\r\n        ModemRate:\t\t19200\t\t# rate for DCE-DTE communication\r\n        ModemFlowControl:\trtscts\t\t# default\r\n        #\r\n        ModemNoFlowCmd:\t\tAT&K0\t\t# setup no flow control\r\n        ModemHardFlowCmd:\tAT&K3\t\t# setup hardware flow control\r\n        ModemSoftFlowCmd:\tAT&K4\t\t# setup software flow control\r\n        ModemSetupDTRCmd:\tAT&D2\t\t# setup so DTR drop resets modem\r\n        ModemSetupDCDCmd:\tAT&C1\t\t# setup so DCD reflects carrier (or not)\r\n        #\r\n        ModemMfrQueryCmd:\t!Rockwell\r\n        ModemModelQueryCmd:\t!RC288DPi\r\n        ModemRevQueryCmd:\tATI3\t\t# product information\r\n        #\r\n        ModemDialCmd:\t\tATDT%s\t\t# T for tone dialing\r\n      '';\r\n    };\r\n  };\r\n```\r\n* 4. _nixos-rebuild switch_.\r\n\r\nThis will produce persistent results between reboot & updates.\r\n\r\n* 5. (Optional) For email dispatching, it's enough to add:\r\n```\r\n    faxDispatch = ''\r\n      SENDTO=myemail@mydomain.com;\r\n      FILETYPE=pdf;\r\n    '';\r\n```\r\nto services.hylafaxp and\r\n```\r\n  services.postfix = {\r\n    enable = true;\r\n    setSendmail = true;\r\n  };\r\n```\r\n* 6. (Optional) For the client-server protocol service, adding\r\n```\r\n    hfaxd = {\r\n      enable = true;\r\n      hosts = ''\r\n        localhost\r\n        127.0.0.1\r\n      '';\r\n    };\r\n```\r\nto services.hylafaxp should be sufficient for local access. See faxadduser for LAN clients and passwords.\r\n\r\nI've only tested one soft-modem, but I wrote the module to support multiple modems.\r\n\r\nBuilt and tested with ```nixos-rebuild switch -I nixpkgs=/home/user/nixpkgs```.\r\n\r\n- [x] Tested using sandboxing\r\n  ([nix.useSandbox](http://nixos.org/nixos/manual/options.html#opt-nix.useSandbox) on NixOS,\r\n    or option `build-use-sandbox` in [`nix.conf`](http://nixos.org/nix/manual/#sec-conf-file)\r\n    on non-NixOS)\r\n- Built on platform(s)\r\n   - [x] NixOS\r\n   - [ ] OS X\r\n   - [ ] Linux\r\n- [ ] Tested compilation of all pkgs that depend on this change using `nix-shell -p nox --run \"nox-review wip\"`\r\n- [x] Tested execution of all binary files (usually in `./result/bin/`)\r\n- [x] Fits [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/.github/CONTRIBUTING.md).\r\n\r\n---\r\n\r\nNote: HylaFAX vs. HylaFAX+ is 2012 vs. 2016.\r\n","created_at":"2016-10-09T14:34:16Z","updated_at":"2016-10-23T08:24:45Z","closed_at":null,"merged_at":null,"merge_commit_sha":"b7e199bdfecaaa98dd552ff656b127fa2a42be94","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/NixOS/nixpkgs/pulls/19392/commits","review_comments_url":"https://api.github.com/repos/NixOS/nixpkgs/pulls/19392/comments","review_comment_url":"https://api.github.com/repos/NixOS/nixpkgs/pulls/comments{/number}","comments_url":"https://api.github.com/repos/NixOS/nixpkgs/issues/19392/comments","statuses_url":"https://api.github.com/repos/NixOS/nixpkgs/statuses/7058d92ba0fa7ccdadc61e5a632586377ea062d2","head":{"label":"RamKromberg:init/hylafaxp","ref":"init/hylafaxp","sha":"7058d92ba0fa7ccdadc61e5a632586377ea062d2","user":{"login":"RamKromberg","id":14829269,"avatar_url":"https://avatars.githubusercontent.com/u/14829269?v=3","gravatar_id":"","url":"https://api.github.com/users/RamKromberg","html_url":"https://github.com/RamKromberg","followers_url":"https://api.github.com/users/RamKromberg/followers","following_url":"https://api.github.com/users/RamKromberg/following{/other_user}","gists_url":"https://api.github.com/users/RamKromberg/gists{/gist_id}","starred_url":"https://api.github.com/users/RamKromberg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RamKromberg/subscriptions","organizations_url":"https://api.github.com/users/RamKromberg/orgs","repos_url":"https://api.github.com/users/RamKromberg/repos","events_url":"https://api.github.com/users/RamKromberg/events{/privacy}","received_events_url":"https://api.github.com/users/RamKromberg/received_events","type":"User","site_admin":false},"repo":{"id":62384289,"name":"nixpkgs","full_name":"RamKromberg/nixpkgs","owner":{"login":"RamKromberg","id":14829269,"avatar_url":"https://avatars.githubusercontent.com/u/14829269?v=3","gravatar_id":"","url":"https://api.github.com/users/RamKromberg","html_url":"https://github.com/RamKromberg","followers_url":"https://api.github.com/users/RamKromberg/followers","following_url":"https://api.github.com/users/RamKromberg/following{/other_user}","gists_url":"https://api.github.com/users/RamKromberg/gists{/gist_id}","starred_url":"https://api.github.com/users/RamKromberg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RamKromberg/subscriptions","organizations_url":"https://api.github.com/users/RamKromberg/orgs","repos_url":"https://api.github.com/users/RamKromberg/repos","events_url":"https://api.github.com/users/RamKromberg/events{/privacy}","received_events_url":"https://api.github.com/users/RamKromberg/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/RamKromberg/nixpkgs","description":"Nix Packages collection","fork":true,"url":"https://api.github.com/repos/RamKromberg/nixpkgs","forks_url":"https://api.github.com/repos/RamKromberg/nixpkgs/forks","keys_url":"https://api.github.com/repos/RamKromberg/nixpkgs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/RamKromberg/nixpkgs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/RamKromberg/nixpkgs/teams","hooks_url":"https://api.github.com/repos/RamKromberg/nixpkgs/hooks","issue_events_url":"https://api.github.com/repos/RamKromberg/nixpkgs/issues/events{/number}","events_url":"https://api.github.com/repos/RamKromberg/nixpkgs/events","assignees_url":"https://api.github.com/repos/RamKromberg/nixpkgs/assignees{/user}","branches_url":"https://api.github.com/repos/RamKromberg/nixpkgs/branches{/branch}","tags_url":"https://api.github.com/repos/RamKromberg/nixpkgs/tags","blobs_url":"https://api.github.com/repos/RamKromberg/nixpkgs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/RamKromberg/nixpkgs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/RamKromberg/nixpkgs/git/refs{/sha}","trees_url":"https://api.github.com/repos/RamKromberg/nixpkgs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/RamKromberg/nixpkgs/statuses/{sha}","languages_url":"https://api.github.com/repos/RamKromberg/nixpkgs/languages","stargazers_url":"https://api.github.com/repos/RamKromberg/nixpkgs/stargazers","contributors_url":"https://api.github.com/repos/RamKromberg/nixpkgs/contributors","subscribers_url":"https://api.github.com/repos/RamKromberg/nixpkgs/subscribers","subscription_url":"https://api.github.com/repos/RamKromberg/nixpkgs/subscription","commits_url":"https://api.github.com/repos/RamKromberg/nixpkgs/commits{/sha}","git_commits_url":"https://api.github.com/repos/RamKromberg/nixpkgs/git/commits{/sha}","comments_url":"https://api.github.com/repos/RamKromberg/nixpkgs/comments{/number}","issue_comment_url":"https://api.github.com/repos/RamKromberg/nixpkgs/issues/comments{/number}","contents_url":"https://api.github.com/repos/RamKromberg/nixpkgs/contents/{+path}","compare_url":"https://api.github.com/repos/RamKromberg/nixpkgs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/RamKromberg/nixpkgs/merges","archive_url":"https://api.github.com/repos/RamKromberg/nixpkgs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/RamKromberg/nixpkgs/downloads","issues_url":"https://api.github.com/repos/RamKromberg/nixpkgs/issues{/number}","pulls_url":"https://api.github.com/repos/RamKromberg/nixpkgs/pulls{/number}","milestones_url":"https://api.github.com/repos/RamKromberg/nixpkgs/milestones{/number}","notifications_url":"https://api.github.com/repos/RamKromberg/nixpkgs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/RamKromberg/nixpkgs/labels{/name}","releases_url":"https://api.github.com/repos/RamKromberg/nixpkgs/releases{/id}","deployments_url":"https://api.github.com/repos/RamKromberg/nixpkgs/deployments","created_at":"2016-07-01T10:09:30Z","updated_at":"2016-07-01T10:09:54Z","pushed_at":"2016-10-18T16:41:37Z","git_url":"git://github.com/RamKromberg/nixpkgs.git","ssh_url":"git@github.com:RamKromberg/nixpkgs.git","clone_url":"https://github.com/RamKromberg/nixpkgs.git","svn_url":"https://github.com/RamKromberg/nixpkgs","homepage":null,"size":363224,"stargazers_count":0,"watchers_count":0,"language":"Nix","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"NixOS:master","ref":"master","sha":"da9c6a7744f3e0aad6677357bffb30cd7fe7d92c","user":{"login":"NixOS","id":487568,"avatar_url":"https://avatars.githubusercontent.com/u/487568?v=3","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,"name":"nixpkgs","full_name":"NixOS/nixpkgs","owner":{"login":"NixOS","id":487568,"avatar_url":"https://avatars.githubusercontent.com/u/487568?v=3","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},"private":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":"2016-10-22T03:11:36Z","pushed_at":"2016-10-23T07:24:03Z","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":618967,"stargazers_count":1349,"watchers_count":1349,"language":"Nix","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":1677,"mirror_url":null,"open_issues_count":1539,"forks":1677,"open_issues":1539,"watchers":1349,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/NixOS/nixpkgs/pulls/19392"},"html":{"href":"https://github.com/NixOS/nixpkgs/pull/19392"},"issue":{"href":"https://api.github.com/repos/NixOS/nixpkgs/issues/19392"},"comments":{"href":"https://api.github.com/repos/NixOS/nixpkgs/issues/19392/comments"},"review_comments":{"href":"https://api.github.com/repos/NixOS/nixpkgs/pulls/19392/comments"},"review_comment":{"href":"https://api.github.com/repos/NixOS/nixpkgs/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/NixOS/nixpkgs/pulls/19392/commits"},"statuses":{"href":"https://api.github.com/repos/NixOS/nixpkgs/statuses/7058d92ba0fa7ccdadc61e5a632586377ea062d2"}}}}
{"actor":{"display_login":"RamKromberg"}}