This commit is contained in:
2026-08-11 16:48:56 +02:00
commit 9964eaa875
11 changed files with 233 additions and 0 deletions

37
nix/module.nix Normal file
View File

@@ -0,0 +1,37 @@
{ self, metadata, ... }:
{
flake.nixosModules.default =
{
config,
lib,
pkgs,
...
}:
let
cfg = config.programs.example;
inherit (lib)
mkEnableOption
mkOption
mkIf
;
inherit (pkgs.stdenv.hostPlatform) system;
in
{
options.programs.example = {
enable = mkEnableOption metadata.package.name;
package = mkOption {
default = self.packages.${system}.default;
description = "Package to use";
type = lib.types.package;
};
};
config = mkIf cfg.enable {
environment.systemPackages = [ cfg.package ];
};
};
}

37
nix/package.nix Normal file
View File

@@ -0,0 +1,37 @@
{ metadata, ... }:
{
perSystem = { pkgs, lib, ... }: {
packages.default = (
pkgs.rustPlatform.buildRustPackage {
pname = metadata.package.name;
version = metadata.package.version;
src = lib.cleanSource ./..;
cargoLock.lockFile = ./../Cargo.lock;
# build deps
nativeBuildInputs = with pkgs; [
# cargo
# rustc
# already provided by buildRustPackage :p
pkg-config
];
# runtime deps
buildInputs = with pkgs; [
];
meta = {
description = metadata.package.description;
homepage = metadata.package.repository;
downloadPage = "https://example.com";
license = lib.licenses."${metadata.package.license}";
# platforms = lib.platforms.linux;
mainProgram = metadata.package.name;
};
}
);
};
}

11
nix/shell.nix Normal file
View File

@@ -0,0 +1,11 @@
{
perSystem = { pkgs, config, ... }: {
devShells.default = pkgs.mkShell {
packages = with pkgs; [ ];
inputsFrom = [
(config.packages.default)
];
};
};
}