summary refs log tree commit diff
path: root/release/installer
Commit message (Collapse)AuthorAge
* lib: adjust interface for Nix filesAlyssa Ross2023-11-26
| | | | | | | | | | | | | | | | | | | | | | | This moves every directly-buildable Nix file in Spectrum from the old eval-config.nix interface to a new callPackage-based interface. This moves us in the direction of stopping files from directly importing each other, in favor of having a global package set that contains the Spectrum-specific packages. Aside from consistency with packages from Nixpkgs, the main advantage to this is that the packages will be correctly spliced, and so e.g. lseek being in nativeBuildInputs will now do the right thing. This is implemented using a scope, so the Spectrum packages are invisible to Nixpkgs, and are applied on top afterwards, in contrast to if an overlay was used. Having a customised package set also paves the way for bringing modifications to upstream packages (e.g. the Cloud Hypervisor virtio-gpu patches) into the Spectrum repository, allowing us to use an unmodified upstream Nixpkgs. Signed-off-by: Alyssa Ross <hi@alyssa.is>
* release/installer: use linuxPackages_latestAlyssa Ross2023-09-27
| | | | | | | | Spectrum itself uses linuxPackages_latest. It would be a shame if somebody's computer could run Spectrum, but not the installer, because the LTS kernel is too old to support their hardware. Signed-off-by: Alyssa Ross <hi@alyssa.is>
* Use lib.getExe where possibleAlyssa Ross2023-09-27
| | | | Signed-off-by: Alyssa Ross <hi@alyssa.is>
* release: increase size of install destinationAlyssa Ross2023-09-11
| | | | | | | The next Nixpkgs update will grow the image to the point it no longer fits. :( We'll make it smaller later. Signed-off-by: Alyssa Ross <hi@alyssa.is>
* release/installer: fullscreen eos-installer windowAlyssa Ross2023-06-26
| | | | | | | Previously, it would be stuck in the top left corner, at a static size. Signed-off-by: Alyssa Ross <hi@alyssa.is>
* Run deadnixAlyssa Ross2023-04-27
| | | | Signed-off-by: Alyssa Ross <hi@alyssa.is>
* lib/nixpkgs.default.nix: updateAlyssa Ross2023-04-23
| | | | Signed-off-by: Alyssa Ross <hi@alyssa.is>
* lib/common.mk: initAlyssa Ross2023-02-22
| | | | | | | | | | | | | | | | | | | | | | | | | We can simplify our Makefiles a bit by moving some things into a library file. So far, I've done this for non-component-specific macros, and inference rules. Some tar2ext4 rules used a temporary file for the tar2ext4 invocation, and then moved the file into place when it was done, to prevent a half-built image sticking around if tar2ext4 died. According to POSIX, make should clean up any targets that didn't finish building if it's interrupted, so we should only end up with a half-built image if tar2ext4 crashes, e.g. due to running out of disk space. I think we should just ignore that possibility, since otherwise we'd have to write annoying make rules using temporary file names for every target, and if it does happen recovery is just a make clean away. With this, I've also made a small reorganisation. I got rid of the "nix" directory and created a "lib" directory, where I put eval-config.nix and the new common.mk file, since both are library code. checks.nix isn't really a library though, so I moved it into the "release" directory, since the only reference to it is in release.nix. Signed-off-by: Alyssa Ross <hi@alyssa.is>
* nix/eval-config.nix: fix custom configurationAlyssa Ross2023-02-22
| | | | | | | | | | | | | | | | | When I introduced the global src attribute, I broke custom configurations, since they wouldn't be passing that key in, and nor should they. To allow for non-customisable globals like src, we need to separate them from config. Here, I've modified eval-config.nix to take a callback, so that it can provide multiple attributes, and handle command line arguments itself so that doesn't need to be in every entry point any more. This gives us an interface similar to the NixOS module system's, where a variety of globals are available that can be pulled out of the passed attribute set as required, but with the additional advantage that files are usable directly from nix-build, and support command line arguments. Signed-off-by: Alyssa Ross <hi@alyssa.is> Fixes: 0149885 ("nix: centralise source cleaning")
* release: don't pass -snapshot to QEMUAlyssa Ross2023-02-22
| | | | | | | | | | | This is a remnant from before we made our own temporary file to act as the installation disk. Now, it just means that qemu will pointlessly copy the empty image to TMPDIR. Then, if that filesystem fills up (which is not unlikely because there's a good chance it's tmpfs) and writes start failing, QEMU will pause the VM. This made it difficult to test the installer. Signed-off-by: Alyssa Ross <hi@alyssa.is>
* release: rename from "img"Alyssa Ross2022-11-13
I think this is more descriptive, and "img" is a name better used for VM images. Signed-off-by: Alyssa Ross <hi@alyssa.is> Message-Id: <20221009114036.463071-6-hi@alyssa.is>