summaryrefslogtreecommitdiff
path: root/3 resources/nix/language/With.md
blob: b2919072897fae0a8f8c6f87289cd747cd0fa9dc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#nix #keyword 

---
The  `with` keyword brings all attributes from a given set, e.g nixpkgs, into the local scope. Making them accessible as if they were declared in the same file.

An example, bringing everything from nixpkgs into scope:
```
with import <nixpkgs>;
with python310Packages; <-- declared in nixpkgs

buildPythonPackage <-- declared in python310Packages
```

The import statement is required here because imports a nix expression from another source, in this case nixpkgs.
It is not required at line two, because python310Packages itself is already in the local scope.