| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- {
- inputs,
- outputs,
- }:
- let
- inherit (inputs)
- darwin
- home-manager
- nixpkgs
- nixpkgs-darwin
- ;
- inherit (nixpkgs) lib;
- isDarwin = system: builtins.elem "darwin" (builtins.split "-" system);
- in
- rec {
- mkSystem =
- {
- system,
- modules ? [ ],
- }:
- lib.nixosSystem {
- inherit system modules;
- specialArgs = { inherit inputs outputs; };
- };
- mkDarwin =
- {
- system,
- modules ? [ ],
- }:
- darwin.lib.darwinSystem {
- inherit system modules;
- specialArgs = { inherit inputs outputs; };
- };
- mkHome =
- {
- system,
- modules ? [ ],
- }:
- home-manager.lib.homeManagerConfiguration {
- inherit modules;
- pkgs = pkgsFor.${system};
- extraSpecialArgs = {
- inherit inputs outputs;
- isDarwin = isDarwin system;
- };
- };
- allSystems = [
- "x86_64-linux"
- "x86_64-darwin"
- "aarch64-linux"
- "aarch64-darwin"
- ];
- eachSystem = f: lib.genAttrs allSystems (system: f pkgsFor.${system});
- pkgsFor = lib.genAttrs allSystems (
- system:
- if isDarwin system then
- import nixpkgs {
- inherit system;
- config.allowUnfree = true;
- overlays = [
- outputs.overlays.additions
- outputs.overlays.modifications
- outputs.overlays.unstable-packages
- ];
- }
- else
- import nixpkgs-darwin {
- inherit system;
- config.allowUnfree = true;
- overlays = [
- outputs.overlays.additions
- outputs.overlays.modifications
- outputs.overlays.unstable-packages
- ];
- }
- );
- print =
- text:
- let
- json = builtins.toJSON text;
- in
- builtins.trace (builtins.fromJSON json) (builtins.fromJSON json);
- }
|