| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
No change in functionality, I'm just dead tired so I fucked up the name.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is needed because we're relying on nixpkgs-path.nix to point to a
valid nixpkgs tree, which we deliberately don't have anymore because we
wanted to avoid references to <nixpkgs>.
So providing vuizvuiSrc instead of vuizvui has another advantage that we
now are no longer dependant on the channel name and also have a safety
net (Hydra) to inform us of references to <vuizvui> in the form of
failed builds and/or evaluations.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
| |
Yeah, probably will work a bit better without evaluation errors ;-)
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We now use nixpkgsSrc to make sure that Hydra builds will fail as soon
as we hit a reference of <nixpkgs> in either vuizvui of nixpkgs.
This also means, that we don't rewrite all of vuizvui and nixpkgs
anymore and we only really need to rewrite nixos-rebuild.sh.
Although we're using patched nixpkgs for Hydra builds, the release.nix
still has a fallback to <nixpkgs> to make development easier (patching
nixpkgs on every tiny change will take a long time otherwise).
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
|
|
| |
This file is just defaulting to <nixpkgs>, but we're going to substitue
it by the channel generator. We also need to make sure that we don't
have any other references to <nixpkgs>, but the latter can best be done
on Hydra's side if we don't make <nixpkgs> available to vuizvui builds.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
|
|
|
| |
We want to update the vuizvui channel alongside of the nixos channel in
"nixos-rebuild subcommand --upgrade", because we include machines and
NixOS modules.
Might be splitted off into the machine-specific channels later.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Symlinking is actually a pretty bad idea, because we can only have one
channel expression tarball. Evaluation however doesn't realize the
referenced store paths, so we need to include them directly in the
channel tarball.
This also simplifies rewriting of the NIX_PATH references, because we
need to recurse the directory structure only once.
In order to be correctly recognized by nixos-rebuild and display useful
version info, we generate .git-version and .version-suffix now as well.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
|
|
|
| |
We're now symlinking the nixpkgs store path into vuizvui/nixpkgs and
reference it from within nixos-rebuild. Unfortunately we can't simply
patch it with the hardcoded store path because we'll end up having the
*previous* version on every nixos-rebuild instead of the new version
delivered by the channel.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
| |
Well, it won't work without it, duh!
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
|
|
|
|
| |
Right now, this is done by replacing all NIX_PATH references with
<nixpkgs...> by the path from Hydra input and silently hope that we
won't replace the wrong reference ;-)
Of course we're only replacing it in files that end with a .nix suffix,
so we shouldn't accidentally replace documentation.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
|
|
|
|
| |
Those channels only depend on whether the build of the particular
machine succeed and currently don't include any VM tests.
Also, this is quite repetitious, because we're recursing through the
whole set of machines again instead of re-using the corresponding Hydra
jobs.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
| |
The third argument in hydra-build-products is actually the base
directory and not a name, Alzheimer's near!
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
| |
Regression introduced by a610560bb4b5a05eb480a4dbab3e24c553727047.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
|
| |
The channel now serves more or less as a generic channel, which has no
constituents and thus should always be the most up-to-date channel for
vuizvui.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
|
|
| |
In the end we want to have something like (import <vuizvui> {}), which
exports all stuff we need for building machines, packages, providing
custom helper functions and much more. And all that by using a channel
instead of setting NIX_PATH directly :-)
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
|
| |
Mainly to make it a bit easier to distinguish, but also because we want
to make the release attribute set recursive, so we don't run into weird
evaluation errors.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
| |
Forgot to remove the slash from the end of the replacement of the
transformation expression in tar.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
| |
DUH! Finger fart, as I was writing a tar.bz2 in the first place and
later changed it to tar.xz.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
|
|
|
| |
With my previous implementation (NixOS/hydra#203) the tarball was
created by Hydra itself on the fly. Our new implementation actually
generates the tarball via Nix and Hydra only picks up the build product.
And exactly that's what we're doing here.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
|
| |
This is actually a store path consisting of the vuizvui sources
themselves and currently doesn't depend on anything else, so it usually
won't fail when mandatory tests or builds fail.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
| |
Since NixOS/nixpkgs@738cf42, the attribute is now simply called
"packagePlatforms".
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
|
|
| |
We don't want to build non-free stuff on our Hydra and also we want to
have builds for all supported systems. In addition, this should get rid
of a few evaluation errors that happen because Hydra tries to create
jobs out of attributes which are not derivations.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
| |
The only thing that was missing was the pkgs attribute.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
|
|
| |
Similar to callMachine, we now have callTest. The latter uses
make-test.nix, so we don't need to import the file explicitly anymore
and can just write our VM test by using either an attrset or a lambda
function which also gets our own packages in a vuizvui namespace.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
| |
We're going to write much more tests and don't want to clutter up the
tests/ directory.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
|
| |
Using "import ../machines" is a bit ugly here, so we might want to
integrate this into make-test.nix, but other than that it should work
nevertheless.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
|
|
|
|
| |
Introduces callMachine in machines/default.nix, which returns an
attribute set containing the (input) configuration and also a build
attribute containing the output configuration and thus also the builds.
However, we still have references to ../../common-workstation.nix which
we need to refactor very soon.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
| |
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
|
|
| |
As we have a build farm at our disposal, it really makes sense to put
the whole set of packages + overrides into systemPackages. The new
packages list is now sorted by name rather than category so it's easier
to spot duplicates.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 886cf96f68172021d0ac9f8fbe32e4085b7487bb.
Right now, this is still needed for aszligEnv until we have refactored
it to be a proper module.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Conflicts:
release.nix
|
|
|
|
| |
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
|