summaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix84
1 files changed, 50 insertions, 34 deletions
diff --git a/flake.nix b/flake.nix
index 9b5e326..03db398 100644
--- a/flake.nix
+++ b/flake.nix
@@ -7,15 +7,17 @@
};
outputs =
- { self, nixpkgs, ... }@inputs:
+ {
+ self,
+ nixpkgs,
+ nixpkgs-stable,
+ nix-darwin,
+ home-manager,
+ ...
+ }@inputs:
+
let
inherit (nixpkgs) lib;
- inherit (self.lib.builders)
- darwinSystem
- homeManagerConfiguration
- nixosSystem
- mkModule
- ;
systems = [
"x86_64-linux"
@@ -26,7 +28,13 @@
forAllSystems = lib.genAttrs systems;
nixpkgsFor = nixpkgs.legacyPackages;
+
+ mkModule = type: name: file: {
+ _file = "${self.outPath}#${type}.${name}";
+ imports = [ file ];
+ };
in
+
{
apps = forAllSystems (
system:
@@ -157,53 +165,61 @@
}
);
- lib = import ./lib { inherit lib inputs self; };
+ lib = import ./lib { inherit lib; };
formatter = forAllSystems (system: nixpkgsFor.${system}.nixfmt-rfc-style);
- darwinModules = {
- default = mkModule {
- name = "default";
- type = "darwin";
- imports = [ ./modules/darwin ];
- };
+ darwinModules = lib.mapAttrs (mkModule "darwin") {
+ default = ./modules/darwin;
};
- nixosModules = {
- default = mkModule {
- name = "default";
- type = "nixos";
- imports = [ ./modules/nixos ];
- };
+ nixosModules = lib.mapAttrs (mkModule "darwin") {
+ default = ./modules/nixos;
};
- darwinConfigurations = lib.mapAttrs (lib.const darwinSystem) {
+ darwinConfigurations = lib.mapAttrs (lib.const nix-darwin.lib.darwinSystem) {
caroline = {
modules = [ ./systems/caroline ];
+ specialArgs = {
+ inherit inputs;
+ };
};
};
- homeConfigurations = lib.mapAttrs (lib.const homeManagerConfiguration) {
+ homeConfigurations = lib.mapAttrs (lib.const home-manager.lib.homeManagerConfiguration) {
seth = {
modules = [ ./users/seth/home.nix ];
pkgs = nixpkgsFor.x86_64-linux;
+ extraSpecialArgs = {
+ inherit inputs;
+ };
};
};
- nixosConfigurations = lib.mapAttrs (lib.const nixosSystem) {
- glados = {
- modules = [ ./systems/glados ];
- };
-
- glados-wsl = {
- modules = [ ./systems/glados-wsl ];
- };
+ nixosConfigurations =
+ lib.mapAttrs (lib.const nixpkgs.lib.nixosSystem) {
+ glados = {
+ modules = [ ./systems/glados ];
+ specialArgs = {
+ inherit inputs;
+ };
+ };
- atlas = {
- nixpkgs = inputs.nixpkgs-stable;
- modules = [ ./systems/atlas ];
+ glados-wsl = {
+ modules = [ ./systems/glados-wsl ];
+ specialArgs = {
+ inherit inputs;
+ };
+ };
+ }
+ // {
+ atlas = nixpkgs-stable.lib.nixosSystem {
+ modules = [ ./systems/atlas ];
+ specialArgs = {
+ inherit inputs;
+ };
+ };
};
- };
legacyPackages.x86_64-linux =
let