summaryrefslogtreecommitdiff
path: root/flake.nix
AgeCommit message (Collapse)Author
2025-01-08flake: pin Nixpkgs explicitlyEmily
2024-11-09manual: get revision information when called from flakeMichael Hoang
2024-11-09flake: expose docs on Linux as wellMichael Hoang
2024-11-07flake: expose `jobs` from `release.nix` as a flattened attrsetMichael Hoang
2024-11-07examples: drop `ofborg` exampleMichael Hoang
We decided to drop this example as the package is not available in Nixpkgs and we won't be able to import it easily and keep this example evaluating as a useful smoke test. The code in this example is already documented under `services.ofborg.*` so any interested users can still find out how to set up `ofborg`.
2024-09-17flake: match NixOS definition of `nixpkgs.flake.source`Emily
Closes: #1082
2024-09-11flake: put nixpkgs in NIX_PATH and system registry for flake configsJade Lovelace
Currently there are a bunch of really wacky hacks required to get nixpkgs path correctly set up under flake configs such that `nix run nixpkgs#hello` and `nix run -f '<nixpkgs>' hello` hit the nixpkgs that the system was built with. In particular you have to use specialArgs or an anonymous module, and everyone has to include this hack in their own configs. We can do this for users automatically. NixOS/nixpkgs@e456032addae76701eb17e6c03fc515fd78ad74f Co-authored-by: Antoine Cotten <hello@acotten.com>
2023-11-16Install darwin-uninstall by default, which includes the 'empty' config it ↵Graham Christensen
switches to Co-Authored-By: Michael Hoang <enzime@users.noreply.github.com>
2023-07-14Add `darwin-version` commandMichael Hoang
2023-07-11Allow flaky installation with `darwin-rebuild`Michael Hoang
2023-07-11flake: add `packages.darwin-{option,rebuild}`Michael Hoang
2023-07-11flake: add `packages.darwin-uninstaller`Michael Hoang
2023-07-09eval-config: rationalize handling of NixpkgsEmily
This is a big change that disentangles a lot of mistaken assumptions about mixing multiple versions of Nixpkgs, treating external flake inputs as gospel for the source of Nixpkgs and nix-darwin, etc.; the end result should be much simpler conceptually, but it will be a breaking change for anyone using `eval-config.nix` directly. Hopefully that shouldn't be a big issue, as it is more of an internal API and it's quite likely that existing uses may have been broken in the same way the internal ones were. It was previously easy to get into a state where your `lib` comes from nix-darwin's `nixpkgs` input or a global channel and your `pkgs` comes from another major version of Nixpkgs. This is pretty fundamentally broken due to the coupling of `pkgs` to its corresponding `lib`, but the brokenness was hidden much of the time until something surfaced it. Now there is exactly one mandatory `lib` input to system evaluation, and the handling of various additional options like `pkgs` and `system` can be done modularly; maintaining backwards compatibility with the previous calling convention is punted to the `default.nix` and `lib.darwinSystem` entry points. `inputs` is no longer read by nix-darwin or special in any way, merely a convention for user code, and the argument is retained in the entry points only for backwards compatibility. All correct invocations of the entry points should keep working after this change, and some previously-broken ones should be fixed too. The documentation and template have been adjusted to show the newly-recommended modular way of specifying various things, but no deprecation warnings have been introduced yet by this change. There is one potential, mostly cosmetic regression: `system.nixpkgsRevision` and related options are less likely to be set than before, in cases where it is not possible to determine the origin of the package set. Setting `nixpkgs.source` explicitly will make this work again, and I hope to look into sending changes upstream to Nixpkgs to make `lib.trivial.revisionWithDefault` behave properly under flakes, which would fix this regression and potentially allow reducing some of the complexity. Fixes: #669
2023-06-24flake.nix: remove the nixpkgs pinEmily
The Markdown transition is over and our compatibility with `nixpkgs-unstable` is restored.
2023-06-24flake.nix: add checks for the docsEmily
Except for `manualEpub`, which is going away.
2023-06-24flake.nix: temporarily pin nixpkgs versionEmily
This is the last bump of the nixpkgs-unstable channel before the DocBookalypse.
2023-06-17flake: add template with basic flake configMichael Hoang
2022-02-04eval-config: Support passing in `pkgs`Michael Hoang
This is useful for flake users as they will usually already have an instantiated Nixpkgs e.g. let pkgs = import nixpkgs { config.allowUnfree = true; overlays = [ ... ]; } in darwin.lib.darwinSystem { inherit pkgs; } This change makes `nix-darwin` match the behaviour of NixOS and `home-manager`.
2021-09-15improve flakes missing system error messageDaiderd Jordan
2021-09-08Pass system to darwinSystem rather than eval-config.Drew Hess
This allows us to specify what kind of darwinSystem we want to build, rather than determining it at evaluation time.
2020-10-25split out flake overrides into a separate moduleDaiderd Jordan
2020-10-21add flake versionsDaiderd Jordan
2020-10-21add flake and split evalConfigDaiderd Jordan