dotfiles/dummy/flake.nix
RingOfStorms (Joshua Bell) 3311f30ee9 get h002 working again
2024-11-26 21:11:07 -06:00

69 lines
2.1 KiB
Nix

{
description = "Dummy Stormd Service";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
};
outputs =
{ self, nixpkgs }:
let
systems = nixpkgs.lib.systems.flakeExposed;
forAllSystems = nixpkgs.lib.genAttrs systems;
in
{
packages = forAllSystems (system: {
stormd = nixpkgs.legacyPackages.${system}.writeScriptBin "stormd" ''
#!${nixpkgs.legacyPackages.${system}.bash}/bin/bash
echo "This is a dummy stormd implementation"
exit 0
'';
default = self.packages.${system}.stormd;
});
apps = forAllSystems (system: {
stormd = {
type = "app";
program = "${self.packages.${system}.stormd}/bin/stormd";
};
default = self.apps.${system}.stormd;
});
overlays = forAllSystems (system: [ (final: prev: { stormd = self.packages.${system}.stormd; }) ]);
devShells = forAllSystems (system: {
default = nixpkgs.legacyPackages.${system}.mkShell {
packages = [ self.packages.${system}.stormd ];
};
});
nixosModules = forAllSystems (
system:
{ config, lib, ... }:
{
options = {
services.stormd = {
enable = lib.mkEnableOption "Enable the Stormd service.";
extraOptions = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [ ];
description = "Extra options to pass to stormd daemon.";
};
rootUser = lib.mkOption {
type = lib.types.str;
default = "root";
description = "Root user name that will have stormd available.";
};
nebulaPackage = lib.mkOption {
type = lib.types.package;
default = self.packages.${system}.stormd;
description = "The nebula package to use.";
};
};
};
config = lib.mkIf config.services.stormd.enable { };
}
);
};
}