mirror of https://cgit.krebsco.de/nix-writers
parent
c8d71ce6ac
commit
61f94fe489
1 changed files with 49 additions and 0 deletions
@ -0,0 +1,49 @@ |
||||
nix library extension, containing sophisticated script and code generator functions. |
||||
|
||||
# How to include as overlay |
||||
|
||||
``` |
||||
{ config, pkgs, ... }: |
||||
let |
||||
|
||||
# fetch the repository |
||||
# ------------------ |
||||
# nix-prefetch-git is your friend to create this part. |
||||
nix-writers = (import <nixpkgs> {}).fetchgit { |
||||
url = "https://cgit.krebsco.de/nix-writers"; |
||||
rev = "c8d71ce6acbae124a7bc162323442979a1d6df06"; |
||||
sha256 = "0r1p34a3jvm55v5sbkfbjpqcld2cbdrvc5685g723b1frhw666ag"; |
||||
}; |
||||
|
||||
in { |
||||
|
||||
# include the repository as overlay |
||||
nixpkgs.config.packageOverrides = import "${nix-writers}/pkgs" pkgs; |
||||
|
||||
... |
||||
|
||||
} |
||||
``` |
||||
|
||||
# How to use the scripts |
||||
|
||||
once you've included the nix-writers as overlay you can use the scripts to create to create binaries (for example) |
||||
|
||||
``` |
||||
environment.systemPackages = with pkgs; [ |
||||
|
||||
# Haskell example |
||||
(writeHaskell "nix-writers-example-haskell" { |
||||
executables."nix-writers-example-haskell".text = ''main = print "this is a writeHaskell example"''; |
||||
}) |
||||
|
||||
# C example |
||||
(writeC "nix-writers-example-c" { |
||||
destination = "/bin/nix-writers-example-c"; |
||||
} ''int main() { printf("this is a writeC example!\n"); }'') |
||||
|
||||
# Dash example |
||||
(writeDashBin "nix-writers-example-dash" ''echo "this is a writeDash example!"'') |
||||
|
||||
]; |
||||
``` |
||||
Loading…
Reference in new issue