nix: expose overlay and NixOS module for infrastructure deployment

- Fix default.nix to build from workspace (imphnen-backend/Cargo.toml)
- Add overlays.default adding pkgs.imphnen-backend
- Add nixosModules.backend via nixos-module.nix
- NixOS module defines systemd service on port 8081 with environmentFile

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
maulanasdqn
2026-04-02 13:44:23 +07:00
co-authored by Claude Sonnet 4.6
parent e432a1a743
commit 30128a8fe2
3 changed files with 111 additions and 56 deletions
+16 -15
View File
@@ -1,15 +1,16 @@
{pkgs ? import <nixpkgs> {}}: let
manifest = (pkgs.lib.importTOML ./Cargo.toml).package;
rustDeps = pkgs.callPackage ./Cargo.nix {};
packageEntry = rustDeps.workspaceMembers.${manifest.name};
deps = packageEntry.build.cargoDeps or null;
in
pkgs.rustPlatform.buildRustPackage {
pname = manifest.name;
version = manifest.version;
cargoDeps = deps;
src = pkgs.lib.cleanSource ./.;
cargoLock.lockFile = ./Cargo.lock;
nativeBuildInputs = [pkgs.openssl pkgs.pkg-config];
buildInputs = [pkgs.openssl];
}
{ pkgs ? import <nixpkgs> { } }:
pkgs.rustPlatform.buildRustPackage {
pname = "imphnen-backend";
version = (pkgs.lib.importTOML ./imphnen-backend/Cargo.toml).package.version;
src = pkgs.lib.cleanSource ./.;
cargoLock.lockFile = ./Cargo.lock;
cargoBuildFlags = [
"--package"
"imphnen-backend"
"--bin"
"api"
];
nativeBuildInputs = [ pkgs.pkg-config ];
buildInputs = [ pkgs.openssl ];
doCheck = false;
}