Adds Nix flake configuration for the project, enabling reproducible builds and dependency management using gomod2nix. Also removes unused code from main.go.
35 lines
805 B
Nix
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";
|
|
}
|