feat: add flake support
This commit is contained in:
parent
cf23eb92bf
commit
bd63b0983c
177
flake.nix
177
flake.nix
@ -6,35 +6,83 @@
|
||||
};
|
||||
|
||||
outputs =
|
||||
inputs@{
|
||||
self,
|
||||
nixpkgs,
|
||||
...
|
||||
}:
|
||||
inputs@{ self, nixpkgs, ... }:
|
||||
let
|
||||
adam-gui-libs = with pkgs; [
|
||||
libGL pkg-config xorg.libX11.dev xorg.libXcursor xorg.libXi xorg.libXinerama xorg.libXrandr xorg.libXxf86vm
|
||||
];
|
||||
kon-libs = with pkgs; [
|
||||
pkg-config
|
||||
];
|
||||
libGL
|
||||
pkg-config
|
||||
xorg.libX11.dev
|
||||
xorg.libXcursor
|
||||
xorg.libXi
|
||||
xorg.libXinerama
|
||||
xorg.libXrandr
|
||||
xorg.libXxf86vm
|
||||
];
|
||||
kon-libs = with pkgs; [ pkg-config ];
|
||||
pkgs = import nixpkgs {
|
||||
system = "x86_64-linux";
|
||||
overlays = [ self.overlays.default ];
|
||||
};
|
||||
|
||||
in {
|
||||
nixosModules.default = ({config, pkgs, ...}: { nixpkgs.overlays = [ self.overlays.default ]; });
|
||||
in
|
||||
{
|
||||
nixosModules.default = (
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
nixpkgs.overlays = [ self.overlays.default ];
|
||||
}
|
||||
);
|
||||
packages.x86_64-linux = rec {
|
||||
inherit (pkgs)
|
||||
kon
|
||||
adam-gui;
|
||||
inherit (pkgs) kon adam-gui;
|
||||
};
|
||||
overlays.default = final: prev: {
|
||||
kon =
|
||||
with pkgs;
|
||||
kon =
|
||||
with pkgs;
|
||||
(buildGoModule rec {
|
||||
pname = "kon";
|
||||
version = "0.0.1";
|
||||
|
||||
buildInputs = [
|
||||
gcc
|
||||
go
|
||||
] ++ kon-libs;
|
||||
|
||||
nativeBuildInputs = with pkgs; [
|
||||
pkg-config
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
src = fetchFromGitea {
|
||||
domain = "git.ontake.dev";
|
||||
owner = "go";
|
||||
repo = "kon";
|
||||
rev = "c94a27dc86c0dbe21f952d247d51b119e66bc6dc";
|
||||
hash = "sha256-Fi8DkF8lBEdBcOKRKA0Zr9s4NDy1eSrIs9nQS5YA02Q=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
||||
meta = with lib; {
|
||||
description = "A sysadmin tool for monitoring and system updates";
|
||||
homepage = "https://git.ontake.dev/go/kon";
|
||||
license = licenses.gpl3;
|
||||
maintainers = [ ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram "$out/bin/kon" \
|
||||
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath kon-libs}
|
||||
'';
|
||||
});
|
||||
adam-gui = pkgs.symlinkJoin {
|
||||
name = "adam-gui";
|
||||
version = "0.0.1";
|
||||
paths = with pkgs; [
|
||||
(buildGoModule rec {
|
||||
pname = "kon";
|
||||
pname = "adam-gui";
|
||||
version = "0.0.1";
|
||||
|
||||
buildInputs = [
|
||||
@ -44,6 +92,7 @@
|
||||
|
||||
nativeBuildInputs = with pkgs; [
|
||||
pkg-config
|
||||
addOpenGLRunpath
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
@ -52,88 +101,44 @@
|
||||
src = fetchFromGitea {
|
||||
domain = "git.ontake.dev";
|
||||
owner = "go";
|
||||
repo = "kon";
|
||||
rev = "c94a27dc86c0dbe21f952d247d51b119e66bc6dc";
|
||||
hash = "sha256-Fi8DkF8lBEdBcOKRKA0Zr9s4NDy1eSrIs9nQS5YA02Q=";
|
||||
repo = "adam-gui";
|
||||
rev = "a64eabcfd4a85d2a3fe3e88c8f668af2c4db741d";
|
||||
hash = "sha256-igJie5yYj7LndBGd5XA7GU0qWalrK5j+YM0hCFunXVY=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
||||
meta = with lib; {
|
||||
description = "A sysadmin tool for monitoring and system updates";
|
||||
homepage = "https://git.ontake.dev/go/kon";
|
||||
description = "A simple GUI for ADAM branded scales";
|
||||
homepage = "https://git.ontake.dev/go/adam-gui";
|
||||
license = licenses.gpl3;
|
||||
maintainers = [ ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram "$out/bin/kon" \
|
||||
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath kon-libs}
|
||||
wrapProgram "$out/bin/adam-gui" \
|
||||
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath adam-gui-libs}
|
||||
'';
|
||||
});
|
||||
adam-gui = pkgs.symlinkJoin {
|
||||
name = "adam-gui";
|
||||
version = "0.0.1";
|
||||
paths = with pkgs; [
|
||||
(buildGoModule rec {
|
||||
pname = "adam-gui";
|
||||
version = "0.0.1";
|
||||
|
||||
buildInputs = [
|
||||
gcc
|
||||
go
|
||||
] ++ kon-libs;
|
||||
|
||||
nativeBuildInputs = with pkgs; [
|
||||
pkg-config
|
||||
addOpenGLRunpath
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
src = fetchFromGitea {
|
||||
domain = "git.ontake.dev";
|
||||
owner = "go";
|
||||
repo = "adam-gui";
|
||||
rev = "a64eabcfd4a85d2a3fe3e88c8f668af2c4db741d";
|
||||
hash = "sha256-igJie5yYj7LndBGd5XA7GU0qWalrK5j+YM0hCFunXVY=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
||||
meta = with lib; {
|
||||
description = "A simple GUI for ADAM branded scales";
|
||||
homepage = "https://git.ontake.dev/go/adam-gui";
|
||||
license = licenses.gpl3;
|
||||
maintainers = [ ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram "$out/bin/adam-gui" \
|
||||
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath adam-gui-libs}
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
addOpenGLRunpath $out/bin/adam-gui
|
||||
'';
|
||||
})
|
||||
(makeDesktopItem {
|
||||
name = "ADAM GUI";
|
||||
desktopName = "ADAM GUI";
|
||||
exec = "adam-gui";
|
||||
icon = "adam-gui";
|
||||
comment = "A simple GUI for ADAM branded scales.";
|
||||
categories = [
|
||||
"Science"
|
||||
"Utility"
|
||||
];
|
||||
})
|
||||
];
|
||||
};
|
||||
postFixup = ''
|
||||
addOpenGLRunpath $out/bin/adam-gui
|
||||
'';
|
||||
})
|
||||
(makeDesktopItem {
|
||||
name = "ADAM GUI";
|
||||
desktopName = "ADAM GUI";
|
||||
exec = "adam-gui";
|
||||
icon = "adam-gui";
|
||||
comment = "A simple GUI for ADAM branded scales.";
|
||||
categories = [
|
||||
"Science"
|
||||
"Utility"
|
||||
];
|
||||
})
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user