{ description = "Rory&'s services flake"; inputs = { # Different nixpkgs versions nixpkgs = { url = "github:NixOS/nixpkgs/nixos-unstable"; #url="path:/Rory-Open-Architecture/nixpkgs"; }; nixpkgs-master = { url = "github:NixOs/nixpkgs/master"; }; nixpkgs-RoryNix = { #url = "github:NixOS/nixpkgs/nixos-23.05"; url = "github:NixOS/nixpkgs/nixos-23.11"; }; nixpkgs-Draupnir = { # Draupnir module/package url = "github:TheArcaneBrony/nixpkgs/master"; #url = "path:/Rory-Open-Architecture/nixpkgs"; }; # Base modules home-manager.url = "github:nix-community/home-manager/master"; sops-nix.url = "github:Mic92/sops-nix"; # Packages grapevine.url = "gitlab:matrix/grapevine-fork?host=gitlab.computer.surgery"; # &ref=benjamin/debug-emma-kde-room"; conduit.url = "gitlab:famedly/conduit/next"; #conduwuit.url = "github:girlbossceo/conduwuit"; nixos-wsl.url = "github:nix-community/NixOS-WSL"; # Own projects botcore-v4 = { url = "gitlab:BotCore-Devs/BotCore-v4/staging"; inputs.nixpkgs.follows = "nixpkgs"; }; # Packages built from git nhekoSrc = { url = "github:Nheko-reborn/nheko/master"; flake = false; }; mtxclientSrc = { url = "github:Nheko-reborn/mtxclient/master"; flake = false; }; }; outputs = inputs: with inputs; { nixosConfigurations = { #NIXPKGS FORK Rory-nginx = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ ./host/Rory-nginx/configuration.nix ./hardware-configuration.nix home-manager.nixosModules.home-manager grapevine.nixosModules.default ( { pkgs, ... }: { disabledModules = [ "services/matrix/synapse.nix" ]; imports = [ "${nixpkgs-master}/nixos/modules/services/matrix/synapse.nix" "${nixpkgs-Draupnir}/nixos/modules/services/matrix/draupnir.nix" ]; nixpkgs.overlays = [ (final: prev: { matrix-synapse-unwrapped = inputs.nixpkgs-master.legacyPackages.${pkgs.stdenv.hostPlatform.system}.matrix-synapse-unwrapped; draupnir = inputs.nixpkgs-Draupnir.legacyPackages.${pkgs.stdenv.hostPlatform.system}.draupnir; }) ]; } ) ]; specialArgs = { inherit botcore-v4; inherit home-manager; inherit grapevine; inherit conduit; inherit nixpkgs-Draupnir; #inherit conduwuit; }; }; #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 sops-nix.nixosModules.sops ( { ... }: { nix = { registry.nixpkgs.flake = nixpkgs; nixPath = [ "nixpkgs=${nixpkgs.outPath}" ]; }; } ) ]; specialArgs = { inherit home-manager; inherit (inputs) mtxclientSrc; inherit (inputs) nhekoSrc; }; }; Rory-portable = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ ./host/Rory-portable/configuration.nix ./hardware-configuration.nix home-manager.nixosModules.home-manager ( { ... }: { nix = { registry.nixpkgs.flake = nixpkgs; nixPath = [ "nixpkgs=${nixpkgs.outPath}" ]; }; } ) # ... 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; }; }; }; }; }