summary refs log tree commit diff
path: root/flake.nix
blob: 5ac075e3e9f15d89d3933f9a27d0e7a238a250df (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
{
  description = "Rory's services flake";

  inputs = {
    nixpkgs = {
      url = "github:NixOS/nixpkgs/nixos-unstable";
      #url="path:/Rory-Open-Architecture/nixpkgs";
    };
    nixpkgs-rory = {
      #url = "path:/Rory-Open-Architecture/nixpkgs";
      url = "github:TheArcaneBrony/nixpkgs/master";
    };
    nixpkgs-RoryNix = {
      #url = "github:NixOS/nixpkgs/nixos-23.05";
      url = "github:NixOS/nixpkgs/nixos-23.11";
    };
    botcore-v4 = {
      url = "gitlab:BotCore-Devs/BotCore-v4/staging";
    };
    home-manager =  {
      url = "github:nix-community/home-manager/master";
    };
    conduit = {
      url = "gitlab:famedly/conduit";

      # Assuming you have an input for nixpkgs called `nixpkgs`. If you experience
      # build failures while using this, try commenting/deleting this line. This
      # will probably also require you to always build from source.
      inputs.nixpkgs.follows = "nixpkgs";
    };
    nixos-wsl.url = "github:nix-community/NixOS-WSL";
    #inputs.nur.url = github:nix-community/NUR;

    # Sources...
    nhekoSrc = {
      url = "github:Nheko-reborn/nheko/master";
      flake = false;
    };
    mtxclientSrc = {
      url = "github:Nheko-reborn/mtxclient/master";
      flake = false;
    };

    # DO NOT TOUCH THIS UNGODLY MESS
    #nix-ld.url = "github:Mic92/nix-ld";
    # this line assume that you also have nixpkgs as an input
    #nix-ld.inputs.nixpkgs.follows = "nixpkgs";
  };

  outputs = { self, nixpkgs, nixpkgs-RoryNix, nixpkgs-rory, home-manager, botcore-v4, conduit, nixos-wsl, ... }@inputs: {
    nixosConfigurations = {
      #NIXPKGS FORK
      Rory-nginx = nixpkgs-rory.lib.nixosSystem {
        system = "x86_64-linux";
        modules = [
          ./host/Rory-nginx/configuration.nix
          ./hardware-configuration.nix
          home-manager.nixosModules.home-manager
        ];
        specialArgs = {
          inherit botcore-v4;
          inherit home-manager;
          inherit conduit;
        };
      };

      #UNSTABLE
      Rory-devenv = nixpkgs.lib.nixosSystem {
        system = "x86_64-linux";
        modules = [
          ./host/Rory-devenv/configuration.nix
          ./hardware-configuration.nix
          home-manager.nixosModules.home-manager
        ];
        specialArgs = {
          inherit home-manager;
        };
      };

      Rory-desktop = nixpkgs.lib.nixosSystem {
        system = "x86_64-linux";
        modules = [
          ./host/Rory-desktop/configuration.nix
          ./hardware-configuration.nix
          home-manager.nixosModules.home-manager
          ({...}: { nix.registry.nixpkgs.flake = nixpkgs; })
          # ... add this line to the rest of your configuration modules
          #nix-ld.nixosModules.nix-ld

          # The module in this repository defines a new module under (programs.nix-ld.dev) instead of (programs.nix-ld) 
          # to not collide with the nixpkgs version.
          #{ programs.nix-ld.dev.enable = true; }
        ];
        specialArgs = {
          inherit home-manager;
          inherit (inputs) mtxclientSrc;
          inherit (inputs) nhekoSrc;
        };
      };

      #STABLE
      RoryNix = nixpkgs-RoryNix.lib.nixosSystem {
        system = "i686-linux";
        modules = [
          ./host/RoryNix/configuration.nix
          ./hardware-configuration.nix
          ({...}: { nix.registry.nixpkgs.flake = nixpkgs-RoryNix; })
        ];
      };

      #WSL
      Rory-wsl = nixpkgs.lib.nixosSystem {
        system = "x86_64-linux";
        modules = [
          nixos-wsl.nixosModules.default
          ./host/Rory-wsl/configuration.nix
#          ./hardware-configuration.nix
	        home-manager.nixosModules.home-manager
          #nur.nixosModules.nur
        ];
        specialArgs = {
          inherit (inputs) mtxclientSrc;
          inherit (inputs) nhekoSrc;
        };
      };
    };
  };
}