feat(c): add configuration files
This commit is contained in:
parent
30022cc914
commit
c1524d5bd9
22
c/.editorconfig
Normal file
22
c/.editorconfig
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
charset = utf-8
|
||||||
|
end_of_line = lf
|
||||||
|
indent_size = 4
|
||||||
|
indent_style = space
|
||||||
|
insert_final_newline = true
|
||||||
|
max_line_length = 80
|
||||||
|
tab_width = 4
|
||||||
|
|
||||||
|
[{Makefile,*.mk}]
|
||||||
|
indent_style = tab
|
||||||
|
|
||||||
|
[*.nix]
|
||||||
|
indent_style = space
|
||||||
|
tab_width = 2
|
||||||
|
indent_size = 2
|
||||||
|
|
||||||
|
[*.lock]
|
||||||
|
indent_style = unset
|
||||||
|
insert_final_newline = unset
|
2
c/.gitattributes
vendored
Normal file
2
c/.gitattributes
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
* text=lf
|
||||||
|
* eol=lf
|
15
c/.gitignore
vendored
Normal file
15
c/.gitignore
vendored
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
# binaries
|
||||||
|
hello
|
||||||
|
|
||||||
|
# build
|
||||||
|
*.[aod]
|
||||||
|
|
||||||
|
# config
|
||||||
|
compile_commands.json
|
||||||
|
.pre-commit-config.yaml
|
||||||
|
.cache
|
||||||
|
|
||||||
|
# nix
|
||||||
|
.direnv
|
||||||
|
.envrc
|
||||||
|
result
|
29
c/Dockerfile
Normal file
29
c/Dockerfile
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
# Credit to Mitchell Hashimoto
|
||||||
|
# post: https://mitchellh.com/writing/nix-with-dockerfiles
|
||||||
|
|
||||||
|
# Nix builder
|
||||||
|
FROM nixos/nix:latest AS builder
|
||||||
|
|
||||||
|
# Copy our source and setup our working dir.
|
||||||
|
COPY . /tmp/build
|
||||||
|
WORKDIR /tmp/build
|
||||||
|
|
||||||
|
# Build our Nix environment
|
||||||
|
RUN nix \
|
||||||
|
--extra-experimental-features "nix-command flakes" \
|
||||||
|
--option filter-syscalls false \
|
||||||
|
build
|
||||||
|
|
||||||
|
# Copy the Nix store closure into a directory. The Nix store closure is the
|
||||||
|
# entire set of Nix store values that we need for our build.
|
||||||
|
RUN mkdir /tmp/nix-store-closure
|
||||||
|
RUN cp -R $(nix-store -qR result/) /tmp/nix-store-closure
|
||||||
|
|
||||||
|
# Final image is based on scratch. We copy a bunch of Nix dependencies
|
||||||
|
# but they're fully self-contained so we don't need Nix anymore.
|
||||||
|
FROM scratch
|
||||||
|
|
||||||
|
# Copy /nix/store
|
||||||
|
COPY --from=builder /tmp/nix-store-closure /nix/store
|
||||||
|
COPY --from=builder /tmp/build/result /app
|
||||||
|
CMD ["/app/bin/hello"]
|
4
c/tokei.toml
Normal file
4
c/tokei.toml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
columns = 80
|
||||||
|
sort = "lines"
|
||||||
|
types = ["C", "C Header", "Makefile", "Markdown"]
|
||||||
|
treat_doc_strings_as_comments = true
|
Loading…
Reference in a new issue