hyprspace/flake.nix
DavHau 6f3c85a1ef
feat: add mDNS peer discovery for LAN environments (#102)
Co-authored-by: Max <max@privatevoid.net>
2026-06-22 14:01:34 +00:00

85 lines
2.2 KiB
Nix

{
description = "Hyprspace";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-parts = {
url = "github:hercules-ci/flake-parts";
inputs.nixpkgs-lib.follows = "nixpkgs";
};
hercules-ci-effects = {
url = "github:hercules-ci/hercules-ci-effects";
inputs = {
nixpkgs.follows = "nixpkgs";
flake-parts.follows = "flake-parts";
};
};
ndg = {
url = "github:feel-co/ndg";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs =
inputs@{ flake-parts, ... }:
flake-parts.lib.mkFlake { inherit inputs; } {
systems = [
"x86_64-linux"
"aarch64-linux"
"aarch64-darwin"
];
herculesCI.ciSystems = [
"x86_64-linux"
"aarch64-linux"
];
flake =
{ config, ... }:
{
nixosModules = {
default = config.nixosModules.hyprspace;
hyprspace =
{ lib, pkgs, ... }:
{
imports = [ ./nixos ];
services.hyprspace.package = lib.mkOptionDefault inputs.self.packages.${pkgs.system}.default;
};
};
};
imports = [
inputs.hercules-ci-effects.flakeModule
./dev
];
perSystem =
{
config,
inputs',
pkgs,
...
}:
{
packages = {
default = config.packages.hyprspace;
hyprspace = pkgs.callPackage ./package.nix {
generateSchemasProgram = config.apps.dev-generate-schemas.program;
};
docs = pkgs.callPackage ./docs/package.nix {
hyprspace = config.packages.default;
inherit (inputs'.ndg.packages) ndg;
};
vendor = pkgs.callPackage ./dev/vendor.nix {
generateSchemasProgram = config.apps.dev-generate-schemas.program;
};
};
checks = pkgs.lib.optionalAttrs (pkgs.stdenv.hostPlatform.system == "x86_64-linux") {
vm-test = import ./nixos/test.nix {
inherit pkgs;
self = inputs.self;
};
};
};
};
}