Commit graph

719 commits

Author SHA1 Message Date
David Arnold
8134350545
ref: simplify pkgs-lib deps injection 2021-04-18 22:40:53 -05:00
David Arnold
362cc31827
fix: constructors of mkFlake function family 2021-04-18 22:29:28 -05:00
David Arnold
6f0392b55e ref: cave out instances of userFLake dependencies and intject them as
if functions where contructors
2021-04-18 22:16:53 -05:00
David Arnold
40acfd13e3 use: makeExtensible 2021-04-18 22:16:53 -05:00
David Arnold
be924bcb27 ref: reduce exposure to callLibs
for clarity's sake, expose which function uses final and prev, so that
people can have a clearer understanding how they relate to each other
in terms of dependencies.

also a simple `{ lib = final; }` probably does not warrant a complete
callLibs obscurization.
2021-04-18 22:16:53 -05:00
David Arnold
9dca402914 ref: make onion with flake-utils 2021-04-18 20:31:49 -05:00
David Arnold
6cccb55263 ref: userSelf -> userFlakeSelf 2021-04-18 20:04:19 -05:00
David Arnold
cd7fb4f54c ref: flatten out inputs 2021-04-18 20:04:19 -05:00
David Arnold
16b3fad559 ref: merge dev into lib 2021-04-18 19:28:03 -05:00
David Arnold
fb6c6ba4cf
fix: update devos in flake.lock 2021-04-18 19:16:07 -05:00
David Arnold
c24199649a fixup: distinguish self and userSelf 2021-04-18 19:11:26 -05:00
David Arnold
19c900e293 workarround for unkown problem 2021-04-18 19:11:26 -05:00
David Arnold
6116779b23 fixup: nix flake check II / II 2021-04-18 19:11:26 -05:00
David Arnold
21a03fa94c fixup: nix flake check I / X 2021-04-18 19:11:26 -05:00
David Arnold
5f89d27428 ref: extract lib into subflake 2021-04-18 19:11:26 -05:00
David Arnold
863c17621c libtests: outfactor in preparation of lib/flake.nix 2021-04-18 19:11:26 -05:00
Pacman99
0db2bb041e add old evalArgs as evalOldArgs, so flake works 2021-04-13 11:24:10 -07:00
Pacman99
2b70cd3ae6 fix some small bugs in mkFlake/evalArgs 2021-04-11 22:34:15 -07:00
Pacman99
8d0c036b6b
Merge pull request #239 from Pacman99/evalargs-next
Update evalArgs to match the new planned API
2021-04-11 20:10:52 -07:00
Pacman99
b7bcaea497 Update evalArgs to match the new planned api 2021-04-11 20:09:47 -07:00
Pacman99
658cd2bb08 pkgs-lib/shell: update to new homeConfigurations
flk should switch to use home-manager --flake whenever the updated
package is made available in the hm flake or nixpkgs
2021-04-11 10:28:28 -07:00
Pacman99
401566af34 lib/pkgs-lib: update checks for new hm format 2021-04-10 22:13:54 -07:00
Pacman99
8ba7bffc3f export users home for home-manager --flake
home-manager --flake needs the activationPackage in the root of the
homeConfiguration
2021-04-10 22:04:49 -07:00
bors[bot]
d5175f6cca
Merge #236
236: init pkgs-lib and add tests and shell r=nrdxp a=Pacman99

Towards the goal of removing top level folders and putting more things in lib. This shifts shell and tests to lib under the `pkgs-lib` namespace. This namespace is separated by architecture, because those lib functions rely on nixpkgs architecture specific derivations. I think this is the cleanest way to do it, you don't have to instantiate pkgs-lib for each arch, and it exposes some of these functions for others to use.

This PR also fixes multi-arch checks.

Co-authored-by: Pacman99 <pachum99@gmail.com>
2021-04-10 21:01:33 +00:00
bors[bot]
1f25b0b061
Merge #227
227: Fix documentation mistake after project rename r=nrdxp a=lycheese

After the project rename the cachix documentation in `cachix/README.md` contains instructions that do not work (`cachix use divnix`).

Tested that `cachix use nrdxp` works and should have the intended effect.

Co-authored-by: lycheese <4779944-lycheese@users.noreply.gitlab.com>
2021-04-10 20:44:48 +00:00
Pacman99
ac4c26755b init pkgs-lib, move tests and shell there 2021-04-10 13:36:54 -07:00
Timothy DeHerrera
be4b612b23
treewide: format with nixpkgs-fmt 2021-04-09 19:22:08 -06:00
Pacman99
3daa990728
fix userSpecialArgs defaults (#234)
Co-authored-by: Pacman99 <pachum99@gmail.com>
2021-04-09 12:03:42 -05:00
bors[bot]
1838e9fe2f
Merge #233
233: core: add usbutils r=nrdxp a=blaggacao

Looks like core does not include `lsusb` by default, now it does.

Co-authored-by: David Arnold <dar@xoe.solutions>
2021-04-09 03:33:30 +00:00
Timothy DeHerrera
18dbc7d0e4
Revert "drop toString in evalArgs - trying to fix CI"
This reverts commit a253033931.
2021-04-08 21:18:08 -06:00
Timothy DeHerrera
eaff91c0f9
Revert "drop toString in pathsIn - trying to fix CI issues"
This reverts commit 930b3e96b4.
2021-04-08 21:17:24 -06:00
David Arnold
ab2919df21
core: add usbutils
Looks like core does not include `lsusb` by default, now it does.
2021-04-08 22:03:38 -05:00
bors[bot]
3823eb6423
Merge #231
231: Move flake implementation logic to lib r=nrdxp a=Pacman99

This is a simpler version of #218 that moves flake logic to lib and adds a module to evaluate devos. This DOES NOT support out of tree usage, so if you were following any of the previous PR's, the doc sections/examples to use devos as a library will not work. There is work to make a cleaner api and only then will out of tree support work. Until then, this is still useful to simplify devos and clean up a lot of the implementation logic.

Co-authored-by: Pacman99 <pachum99@gmail.com>
2021-04-09 02:58:30 +00:00
bors[bot]
306e7c1967
Merge #229
229: make core an unecessary profile and add to suites r=nrdxp a=Pacman99

Prevents mkHosts subverting standard devos api to import core and add
all necessary core features to mkHosts, so core can be safely deleted in
suites

Co-authored-by: Pacman99 <pachum99@gmail.com>
2021-04-07 02:04:27 +00:00
Pacman99
115f1e6711 make core an unecessary profile and add to suites
Prevents mkHosts subverting standard devos api to import core and add
all necessary core features to mkHosts, so core can be safely deleted in
suites
2021-04-06 19:00:57 -07:00
Pacman99
a253033931 drop toString in evalArgs - trying to fix CI 2021-04-06 17:33:05 -07:00
Pacman99
930b3e96b4 drop toString in pathsIn - trying to fix CI issues 2021-04-06 17:02:30 -07:00
Pacman99
d068d79bfd flake: use mkFlake
this is where we create devos's template structure
2021-04-06 12:45:04 -07:00
Pacman99
340784df6d lib: init evalFlakeArgs for mkFlake args
module describing devos flake arguments
2021-04-06 12:45:04 -07:00
Pacman99
a76ca177fd lib: init mkFlake to create a devos flake
general lib function - not devos specific
2021-04-06 12:45:04 -07:00
lycheese
2c3f17a458 Fix documentation mistake after project rename 2021-04-03 16:25:28 +02:00
bors[bot]
01b0555117
Merge #225
225: lib: only readDir if path exists with safeReadDir r=nrdxp a=Pacman99

After doing this for the second time, I realized it might be good to make a lib function for it and do it across lib.
Create a function called `safeReadDir` that only uses `builtins.readDir` if the path exists. With `optionalAttrs` any function that relies on the output won't fail since they still get an empty attrset.
Then replace all uses of `readDir` with the safe version.

Co-authored-by: Pacman99 <pachum99@gmail.com>
2021-04-01 20:08:55 +00:00
Pacman99
3d1501c384 lib: only readDir if path exists with safeReadDir 2021-04-01 11:39:02 -07:00
bors[bot]
f14dcdaf78
Merge #224
224: Allow for directories in module-list r=nrdxp a=Pacman99

fixes #221 
building on #222 this PR improves the lib functions pathsToImportedAttrs and pathsIn. First to add support for directories. This does not support actually passing a file in a directory, so `./matrix/default.nix` won't work but `./matrix` will - I should probably document this somewhere. 
Also I moved the filtering for nix files to `pathsIn`, since its only necessary for auto-import. We can assume that users would pass proper files in `module-list.nix`.

Co-authored-by: Pacman99 <pachum99@gmail.com>
2021-03-29 17:22:20 +00:00
bors[bot]
ed17d9e99f
Merge #216
216: Move host and suite implementation logic to lib r=nrdxp a=Pacman99

This is just the `mkSuites` and `mkHosts` part of the `mkDevos` PR. I would like to avoid changing mkSuites and mkHosts api, to make it easier to rebase changes into the mkDevos branch. But if necessary we can change them. And to that end, there is some more logic added to the flake.nix now which would ideally not be there if devos was meant to be a template. But since the goal is to move towards a lib function with template, this is just a step in that direction.

Co-authored-by: Pacman99 <pachum99@gmail.com>
2021-03-29 17:19:51 +00:00
Pacman99
7650526407 isoConfig: fix disabling profiles
convert each to a list which doesn't get appended to modulesPath
2021-03-29 09:59:58 -07:00
Pacman99
259ec11d92 tests: init testSuites
to test suites and profile processing
2021-03-29 09:05:54 -07:00
Pacman99
92700888b7 flake: update to use mkSuites and mkHosts 2021-03-29 09:05:54 -07:00
Pacman99
ec7eff63eb move hosts implementation logic to lib as mkHosts 2021-03-29 09:05:54 -07:00
Pacman99
7ebd6b5730 move suites implementation logic to lib as mkSuites 2021-03-29 09:05:54 -07:00