From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on atuin.qyliss.net X-Spam-Level: X-Spam-Status: No, score=1.0 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,MALFORMED_FREEMAIL, RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.6 Received: from atuin.qyliss.net (localhost [IPv6:::1]) by atuin.qyliss.net (Postfix) with ESMTP id D9D5E53C42; Tue, 6 Dec 2022 21:56:36 +0000 (UTC) Received: by atuin.qyliss.net (Postfix, from userid 496) id 27C3C53C37; Tue, 6 Dec 2022 21:56:34 +0000 (UTC) Received: from smtp46.i.mail.ru (smtp46.i.mail.ru [94.100.177.106]) by atuin.qyliss.net (Postfix) with ESMTPS id 492B553CAF for ; Tue, 6 Dec 2022 21:56:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mail.ru; s=mail4; h=Message-Id:Content-Transfer-Encoding:Content-type:Mime-Version:REFERENCES:IN-REPLY-TO:Reply-To:Subject:Cc:To:From:Date:From:Subject:Content-Type:Content-Transfer-Encoding:To:Cc; bh=4q4ZrtvrpEBMb8Qi6stgnW6NCoLmQhwi78WgTd8Duug=; t=1670363789;x=1670453789; b=zWLlPdlaL1uRv7fuoV8eNIeJnJP/cleoMTG7atlB+zVsSaH0WOZGLAaViw041cxAdWQ1GgcDrDUWqN/u29Y9j/afsb8UFwBkPVzz+Wk7RUcixuuG8KOB0fNGuZAVcVSPCERn+ZolHWLg/H5Y0erCWx+uEcdTekYQ+LT7ZV9rnfaAL2TxtWwZcrlLcjOmzkCMQ1JE/ALmm9h4V4ZgqhN0Du+fJ0OiBYJQV4H4nayisL4EGfP5bivUP9YeWtDsfTAkDlfw0mn0uag2Dj9CCfP1M365WHKO1K+pUNQ3TeUcOWzaWJlUeaqb/Xrfks01J/sJQqQAAgsWniIcOYtCYHwn6Q==; Received: by smtp46.i.mail.ru with esmtpa (envelope-from <7c6f434c@mail.ru>) id 1p2fvP-00046m-5g; Wed, 07 Dec 2022 00:56:27 +0300 Date: Tue, 06 Dec 2022 23:05:02 +0100 From: Michael Raskin <7c6f434c@mail.ru> To: alyssa.ross@unikie.com Subject: Re: Developer-friendliness X-Mailer: cl-smtp (SBCL 2.2.6.nixos) IN-REPLY-TO: <20221206211436.d7qnzgfkaijjhcz3@x220> REFERENCES: <20221206211436.d7qnzgfkaijjhcz3@x220> <20221206211436.d7qnzgfkaijjhcz3@x220> <20221206203148.osqflgwjty2wmr5s@x220> <20221206203148.osqflgwjty2wmr5s@x220> <20221206152011.lhk7jc64nqtkd7xo@x220> <20221206171022.5kwkddpjet3q7ks4@x220> Mime-Version: 1.0 Content-type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Message-Id: Authentication-Results: smtp46.i.mail.ru; auth=pass smtp.auth=7c6f434c@mail.ru smtp.mailfrom=7c6f434c@mail.ru X-Mailru-Src: smtp X-7564579A: 646B95376F6C166E X-77F55803: 4F1203BC0FB41BD908190A22B884CF14F3FEB22A099FE4AD6C4C838EE461FAFD182A05F5380850400E99A1F4E7793724FAE33179AE96FFBBEB5324BC38C3AEF2F9A69258F16CE465 X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE73C696014E2DCCA1EEA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F79006371758572763D318798638F802B75D45FF36EB9D2243A4F8B5A6FCA7DBDB1FC311F39EFFDF887939037866D6147AF826D8E55449C161175549A5A0DE289872F8186F9789CCF6C18C3F8528715B7D10C86878DA827A17800CE7850F8B975A76562C9FA2833FD35BB23D9E625A9149C048EE33AC447995A7AD18618001F51B5FD3F9D2E47CDBA5A96583BD4B6F7A4D31EC0BC014FD901B82EE079FA2833FD35BB23D27C277FBC8AE2E8B406C66621D3021AFA471835C12D1D977C4224003CC836476EB9C4185024447017B076A6E789B0E975F5C1EE8F4F765FC16CC2A5A0E3C4D703AA81AA40904B5D9CF19DD082D7633A078D18283394535A93AA81AA40904B5D98AA50765F79006376F7FC77F1E52761BD81D268191BDAD3D3666184CF4C3C14F3FC91FA280E0CE3D1A620F70A64A45A98AA50765F79006372E808ACE2090B5E1725E5C173C3A84C3C5EA940A35A165FF2DBA43225CD8A89F890A246B268E114EC6EABA9B74D0DA47B5C8C57E37DE458BEDA766A37F9254B7 X-C8649E89: 4E36BF7865823D7055A7F0CF078B5EC49A30900B95165D345CB6DE26F1654667C55C4724303C6DD69716C5FFFA025DC0AD9F4E7522D3288159644E82EF1DE3081D7E09C32AA3244CD2F2361DB2633F2249453D8C68EEF3087C0C08F7987826B9FACE5A9C96DEB163 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5ycPtXkTV4k65bRjmOUUP8cvGozZ33TWg5HZplvhhXbhDGzqmQDTd6OAevLeAnq3Ra9uf7zvY2zzsIhlcp/Y7m53TZgf2aB4JOg4gkr2bioj0NDJWmbmL/BPWF3tilLdaQ== X-Mailru-Sender: CD21DA57714E730BAACCBBA54A7D0912DA353C787B68AF24FA448BBC4634B887C656B243789B01BE286CF1FB17F948F1E66B5C1DBFD5D09D5BDABB69D8D2C502C003600472B6CB9B5FEEDEB644C299C0ED14614B50AE0675 X-Mras: Ok Message-ID-Hash: VF4NEI4OIE4IE7GPOZU273VADZD7UC43 X-Message-ID-Hash: VF4NEI4OIE4IE7GPOZU273VADZD7UC43 X-MailFrom: 7c6f434c@mail.ru X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-devel.spectrum-os.org-0; header-match-devel.spectrum-os.org-1; header-match-devel.spectrum-os.org-2; header-match-devel.spectrum-os.org-3; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: vadim.likholetov@unikie.com, devel@spectrum-os.org X-Mailman-Version: 3.3.5 Precedence: list Reply-To: 7c6f434c@mail.ru List-Id: Patches and low-level development discussion Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: >> Well, one could have VM generator functions, so that you can easily >> generate a development-like VM or a reasonable-setup like VM or minimal= >> VM (without D-Bus etc.), and so the developers can just use the dev >> version and always get the good stuff included? > >Yes, that's true. > >Just as a quick refresher, currently if you want to make a Spectrum VM, >these are your options: > > - Lay out the VM configuration directory manually in the user data > partition, and bring your own kernel/rootfs. > > - As above, but use the rootfs and kernel in /usr/img/appvm. These aim > to provide a "standard" environment that can be shared between > application VMs, so it comes with mesa, and in future virtio-gpu set > up, as well as D-Bus, PipeWire, etc. It mounts a second block device > that contains your application, as well as any dependencies not > included in the base image, and then runs your application from > there. This way, big stuff like mesa only has to exist once on disk. > > - Create an application VM that uses /usr/img/appvm with Nix, using > vm-lib/make-vm.nix. Yes, sorry, I have still not tried all this (I am going to avoid Wayland as the main UI as long as practical, and I am not going to commit enough time to Spectrum-adjacent things to make it worth your time to ask how=20 would I set up things for Spectrum-like isolation of single things into Weston-inside-Xorg or whatever on host). >So what we're missing is a way to create, with Nix, a VM that isn't >based on the /usr/img/appvm "template". The reason we don't currently >have such a function is that I don't think it's clear yet how it should >work =E2=80=94 what should be customisable, what should be part of the base >image vs. not, etc.? For a while, how make-vm.nix should work was >similarly unclear, which is why it only recently came into existence. >After I'd manually created my third or so application VM, it became >clear what could be part of the base image, and what had to be >customisable. Currently, we only have one VM in the tree that doesn't >use the /usr/img/appvm template, netvm. Once we have more, I think >it'll be easier to evaluate how a more minimal VM builder function >should work. Hm, I would say that I have a good experience solving such a problem with a Nixpkgs-overlay-like structure, i.e. a makeExtensible with all possible tunables defined as attributes, and then more complex data structures built out of them, as well as packages for the things.