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 c97e17144e packaging: rename nixexpr -> lixexpr and so on
This breaks downstreams linking to us on purpose to make sure that if
someone is linking to Lix they're doing it on purpose and crucially not
mixing up Nix and Lix versions in compatibility code.

We still need to fix the internal includes to follow the same schema so
we can drop the single-level include system entirely. However, this
requires a little more effort.

This adds pkg-config for libfetchers and config.h.

Migration path:
expr.hh      -> lix/libexpr/expr.hh
nix/config.h -> lix/config.h

To apply this migration automatically, remove all `<nix/>` from
includes, so: `#include <nix/expr.hh>` -> `#include <expr.hh>`. Then,
the correct paths will be resolved from the tangled mess, and the
clang-tidy automated fix will work.

Then run the following for out of tree projects:

```
lix_root=$HOME/lix
(cd $lix_root/clang-tidy && nix develop -c 'meson setup build && ninja -C build')
run-clang-tidy -checks='-*,lix-fixincludes' -load=$lix_root/clang-tidy/build/liblix-clang-tidy.so -p build/ -fix src
```

Related: https://git.lix.systems/lix-project/nix-eval-jobs/pulls/5
Fixes: https://git.lix.systems/lix-project/lix/issues/279
Change-Id: I7498e903afa6850a731ef8ce77a70da6b2b46966
2024-05-23 16:45:23 -06:00
.github
bench
clang-tidy
contrib
doc packaging: rename nixexpr -> lixexpr and so on 2024-05-23 16:45:23 -06:00
lix-doc lix-doc: don't chomp bold headings off 2024-05-15 15:24:03 -07:00
maintainers build-release-notes: add change author metadata and use it 2024-05-15 14:33:35 -07:00
meson packaging: rename nixexpr -> lixexpr and so on 2024-05-23 16:45:23 -06:00
misc Deprecate the online flake registries and vendor the default registry 2024-05-18 12:27:23 +10:00
nix-support
perl packaging: rename nixexpr -> lixexpr and so on 2024-05-23 16:45:23 -06:00
scripts remove the autoconf+Make buildsystem 2024-05-07 17:04:30 -06:00
src packaging: rename nixexpr -> lixexpr and so on 2024-05-23 16:45:23 -06:00
tests packaging: rename nixexpr -> lixexpr and so on 2024-05-23 16:45:23 -06:00
.clang-format
.clang-tidy
.dir-locals.el
.editorconfig
.envrc
.gitignore
.version
boehmgc-coroutine-sp-fallback.diff
boehmgc-traceable_allocator-public.diff
CONTRIBUTING.md chore: re-work the contribution guide 2024-05-07 01:28:35 +00:00
COPYING
default.nix
docker.nix
flake.lock flake: update nixpkgs input to latest nixos-23.11 2024-05-08 23:03:28 +02:00
flake.nix release-notes: build unreleased release notes by default 2024-05-15 15:01:38 -07:00
justfile Improve the justfile 2024-05-08 08:19:37 -07:00
meson.build packaging: rename nixexpr -> lixexpr and so on 2024-05-23 16:45:23 -06:00
meson.options
package.nix packaging: rename nixexpr -> lixexpr and so on 2024-05-23 16:45:23 -06:00
precompiled-headers.h
README.md
shell.nix
treefmt.toml

Lix

Lix is an implementation of Nix, a powerful package management system for Linux and other Unix systems that makes package management reliable and reproducible.

Read more about us at https://lix.systems.

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 -sSf -L https://install.lix.systems/lix | sh -s -- install

For systems that already have Nix installed, such as NixOS systems, read our install page

Building And Developing

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

Additional Resources

License

Lix is released under the LGPL v2.1.