templates: add 'system-flake' template

This commit is contained in:
Alejandro Soto 2025-01-26 15:38:38 -06:00
parent 4b8609385a
commit 3a3d73d5b6
15 changed files with 212 additions and 0 deletions

View file

@ -0,0 +1,5 @@
lib:
with lib; {
android_sdk.accept_license = true;
allowUnfreePredicate = pkg: import ./unfree.nix lib (getName pkg);
}

View file

@ -0,0 +1,7 @@
lib: name:
with lib;
elem name [
"libproprietary-v3"
"closed-source-pkg"
"favorite-abandonware"
]

View file

@ -0,0 +1,12 @@
final: prev:
with prev.lib; let
inherit (final) callPackage fetchpatch;
in {
lib = callPackage ./lib {};
hello-world = callPackage ./hello-world {};
override = {
sl = prev.sl.overrideAttrs {pname = "my-sl";};
};
}

View file

@ -0,0 +1,6 @@
CFLAGS += -O3 -s
all: hello-world
%: %.c
$(CC) $(CFLAGS) -o $@ $<

View file

@ -0,0 +1,14 @@
{stdenv, ...}:
stdenv.mkDerivation {
name = "hello-world";
version = "1.0.0";
src = ./.;
installPhase = ''
mkdir -p $out/bin
cp hello-world $out/bin
'';
meta.mainProgram = "hello-world";
}

View file

@ -0,0 +1,7 @@
#include <stdio.h>
int main()
{
printf("Hello, world!\n");
return 0;
}

View file

@ -0,0 +1,3 @@
{callPackage}: {
fibonacci = callPackage ./fibonacci.nix {};
}

View file

@ -0,0 +1,7 @@
let
fib = n:
if n > 1
then fib (n - 1) + fib (n - 2)
else 1;
in
fib