{"guid":"28ea8a02-25b9-5984-8131-f42f318fa7f0","title":"not-all-packages-anymore.nix","subtitle":null,"slug":"nixcon-2023-35713-not-all-packages-anymore-nix","link":"https://talks.nixcon.org/nixcon-2023/talk/HRWDVC/","description":"For [almost 20 years now](https://github.com/nixos/nixpkgs/commit/1894a8b86c4f5233f4f28af3b93156aaaee44af1#diff-e55bb1f00549f56ee8b5e3a6977467543b29e7ddb51bd6df23bea76713fc972c), adding a new package to Nixpkgs required editing the `all-packages.nix` file, which grew to over 40000 barely-sorted lines this year. In addition, an appropriate place for your package definition had to be found in the loosely-categorised `pkgs` hierarchy. Especially with the recent growth of Nix, this has been a frequent cause of confusion for new contributors.\n\nHowever, in the months leading up to NixCon, this is all changing with the acceptance of [RFC 140](https://github.com/NixOS/rfcs/pull/140), originally designed by the new [Nixpkgs Architecture Team](https://nixos.org/community/teams/nixpkgs-architecture.html). This proposal allows most new packages to be added by simply creating a new directory in the right place with a name matching the desired attribute name.\n\nIn this talk I will go over the new package contribution process, along with its limitations, historical context, interesting implementation details and future work.","original_language":"eng","persons":["Silvan Mosberger"],"tags":["nixcon2023","35713","2023","darmstadt","nixcon2023","nixos"],"view_count":627,"promoted":false,"date":"2023-09-08T11:50:00.000+02:00","release_date":"2023-09-08T00:00:00.000+02:00","updated_at":"2026-03-04T01:15:04.464+01:00","length":1544,"duration":1544,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2023/35713-28ea8a02-25b9-5984-8131-f42f318fa7f0.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2023/35713-28ea8a02-25b9-5984-8131-f42f318fa7f0_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2023/35713-28ea8a02-25b9-5984-8131-f42f318fa7f0.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2023/35713-28ea8a02-25b9-5984-8131-f42f318fa7f0.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon-2023-35713-not-all-packages-anymore-nix","url":"https://api.media.ccc.de/public/events/28ea8a02-25b9-5984-8131-f42f318fa7f0","conference_title":"NixCon 2023","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2023","related":[],"recordings":[{"size":215,"length":1544,"mime_type":"video/webm","language":"eng","filename":"nixcon-2023-35713-eng-not-all-packages-anymorenix_webm-hd.webm","state":"new","folder":"webm-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2023-09-08T19:05:24.405+02:00","recording_url":"https://cdn.media.ccc.de/events/nixcon/2023/webm-hd/nixcon-2023-35713-eng-not-all-packages-anymorenix_webm-hd.webm","url":"https://api.media.ccc.de/public/recordings/70115","event_url":"https://api.media.ccc.de/public/events/28ea8a02-25b9-5984-8131-f42f318fa7f0","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2023"},{"size":82,"length":1544,"mime_type":"video/webm","language":"eng","filename":"nixcon-2023-35713-eng-not-all-packages-anymorenix_webm-sd.webm","state":"new","folder":"webm-sd","high_quality":false,"width":720,"height":576,"updated_at":"2023-09-08T17:49:34.634+02:00","recording_url":"https://cdn.media.ccc.de/events/nixcon/2023/webm-sd/nixcon-2023-35713-eng-not-all-packages-anymorenix_webm-sd.webm","url":"https://api.media.ccc.de/public/recordings/70102","event_url":"https://api.media.ccc.de/public/events/28ea8a02-25b9-5984-8131-f42f318fa7f0","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2023"},{"size":58,"length":1544,"mime_type":"video/mp4","language":"eng","filename":"nixcon-2023-35713-eng-not-all-packages-anymorenix_sd.mp4","state":"new","folder":"h264-sd","high_quality":false,"width":720,"height":576,"updated_at":"2023-09-08T15:28:04.226+02:00","recording_url":"https://cdn.media.ccc.de/events/nixcon/2023/h264-sd/nixcon-2023-35713-eng-not-all-packages-anymorenix_sd.mp4","url":"https://api.media.ccc.de/public/recordings/70084","event_url":"https://api.media.ccc.de/public/events/28ea8a02-25b9-5984-8131-f42f318fa7f0","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2023"},{"size":77,"length":1544,"mime_type":"video/mp4","language":"eng","filename":"nixcon-2023-35713-eng-not-all-packages-anymorenix_hd-slides.mp4","state":"new","folder":"slides-h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2023-09-08T15:25:04.764+02:00","recording_url":"https://cdn.media.ccc.de/events/nixcon/2023/slides-h264-hd/nixcon-2023-35713-eng-not-all-packages-anymorenix_hd-slides.mp4","url":"https://api.media.ccc.de/public/recordings/70082","event_url":"https://api.media.ccc.de/public/events/28ea8a02-25b9-5984-8131-f42f318fa7f0","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2023"},{"size":180,"length":1544,"mime_type":"video/mp4","language":"eng","filename":"nixcon-2023-35713-eng-not-all-packages-anymorenix_hd.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2023-09-08T15:21:29.361+02:00","recording_url":"https://cdn.media.ccc.de/events/nixcon/2023/h264-hd/nixcon-2023-35713-eng-not-all-packages-anymorenix_hd.mp4","url":"https://api.media.ccc.de/public/recordings/70079","event_url":"https://api.media.ccc.de/public/events/28ea8a02-25b9-5984-8131-f42f318fa7f0","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2023"}]}