diff --git a/flake.nix b/flake.nix index 98355e8..c634295 100644 --- a/flake.nix +++ b/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" + ]; + }) + ]; }; + }; }; }