summaryrefslogtreecommitdiffstats
path: root/flake.nix
blob: 401f2ee1cc5accfd1928d011bd7155f1ee793cc0 (plain) (blame)
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
{
  description = "Based and Minimal Flake For Darwin";

  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
    nix-darwin = {
      url = "github:nix-darwin/nix-darwin/master";
      inputs.nixpkgs.follows = "nixpkgs";
    };

    my-slstatus = {
      url = "git://git.skullheadx.com/slstatus.git";
      inputs.nixpkgs.follows = "nixpkgs";
    };

    my-surf = {
      url = "git://git.skullheadx.com/surf.git";
      inputs.nixpkgs.follows = "nixpkgs";
    };

    my-dwm = {
      url = "git://git.skullheadx.com/dwm.git";
      inputs.nixpkgs.follows = "nixpkgs";
    };

    my-st = {
      url = "git://git.skullheadx.com/st.git";
      inputs.nixpkgs.follows = "nixpkgs";
    };

    my-dmenu = {
      url = "git://git.skullheadx.com/dmenu.git";
      inputs.nixpkgs.follows = "nixpkgs";
    };
    nvf = {
      url = "github:notashelf/nvf";
      inputs.nixpkgs.follows = "nixpkgs";
    };
    hjem = {
      url = "github:feel-co/hjem";
      inputs.nixpkgs.follows = "nixpkgs";
    };
  };
  outputs = {
    self,
    nixpkgs,
    hjem,
    my-slstatus,
    my-surf,
    my-dwm,
    my-st,
    my-dmenu,
    nvf,
    nix-darwin,
    home-manager,
  } @ inputs: let
    system = "x86_64-linux";
    pkgs = nixpkgs.legacyPackages.${system};
    nvim = nvf.lib.neovimConfiguration {
      inherit pkgs;
      modules = [./nvf/nvf.nix];
    };

    system-darwin = "aarch64-darwin";
    pkgs-darwin = nixpkgs.legacyPackages.${system-darwin};
    nvim-darwin = nvf.lib.neovimConfiguration {
      pkgs = pkgs-darwin;
      modules = [./nvf/nvf.nix];
    };
  in {
    packages.${system}.nvim = nvim.neovim;
    packages.${system-darwin}.nvim = nvim-darwin.neovim;

    nixosConfigurations = {
      nepsis = nixpkgs.lib.nixosSystem {
        specialArgs = {
          inherit inputs nvim;
          username = "andrew";
        };
        modules = [
          hjem.nixosModules.default
          ./linux-common.nix
          ./hosts/nepsis/configuration.nix
          ./overlays.nix
        ];
      };
      icon = nixpkgs.lib.nixosSystem {
        specialArgs = {
          inherit inputs nvim;
          username = "andrew";
        };
        modules = [
          hjem.nixosModules.default
          ./linux-common.nix
          ./hosts/icon/configuration.nix
          ./overlays.nix
        ];
      };
    };

    darwinConfigurations = {
      kenosis = nix-darwin.lib.darwinSystem {
        specialArgs = {
          inherit inputs;
          nvim = nvim-darwin;
          username = "andrew";
        };
        modules = [
          ./darwin-common.nix
          ./hosts/kenosis/configuration.nix
          ./overlays.nix
          hjem.darwinModules.default
        ];
      };
      bear = nix-darwin.lib.darwinSystem {
        specialArgs = {
          inherit inputs;
          nvim = nvim-darwin;
          username = "andrewmontgomery";
        };
        modules = [
          ./darwin-common.nix
          ./hosts/bear/configuration.nix
          ./overlays.nix
          hjem.darwinModules.default
        ];
      };
    };
  };
}