# Nix Concepts
Links: [[Nix]]
## [[Zero to Nix]]: [Nix flakes](https://zero-to-nix.com/concepts/flakes)
### Flake references
A _flake reference_ is a string representation of where the flake is located. Flake references are used in two places:
1. In flake [input declarations](https://zero-to-nix.com/concepts/flakes#inputs) to depend on outputs from the flake.
2. In shell environments when running commands like `nix run github:DeterminateSystems/riff` (which runs the [Riff](https://riff.sh/) program).
Here are some example flake references:
Reference | Description
--|--
`path:/home/nix-stuff/my-flake`|The `/home/nix-stuff/my-flake` directory on the current host
`github:DeterminateSystems/zero-to-nix`|The [DeterminateSystems/zero-to-nix](https://github.com/DeterminateSystems/zero-to-nix) GitHub repository
`github:DeterminateSystems/zero-to-nix/other`|The [`other`](https://github.com/DeterminateSystems/zero-to-nix/tree/other) branch of the [DeterminateSystems/zero-to-nix](https://github.com/DeterminateSystems/zero-to-nix) GitHub repository
`github:DeterminateSystems/zero-to-nix/d51c83a5d206e882a6f15a282e32b7079f5b6d76`|Commit [`d51c83a5d206e882a6f15a282e32b7079f5b6d76`](https://github.com/DeterminateSystems/zero-to-nix/tree/d51c83a5d206e882a6f15a282e32b7079f5b6d76) on the [DeterminateSystems/zero-to-nix](https://github.com/DeterminateSystems/zero-to-nix) GitHub repository
`nixpkgs`|The most recent revision of the [`nixpkgs-unstable`](https://github.com/NixOS/nixpkgs/tree/nixpkgs-unstable) branch of [Nixpkgs](https://zero-to-nix.com/concepts/nixpkgs) (an alias for `github:NixOS/nixpkgs`)
`nixpkgs/release-22.11`|The [`release-22.11`](https://github.com/nixOS/nixpkgs/tree/release-22.11) branch of Nixpkgs
You can find a more systematic treatment of flake references in the [official documentation](https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-flake#flake-references).