summaryrefslogtreecommitdiffstats
path: root/flake.nix
blob: 9457f0c5181ab822c15bdcf7533077d6fd69a7dd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
{
  description = "NixOS configuration";

  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
    #nixpkgs.url = "github:martinetd/nixpkgs/master";
    nixpkgs-fixed.url = "github:nixos/nixpkgs/b4a452cf31340b8c96364e94d4f7bf68ae6ba2eb";
    # home-manager.url = "github:nix-community/home-manager";
    secrets = {
      type = "path";
      path = "/etc/nixos/secrets";
      flake = false;
    };
  };

  #outputs = { home-manager, nixpkgs, ... }: {
  outputs =
    inputs:
    let
      inherit (inputs) nixpkgs;
      inherit (inputs) nixpkgs-fixed;
    in
    rec {
      nixosConfigurations =
        nixpkgs.lib.genAttrs
          [
            "gaia"
            "jormungand"
            "ullr"
            "bragi"
          ]
          (
            hostName:
            let
              cfg = import ./flake-configuration.nix { inherit hostName; };
            in
            import (nixpkgs + "/nixos/lib/eval-config.nix") (
              cfg
              // {
                modules = cfg.modules ++ [
                  (
                    { pkgs, ... }:
                    {
                      _module.args = {
                        inherit inputs;
                        localpkgs = packages.x86_64-linux;
                        fixedpkgs = nixpkgs-fixed.legacyPackages.x86_64-linux;
                      };
                      nix.registry.nixpkgs.flake = nixpkgs;
                    }
                  )
                ];
              }
            )
          );

      packages.x86_64-linux = import pkgs/default.nix { pkgs = nixpkgs; };
    };
}