Modular, context-aware and aspect-oriented dendritic Nix configurations. Discussions: https://oeiuwq.zulipchat.com/join/nqp26cd4kngon6mo3ncgnuap/ den.oeiuwq.com
configurations den dendritic nix aspect oriented

update flake-aspects, test no merged aspect.__functor (#231)

Fixes #216

authored by oeiuwq.com and committed by

GitHub fc602343 57aef304

+139 -36
+6 -6
templates/bogus/flake.lock
··· 2 "nodes": { 3 "den": { 4 "locked": { 5 - "lastModified": 1772509207, 6 - "narHash": "sha256-UFfKIhEw29W2KM/5aEkRSQBr5pjbwskeXIFu0HweNhc=", 7 "owner": "vic", 8 "repo": "den", 9 - "rev": "a7c0058c21f546fe04ff6510d39df2766cc855aa", 10 "type": "github" 11 }, 12 "original": { ··· 18 }, 19 "flake-aspects": { 20 "locked": { 21 - "lastModified": 1772393050, 22 - "narHash": "sha256-lu8y40rGSps8U3ak0xhieLxSA4Dv/fJiPGkknjteEfk=", 23 "owner": "vic", 24 "repo": "flake-aspects", 25 - "rev": "d9502abaa6acc3a444b45a9df729d22f5ccff33c", 26 "type": "github" 27 }, 28 "original": {
··· 2 "nodes": { 3 "den": { 4 "locked": { 5 + "lastModified": 1772737374, 6 + "narHash": "sha256-b1nHLbA42NXPSPC6lpP2K/9RVwO+z91AVV44yRycO5c=", 7 "owner": "vic", 8 "repo": "den", 9 + "rev": "57aef3045c87527e94f1f139a818f8851e024a33", 10 "type": "github" 11 }, 12 "original": { ··· 18 }, 19 "flake-aspects": { 20 "locked": { 21 + "lastModified": 1772749648, 22 + "narHash": "sha256-6QtwbL/R0RhJrHIDc1SdJD0YYfVXG9yteiFkfNl0Rbg=", 23 "owner": "vic", 24 "repo": "flake-aspects", 25 + "rev": "ccc25fc1e06b8957e15e6d0c0a0c51e9d7a96b37", 26 "type": "github" 27 }, 28 "original": {
+27 -6
templates/ci/flake.lock
··· 1 { 2 "nodes": { 3 "den": { 4 "locked": { 5 - "lastModified": 1772509207, 6 - "narHash": "sha256-UFfKIhEw29W2KM/5aEkRSQBr5pjbwskeXIFu0HweNhc=", 7 "owner": "vic", 8 "repo": "den", 9 - "rev": "a7c0058c21f546fe04ff6510d39df2766cc855aa", 10 "type": "github" 11 }, 12 "original": { ··· 17 }, 18 "flake-aspects": { 19 "locked": { 20 - "lastModified": 1772393050, 21 - "narHash": "sha256-lu8y40rGSps8U3ak0xhieLxSA4Dv/fJiPGkknjteEfk=", 22 "owner": "vic", 23 "repo": "flake-aspects", 24 - "rev": "d9502abaa6acc3a444b45a9df729d22f5ccff33c", 25 "type": "github" 26 }, 27 "original": { ··· 153 }, 154 "root": { 155 "inputs": { 156 "den": "den", 157 "flake-aspects": "flake-aspects", 158 "flake-parts": "flake-parts",
··· 1 { 2 "nodes": { 3 + "darwin": { 4 + "inputs": { 5 + "nixpkgs": [ 6 + "nixpkgs" 7 + ] 8 + }, 9 + "locked": { 10 + "lastModified": 1772379624, 11 + "narHash": "sha256-NG9LLTWlz4YiaTAiRGChbrzbVxBfX+Auq4Ab/SWmk4A=", 12 + "owner": "nix-darwin", 13 + "repo": "nix-darwin", 14 + "rev": "52d061516108769656a8bd9c6e811c677ec5b462", 15 + "type": "github" 16 + }, 17 + "original": { 18 + "owner": "nix-darwin", 19 + "repo": "nix-darwin", 20 + "type": "github" 21 + } 22 + }, 23 "den": { 24 "locked": { 25 + "lastModified": 1772737374, 26 + "narHash": "sha256-b1nHLbA42NXPSPC6lpP2K/9RVwO+z91AVV44yRycO5c=", 27 "owner": "vic", 28 "repo": "den", 29 + "rev": "57aef3045c87527e94f1f139a818f8851e024a33", 30 "type": "github" 31 }, 32 "original": { ··· 37 }, 38 "flake-aspects": { 39 "locked": { 40 + "lastModified": 1772749648, 41 + "narHash": "sha256-6QtwbL/R0RhJrHIDc1SdJD0YYfVXG9yteiFkfNl0Rbg=", 42 "owner": "vic", 43 "repo": "flake-aspects", 44 + "rev": "ccc25fc1e06b8957e15e6d0c0a0c51e9d7a96b37", 45 "type": "github" 46 }, 47 "original": { ··· 173 }, 174 "root": { 175 "inputs": { 176 + "darwin": "darwin", 177 "den": "den", 178 "flake-aspects": "flake-aspects", 179 "flake-parts": "flake-parts",
+82
templates/ci/modules/features/deadbugs/dup-functors-issue-216.nix
···
··· 1 + # This test verifies that flake-aspects do not use lib.functionTo merging semantics on aspect.__functor. 2 + # See: https://github.com/vic/den/issues/216 and https://github.com/vic/flake-aspects/pull/38 3 + { 4 + lib, 5 + inputs, 6 + ... 7 + }: 8 + let 9 + 10 + denModule = (import inputs.den).nixModule inputs; 11 + testBogus = 12 + bogusModule: 13 + let 14 + ev = lib.evalModules { 15 + modules = [ 16 + denModule 17 + bogusModule 18 + ]; 19 + }; 20 + fooAspect = ev.config.den.ctx.foo { 21 + x = 0; 22 + y = 1; 23 + }; 24 + fooModule = fooAspect.resolve { class = "foo"; }; 25 + 26 + namesModule.options.names = lib.mkOption { type = lib.types.listOf lib.types.str; }; 27 + ev2 = lib.evalModules { 28 + modules = [ 29 + fooModule 30 + namesModule 31 + ]; 32 + }; 33 + 34 + expr = ev2.config.names; 35 + expected = [ 36 + "foo" 37 + "bar" 38 + ]; 39 + in 40 + { 41 + inherit expr expected; 42 + }; 43 + 44 + in 45 + { 46 + flake.tests.deadbugs-216-no-dup-functors = { 47 + test-no-merging-for-functors = testBogus ( 48 + { den, ... }: 49 + let 50 + inherit (den.lib) parametric; 51 + in 52 + { 53 + imports = [ 54 + { 55 + den.aspects.groups = parametric { 56 + foo = { 57 + names = [ "foo" ]; 58 + }; 59 + }; 60 + } 61 + { 62 + den.aspects.groups = parametric { 63 + foo = { 64 + names = [ "bar" ]; 65 + }; 66 + }; 67 + } 68 + { 69 + den.aspects.foo = parametric { }; 70 + } 71 + { 72 + den.aspects.foo.includes = [ den.aspects.groups ]; 73 + } 74 + { 75 + den.ctx.foo.provides.foo = { x, y }@ctx: parametric.fixedTo ctx den.aspects.foo; 76 + } 77 + ]; 78 + } 79 + ); 80 + 81 + }; 82 + }
+6 -6
templates/default/flake.lock
··· 2 "nodes": { 3 "den": { 4 "locked": { 5 - "lastModified": 1772509207, 6 - "narHash": "sha256-UFfKIhEw29W2KM/5aEkRSQBr5pjbwskeXIFu0HweNhc=", 7 "owner": "vic", 8 "repo": "den", 9 - "rev": "a7c0058c21f546fe04ff6510d39df2766cc855aa", 10 "type": "github" 11 }, 12 "original": { ··· 17 }, 18 "flake-aspects": { 19 "locked": { 20 - "lastModified": 1772393050, 21 - "narHash": "sha256-lu8y40rGSps8U3ak0xhieLxSA4Dv/fJiPGkknjteEfk=", 22 "owner": "vic", 23 "repo": "flake-aspects", 24 - "rev": "d9502abaa6acc3a444b45a9df729d22f5ccff33c", 25 "type": "github" 26 }, 27 "original": {
··· 2 "nodes": { 3 "den": { 4 "locked": { 5 + "lastModified": 1772737374, 6 + "narHash": "sha256-b1nHLbA42NXPSPC6lpP2K/9RVwO+z91AVV44yRycO5c=", 7 "owner": "vic", 8 "repo": "den", 9 + "rev": "57aef3045c87527e94f1f139a818f8851e024a33", 10 "type": "github" 11 }, 12 "original": { ··· 17 }, 18 "flake-aspects": { 19 "locked": { 20 + "lastModified": 1772749648, 21 + "narHash": "sha256-6QtwbL/R0RhJrHIDc1SdJD0YYfVXG9yteiFkfNl0Rbg=", 22 "owner": "vic", 23 "repo": "flake-aspects", 24 + "rev": "ccc25fc1e06b8957e15e6d0c0a0c51e9d7a96b37", 25 "type": "github" 26 }, 27 "original": {
+6 -6
templates/example/flake.lock
··· 22 }, 23 "den": { 24 "locked": { 25 - "lastModified": 1771905052, 26 - "narHash": "sha256-6MjNHGtaIUBlc45g7ZJm9/xRWdBgGkpn8MQPU0Ozsn4=", 27 "owner": "vic", 28 "repo": "den", 29 - "rev": "0c108ece5371a78e576b28d7b36369ed15e6d059", 30 "type": "github" 31 }, 32 "original": { ··· 37 }, 38 "flake-aspects": { 39 "locked": { 40 - "lastModified": 1771395573, 41 - "narHash": "sha256-bcCOG2CW23/Eww/zULJf1xd0Shz2zS4c2AJWwLALyJ8=", 42 "owner": "vic", 43 "repo": "flake-aspects", 44 - "rev": "8297f3bc41ad79b9f01d56d0dd92f7aac51bacfb", 45 "type": "github" 46 }, 47 "original": {
··· 22 }, 23 "den": { 24 "locked": { 25 + "lastModified": 1772737374, 26 + "narHash": "sha256-b1nHLbA42NXPSPC6lpP2K/9RVwO+z91AVV44yRycO5c=", 27 "owner": "vic", 28 "repo": "den", 29 + "rev": "57aef3045c87527e94f1f139a818f8851e024a33", 30 "type": "github" 31 }, 32 "original": { ··· 37 }, 38 "flake-aspects": { 39 "locked": { 40 + "lastModified": 1772749648, 41 + "narHash": "sha256-6QtwbL/R0RhJrHIDc1SdJD0YYfVXG9yteiFkfNl0Rbg=", 42 "owner": "vic", 43 "repo": "flake-aspects", 44 + "rev": "ccc25fc1e06b8957e15e6d0c0a0c51e9d7a96b37", 45 "type": "github" 46 }, 47 "original": {
+6 -6
templates/minimal/flake.lock
··· 2 "nodes": { 3 "den": { 4 "locked": { 5 - "lastModified": 1772509207, 6 - "narHash": "sha256-UFfKIhEw29W2KM/5aEkRSQBr5pjbwskeXIFu0HweNhc=", 7 "owner": "vic", 8 "repo": "den", 9 - "rev": "a7c0058c21f546fe04ff6510d39df2766cc855aa", 10 "type": "github" 11 }, 12 "original": { ··· 17 }, 18 "flake-aspects": { 19 "locked": { 20 - "lastModified": 1772393050, 21 - "narHash": "sha256-lu8y40rGSps8U3ak0xhieLxSA4Dv/fJiPGkknjteEfk=", 22 "owner": "vic", 23 "repo": "flake-aspects", 24 - "rev": "d9502abaa6acc3a444b45a9df729d22f5ccff33c", 25 "type": "github" 26 }, 27 "original": {
··· 2 "nodes": { 3 "den": { 4 "locked": { 5 + "lastModified": 1772737374, 6 + "narHash": "sha256-b1nHLbA42NXPSPC6lpP2K/9RVwO+z91AVV44yRycO5c=", 7 "owner": "vic", 8 "repo": "den", 9 + "rev": "57aef3045c87527e94f1f139a818f8851e024a33", 10 "type": "github" 11 }, 12 "original": { ··· 17 }, 18 "flake-aspects": { 19 "locked": { 20 + "lastModified": 1772749648, 21 + "narHash": "sha256-6QtwbL/R0RhJrHIDc1SdJD0YYfVXG9yteiFkfNl0Rbg=", 22 "owner": "vic", 23 "repo": "flake-aspects", 24 + "rev": "ccc25fc1e06b8957e15e6d0c0a0c51e9d7a96b37", 25 "type": "github" 26 }, 27 "original": {
+6 -6
templates/noflake/npins/sources.json
··· 9 }, 10 "branch": "main", 11 "submodules": false, 12 - "revision": "a7c0058c21f546fe04ff6510d39df2766cc855aa", 13 - "url": "https://github.com/vic/den/archive/a7c0058c21f546fe04ff6510d39df2766cc855aa.tar.gz", 14 - "hash": "sha256-UFfKIhEw29W2KM/5aEkRSQBr5pjbwskeXIFu0HweNhc=" 15 }, 16 "flake-aspects": { 17 "type": "Git", ··· 22 }, 23 "branch": "main", 24 "submodules": false, 25 - "revision": "d9502abaa6acc3a444b45a9df729d22f5ccff33c", 26 - "url": "https://github.com/vic/flake-aspects/archive/d9502abaa6acc3a444b45a9df729d22f5ccff33c.tar.gz", 27 - "hash": "sha256-lu8y40rGSps8U3ak0xhieLxSA4Dv/fJiPGkknjteEfk=" 28 }, 29 "import-tree": { 30 "type": "Git",
··· 9 }, 10 "branch": "main", 11 "submodules": false, 12 + "revision": "57aef3045c87527e94f1f139a818f8851e024a33", 13 + "url": "https://github.com/vic/den/archive/57aef3045c87527e94f1f139a818f8851e024a33.tar.gz", 14 + "hash": "sha256-b1nHLbA42NXPSPC6lpP2K/9RVwO+z91AVV44yRycO5c=" 15 }, 16 "flake-aspects": { 17 "type": "Git", ··· 22 }, 23 "branch": "main", 24 "submodules": false, 25 + "revision": "ccc25fc1e06b8957e15e6d0c0a0c51e9d7a96b37", 26 + "url": "https://github.com/vic/flake-aspects/archive/ccc25fc1e06b8957e15e6d0c0a0c51e9d7a96b37.tar.gz", 27 + "hash": "sha256-6QtwbL/R0RhJrHIDc1SdJD0YYfVXG9yteiFkfNl0Rbg=" 28 }, 29 "import-tree": { 30 "type": "Git",