Add Nix flake configuration

This commit is contained in:
2023-01-02 22:49:03 +00:00
parent df7e3734e0
commit 201a751382
24 changed files with 724 additions and 110 deletions

46
flake.nix Normal file
View File

@ -0,0 +1,46 @@
{
description = "NixOS/Darwin system configuration";
inputs = {
nixpkgs.url = "nixpkgs/nixos-22.11";
home-manager = {
url = "github:nix-community/home-manager/release-22.11";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = inputs @ { nixpkgs, home-manager, ... }:
let
inherit (lib) attrValues;
inherit (lib.my) mapModules mapModulesRec;
mkPkgs = pkgs:
import pkgs {
config.allowUnfree = true;
};
pkgs = mkPkgs nixpkgs;
lib = nixpkgs.lib.extend (self: super: {
my = import ./lib {
inherit pkgs inputs;
lib = self;
};
});
in {
lib = lib.my;
nixosModules = mapModulesRec ./modules import;
nixosConfigurations = {
atlas = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
inputs.home-manager.nixosModules.home-manager
(import ./modules)
./hosts/atlas
];
specialArgs = { inherit lib inputs; };
};
};
};
}