diff --git a/flake.nix b/flake.nix
index 7d6284c..7c8dd12 100755
--- a/flake.nix
+++ b/flake.nix
@@ -2,8 +2,14 @@
description = "Rory&'s services flake";
nixConfig = {
- extra-substituters = [ "https://attic.computer.surgery/grapevine" ];
- extra-trusted-public-keys = [ "grapevine:nYiZ0Qz9nT7Y7kNC/2NdoS3+J9gwTyWxOvlwZnFgceA=" ];
+ extra-substituters = [
+ "https://attic.computer.surgery/grapevine"
+ "https://hyprland.cachix.org"
+ ];
+ extra-trusted-public-keys = [
+ "grapevine:nYiZ0Qz9nT7Y7kNC/2NdoS3+J9gwTyWxOvlwZnFgceA="
+ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
+ ];
};
inputs = {
@@ -12,17 +18,24 @@
url = "github:NixOS/nixpkgs/nixos-unstable";
};
+# nixpkgs-stable = {
+# url = "github:NixOS/nixpkgs/nixos-24.11";
+# };
+
nixpkgs-master = {
url = "github:NixOS/nixpkgs/master";
};
nixpkgs-RoryNix = {
#url = "github:NixOS/nixpkgs/nixos-23.05";
- url = "github:NixOS/nixpkgs/nixos-23.11";
+ url = "github:NixOS/nixpkgs/master";
};
# Draupnir module/package
- nixpkgs-Draupnir.url = "github:TheArcaneBrony/nixpkgs/master";
+ #nixpkgs-DraupnirPkg.url = "github:r-ryantm/nixpkgs/auto-update/draupnir";
+ #nixpkgs-DraupnirPkg.url = "github:NixOS/nixpkgs/master";
+# nixpkgs-keydb.url = "github:NixOS/nixpkgs?rev=e0464e47880a69896f0fb1810f00e0de469f770a";
+ #MatrixContentFilter.url = "git+file:/home/Rory/git/matrix/MatrixContentFilter?submodules=1";
# Base modules
home-manager.url = "github:nix-community/home-manager/master";
@@ -30,26 +43,73 @@
flake-utils.url = "github:numtide/flake-utils";
# Packages
- grapevine.url = "gitlab:matrix/grapevine-fork?host=gitlab.computer.surgery"; # &ref=benjamin/debug-emma-kde-room";
+ grapevine.url = "gitlab:matrix/grapevine-fork?host=gitlab.computer.surgery";
conduit.url = "gitlab:famedly/conduit/next";
- #conduwuit.url = "github:girlbossceo/conduwuit";
- nixos-wsl.url = "github:nix-community/NixOS-WSL";
+ # - AUR imports
+ # aur-visual-paradigm = {
+ # url = "git+https://aur.archlinux.org/visual-paradigm.git";
+ # flake = false;
+ # };
- # Own projects
+ lix-module = {
+ url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.1-2.tar.gz";
+ inputs.nixpkgs.follows = "nixpkgs";
+ };
+
+ # Own projects/custom modules
botcore-v4 = {
url = "gitlab:BotCore-Devs/BotCore-v4/staging";
- inputs.nixpkgs.follows = "nixpkgs"; # We need this to avoid a LIBC error.
+ };
+
+ ooye = {
+ url = "git+https://cgit.rory.gay/nix/OOYE-module.git";
+ };
+
+ cgit-magenta = {
+ url = "git+https://cgit.rory.gay/cgit-magenta.git";
+ inputs.nixpkgs.follows = "nixpkgs";
};
# Packages built from git
+ synapseHttpAntispamSrc = {
+ url = "github:TheArcaneBrony/synapse-http-antispam";
+ flake = false;
+ };
+
nhekoSrc = {
url = "github:Nheko-reborn/nheko/master";
flake = false;
};
+
mtxclientSrc = {
url = "github:Nheko-reborn/mtxclient/master";
flake = false;
};
+
+ draupnirSrc = {
+ url = "github:the-draupnir-project/Draupnir/main";
+ flake = false;
+ };
+
+ matrixSpecSrc = {
+ url = "github:matrix-org/matrix-spec/main";
+ flake = false;
+ };
+
+ hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1&ref=refs/tags/v0.48.1";
+ hy3 = {
+ url = "github:outfoxxed/hy3?ref=hl0.48.0";
+ inputs.hyprland.follows = "hyprland";
+ };
+
+ safeNSound = {
+ url = "git+https://cgit.rory.gay/school/nodejs-final-assignment.git/";
+ inputs = {
+ flake-utils.follows = "flake-utils";
+ nixpkgs.follows = "nixpkgs";
+ };
+ };
+
};
outputs =
@@ -57,33 +117,45 @@
with inputs;
{
nixosConfigurations = {
- #NIXPKGS FORK
- Rory-nginx = nixpkgs.lib.nixosSystem {
+ Module-dev = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
- ./host/Rory-nginx/configuration.nix
+ ./host/Module-dev/configuration.nix
+ home-manager.nixosModules.home-manager
+ lix-module.nixosModules.default
+ ];
+ };
+ Rory-ovh = nixpkgs.lib.nixosSystem {
+ system = "x86_64-linux";
+ modules = [
+ ./host/Rory-ovh/configuration.nix
./hardware-configuration.nix
+
+ ./host/Rory-nginx/services/matrix/synapse/workers/module.nix
+
home-manager.nixosModules.home-manager
+ lix-module.nixosModules.default
grapevine.nixosModules.default
-
- # these arent really modules...
- botcore-v4.modules.bots
- botcore-v4.modules.frontend
- botcore-v4.modules.dataupdater
- botcore-v4.modules.users
+ ooye.modules.default
+ safeNSound.nixosModules.default
(
- { pkgs, ... }:
+ { pkgs, lib, ... }:
{
disabledModules = [ "services/matrix/synapse.nix" ];
imports = [
"${nixpkgs-master}/nixos/modules/services/matrix/synapse.nix"
- "${nixpkgs-Draupnir}/nixos/modules/services/matrix/draupnir.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;
+ matrix-synapse-unwrapped = self.packages.${pkgs.stdenv.hostPlatform.system}.matrix-synapse-unwrapped-patched;
+ draupnir = inputs.nixpkgs-master.legacyPackages.${pkgs.stdenv.hostPlatform.system}.draupnir;
+ #draupnir = inputs.nixpkgs-DraupnirPkg.legacyPackages.${pkgs.stdenv.hostPlatform.system}.draupnir;
+ matrix-synapse-plugins.synapse-http-antispam = prev.matrix-synapse-plugins.synapse-http-antispam.overrideAttrs (oldAttrs: {
+ src = inputs.synapseHttpAntispamSrc;
+ version = inputs.synapseHttpAntispamSrc.rev;
+ });
})
];
}
@@ -94,8 +166,35 @@
inherit home-manager;
inherit grapevine;
inherit conduit;
- inherit nixpkgs-Draupnir;
- #inherit conduwuit;
+ #inherit nixpkgs-Draupnir;
+ inherit nixpkgs-DraupnirPkg;
+ inherit cgit-magenta;
+
+ inherit (inputs) draupnirSrc;
+ };
+ };
+
+ Rory-nginx = nixpkgs.lib.nixosSystem {
+ system = "x86_64-linux";
+ modules = [
+ ./host/Rory-nginx/configuration.nix
+ ./hardware-configuration.nix
+ ./packages/redpanda-connect/module.nix
+ home-manager.nixosModules.home-manager
+ lix-module.nixosModules.default
+ grapevine.nixosModules.default
+
+ # these arent really modules...
+ botcore-v4.modules.bots
+ botcore-v4.modules.frontend
+ botcore-v4.modules.dataupdater
+ botcore-v4.modules.users
+ ];
+ specialArgs = {
+ inherit botcore-v4;
+ inherit home-manager;
+ inherit grapevine;
+ inherit conduit;
};
};
@@ -117,7 +216,9 @@
modules = [
./host/Rory-desktop/configuration.nix
./hardware-configuration.nix
+ ./packages/overlays/jetbrains-plugins.nix
home-manager.nixosModules.home-manager
+ lix-module.nixosModules.default
sops-nix.nixosModules.sops
(
{ ... }:
@@ -128,11 +229,82 @@
};
}
)
+ #(
+ # { pkgs, lib, ... }:
+ # {
+ # nixpkgs.overlays = [
+ # (final: prev: {
+ # jetbrains = (prev.jetbrains // {
+ # plugins = (prev.jetbrains.plugins // {
+ # addPlugins = (pkgs.callPackage "${inputs.nixpkgs-JetbrainsPlugins}/pkgs/applications/editors/jetbrains/plugins/default.nix" { }).addPlugins;
+ # });
+ # });
+ # })
+ # ];
+ # }
+ #)
];
specialArgs = {
inherit home-manager;
inherit (inputs) mtxclientSrc;
inherit (inputs) nhekoSrc;
+ inherit hyprland;
+ inherit hy3;
+ };
+ };
+ Rory-laptop = nixpkgs.lib.nixosSystem {
+ system = "x86_64-linux";
+ modules = [
+ ./host/Rory-laptop/configuration.nix
+ ./hardware-configuration.nix
+ home-manager.nixosModules.home-manager
+ lix-module.nixosModules.default
+ sops-nix.nixosModules.sops
+
+ #temporary:
+ ./packages/overlays/lldb.nix
+
+ (
+ { ... }:
+ {
+ nix = {
+ registry.nixpkgs.flake = nixpkgs;
+ nixPath = [ "nixpkgs=${nixpkgs.outPath}" ];
+ };
+ }
+ )
+ ];
+ specialArgs = {
+ inherit home-manager;
+ inherit (inputs) matrixSpecSrc;
+ inherit (inputs) mtxclientSrc;
+ inherit (inputs) nhekoSrc;
+ inherit hyprland;
+ inherit hy3;
+ };
+ };
+
+ Arc = nixpkgs.lib.nixosSystem {
+ system = "x86_64-linux";
+ modules = [
+ ./host/Arc/configuration.nix
+ ./hardware-configuration.nix
+ home-manager.nixosModules.home-manager
+ lix-module.nixosModules.default
+ (
+ { ... }:
+ {
+ nix = {
+ registry.nixpkgs.flake = nixpkgs;
+ nixPath = [ "nixpkgs=${nixpkgs.outPath}" ];
+ };
+ }
+ )
+ ];
+ specialArgs = {
+ inherit home-manager;
+ inherit hyprland;
+ inherit hy3;
};
};
@@ -151,12 +323,29 @@
};
}
)
- # ... add this line to the rest of your configuration modules
- #nix-ld.nixosModules.nix-ld
+ ];
+ specialArgs = {
+ inherit home-manager;
+ inherit (inputs) mtxclientSrc;
+ inherit (inputs) nhekoSrc;
+ };
+ };
- # 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; }
+ Rory-NTFS = nixpkgs.lib.nixosSystem {
+ system = "x86_64-linux";
+ modules = [
+ ./host/Rory-NTFS/configuration.nix
+ ./hardware-configuration.nix
+ home-manager.nixosModules.home-manager
+ (
+ { ... }:
+ {
+ nix = {
+ registry.nixpkgs.flake = nixpkgs;
+ nixPath = [ "nixpkgs=${nixpkgs.outPath}" ];
+ };
+ }
+ )
];
specialArgs = {
inherit home-manager;
@@ -174,44 +363,70 @@
(
{ ... }:
{
+ nixpkgs.hostPlatform = "i686-linux";
+ nixpkgs.buildPlatform = "x86_64-linux";
nix.registry.nixpkgs.flake = nixpkgs-RoryNix;
}
)
];
};
- #WSL
- Rory-wsl = nixpkgs.lib.nixosSystem {
+ # ISO images
+ uISO = 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
+ ./host/uISO/iso-root.nix
+ ./host/uISO/development.nix
];
specialArgs = {
- inherit (inputs) mtxclientSrc;
- inherit (inputs) nhekoSrc;
+ # inherit spacebarchat-server-master;
};
};
};
+
+ modules = {
+ monitoring = import ./modules/monitoring/module.nix;
+ redpanda-connect = import ./packages/redpanda-connect/module.nix;
+ };
}
// flake-utils.lib.eachSystem flake-utils.lib.allSystems (
system:
let
pkgs = import nixpkgs { inherit system; };
+ pkgs-master = import nixpkgs-master { inherit system; };
in
{
packages.nheko-git = (
- pkgs.callPackage ./modules/packages/nheko-git.nix {
+ pkgs.callPackage ./packages/nheko-git.nix {
inherit nhekoSrc;
inherit mtxclientSrc;
voipSupport = false;
}
);
- packages.mtxclient-git = (pkgs.callPackage ./modules/packages/mtxclient-git.nix { inherit mtxclientSrc; });
+ packages.mtxclient-git = (pkgs.callPackage ./packages/mtxclient-git.nix { inherit mtxclientSrc; });
+ packages.matrix-spec-git = (pkgs.callPackage ./packages/matrix-spec.nix { inherit matrixSpecSrc; });
+ packages.nbtexplorer = pkgs.callPackage ./packages/nbtexplorer.nix { };
+
+ # untested
+ #packages.draupnir-main = pkgs.draupnir.overrideAttrs (oldAttrs: {
+ # src = draupnirSrc;
+ # version = draupnirSrc.rev;
+ #});
+
+ packages.redpanda-connect = (pkgs.callPackage ./packages/redpanda-connect/default.nix { });
+ packages.matrix-synapse-unwrapped-patched = pkgs-master.matrix-synapse-unwrapped.overrideAttrs (oldAttrs: rec {
+ patches = (if oldAttrs ? patches then oldAttrs.patches else []) ++ pkgs.lib.map (
+ path: ./packages/overlays/matrix-synapse/patches/${path}
+ ) (builtins.attrNames (builtins.readDir ./packages/overlays/matrix-synapse/patches));
+
+ cargoDeps = pkgs.rustPlatform.fetchCargoVendor {
+ inherit (oldAttrs) src;
+ inherit patches;
+ name = "${oldAttrs.pname}-${oldAttrs.version}";
+ hash = "sha256-9VJnn8aPkShqK2wYGFr+S5koIjma7VOr+LkLXwStL1E=";
+ };
+ });
}
);
}
|