<feed xmlns='http://www.w3.org/2005/Atom'>
<title>contracts, branch main</title>
<subtitle>TODO</subtitle>
<link rel='alternate' type='text/html' href='http://code.nomath.org/contracts/'/>
<entry>
<title>add `declarativeUsers` contract</title>
<updated>2025-09-08T09:06:49+00:00</updated>
<author>
<name>Alexander Foremny</name>
<email>aforemny@posteo.de</email>
</author>
<published>2025-09-08T09:06:49+00:00</published>
<link rel='alternate' type='text/html' href='http://code.nomath.org/contracts/commit/?id=b55e007a15bf251156a59d7c5eaa9fc54dcd6cd8'/>
<id>b55e007a15bf251156a59d7c5eaa9fc54dcd6cd8</id>
<content type='text'>
- example consumer `users.declarativeUsers` (creates users as Linux
  users)
- example provider `hardcodedUsers.&lt;group&gt;` (static configuration of
  user groups (each group is a `declarativeUsers` provider)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- example consumer `users.declarativeUsers` (creates users as Linux
  users)
- example provider `hardcodedUsers.&lt;group&gt;` (static configuration of
  user groups (each group is a `declarativeUsers` provider)
</pre>
</div>
</content>
</entry>
<entry>
<title>extend userSecret implementation to all users (not only root)</title>
<updated>2025-09-07T22:11:23+00:00</updated>
<author>
<name>Alexander Foremny</name>
<email>aforemny@posteo.de</email>
</author>
<published>2025-09-07T22:10:35+00:00</published>
<link rel='alternate' type='text/html' href='http://code.nomath.org/contracts/commit/?id=a485724fdc452fa19b337c2364a105243635acb3'/>
<id>a485724fdc452fa19b337c2364a105243635acb3</id>
<content type='text'>
requires a patch of nixpkgs:

```diff
--- a/nixos/modules/contracts/default.nix       2025-09-07 16:15:41.381243855 +0200
+++ b/nixos/modules/contracts/default.nix       2025-09-08 00:05:58.218489096 +0200
@@ -87,7 +87,8 @@ in
               default = submodule (consumer: {
                 options = {
                   provider = mkOption {
-                    type = interface.config.provider;
+                    type = lib.types.nullOr interface.config.provider;
+                    default = null;
                   };
                   input = mkOption {
                     type = submodule interface.config.input;`
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
requires a patch of nixpkgs:

```diff
--- a/nixos/modules/contracts/default.nix       2025-09-07 16:15:41.381243855 +0200
+++ b/nixos/modules/contracts/default.nix       2025-09-08 00:05:58.218489096 +0200
@@ -87,7 +87,8 @@ in
               default = submodule (consumer: {
                 options = {
                   provider = mkOption {
-                    type = interface.config.provider;
+                    type = lib.types.nullOr interface.config.provider;
+                    default = null;
                   };
                   input = mkOption {
                     type = submodule interface.config.input;`
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor user secret implementation</title>
<updated>2025-09-07T11:21:11+00:00</updated>
<author>
<name>Fabian Kirchner</name>
<email>kirchner@posteo.de</email>
</author>
<published>2025-09-07T11:21:11+00:00</published>
<link rel='alternate' type='text/html' href='http://code.nomath.org/contracts/commit/?id=3e4da4404a1b1eca40f7fbdd566800936456ac03'/>
<id>3e4da4404a1b1eca40f7fbdd566800936456ac03</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor contract pair assignment</title>
<updated>2025-09-07T07:27:11+00:00</updated>
<author>
<name>Fabian Kirchner</name>
<email>kirchner@posteo.de</email>
</author>
<published>2025-09-07T07:27:11+00:00</published>
<link rel='alternate' type='text/html' href='http://code.nomath.org/contracts/commit/?id=d2d1417d82ada9c4dbb274a4e5b1804aee184860'/>
<id>d2d1417d82ada9c4dbb274a4e5b1804aee184860</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>ignore .direnv/</title>
<updated>2025-09-07T07:24:54+00:00</updated>
<author>
<name>Fabian Kirchner</name>
<email>kirchner@posteo.de</email>
</author>
<published>2025-09-07T07:24:54+00:00</published>
<link rel='alternate' type='text/html' href='http://code.nomath.org/contracts/commit/?id=1cb889fc22b311fc135b6fc647d6bf1cd0902e14'/>
<id>1cb889fc22b311fc135b6fc647d6bf1cd0902e14</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>add asecret secret provider</title>
<updated>2025-09-06T17:49:51+00:00</updated>
<author>
<name>Fabian Kirchner</name>
<email>kirchner@posteo.de</email>
</author>
<published>2025-09-06T17:49:37+00:00</published>
<link rel='alternate' type='text/html' href='http://code.nomath.org/contracts/commit/?id=889ed2458bc82ccc69787974569e2eb6d30c56b0'/>
<id>889ed2458bc82ccc69787974569e2eb6d30c56b0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>add lib/asecret.nix</title>
<updated>2025-09-06T15:36:40+00:00</updated>
<author>
<name>Alexander Foremny</name>
<email>aforemny@posteo.de</email>
</author>
<published>2025-09-06T14:36:03+00:00</published>
<link rel='alternate' type='text/html' href='http://code.nomath.org/contracts/commit/?id=56a1709be4f23c333730e159b219104c7fb073c2'/>
<id>56a1709be4f23c333730e159b219104c7fb073c2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>add `shellHook` to `devShell`</title>
<updated>2025-09-06T14:41:04+00:00</updated>
<author>
<name>Alexander Foremny</name>
<email>aforemny@posteo.de</email>
</author>
<published>2025-09-06T14:40:55+00:00</published>
<link rel='alternate' type='text/html' href='http://code.nomath.org/contracts/commit/?id=3010bb10e3b23ea3bec47048775aaf9c325b51a9'/>
<id>3010bb10e3b23ea3bec47048775aaf9c325b51a9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>add lib/overlays.nix</title>
<updated>2025-09-06T14:35:50+00:00</updated>
<author>
<name>Alexander Foremny</name>
<email>aforemny@posteo.de</email>
</author>
<published>2025-09-06T14:35:50+00:00</published>
<link rel='alternate' type='text/html' href='http://code.nomath.org/contracts/commit/?id=6b0580e4add23addb567478bc51dc8e2d3226aa3'/>
<id>6b0580e4add23addb567478bc51dc8e2d3226aa3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>add `npins' to `devShell'</title>
<updated>2025-09-06T13:20:25+00:00</updated>
<author>
<name>Alexander Foremny</name>
<email>aforemny@posteo.de</email>
</author>
<published>2025-09-06T13:20:21+00:00</published>
<link rel='alternate' type='text/html' href='http://code.nomath.org/contracts/commit/?id=8bf52fd90e113cf64b193defdd3d3847a00be7c2'/>
<id>8bf52fd90e113cf64b193defdd3d3847a00be7c2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
