about summary refs log tree commit diff
path: root/modules/profiles
Commit message (Collapse)AuthorAgeFilesLines
* modules/profiles/tvl: disable search domainsternenseemann2022-08-161-3/+0
| | | | This stopped working for me for some reason, so no point in keeping it
* modules/profiles/tvl: reflect option renamesternenseemann2022-02-021-4/+3
| | | | | A stupid change of this kind apparently can't be implemented without adding a rename module for all affected options…
* profiles/tvl: remove effect-less mkAftersternenseemann2021-04-201-2/+2
| | | | | | | | | Binary cache priority is only decided by list ordering if the caches have the same priority, but cache.tvl.su has a higher priority than cache.nixos.org and headcounter.org/hydra. Due to https://github.com/NixOS/nix/issues/4717 we can't specify the priority for cache.tvl.su via the URL options method.
* profiles/tvl: use networking.domain instead of listing all hostssternenseemann2021-04-201-7/+3
| | | | This should make arbitrary new short domains work automatically.
* profiles/tvl: support tvls host shorthandssternenseemann2021-04-091-0/+8
| | | | | | | whitby.tvl.fyi has virtualhosts configured with the names "b" and "cl" which redirect to b.tvl.fyi and cl.tvl.fyi respectively. For this to work in e. g. your browser as well, we need to add entries to networking.hosts. See also http://cl/2908.
* profiles/tvl: insert cache.tvl.su with less prioritysternenseemann2021-04-091-2/+2
| | | | | This should make headcounter.org/hydra and cache.nixos.org take precedence over cache.tvl.su which is needed less often.
* modules/profiles/tvl: add tvl profile modulesternenseemann2021-04-041-0/+25
| | | | | | | | | | | | This doesn't do much other than enabling cache.tvl.su as a binary cache currently, but we can additional settings in the future which are neat for working with tvl's depot. I contemplated adding an option to add <depot> to the nixPath, but I don't want it too desparately right now and it is kind of annoying to implement for vuizvui, as the default core/common.nix module overrides any values you set and it is hard to merge the nixPath values, so we'll probably need an vuizvui.extraNixPath option etc. pp.
* modules/profiles/*: Rename to modules/core/*aszlig2016-05-173-419/+0
| | | | | | | | The name "profiles" really doesn't match what these modules are for. Instead they define the very core of Vuizvui and its internal plumbing and those options are available/enabled to all machines and modules. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* modules: Add a new module for license selectionaszlig2016-05-171-0/+19
| | | | | | | | | | | | This basically provides module arguments with different variations of the pkgs arguments so that it's easier to allow specific unfree packages selectively. Note that I deliberately chose "unfreeAndNonDistributablePkgs", because we really want to let those packages stand out. We want to avoid building those packages on Hydra as much as possible. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* profiles/tests: Add upstream test "boot-stage1"aszlig2016-05-061-0/+3
| | | | | | | | | | | This test has been introduced by NixOS/nixpkgs@e936f7d and was part of NixOS/nixpkgs#15275. The check attribute is always true for this test, because it has to be run no matter which configuration you're using. It basically makes sure that boot stage 1 is working correctly. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* profiles/tests: Make keymap checks more granularaszlig2016-05-031-7/+23
| | | | | | | | | | Apart from an evaluation error (because ["nixos" "keymap"] results in an attrset rather than a plain derivation), checking for the active keymap explicitly makes more sense here. For example a user of a Neo keyboard layout won't care about a failure of the Dvorak keyboard layout and vice versa. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* profiles/tests: Add new upstream testsaszlig2016-05-031-1/+30
| | | | | | | | | | | | | | | | | Adds the following missing tests which were missing for our machine-based checks: * Taskserver * bridging, IPv4 and IPv6 for containers * dnscrypt-proxy * imperative containers * keymap (only runs if not on qwerty) * netbooting These are the tests which were missing in Vuizvui as of current nixpkgs revision NixOS/nixpkgs@bf8130684878747be7b1cc393f8aa147c500f14f. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* profiles/tests: Fix up upstream test namesaszlig2016-03-011-5/+11
| | | | | | | With NixOS/nixpkgs#13585 landing (NixOS/nixpkgs@f70ec0d) in master, the tests are now named differently, so we need to fix it. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* profiles/tests: Update upstream tests.aszlig2016-02-281-3/+12
| | | | | | | | | | | | | | In NixOS/nixpkgs@d4636fa, the nixosPinVersion got removed, so we need to avoid evaluating it. Some other tests were added in the meantime, namely: * PostgreSQL (NixOS/nixpkgs@109ba4c) * Grsecurity (NixOS/nixpkgs@dd18447) * initrd-network (NixOS/nixpkgs@cc925d0) * Mathics (NixOS/nixpkgs@fe8498f) Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* profiles/tests: Revert disabling quake3 testaszlig2016-01-161-2/+0
| | | | | | | | | This reverts commit 71d24b28c16fbae58d1ecfeaecf5a26c7ec015da. Evaluation has been fixed upstream at NixOS/nixpkgs@c4de45b and the test should succeed after NixOS/nixpkgs@5caa8ab as well. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* profiles/tests: Temporarily disable quake3 testaszlig2016-01-151-0/+2
| | | | | | | | | | | | | The Quake 3 demo data have been marked as "unfreeRedistributable" in NixOS/nixpkgs@6b447a3, which causes this test to not evaluate unless we set config.allowUnfree to true. I guess the best solution to fix this upstream is to use something like OpenArena for the Quake 3 tests, because I didn't manage to find anything regarding the demo files and/or whether those are redistributable or not. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* profiles/tests: Add networking.*.loopback testaszlig2015-12-181-0/+3
| | | | | | | | | | | | I've added that test in NixOS/nixpkgs@4c61faa and it fails at the moment, still leaving the channels in a broken state in regards to networkd. The reason I'm doing this anyway is to ensure I won't forget to add that test here as well. We can't easily go back to the "not broken" state anymore, except if we roll back to a version with systemd < 228. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* profiles/tests: Add a check for allProxy.aszlig2015-12-111-1/+3
| | | | | | | This was just pushed a few minutes ago as commit NixOS/nixpkgs@565707c57abc6ee9e81d4f6c9bd5fed5bbac2d40. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* profiles/tests: Avoid scanning full linuxPackages.aszlig2015-12-111-1/+2
| | | | | | | | | | | | | Using an equality test on an attribute set is actually a very bad idea, because it forces strict evaluation. In this case a simple test on the kernel version between the defined one and the available one should be sufficient. And if we have a false-positive in test inclusions it doesn't hurt anyway. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* profiles/tests: Fix evaluation for real.aszlig2015-12-111-3/+5
| | | | | | | | | | This time I've gone through the hoops of almost running out of memory, because evaluating the channel expression now eats lots of RAM. Meaning: I've now actually tested it on my system without just throwing it at the Hydra box which has lots of RAM... unlike my local machine :-( Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* profiles/tests: Fix evaluation.aszlig2015-12-111-1/+1
| | | | | | Forgot to include pkgs to module args. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* profiles/tests: Add most of the NixOS tests.aszlig2015-12-111-6/+217
| | | | | | | | | | | I've added all tests that are not related to packages in environment.systemPackages or are otherwise tricky to include or to distinguish (for example NFSv3 vs. NFSv4). So we now should have a pretty good test coverage for all of our machines. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* profiles/common: Move requiresTests to tests.aszlig2015-12-112-13/+15
| | | | | | | That way we have everything regarding the vuizvui testing system in one module instead of two. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* profiles/tests: Fix attributes of network tests.aszlig2015-12-111-1/+1
| | | | | | | We should emit the actual derivations but instead just the main attribute "nixos.networking" was added to vuizvui.requiredTests. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* modules: Make requiresTests a list of paths.aszlig2015-12-112-9/+9
| | | | | | | | | | | 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>
* profiles/common: Move gathering tests to lib/.aszlig2015-12-111-13/+2
| | | | | | | | | | So my gut feeling in 90c080e was't wrong after all, so we need to create jobs for all the tests the machines include. In order to make this easier, we're going to re-use the collection of all test attributes from release.nix so putting it in lib/ makes sense. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* modules: Add a few basic NixOS networking tests.aszlig2015-12-111-0/+15
| | | | | | | | This is basically just to get started and for testing whether our idea will actually work out as planned. My gut feeling is that Hydra explicitly needs jobs for these tests, but we'll see. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* profiles/common: Pass tests attribute to modules.aszlig2015-12-111-2/+20
| | | | | | | | | | | | | | | | | | | | | | | This is going to be used in modules or configurations to include tests specific to the module, for example let's say you have a foo.nix module that defines a foo service and you have a test named "foo" in the tests.vuizvui namespace. You can use it like this: { config, tests, lib, ... }: { ... other options of the foo service module ... config = lib.mkIf config.foo.enable { vuizvui.requiresTests = [ tests.vuizvui.foo ]; }; } If a machine config enables the module foo (foo.enable = true) then the "foo" test is also a constituent of the machine channel for the machine. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* profiles/common: Add a new requiresTests option.aszlig2015-12-111-0/+9
| | | | | | | | | | 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>
* profiles/common: Add NIXPKGS_CONFIG env variable.aszlig2015-12-051-0/+8
| | | | | | | | | | | | | Having <nixpkgs-config> in PATH doesn't help in anything if we actually forget to add the right environment variable where we import the <nixpkgs-config> from NIX_PATH. The reason why I choose to use <nixpkgs-config> instead of directly specifying the config in NIXPKGS_CONFIG is that we now have _one_ environment variable (NIX_PATH) to override everything from the <nixpkgs> version to its config. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* common: Add option for global nixpkgs config.aszlig2015-12-011-7/+26
| | | | | | | | | | | | This should make creating ~/.nixpkgs/config.nix obsolete and we can solely decide whether we actually want these overrides by modifying NIX_PATH alone. The option isn't enabled by default, because this doesn't work if for example /etc/nixos/configuration.nix is not readable by the user using nix-env or importing <nixpkgs> by other means. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* profiles/common: Force rebuilding GHC+packages.aszlig2015-09-101-0/+8
| | | | | | | | | | | | | | | | | | | | | I was glad that the issues because of the longstanding GHC determinism bug (https://ghc.haskell.org/trac/ghc/ticket/4012) happened less frequently with GHC 7.10. Unfortunately, they still happen, as reported by @Profpatsch at headcounter/deployment#19 so we're going to override the GHC derivation with an additional attribute that is exported into the environment of the builder. This attribute causes GHC and all dependant packages to be rebuilt on the Headcounter Hydra. The original issue was because we're using the official NixOS binary cache as well as building everything from source. It's helpful for not needing to rebuild the entire world, but for Haskell packages it's harmful until the mentioned GHC bug has been fixed. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* profiles/common: Use nix.nixPath to set NIX_PATH.aszlig2015-08-221-9/+7
| | | | | | | | | | | | | | | We were using environment.sessionVariables before, but NixOS/nixpkgs@3f1354a added an option exclusively for this. It internally still sets environment.sessionVariables, so it doesn't change anything for us because we're overriding the full list anyway. But should we switch from overriding to appending/prepending someday, we could get unexpected behaviour, so that's why I'm switching to nix.nixPath here. Thanks to @devhell for bringing this to my attention. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* profiles/common: Add headcounter.org signing key.aszlig2015-07-291-0/+4
| | | | | | | Since NixOS/nixpkgs@e3a5bca, signed binary caches are mandatory, so let's set it in our default profile for vuizvui. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* profiles/common: Fix override of sessionVariables.aszlig2015-06-151-3/+3
| | | | | | | | | | | | | | | | | | | | | | | Ugh... I must have been quite distracted while writing this. Of course, doing a mkOverride on environment.sessionVariables instead of environment.sessionVariables.NIX_PATH is going to clear *all* sessionVariables instead of just replacing NIX_PATH. This time however, I did a short test with: nix-instantiate --eval --strict -E ' (import <nixpkgs/nixos/lib/eval-config.nix> { modules = [ ./modules/profiles/common.nix ]; }).config.environment.sessionVariables ' ... to make sure I just didn't break it *again*. Also, I'm going to immediately test this after the next evaluation, as my current system is lacking quite a lot of necessary sessionVariables. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* profiles/common: Modify NIX_PATH for the channel.aszlig2015-06-111-7/+44
| | | | | | | | | | | That way we no longer need to rewrite anything from <nixpkgs> anymore, because we only need to build one generation of the system and have the right system-wide NIX_PATH for vuizvui. For now however, let's test this properly before we can drop the rewrite of nixos-rebuild and friends. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs: Properly namespace package under "vuizvui".aszlig2015-05-041-2/+2
| | | | | | | | | | | | | | | | For packageOverrides, we only want to return the vuizvui attribute set and nothing more. But if we want to import <vuizvui/pkgs>, we want to have access to <nixpkgs> as well, which is especially useful when using the <vuizvui> channel. However, in callPackageWith we're explicitely using the vuizvui attribute which should override the whole set of <nixpkgs>, so that references to vuizvui packages don't need to be explicitly namespaced within vuizvui itself and we can easily override existing packages with this method as well (like just define a vuizvui package and it overrides the dependency for all of vuizvui's packages). Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* Refactor overrides into my base profile.aszlig2015-03-181-0/+11
Just moving the overrides into the base profile isn't enough here, as we wouldn't be able to refer to packages anymore, because the global nixpkgs.config override is now gone. Instead, we're now putting pkgs.vuizvui.* into the NixOS module system by a new profiles/common.nix, which is used unconditionally for all machines. Of course, the result of this is that we now need to change all references to vuizvui-related packages, which also is a good thing, because we will no longer shadow existing packages from upstream nixpkgs. Signed-off-by: aszlig <aszlig@redmoonstudios.org>