mirror of
https://github.com/DreamMaoMao/maomaowm.git
synced 2026-05-19 21:38:07 -04:00
- Add nix/generate-hm-options.nix to export HM and NixOS module options as JSON via nixosOptionsDoc - Expose hm-options-json and nixos-options-json packages in flake.nix - Add CI workflow to auto-build and push JSONs to mangowm.github.io on module changes - Add missing description to hm-modules enable option
63 lines
1.7 KiB
Nix
63 lines
1.7 KiB
Nix
{
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
|
flake-parts.url = "github:hercules-ci/flake-parts";
|
|
scenefx = {
|
|
url = "github:wlrfx/scenefx";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
};
|
|
|
|
outputs = {
|
|
self,
|
|
flake-parts,
|
|
...
|
|
} @ inputs:
|
|
flake-parts.lib.mkFlake {inherit inputs;} {
|
|
imports = [
|
|
inputs.flake-parts.flakeModules.easyOverlay
|
|
];
|
|
|
|
flake = {
|
|
hmModules.mango = import ./nix/hm-modules.nix self;
|
|
nixosModules.mango = import ./nix/nixos-modules.nix self;
|
|
};
|
|
|
|
perSystem = {
|
|
config,
|
|
pkgs,
|
|
...
|
|
}: let
|
|
inherit (pkgs) callPackage ;
|
|
mango = callPackage ./nix {
|
|
inherit (inputs.scenefx.packages.${pkgs.stdenv.hostPlatform.system}) scenefx;
|
|
};
|
|
shellOverride = old: {
|
|
nativeBuildInputs = old.nativeBuildInputs ++ [];
|
|
buildInputs = old.buildInputs ++ [];
|
|
};
|
|
in {
|
|
packages.default = mango;
|
|
overlayAttrs = {
|
|
inherit (config.packages) mango;
|
|
};
|
|
packages = {
|
|
inherit mango;
|
|
hm-options-json = pkgs.callPackage (import ./nix/generate-options.nix self) {
|
|
module = ./nix/hm-modules.nix;
|
|
optionPrefix = "wayland.windowManager.mango.";
|
|
};
|
|
nixos-options-json = pkgs.callPackage (import ./nix/generate-options.nix self) {
|
|
module = ./nix/nixos-modules.nix;
|
|
optionPrefix = "programs.mango.";
|
|
};
|
|
};
|
|
devShells.default = mango.overrideAttrs shellOverride;
|
|
formatter = pkgs.alejandra;
|
|
};
|
|
systems = [
|
|
"x86_64-linux"
|
|
"aarch64-linux"
|
|
];
|
|
};
|
|
}
|