1
1
mirror of https://github.com/divnix/digga.git synced 2024-12-23 08:02:21 +03:00
Commit Graph

1216 Commits

Author SHA1 Message Date
David Arnold
7e9b1c57ac fix: bootstrap image naming
transparency.
2022-02-23 15:23:14 -08:00
David Arnold
e5776ce9a1 fix: check wrapper 2022-02-23 15:23:14 -08:00
David Arnold
8a8f92fb42 imp: add per host tests
this allow users to specifiy per hosts tests in the host api container
under `.test`.

test must be an attrs or a function that is invoked as a package and
that returns an attrs which can be consumed by nixos' `mkTest`.

tests must have a name, so that they can be told apart in the
flake's check attribue.
2022-02-23 15:23:14 -08:00
David Arnold
7527aeea89 bump: dowstream test 2022-02-23 15:23:14 -08:00
David Arnold
27c4a06f29 fix: local tests
when substitutin paths in submodule tests, we need to use absolute
paths to not violate the submodule git boundary through the use of
relative paths
2022-02-23 15:23:14 -08:00
David Arnold
c6e398f534 ref: streamline mkTest signature 2022-02-23 15:23:14 -08:00
David Arnold
791467c536 add: cachix action 2022-02-23 15:23:14 -08:00
David Arnold
4eaabaf70e fix/generators: make deploy-rs work with fqdns, where available
If a host has the domain set, we should teach `deploy-rs` to reach it
over it's fqdn.
2022-02-23 15:23:14 -08:00
David Arnold
09f547f6b6 docs: fix gotcha about default channel
portable home manager configs are derived from the default channel's
`pkgs`, however host speific home manager configs, obviously remain
derived from the respective host's `pkgs`, which can be based on a
different channel.
2022-02-23 15:23:14 -08:00
David Arnold
d3dca3fd8b ref/boostrap-iso: add inputs to iso store contents
There was never an intention to setup the registry with aliases, which
would not avoid a network call ayhow if an input is not specified as an
registry-resolvable input.

At the same time, this clarification also eliniates an error that is
addressed upstream via https://github.com/NixOS/nixpkgs/pull/131814

---

work-around: for spurious reasons w.r.t. functor attrs in module system

Without any obvious reason, the module system appears to substitute
attrs that contain a `__functor` with the value of that functor.
2022-02-23 15:23:14 -08:00
David Arnold
18f0a7c422 fix: don't use new kernel for bootstrap-iso to avoid incompatibilities
for example: error: Package ‘zfs-kernel-2.0.5-5.13.4’ in /nix/store/jbch90yqx6gg1h3fq30jjj2b6h6jfjgs-source/pkgs/os-specific/linux/zfs/default.nix:175 is marked as broken, refusing to evaluate.
2022-02-23 15:23:14 -08:00
David Arnold
5e7747be98 fix: typos in bootstrap ISO image 2022-02-23 15:23:14 -08:00
David Arnold
bbcca38932 fix: bump flake-utils-plus with a regression w.r.t exportModules reverted 2022-02-23 15:23:14 -08:00
David Arnold
285f879014 bump: downstream for tests 2022-02-23 15:23:14 -08:00
David Arnold
6edaccd19e imp/nixos: enable importable access to self & inputs's lib functions
`self` and `inputs` might have library functions or other features that
users want to use within the module system.

To avoid infinite recursion when used within the context of `imports`
statements, make them `sepcialArgs`.
2022-02-23 15:23:14 -08:00
David Arnold
64031cd1d5 imp: pass self & inputs to devshell module eval 2022-02-23 15:23:14 -08:00
David Arnold
cf6f2e1bd9 fix: don't git ignore the mdbook index 2022-02-23 15:23:14 -08:00
David Arnold
cb79b839c5 bump: downstream for tests 2022-02-23 15:23:14 -08:00
David Arnold
b089b036c2 fix: mkFlake options & functor 2022-02-23 15:23:14 -08:00
David Arnold
13d6f8590f fix: boostrap iso module 2022-02-23 15:23:14 -08:00
David Arnold
fee8829dd7 docs: add general docs (w/o library reference)
library reference expected to come as soon as flake-utils-plus has
the corresponding implementation.
2022-02-23 15:23:14 -08:00
David Arnold
736b50eeb0 fix: api-doc job 2022-02-23 15:23:14 -08:00
David Arnold
cd8a40c682 fix: remove deprecated accessors in examples 2022-02-23 15:23:14 -08:00
David Arnold
0c266bafdf ref: adapt to fup upstream refactoring 2022-02-23 15:23:14 -08:00
David Arnold
6562558a4b fix: infinite recursion
specialArgs (even though from submodules) cannot be obtained from 
within the module system
2022-02-23 15:23:14 -08:00
David Arnold
14e36e1133 fix: add inputs back to arguments
Accessing inputs via self seems to be illegal in certain cirumstances
and produces an infinite recursion.
2022-02-23 15:23:14 -08:00
teutat3s
2965633c1f Using extra-* in nix.extraOptions should append to existing entries in nix.conf 2022-02-23 15:23:14 -08:00
David Arnold
826620aabb ref: factor mkFlake into its components
this is intended to facilitate further debugging and organize the 
codebase
2022-02-23 15:23:14 -08:00
David Arnold
8ed47e8270 ref: don't mix access to configuration inputs and config values
use proper configuration values
2022-02-23 15:23:14 -08:00
David Arnold
2fc56f4dd6 imp: add e2e tests 2022-02-23 15:23:14 -08:00
David Arnold
0cea9fecfb bump: devos to tip of correspondence PR 2022-02-23 15:23:14 -08:00
David Arnold
7587f4700e fmt 2022-02-23 15:23:14 -08:00
David Arnold
a253fda655 ref: reorganise exported confenience modules & overlays 2022-02-23 15:23:14 -08:00
David Arnold
b90ad83d83 satisfy pre-commit hook (editorconfig / format) 2022-02-23 15:23:14 -08:00
David Arnold
ea183d97fd ref: overlays.patched -> overlays.patchedNix 2022-02-23 15:23:14 -08:00
David Arnold
4b892d6c11 nixConfig: provide a useful nixConfig module
users should decide wether they trust the caches and find those
options useful and hence explicitly activate them in their `devos`
2022-02-23 15:23:14 -08:00
David Arnold
5eb849f0f6 nixConfig: setup the nix configuration
Users may not have setup their nix correctly. This ensures they have the
proper features and caches setup when they use this repo.

We currently have not entire clarity wether all `nixConig` flake options
work. At some point in time `nix` support was limited.

Therefore, we implement an NIX_CONFIG fallback (at least) in the devshell

supersedes #69
2022-02-23 15:23:14 -08:00
David Arnold
4a4a6ee1c1 imp: add proper nix patching
It is very likely that some digga functionality requires patches to nix

Create a place for patches that mimicks the way how they could be
applied once `inputs.<name>.patches` of the
UFR (Unofficial Flakes Roadmap) is implemented.

Also showcase how `nixConfig` can add extra feature flags (without
overriding the patched-in ones).
2022-02-23 15:23:14 -08:00
David Arnold
78e198103a bump: devos for testing 2022-02-23 15:23:14 -08:00
David Arnold
a060db0a55 fix: do host-spaced home checks only on that hosts's architecture 2022-02-23 15:23:14 -08:00
David Arnold
b4a7330864 imp: hm user@host idiom should be aligned with host's deployment
When using the `user@host` idiom, we explicitly want to deploy that
users on that host. Therefore, don't alter the deployment
configuration between the method that uses `homeConfigurations` and
the method that changes the home configuration as part of the system
configuration change.

In the future a portable `user/arch` combination can be implemented.
Such `user/arch` is not host specific and can be deployed to any host
where nix is installed (e.g. at work). In this use case, we have to
make sure that the user's $HOME/.nix-profile is used as the profile, 
that is `home-manager.useUserPackages = mkForce false`.
2022-02-23 15:23:14 -08:00
David Arnold
dd1e822f7e ref: cleanup hm config generation
- uses c.config.home-manager.users directly (depends on https://github.com/divnix/devos/pull/338)
- fix: uses c.config.networking.hostName instead of reverseDNS names
- sets `useUserPackages` to `false` and removes mkForce false from https://github.com/divnix/devos/pull/338)
2022-02-23 15:23:14 -08:00
David Arnold
d64f95fb28 test: add hm only config 2022-02-23 15:23:14 -08:00
David Arnold
a3b2207f22 bump: devos for testing 2022-02-23 15:23:14 -08:00
David Arnold
70ba6e210e bump: fup (include dynamic output) 2022-02-23 15:23:14 -08:00
David Arnold
68b6f161ae imp: better hm user checks naming 2022-02-23 15:23:14 -08:00
David Arnold
e07825ca4e fix: checks for portableHomeConfigurations
Without this modification to the initial implementation, we this error:

```console
error: attribute 'activationPackage' missing

       at /nix/store/2ja93yb8276wk794zkgnaf0m5rghp5mw-source/src/mkFlake/default.nix:145:37:

          144|               ) then
          145|                 lib.mapAttrs (n: v: v.activationPackage) self.homeConfigurations
             |                                     ^
          146|               else { }
```
2022-02-23 15:23:14 -08:00
David Arnold
01c9e74a05 imp: add portable per aarch users 2022-02-23 15:23:14 -08:00
David Arnold
8bae91593c ref: aclaratory naming 2022-02-23 15:23:14 -08:00
David Arnold
0ea701705d fix: regression
`submoduleWith` does not have the `_module` options, so the only two
options left are passing via `specialArgs` or create a self option
to pass it as config. For better UX, let's use specialArgs, here.
2022-02-23 15:23:14 -08:00