Compare commits

...

3 Commits

21 changed files with 127 additions and 113 deletions

View File

@ -5,13 +5,10 @@ let
in forAllSystems(system: let
pkgs = nixpkgsFor.${system};
bpkgs = self.packages.${system};
blib = self.lib;
bonfire = self;
bonfire-lib = self.lib;
bonfire-pkgs = self.packages.${system};
in {
example = blib.mkApp { drv = bpkgs.example; name = "hello-nix"; };
netgen = blib.mkApp { drv = bpkgs.netgen; };
spoof-dpi = blib.mkApp { drv = bpkgs.spoof-dpi; };
})

8
devShells/bonfire.nix Normal file
View File

@ -0,0 +1,8 @@
{ crane-lib, pkgs, ... }:
crane-lib.devShell {
packages = with pkgs; [
# nil
jq
cachix
];
}

View File

@ -1,23 +1,30 @@
# self.devShells.${system}
#
{ self, nixpkgs, crane, ... }:
{ self, nixpkgs, ... }:
let
forAllSystems = nixpkgs.lib.genAttrs [ "x86_64-linux" ];
nixpkgsFor = forAllSystems (system: import nixpkgs { inherit system; });
in forAllSystems(system: let
in forAllSystems(system:
let environment = {
pkgs = nixpkgsFor.${system};
bpkgs = self.packages.${system};
blib = self.lib;
cranelib = crane.lib.${system};
in {
netgen = import ./netgen.nix { inherit pkgs bpkgs; };
bonfire = self;
bonfire-lib = self.lib;
bonfire-pkgs = self.packages.${system};
openfoam = import ./openfoam.nix { inherit pkgs bpkgs; };
crane = self.inputs.crane;
crane-lib = self.inputs.crane.lib.${system};
}; in {
rust = import ./rust.nix { inherit pkgs cranelib; };
rust-x11 = import ./rust-x11.nix { inherit pkgs cranelib; };
default = import ./bonfire.nix environment;
go = import ./go.nix { inherit pkgs; };
netgen = import ./netgen.nix environment;
openfoam = import ./openfoam.nix environment;
rust = import ./rust.nix environment;
rust-x11 = import ./rust-x11.nix environment;
go = import ./go.nix environment;
})

View File

@ -1,4 +1,11 @@
{ pkgs, ... }:
pkgs.mkShell {
buildInputs = with pkgs; [ go gopls gotools go-tools golangci-lint gnumake ];
pkgs.mkShellNoCC {
packages = with pkgs; [
go
gopls
gotools
go-tools
golangci-lint
gnumake
];
}

View File

@ -1,15 +1,9 @@
{ pkgs, bpkgs, ... }:
let
python = pkgs.python3.withPackages(ps: []);
in pkgs.mkShellNoCC {
packages = with pkgs; [
bpkgs.netgen
python
{ pkgs, bonfire-pkgs, ... }:
pkgs.mkShellNoCC {
packages = [
bonfire-pkgs.netgen
pkgs.python3
];
shellHook = ''
export PYTHONPATH="${python}/${python.sitePackages}"
export PYTHONPATH="$PYTHONPATH:${bpkgs.netgen}/${python.sitePackages}"
'';
shellHook = bonfire-pkgs.netgen.passthru.shellHook;
}

View File

@ -1,11 +1,9 @@
{ pkgs, bpkgs, ... }:
{ pkgs, bonfire-pkgs, ... }:
pkgs.mkShellNoCC {
packages = with pkgs; [
bpkgs.openfoam
mpi
packages = [
bonfire-pkgs.openfoam
pkgs.mpi
];
shellHook = ''
. ${bpkgs.openfoam}/OpenFOAM-${bpkgs.openfoam.major}/etc/bashrc
'';
shellHook = bonfire-pkgs.openfoam.passthru.shellHook;
}

View File

@ -1,21 +1,23 @@
{ pkgs, cranelib, ... }:
cranelib.devShell {
{ pkgs, crane-lib, ... }:
crane-lib.devShell rec {
packages = with pkgs; [
libGL
xorg.libXi xorg.libX11 xorg.libXcursor xorg.libXrandr
lld
libxkbcommon
pkg-config
libGL
vulkan-loader
vulkan-headers
vulkan-tools
vulkan-validation-layers
xorg.libXi
xorg.libX11
xorg.libXcursor
xorg.libXrandr
libxkbcommon
libudev-zero
alsa-lib
];
shellHook = ''
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${
with pkgs; lib.makeLibraryPath [
libGL
xorg.libX11 xorg.libXi xorg.libXcursor xorg.libXrandr
libxkbcommon
vulkan-loader
]
}"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${pkgs.lib.makeLibraryPath packages}"
'';
}

View File

@ -1,4 +1,6 @@
{ pkgs, cranelib, ... }:
cranelib.devShell {
packages = [];
{ pkgs, crane-lib, ... }:
crane-lib.devShell {
packages = [
pkgs.cargo-watch
];
}

View File

@ -65,6 +65,6 @@
apps = import ./apps { inherit self nixpkgs; };
devShells = import ./devShells { inherit self nixpkgs crane; };
devShells = import ./devShells { inherit self nixpkgs; };
};
}

View File

@ -1,5 +1,7 @@
{ ... }:
{
maintainers = import ./maintainers.nix;
mkApp = { drv, name ? drv.pname, binPath ? "/bin/${name}" }:
{
type = "app";

8
lib/maintainers.nix Normal file
View File

@ -0,0 +1,8 @@
{
L-Nafaryus = {
email = "l.nafaryus@gmail.com";
github = "L-Nafaryus";
githubId = 37117584;
name = "George Kusayko";
};
}

View File

@ -1,4 +1,5 @@
{
bonfire,
stdenv, lib, pkgs,
version ? "1.10.0",
sha256 ? "sha256-36GAGfvHZyNZe/Z7o3VrCCwApkZpJ+r2E8+1Hy32G5Q=", ...
@ -54,7 +55,7 @@ pkgs.python3.pkgs.buildPythonPackage {
description = "Dear PyGui: A fast and powerful Graphical User Interface Toolkit for Python with minimal dependencies.";
license = licenses.mit;
platforms = platforms.linux;
maintainers = [];
maintainers = with bonfire.lib.maintainers; [ L-Nafaryus ];
broken = pkgs.stdenv.isDarwin;
};
}

View File

@ -5,19 +5,23 @@ let
forAllSystems = nixpkgs.lib.genAttrs [ "x86_64-linux" ];
nixpkgsFor = forAllSystems (system: import nixpkgs { inherit system; });
in forAllSystems(system: let pkgs = nixpkgsFor.${system}; in {
in forAllSystems(system:
let
bonfire = self;
pkgs = nixpkgsFor.${system};
in {
example = pkgs.callPackage ./example {};
example = pkgs.callPackage ./example { inherit bonfire; };
netgen = pkgs.callPackage ./netgen {};
netgen = pkgs.callPackage ./netgen { inherit bonfire; };
dearpygui = pkgs.callPackage ./dearpygui {};
dearpygui = pkgs.callPackage ./dearpygui { inherit bonfire; };
openfoam = pkgs.callPackage ./openfoam {};
openfoam = pkgs.callPackage ./openfoam { inherit bonfire; };
spoofdpi = pkgs.callPackage ./spoofdpi {};
spoofdpi = pkgs.callPackage ./spoofdpi { inherit bonfire; };
lego = pkgs.callPackage ./lego {};
lego = pkgs.callPackage ./lego { inherit bonfire; };
ultimmc = pkgs.libsForQt5.callPackage ./ultimmc {};
ultimmc = pkgs.libsForQt5.callPackage ./ultimmc { inherit bonfire; };
})

View File

@ -1,10 +0,0 @@
cmake_minimum_required(VERSION 3.16)
project(hello-nix LANGUAGES CXX)
add_executable(hello-nix source/example.cpp)
install(
TARGETS hello-nix
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT runtime
)

View File

@ -1,19 +0,0 @@
{ stdenv, lib, pkgs, ... }:
stdenv.mkDerivation {
pname = "example";
version = "1.0";
# local source
src = ./.;
nativeBuildInputs = with pkgs; [ cmake ninja ];
meta = with lib; {
homepage = "https://www.example.org/";
description = "Example with hello nix.";
license = licenses.cc0;
platforms = platforms.linux;
maintainers = [];
broken = false;
};
}

View File

@ -1,8 +0,0 @@
#include <iostream>
int main(void)
{
std::cout << "Hello Nix!" << std::endl;
return 0;
}

View File

@ -1,4 +1,5 @@
{
bonfire,
lib,
fetchFromGitHub, buildGoModule, nixosTests,
version ? "c847ac4a4c55d6a5a457f6ef494cf45a47299e01",
@ -30,7 +31,7 @@ buildGoModule rec {
description = "Let's Encrypt client and ACME library written in Go";
license = licenses.mit;
homepage = "https://go-acme.github.io/lego/";
maintainers = [];
maintainers = with bonfire.lib.maintainers; [ L-Nafaryus ];
};
passthru.tests.lego = nixosTests.acme;

View File

@ -1,9 +1,10 @@
{
bonfire,
stdenv, lib, pkgs,
version ? "6.2.2402",
sha256 ? "sha256-o3cj5k2VtYiGcs9Z9FyfwtOpDlZZlcO3kRgBSer6KAw=", ...
}:
stdenv.mkDerivation {
let pkg = stdenv.mkDerivation {
pname = "netgen";
inherit version;
@ -52,12 +53,20 @@ stdenv.mkDerivation {
metis
];
passthru = {
shellHook = with pkgs; ''
export PYTHONPATH="${python3}/${python3.sitePackages}"
export PYTHONPATH="$PYTHONPATH:${pkg}/${python3.sitePackages}"
'';
};
meta = with pkgs.lib; {
homepage = "https://github.com/NGSolve/netgen";
description = "NETGEN is an automatic 3d tetrahedral mesh generator";
license = licenses.lgpl21Only;
platforms = platforms.linux;
maintainers = [];
maintainers = with bonfire.lib.maintainers; [ L-Nafaryus ];
broken = pkgs.stdenv.isDarwin;
};
}
};
in pkg

View File

@ -1,4 +1,5 @@
{
bonfire,
stdenv, lib, pkgs,
version ? "11.20240116",
sha256 ? "sha256-bNWlza3cL/lUrwrVEmPECvKbFkwR2rTMaccsn8amGFQ=", ...
@ -8,8 +9,8 @@ let
major = lib.elemAt version' 0;
revision = lib.elemAt version' 1;
realname = "OpenFOAM";
in stdenv.mkDerivation {
in
let pkg = stdenv.mkDerivation {
pname = "openfoam";
inherit version major;
@ -65,12 +66,19 @@ in stdenv.mkDerivation {
cp -Ra $WM_PROJECT_DIR/* $out/${realname}-${major}
'';
passthru = {
shellHook = ''
. ${pkg}/${realname}-${major}/etc/bashrc
'';
};
meta = with pkgs.lib; {
homepage = "https://www.openfoam.org/";
description = "OpenFOAM is a free, open source CFD software released and developed by OpenFOAM Foundation";
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = [];
maintainers = with bonfire.lib.maintainers; [ L-Nafaryus ];
broken = pkgs.stdenv.isDarwin;
};
}
};
in pkg

View File

@ -1,4 +1,5 @@
{
bonfire,
lib, pkgs,
version ? "0.8",
hash ? "sha256-kPCdOZl4m7KBb970TjJokXorKfnCvuV5Uq7lFQIh1z8=",
@ -25,7 +26,7 @@ pkgs.buildGoModule {
homepage = "https://github.com/xvzc/SpoofDPI";
description = "A simple and fast anti-censorship tool written in Go";
license = licenses.asl20;
maintainers = [];
maintainers = with bonfire.lib.maintainers; [ L-Nafaryus ];
broken = false;
mainProgram = "spoof-dpi";
};

View File

@ -1,4 +1,5 @@
{
bonfire,
lib, stdenv,
fetchFromGitHub, wrapQtAppsHook,
extra-cmake-modules, cmake,
@ -40,6 +41,7 @@ stdenv.mkDerivation rec {
cmakeFlags = [ "-DLauncher_LAYOUT=lin-nodeps" ];
# TODO: fix broken data directory location
postInstall = let
libpath = with xorg; lib.makeLibraryPath [
libX11
@ -68,6 +70,6 @@ stdenv.mkDerivation rec {
description = "Cracked Minecraft Launcher";
license = licenses.asl20;
platforms = platforms.linux;
maintainers = [] ;
maintainers = with bonfire.lib.maintainers; [ L-Nafaryus ];
};
}