{"guid":"2ca3fc2b-5b6f-5bf5-a815-405100f04622","title":"Declaring an IDE with evalModules","subtitle":null,"slug":"nixcon-2023-35750-declaring-an-ide-with-evalmodules","link":"https://talks.nixcon.org/nixcon-2023/talk/3FSNG9/","description":"The underlying machinery of the NixOS module system, evalModules, is useful for more than just declaring Operating Systems. At Replit, we use it to [declare IDE plugins](https://github.com/replit/nixmodules) for language runtimes, code intelligence (LSP), runners, packagers, and debuggers. Learn how you can use evalModules for your own applications and how we use it to declare an IDE. During the hackday, let's adapt the IDE plugins to emacs, vim, or vscode!","original_language":"eng","persons":["Ryan Mulligan"],"tags":["nixcon2023","35750","2023","darmstadt","nixcon2023","nixos"],"view_count":250,"promoted":false,"date":"2023-09-08T15:15:00.000+02:00","release_date":"2023-09-08T00:00:00.000+02:00","updated_at":"2026-03-31T12:30:05.953+02:00","length":1619,"duration":1619,"thumb_url":"https://static.media.ccc.de/media/events/nixcon/2023/35750-2ca3fc2b-5b6f-5bf5-a815-405100f04622.jpg","poster_url":"https://static.media.ccc.de/media/events/nixcon/2023/35750-2ca3fc2b-5b6f-5bf5-a815-405100f04622_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/nixcon/2023/35750-2ca3fc2b-5b6f-5bf5-a815-405100f04622.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/nixcon/2023/35750-2ca3fc2b-5b6f-5bf5-a815-405100f04622.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/nixcon-2023-35750-declaring-an-ide-with-evalmodules","url":"https://api.media.ccc.de/public/events/2ca3fc2b-5b6f-5bf5-a815-405100f04622","conference_title":"NixCon 2023","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2023","related":[],"recordings":[{"size":231,"length":1619,"mime_type":"video/webm","language":"eng","filename":"nixcon-2023-35750-eng-Declaring_an_IDE_with_evalModules_webm-hd.webm","state":"new","folder":"webm-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2023-09-08T23:43:05.772+02:00","recording_url":"https://cdn.media.ccc.de/events/nixcon/2023/webm-hd/nixcon-2023-35750-eng-Declaring_an_IDE_with_evalModules_webm-hd.webm","url":"https://api.media.ccc.de/public/recordings/70135","event_url":"https://api.media.ccc.de/public/events/2ca3fc2b-5b6f-5bf5-a815-405100f04622","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2023"},{"size":84,"length":1619,"mime_type":"video/webm","language":"eng","filename":"nixcon-2023-35750-eng-Declaring_an_IDE_with_evalModules_webm-sd.webm","state":"new","folder":"webm-sd","high_quality":false,"width":720,"height":576,"updated_at":"2023-09-08T22:34:04.446+02:00","recording_url":"https://cdn.media.ccc.de/events/nixcon/2023/webm-sd/nixcon-2023-35750-eng-Declaring_an_IDE_with_evalModules_webm-sd.webm","url":"https://api.media.ccc.de/public/recordings/70134","event_url":"https://api.media.ccc.de/public/events/2ca3fc2b-5b6f-5bf5-a815-405100f04622","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2023"},{"size":61,"length":1619,"mime_type":"video/mp4","language":"eng","filename":"nixcon-2023-35750-eng-Declaring_an_IDE_with_evalModules_sd.mp4","state":"new","folder":"h264-sd","high_quality":false,"width":720,"height":576,"updated_at":"2023-09-08T19:03:34.387+02:00","recording_url":"https://cdn.media.ccc.de/events/nixcon/2023/h264-sd/nixcon-2023-35750-eng-Declaring_an_IDE_with_evalModules_sd.mp4","url":"https://api.media.ccc.de/public/recordings/70114","event_url":"https://api.media.ccc.de/public/events/2ca3fc2b-5b6f-5bf5-a815-405100f04622","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2023"},{"size":79,"length":1619,"mime_type":"video/mp4","language":"eng","filename":"nixcon-2023-35750-eng-Declaring_an_IDE_with_evalModules_hd-slides.mp4","state":"new","folder":"slides-h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2023-09-08T18:59:04.676+02:00","recording_url":"https://cdn.media.ccc.de/events/nixcon/2023/slides-h264-hd/nixcon-2023-35750-eng-Declaring_an_IDE_with_evalModules_hd-slides.mp4","url":"https://api.media.ccc.de/public/recordings/70109","event_url":"https://api.media.ccc.de/public/events/2ca3fc2b-5b6f-5bf5-a815-405100f04622","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2023"},{"size":201,"length":1619,"mime_type":"video/mp4","language":"eng","filename":"nixcon-2023-35750-eng-Declaring_an_IDE_with_evalModules_hd.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2023-09-08T18:51:16.701+02:00","recording_url":"https://cdn.media.ccc.de/events/nixcon/2023/h264-hd/nixcon-2023-35750-eng-Declaring_an_IDE_with_evalModules_hd.mp4","url":"https://api.media.ccc.de/public/recordings/70107","event_url":"https://api.media.ccc.de/public/events/2ca3fc2b-5b6f-5bf5-a815-405100f04622","conference_url":"https://api.media.ccc.de/public/conferences/nixcon2023"}]}