{"action":"created","issue":{"url":"https://api.github.com/repos/NixOS/nixpkgs/issues/11503","repository_url":"https://api.github.com/repos/NixOS/nixpkgs","labels_url":"https://api.github.com/repos/NixOS/nixpkgs/issues/11503/labels{/name}","comments_url":"https://api.github.com/repos/NixOS/nixpkgs/issues/11503/comments","events_url":"https://api.github.com/repos/NixOS/nixpkgs/issues/11503/events","html_url":"https://github.com/NixOS/nixpkgs/issues/11503","id":120638786,"node_id":"MDU6SXNzdWUxMjA2Mzg3ODY=","number":11503,"title":"The state of Emacs","user":{"login":"oxij","id":391919,"node_id":"MDQ6VXNlcjM5MTkxOQ==","avatar_url":"https://avatars2.githubusercontent.com/u/391919?v=4","gravatar_id":"","url":"https://api.github.com/users/oxij","html_url":"https://github.com/oxij","followers_url":"https://api.github.com/users/oxij/followers","following_url":"https://api.github.com/users/oxij/following{/other_user}","gists_url":"https://api.github.com/users/oxij/gists{/gist_id}","starred_url":"https://api.github.com/users/oxij/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/oxij/subscriptions","organizations_url":"https://api.github.com/users/oxij/orgs","repos_url":"https://api.github.com/users/oxij/repos","events_url":"https://api.github.com/users/oxij/events{/privacy}","received_events_url":"https://api.github.com/users/oxij/received_events","type":"User","site_admin":false},"labels":[{"id":296126168,"node_id":"MDU6TGFiZWwyOTYxMjYxNjg=","url":"https://api.github.com/repos/NixOS/nixpkgs/labels/6.topic:%20emacs","name":"6.topic: emacs","color":"fef2c0","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":31,"created_at":"2015-12-06T14:55:47Z","updated_at":"2018-10-08T13:56:58Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"We had #6250 (melpa builder), #6641 (generic builder), #7431 (emacsWithPackages), #9060 (automatic metas) (should I mention more stuff here?) which got us to the new Emacs infrastructure we have now:\n- dependencies just work and derivations are a pleasure to write, but\n- using non-default Emacs within current framework is untrivial #10819 (#10811, #11004),\n  /cc @peti here\n- people are still updating the old `emacsPackages` because `emacsPackagesNg` don't reimplement those,\n- people are rewriting default MELPA expressions into `emacs-packages.nix` by hand, which, IMHO, makes merging something like #7986 harder every week, which pains me, since #7986 looked almost ready,\n- #7986 appeared and disappeared, it seems like [emacs2nix](https://github.com/ttuegel/emacs2nix) is worked on, but what is the state of this?\n- Was #7431 merged only partially? Why?\n  /cc @ttuegel here\n\nEven if `emacs2nix` it far from being usable yet shouldn't we\n- organize a rewrite of `emacsPackagesNg` into overridable expressions that #7986 proposed?\n  \n  I think we can safely adapt/reimplement the general outset of #7986 preparing for the generated MELPA attrset to be just plugged-in, so that we wouldn't need to merge a lot of stuff when it finally arrives, we'll just throw away derivations from `emacs-packages.nix` that are exact duplicates of MELPA packages and be done.\n- merge `emacsPackages` into `emacsPackagesNg`?\n  \n  My plan here would be to duplicate `emacsPackages` a bit by bit with `trivialBuild`, `emacsPackages.package = emacsPackagesNg.package`. Then, when everything gets successfully duplicated and built we just do `emacsPackages = emacsPackagesNg`. Then we remove the old packages by aliasing them to new MELPA versions (whenever autogenerated on not). If anything breaks at any stage we could just revert a small piece.\n\nalso /cc @gridaphobe @ardumont (by the top of blame on `emacs-packages.nix`)\nand /cc @samuelrivas @vcunat @tohl (by the top recent blames on `emacsPackages` in `all-packages.nix`)\n"},"comment":{"url":"https://api.github.com/repos/NixOS/nixpkgs/issues/comments/427843954","html_url":"https://github.com/NixOS/nixpkgs/issues/11503#issuecomment-427843954","issue_url":"https://api.github.com/repos/NixOS/nixpkgs/issues/11503","id":427843954,"node_id":"MDEyOklzc3VlQ29tbWVudDQyNzg0Mzk1NA==","user":{"login":"ttuegel","id":563054,"node_id":"MDQ6VXNlcjU2MzA1NA==","avatar_url":"https://avatars1.githubusercontent.com/u/563054?v=4","gravatar_id":"","url":"https://api.github.com/users/ttuegel","html_url":"https://github.com/ttuegel","followers_url":"https://api.github.com/users/ttuegel/followers","following_url":"https://api.github.com/users/ttuegel/following{/other_user}","gists_url":"https://api.github.com/users/ttuegel/gists{/gist_id}","starred_url":"https://api.github.com/users/ttuegel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ttuegel/subscriptions","organizations_url":"https://api.github.com/users/ttuegel/orgs","repos_url":"https://api.github.com/users/ttuegel/repos","events_url":"https://api.github.com/users/ttuegel/events{/privacy}","received_events_url":"https://api.github.com/users/ttuegel/received_events","type":"User","site_admin":false},"created_at":"2018-10-08T13:56:58Z","updated_at":"2018-10-08T13:56:58Z","author_association":"MEMBER","body":"> if you install an emacs package from Melpa Stable, all of the dependencies of that package seem to get pulled from the latest unstable.\r\n\r\nThis should not be a problem since we switch to using Melpa by default. (Melpa Stable is too old to really be useful.)\r\n\r\n> it would seem that if you happen to explicitly declare a direct dependency on whatever the depended-upon package is in the above situation, you actually get TWO versions of that packages on the load path, one stable and one unstable.\r\n\r\nThis is a problem we share in common with all interpreters. To mitigate the issue, I have done my best to make it difficult to declare direct dependencies, but Nix of course makes that difficult."}}
{"actor":{"display_login":"ttuegel"}}