A modern, delicious implementation of the Nix package manager, focused on correctness, usability, and growth — and committed to doing right by its community
Find a file
Jade Lovelace 1e74bffd5c pre-commit check for pragma once and ///@file
This is in our style guide, we can cheaply enforce it, let's do it.

```
$ pre-commit
check-case-conflicts.....................................................Passed
check-executables-have-shebangs..........................................Passed
check-headers............................................................Failed
- hook id: check-headers
- exit code: 1

Missing pattern @file in file src/libexpr/value.hh

We found some header files that don't conform to the style guide.

The Lix style guide requests that header files:
- Begin with `#pragma once` so they only get parsed once
- Contain a doxygen comment (`/**` or `///`) containing `@file`, for
  example, `///@file`, which will make doxygen generate docs for them.

  When adding that, consider also adding a `@brief` with a sentence
  explaining what the header is for.

For more details: https://wiki.lix.systems/link/3#bkmrk-header-files

check-merge-conflicts....................................................Passed
check-shebang-scripts-are-executable.....................................Passed
check-symlinks.......................................(no files to check)Skipped
end-of-file-fixer........................................................Passed
mixed-line-endings.......................................................Passed
no-commit-to-branch......................................................Passed
release-notes........................................(no files to check)Skipped
treefmt..................................................................Passed
trim-trailing-whitespace.................................................Passed
```

Fixes: https://git.lix.systems/lix-project/lix/issues/233
Change-Id: I77150b9298c844ffedd0f85cc5250ae9208502e3
2024-04-08 16:10:57 -07:00
.github Add pre-commit checks 2024-03-29 22:57:40 -07:00
clang-tidy Create clang-tidy check to rename all our includes 2024-04-06 04:40:19 +00:00
contrib function-trace: always show the trace 2019-09-18 23:23:21 +02:00
doc build: enable libstdc++ assertions 2024-04-08 15:40:12 -07:00
lix-doc Format Nix code with nixfmt 2024-04-08 13:00:00 -07:00
m4 Merge pull request #6258 from obsidiansystems/gcc-bug-ergonomics 2024-03-04 05:24:33 +01:00
maintainers pre-commit check for pragma once and ///@file 2024-04-08 16:10:57 -07:00
meson Add pre-commit checks 2024-03-29 22:57:40 -07:00
misc Format Nix code with nixfmt 2024-04-08 13:00:00 -07:00
mk Build with traps on signed overflow 2024-03-27 23:54:04 -07:00
nix-support Add nixfmt 2024-04-08 09:42:34 -07:00
perl Format Nix code with nixfmt 2024-04-08 13:00:00 -07:00
scripts meson: install shell files 2024-03-29 20:10:33 +00:00
src pragma once and ///@file everything missing it 2024-04-08 15:40:12 -07:00
tests "but doctor, I AM the untrusted store": nix doctor had wrong trustedness 2024-04-08 15:40:12 -07:00
.clang-format Add pre-commit checks 2024-03-29 22:57:40 -07:00
.clang-tidy Add basic clang-tidy config 2024-03-29 20:26:38 -07:00
.dir-locals.el .dir-locals.el: Set c-block-comment-prefix 2020-07-10 11:21:06 +02:00
.editorconfig Add .editorconfig 2017-06-05 22:57:28 +01:00
.envrc Set MAKEFLAGS=-j and GTEST_BRIEF in .envrc 2024-03-28 18:17:28 -07:00
.gitignore Merge "Delete autoconf generated code from tree" into main 2024-04-01 17:34:29 +00:00
.version Update version to 2.90.0 2024-03-07 19:57:39 -07:00
boehmgc-coroutine-sp-fallback.diff Add pre-commit checks 2024-03-29 22:57:40 -07:00
boehmgc-traceable_allocator-public.diff Add pre-commit checks 2024-03-29 22:57:40 -07:00
configure.ac Stop vendoring toml11 2024-03-27 21:04:00 -04:00
CONTRIBUTING.md Put functional tests in tests/functional 2023-12-01 12:06:43 -05:00
COPYING Add pre-commit checks 2024-03-29 22:57:40 -07:00
default.nix Format Nix code with nixfmt 2024-04-08 13:00:00 -07:00
docker.nix Format Nix code with nixfmt 2024-04-08 13:00:00 -07:00
flake.lock pre-commit: stop using the flake 2024-04-08 15:29:23 -07:00
flake.nix pre-commit check for pragma once and ///@file 2024-04-08 16:10:57 -07:00
justfile Add a justfile to make meson friendly :) 2024-03-30 03:03:46 +00:00
local.mk build: enable libstdc++ assertions 2024-04-08 15:40:12 -07:00
Makefile un-ups your start 2024-03-18 18:28:08 -07:00
Makefile.config.in nix-doc -> lix-doc, make self-contained in package.nix 2024-04-08 04:05:13 +00:00
meson.build build: enable libstdc++ assertions 2024-04-08 15:40:12 -07:00
meson.options meson: add switch to disable docs 2024-04-01 20:15:28 +00:00
package.nix Format Nix code with nixfmt 2024-04-08 13:00:00 -07:00
precompiled-headers.h Config: Use nlohmann/json 2020-08-20 11:02:16 +02:00
README.md Improve hacking.md 2023-02-13 12:00:00 +04:00
shell.nix Remove url literals 2022-01-24 13:28:21 +01:00
treefmt.toml Format Nix code with nixfmt 2024-04-08 13:00:00 -07:00

Nix

Open Collective supporters Test

Nix is a powerful package manager for Linux and other Unix systems that makes package management reliable and reproducible. Please refer to the Nix manual for more details.

Installation

On Linux and macOS the easiest way to install Nix is to run the following shell command (as a user other than root):

$ curl -L https://nixos.org/nix/install | sh

Information on additional installation methods is available on the Nix download page.

Building And Developing

See our Hacking guide in our manual for instruction on how to to set up a development environment and build Nix from source.

Additional Resources

License

Nix is released under the LGPL v2.1.