about summary refs log tree commit diff
path: root/release.nix
Commit message (Collapse)AuthorAgeFilesLines
* release.nix: update programs.sqlite to 22.11pre411613.7e52b35fe98sternenseemann2022-09-291-2/+2
|
* release.nix: update programs.sqlite to 22.05pre379159.dfd82985c27sternenseemann2022-05-241-2/+2
|
* release.nix: Fix attribute for docbook_xsl_nsaszlig2022-03-241-1/+1
| | | | | | | | | | Commit 9e99cae10ab810bf354d44e8424884a618533e92 has renamed a few packages, one of them was from docbook5_xsl to docbook5_xsl_ns. However, the real name is "docbook_xsl_ns" instead, so I guess the author just forgot to remove the "5" :-) Signed-off-by: aszlig <aszlig@nix.build>
* release.nix: update programs.sqlite to 22.05pre362445.9bc841fec1csternenseemann2022-03-221-2/+2
|
* treewide: Rename packagesdevhell2022-03-021-1/+1
| | | | More packages have been renamed recently.
* release.nix: update programs.sqlite to 21.11pre327669.b67e752c29fsternenseemann2021-11-031-2/+2
|
* release.nix: update programs.sqlite to 21.05pre282432.311ceed827fsternenseemann2021-04-131-2/+2
|
* release.nix: update programs.sqlite to 21.05pre278406.d3f7e969b98sternenseemann2021-03-261-2/+2
|
* release.nix: update programs.sqlite to 21.05pre271444.9816b99e71csternenseemann2021-02-221-2/+2
|
* release.nix: inject programs.sqlite from a nixos channelsternenseemann2021-02-191-0/+20
| | | | | | | | | | | | | | programs.command-not-found requires a database containing an index of all of nixpkgs. Since this is pretty expensive to create we fetch the database from the nixos-unstable channel. Unfortunately it is not available via git, so we need to use the tarball which also means hydra can't automatically update it. One improvement to this change that would be possible is to also index vuizvui and merge that with the database from upstream. This should probably be investigated in the future, but probably affects less people as the nix tool will only be usable with vuizvui packages as commond-not-found suggests if vuizvui.modifyNixPath = true.
* treewide: use `runCommandLocal` where applicableProfpatsch2019-12-081-2/+2
| | | | | | | `runCommandLocal` was added to nixpkgs in https://github.com/NixOS/nixpkgs/pull/74642 to speed up trivial `runCommand` derivations by always building them locally. We have a few places where that’s good to use.
* release.nix: Fix build of manualaszlig2019-08-111-2/+4
| | | | | | | | | | | | | | | | | | | | | | A recent change[1] that has been merged to nixpkgs master has factored out the generation of the options in (among others like JSON) DocBook format into pkgs.nixosOptionsDoc and subsequently also changed the path of the XSL files. Ideally, the generation of the manual on our side would also just use a single function that is provided via nixpkgs for generating the *full* manual. The nixosOptionsDoc function however provides *only* the option list in DocBook format, which is useful to *some* extent but doesn't deduplicate the extra params we give to DocBook (eg. style sheets for syntax highlighting). This and the fact that I only have limited time at the moment is why I left all the other crap we duplicate on our side as-is and only change the path to the XSL files. [1]: https://github.com/NixOS/nixpkgs/commit/5cfd034af0afe55e4d25748ec986c71b3bfbe3dd Signed-off-by: aszlig <aszlig@nix.build>
* release/manual: Fix generating option descriptionsaszlig2018-09-031-1/+4
| | | | | | | | | | | | The NixOS option descriptions are now splitted into <para/> elements whenever a \n\n occurs. For this an intermediate step is necessary, so we need to add the postprocessing XSLT here as well. This is the upstream commit that changed this behavior: https://github.com/NixOS/nixpkgs/commit/f865d0feabfafbb30a9e0659e19a30cb Signed-off-by: aszlig <aszlig@nix.build>
* release: Fix build of the manualaszlig2018-04-201-11/+27
| | | | | | | | | | | | The changes in NixOS/nixpkgs@4b4bbce199d3b3a8001ee93495604289b0 include moving the style.css to a different location, but they also add syntax highlighting, so let's include it as well :-) I've also reorganized the XSLT flags a bit and instead of a big multiline string we now use an attribute set to define these flags in a declarative way. Signed-off-by: aszlig <aszlig@nix.build>
* Fix up call-network and rename withPkgsPathaszlig2018-04-031-2/+3
| | | | | | | | | | | | | Using __withPkgsPath is a way better name, because two underscores in front of it commonly designate an internal attribute, which it is. The callNetwork function now works in a similar vain as callMachine, having a canonical way to specify the path to nixpkgs. I've also changed the recursive search of machines to use the __withPkgsPath attribute as a way to detect whether it's a machine. Signed-off-by: aszlig <aszlig@nix.build>
* call-machine: Allow to work in restrict-eval modeaszlig2018-04-031-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | It's a bit unfortunate that I removed the extraConfig attribute from <vuizvui/machines> back then (49dc58c6f8d72a4e142176f25da52666ef9ae268). Now we could have used this argument to pass the nixpkgs path from release.nix back into call-machine.nix, but introducing that extra argument again would break the configs of all of the systems using Vuizvui. So instead, I've added a function exposed by call-machine called withPkgs, which overrides the whole attribute set returned by callMachine to use nixpkgs from the given argument. This allows us to run in restricted evaluation mode as enforced by Hydra and Nix 2.0 and while we could simply disable restricted eval, it's even better if we comply with it. Unfortunately I lied a bit, because we've been running in restricted eval mode before. This time however it seems that some change in Nix has caused this to be even more restrictive because now Nix search paths are not allowed as well. Relying on those within a Hydra jobset however is discouraged anyway. Signed-off-by: aszlig <aszlig@nix.build>
* release.nix: Fix evaluation error for meta.brokenaszlig2018-02-031-1/+1
| | | | | | | | | If meta.broken is set to true for a package, we need to return an empty list. However, "brokenOr" needs to be a function returning a list and the first branch (meta.broken being true) of the condition just returns a list instead of a function. Signed-off-by: aszlig <aszlig@nix.build>
* release.nix: Exclude broken packages from setaszlig2018-02-031-1/+2
| | | | | | | | | | | | | | While we now evaluate broken packages and they fail to build, this is still not very nice because it will still break the generic channel. So let's do this a bit differently and actually exclude these packages without running into an eval error. We evaluate the derivation and later check whether meta.broken is set, which has the advantage that we only kick out packages that are *directly* marked as broken rather than excluding packages that have a broken flag in one of their dependencies. Signed-off-by: aszlig <aszlig@nix.build> Cc: @Profpatsch
* release.nix: Evaluate broken packagesaszlig2018-02-031-0/+5
| | | | | | | | | | Just because a package is marked as broken doesn't necessarily mean it's broken. For openlab.gitit this might still be the case, but having this result in an eval error isn't very nice, so we'd rather just have this boil down to a broken build instead. Signed-off-by: aszlig <aszlig@nix.build> Cc: @Profpatsch
* pkgs: Remove the vuizvui namespaceaszlig2017-11-121-2/+2
| | | | | | | | | | | | | | | It's a bit weird to need to write something like this: nix-build pkgs -A vuizvui.aszlig.vim We're already within vuizvui, and the filesystem paths are already structured in a way so that the above is in pkgs/aszlig/vim, so the need to add the vuizvui attribute to that seems quite pointless and unnatural. I have tested this by evaluating a few machines, tests and packages. Signed-off-by: aszlig <aszlig@nix.build>
* modules/core: Add a new module for lazy packagesaszlig2017-02-081-2/+13
| | | | | | | | | | | | | This allows to add packages to vuizvui.lazyPackages which then aren't directly installed onto the system but instead built by the Hydra and only fetched from it as soon as a binary of one of these packages is executed. Doing this only within a NixOS module however isn't enough, because by default gc-keep-outputs is false, so a garbage collect on the Hydra instance would remove the packages we wrap in vuizvui.lazyPackages. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* release: Don't build all packages for x86_64-linuxaszlig2016-11-291-0/+11
| | | | | | | | | Since NixOS/nixpkgs@8b782f4bd43be46e944a6bbac8569667f70478de, the packagePlatforms function now always returns a platform for x86_64-linux, but in vuizvui we want to *only* build packages we explicitly mark so. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* release.nix: Add vuizvui tests to generic channelaszlig2016-05-281-1/+3
| | | | | | | | | | It makes sense to not only include Vuizvui specific packages to the constituents of the generic channel, but also all of the Vuizvui specific tests as well, because if we want to use modules from machines outside of Vuizvui, we really want to make sure they get a well-tested channel as well. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* release.nix: Add vuizvui pkgs to generic channelaszlig2016-05-281-8/+12
| | | | | | | | | | | | | | This adds all the packages that are marked to be built on Hydra to the constituents of the generic channel so that we can ensure that the channel always stays with succeeding builds. It's especially useful for the patched gitlab that is used for the OpenLab website VM, because it is not a NixOS system. We can simply use the generic channel over there and stay up-to-date with it without getting broken builds. Signed-off-by: aszlig <aszlig@redmoonstudios.org> Cc: @Profpatsch
* release.nix: Fix import of <vuizvui/machines>aszlig2016-05-031-1/+1
| | | | | | | We factored away the system attribute from <vuizvui/machines> and it's now a plain attrset. Unfortunately I forgot about the release.nix. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* Hook get-tests.nix into <vuizvui/lib> as wellaszlig2016-05-031-1/+1
| | | | | | It's only for consistency and so has no real feature changes. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* release.nix: Exclude game tests from Hydra jobsaszlig2016-03-151-0/+1
| | | | | | | We can't possibly test those on Hydra, so let's exclude them from the release.nix. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* release.nix: Avoid trying to build games on Hydraaszlig2016-03-151-1/+2
| | | | | | | | | | The packages in vuizvui.games use the NixOS module system for configuration and provides the particular game derivations based on that. As the configuration is all about Steam/Humblebundle account credentials we obviously can't build it on Hydra and it thus fails with an evaluation error. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* Revert "manual: Fix evaluation error"aszlig2016-03-021-1/+1
| | | | | | | | | This reverts commit 6b7b68bd8eae94ffe91b2ae17fbf01045244b43b. The breaking upstream commit has been reverted in NixOS/nixpkgs@f3d94cf, so let's revert it here again. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* manual: Fix evaluation erroraszlig2016-03-011-1/+1
| | | | | | | | | | | | | | Since NixOS/nixpkgs@cad8957 there is an additional argument to optionAttrSetToDocList, so we need to pass internal _module arguments to that argument (typically _module.check and _module.typeInference) which are used by the type checker to find errors. On Vuizvui however, we don't build the full manual but only Vuizvui-specific options, so we might want to aim for a different approach in the long term rather than duplicating a lot of the manual generation code. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* lib/call-machine: Introduce .build shortcutaszlig2016-02-081-3/+3
| | | | | | | | | | | | | | | | | | | The shortcut is mainly to make things a bit easier, instead of: nix-build '<vuizvui/machines>' \ -A aszlig.tishtushi.eval.config.system.build.toplevel We can now do something like this: nix-build '<vuizvui/machines>' \ -A aszlig.tishtushi.build ... in order to get a system store path out of a machine definition. This also fixes an evaluation error in the top-level default.nix. Thanks to @Profpatsch for bringing this to my attention. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* lib/call-machine: Clean up expressionaszlig2015-12-151-7/+7
| | | | | | | | | | | | | | | This gets rid of the use attribute, which is now called "config". We had the "config" attribute before but it was kinda pointless, because it was just the import of the path and nothing else. So the config attribute now is the machine configuration with all of the vuizvui modules imported as well. The "build" attribute is now called "eval", which is more appropriate, because it's the evaluation of the configuration and not the finished system build. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* release.nix: Unconditionally add vuizvui tests.aszlig2015-12-111-1/+3
| | | | | | | | | | We want to have non-machine-specific tests as well, so let's ensure that we build all tests listed in the tests directory. This is especially useful if we want to have tests on build products within release.nix or tests which are unrelated to machines. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* release.nix: Improve arg name in gatherTests.aszlig2015-12-111-1/+1
| | | | | | No change in functionality, I'm just dead tired so I fucked up the name. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* release.nix: Fix channel constituents.aszlig2015-12-111-6/+9
| | | | | | | | After switching the requiresTests option to be a list of paths we no longer can just pass them verbatim to the constituents but rather do a lookup on all of these paths to get the derivations. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* release.nix: Properly import vuizvui tests.aszlig2015-12-111-2/+4
| | | | | | | | The tests from vuizvui itself weren't properly included in release.nix, because we're patching up our own source tree and thus the evaluator is unable to find the right path. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* modules: Make requiresTests a list of paths.aszlig2015-12-111-11/+5
| | | | | | | | | | | Unfortunately, we went into trouble and the Hydra machine not only consumed lots of ram during evaluation but it also triggered a bunch of evaluation errors because the available tests were strictly evaluated. Using attribute paths consisting of plain strings doesn't have the same problem, even though they look a bit uglier. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* release.nix: Include all tests that are enabled.aszlig2015-12-111-2/+16
| | | | | | | | | | | | | | This now includes both upstream NixOS and Vuizvui tests. Unfortunately, evaluation now takes a ton of time and also a ton of memory, so let's hope our Hydra can sustain it. The reason is that we need to look through all of the available tests and recurse through _all_ machine configurations to see if they're defined there. If it is too heavyweight we might need to find a better solution for that. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* release.nix: Only import machines once.aszlig2015-12-111-4/+6
| | | | | | | | This removes a bit of redundant code and also makes instantiation with --eval-only a bit more convenient, because we're testing whether we have vuizvuiSrc and if not we're importing a plain path directly. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* profiles/common: Add a new requiresTests option.aszlig2015-12-111-1/+2
| | | | | | | | | | The idea is that modules can define a list of test jobs which need to succeed whenever the module is used. In the end this should make channel updates a bit less frightening for people not already confident in using NixOS. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* release: Turn manual into serveral chunks.aszlig2015-12-111-5/+23
| | | | | | | | | | | This allows us to write separate chapters/parts of documentation without getting one big HTML page with everything at once. Now the chunk.xsl by default chunks of <preface/> elements, so we'd like to control this by patching docbook5_xsl directly and prevent it from doing that. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* release: Factor out manual into doc/ directory.aszlig2015-12-101-14/+4
| | | | | | | | So far this has been inlined in release.nix, but if we want to have more documentation, we should modularize it into subdirectories. As an additional benefit we get better syntax highlighting for docbook files. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* release.nix: Only build ISOs if createISO is set.aszlig2015-08-131-1/+2
| | | | | | | | | | | | | | | | Here we have our actual implementation. Note however, that one can still build an ISO image out of any machine by using: nix-build machines -A machine.attr.iso.config.system.build.isoImage However, none of these ISOs are built by default, except for kzerza, which has vuizvui.createISO enabled. The implementation has one little goof as it creates empty attrsets if a particular machine doesn't have createISO enabled. But for our current purposes that's okay "enough". Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* release.nix: Don't patch <nixpkgs> anymore.aszlig2015-06-301-15/+2
| | | | | | | | | | Since d2ff1a9, we now set a new NIX_PATH instead of patching <nixpkgs>, which is way less error-prone and get less unexpecting results if we evaluate against an unmodified <nixpkgs>. So, patching <nixpkgs> is obsolete and thus removed. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* release.nix: Build ISO images for all machines.aszlig2015-06-271-0/+15
| | | | | | | | | Originally only needed for "kzerza", because that machine has always resided on an USB stick, but could be useful for "arilou" and others as well. That way you always have a (hopefully working) USB and CD image available for all machines. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* release.nix: Preserve modes in <nixpkgs>.aszlig2015-05-081-1/+2
| | | | | | | | | | | This is cruicial for scripts such as nix-prefetch-git, which have the executable bit set and a builder is trying to call it. Instead, we're now preserving mode and set it writable for the current user directly afterwards, which essentially was my original motivation to not preserve modes. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* release.nix: Fix evaluation error with mkChannel.aszlig2015-05-071-1/+1
| | | | | | | | Since we now have everything within the vuizvui namespace at the top- level Nix expression we also need to reference mkChannel from within that namespace. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* release.nix: Don't build upstream nixpkgs.aszlig2015-05-051-1/+1
| | | | | | | | We don't want to build the whole <nixpkgs> package set, which I accidentally introduced when rewriting the package namespacing in 6ffc2e86150e625266e6836a1404a3e79fc74d49. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* release.nix: Fix get-version-suffix in tarball.aszlig2015-05-041-0/+2
| | | | | | | | | | | | | | This gets rid of an ugly error message during nixos-rebuild, because the stock get-version-suffix tries to find <nixpkgs>, which will either lead to the wrong channel (if it even exists at all) or an ugly error. In both cases however, it doesn't have an effect, because the channel expression store path is read-only and ships with a .version-suffix already. It really only gets rid of ugly error messages. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* release: Patch --find-file in nixos-rebuild.aszlig2015-05-041-1/+3
| | | | | | | We only did simple substitutions of <path/references/like/this/one> but completely ignored the --find-file argument of nix-instantiate. Signed-off-by: aszlig <aszlig@redmoonstudios.org>