WhspBrd/shell.nix
foglar 7bde699fc2 Sets up Nix flake for reproducible builds
Adds Nix flake configuration for the project, enabling reproducible builds and dependency management using gomod2nix.
Also removes unused code from main.go.
2025-06-04 07:29:56 +02:00

35 lines
805 B
Nix

{
pkgs ? (
let
inherit (builtins) fetchTree fromJSON readFile;
inherit ((fromJSON (readFile ./flake.lock)).nodes) nixpkgs gomod2nix;
in
import (fetchTree nixpkgs.locked) {
overlays = [
(import "${fetchTree gomod2nix.locked}/overlay.nix")
];
}
),
mkGoEnv ? pkgs.mkGoEnv,
gomod2nix ? pkgs.gomod2nix,
}: let
goEnv = mkGoEnv {pwd = ./.;};
in
pkgs.mkShell {
packages = [
goEnv
gomod2nix
];
buildInputs = with pkgs; [
dbus
webkitgtk
openssl
libayatana-appindicator
];
nativeBuildInputs = with pkgs; [
pkg-config
];
dbus = pkgs.dbus;
PKG_CONFIG_PATH = "${pkgs.pkg-config}/lib/pkgconfig:${pkgs.openssl}/lib/pkgconfig:${pkgs.libayatana-appindicator}/lib/pkgconfig";
}