Skip to content
Open
Show file tree
Hide file tree
Changes from 21 commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
ebb49aa
Begin reworking basic structure
lucperkins Sep 22, 2025
93951a3
Begin incorporating Linux builder config
lucperkins Sep 22, 2025
8cd5931
Add trusted-users setting
lucperkins Sep 22, 2025
2bf451a
Make custom conf file a constant
lucperkins Sep 22, 2025
3e804f2
Fix variable naming issues
lucperkins Sep 22, 2025
e372c68
Enable Nix environment variables
lucperkins Sep 22, 2025
ff9b390
Update README examples
lucperkins Sep 22, 2025
52806de
Enable configuring the flake registry
lucperkins Sep 22, 2025
44ba837
Rename config to cfg for clarity
lucperkins Sep 22, 2025
213b0b3
Add missing inherit values
lucperkins Sep 22, 2025
f748c56
Update tests to support new determinate-nix setting
lucperkins Sep 22, 2025
61f78fc
Provide more convenient variable for Linux builder config
lucperkins Sep 22, 2025
03c8bc9
Fix builder configuration issue
lucperkins Sep 22, 2025
9f865d1
Update doc text
lucperkins Sep 22, 2025
101855f
Rename main attributes
lucperkins Sep 22, 2025
548992b
Fix README examples
lucperkins Sep 22, 2025
b2f5227
Update Nix formatter
lucperkins Sep 22, 2025
aceea7f
Fix merge conflicts with main
lucperkins Sep 23, 2025
3871817
Add deprecation warning for determinate-nix attribute name
lucperkins Sep 24, 2025
ea08e68
Add more documentation
lucperkins Sep 24, 2025
74890ea
Fix broken attribute name
lucperkins Sep 24, 2025
4e0de8f
Filter out null attributes when writing config
lucperkins Sep 24, 2025
7b6ce10
Generate Determinate Nixd configuration
lucperkins Sep 24, 2025
6bcf100
Add Determinate Nixd config to test case
lucperkins Sep 24, 2025
98ba3d9
Standardize example flakes in README
lucperkins Sep 24, 2025
fe53bd7
Remove destructive action when builder is disabled
lucperkins Sep 24, 2025
42cccdb
Fix param name in docstrings
lucperkins Sep 24, 2025
81cf3a0
Remove unnecessary assertion
lucperkins Sep 25, 2025
eb9c2e1
Fix Determinate flake version in README
lucperkins Sep 25, 2025
d20800f
Derive builder.state default from NixOS VM enablement
lucperkins Sep 28, 2025
a09954d
Add enable assertion for NixOS VM builder
lucperkins Sep 28, 2025
2510303
Pretty print JSON files
lucperkins Sep 28, 2025
b15b537
Fix toPretty invocations
lucperkins Sep 29, 2025
149029e
Remove toPretty logic
lucperkins Sep 29, 2025
79beb25
Filter out empty lists when rendering config
lucperkins Sep 29, 2025
66d237b
Fix empty list handling
lucperkins Sep 29, 2025
f59e632
Pipe logs to output file
lucperkins Sep 29, 2025
eb7c5a2
Use getExe' for executable
lucperkins Oct 1, 2025
745f83f
Make builder creds file a constant
lucperkins Oct 1, 2025
57d68b0
Use certs in Nix store
lucperkins Oct 2, 2025
d7974eb
Fix incorrect attribute name in inline doc
lucperkins Oct 2, 2025
9ff6e11
Fix typo in attribute name
lucperkins Oct 2, 2025
8140771
Use nullOr for protocol type rather than null in array
lucperkins Oct 2, 2025
68527db
Only include non-null values in config.json
lucperkins Oct 2, 2025
d83483c
Disable native Linux builder when VM builder is enabled
lucperkins Oct 2, 2025
f900e8a
Un-inherit lib functions
lucperkins Oct 2, 2025
bd54ed8
Make builder hostname configurable
lucperkins Oct 2, 2025
17ade1b
Remove auto-optimise-store default
lucperkins Oct 7, 2025
c47bae2
Remove auto-optimise-store default
lucperkins Oct 7, 2025
e74efee
Fix merge conflict
lucperkins Oct 7, 2025
4d10129
Fix merge conflict
lucperkins Oct 10, 2025
0f25c27
Run statix against Nix files
lucperkins Oct 10, 2025
fbdf174
Apply statix suggestions
lucperkins Oct 13, 2025
ea79f5a
More attr set nesting
lucperkins Oct 13, 2025
d4f0250
Remove always-allow-substitutes from disallowed options
lucperkins Oct 23, 2025
0ddaf32
Don't remove the working directory upon disable
lucperkins Oct 23, 2025
657fd36
Use literalExpression for all managed defaults
lucperkins Oct 23, 2025
940afd3
Merge remote-tracking branch 'origin/main' into lucperkins/cf-170-imp…
lucperkins Oct 25, 2025
2ca66db
Fix invocations of literalExpression
lucperkins Oct 31, 2025
fd6ec40
Add missing command names
lucperkins Oct 31, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 24 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ Here's an example NixOS configuration for the current stable NixOS:

## nix-darwin

If you use [nix-darwin] to provide Nix-based configuration for your macOS system, you need to disable nix-darwin's built-in Nix configuration mechanisms by setting `nix.enable = false`; if not, Determinate Nix **does not work properly**.
If you use [nix-darwin] to provide Nix-based configuration for your macOS system, you need to disable nix-darwin's built-in Nix configuration mechanisms by applying the `determinate` nix-darwin module and setting `determinateNix.enable = true`; if not, Determinate Nix **does not work properly**.
Here's an example nix-darwin configuration that would be compatible with Determinate Nix:

```nix
Expand All @@ -77,13 +77,20 @@ Here's an example nix-darwin configuration that would be compatible with Determi

outputs = { nixpkgs, ... }: {
darwinConfigurations."my-username-aarch64-darwin" = inputs.nix-darwin.lib.darwinSystem {
inherit system;
system = "aarch64-darwin";

modules = [
# Add the determinate nix-darwin module
inputs.determinate.darwinModules.default

# Configure the determinate module
({ ... }: {
# Let Determinate Nix handle Nix configuration rather than nix-darwin
nix.enable = false;
determinateNix = {
enable = true;

# Other nix-darwin settings
# Other settings
};
})
];
};
Expand All @@ -106,17 +113,23 @@ Here's an example nix-darwin configuration that writes custom settings:

outputs = { determinate, nixpkgs, ... }: {
darwinConfigurations."my-username-aarch64-darwin" = inputs.nix-darwin.lib.darwinSystem {
inherit system;
system = "aarch64-darwin";

modules = [
# Add the determinate nix-darwin module
inputs.determinate.darwinModules.default
({ ... }: {
# Let Determinate Nix handle Nix configuration rather than nix-darwin
nix.enable = false;

# Custom settings written to /etc/nix/nix.custom.conf
determinate-nix.customSettings = {
flake-registry = "/etc/nix/flake-registry.json";
# Configure the determinate module
({ ... }: {
determinateNix = {
# Enable Determinate Nix to handle your Nix configuration rather than nix-darwin
enable = true;
# Custom settings written to /etc/nix/nix.custom.conf
settings = {
auto-optimise-store = true;
flake-registry = "/etc/nix/flake-registry.json";
sandbox = true;
};
};
})
];
Expand Down
10 changes: 5 additions & 5 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@

packages = with pkgs; [
lychee
nixfmt-rfc-style
self.formatter.${system}

(writeScriptBin "check-readme-links" ''
lychee README.md
Expand All @@ -76,7 +76,7 @@
}
);

formatter = forEachSupportedSystem ({ pkgs, ... }: pkgs.nixfmt-rfc-style);
formatter = forEachSupportedSystem ({ pkgs, ... }: pkgs.nixfmt);

darwinModules = {
default = ./modules/nix-darwin/default.nix;
Expand Down
Loading