flake.nix.md
{
  description = "A very cool Nix flake";

  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
  };

  outputs = { self, nixpkgs, ... }: 
    let
      pkgs = nixpkgs.legacyPackages."x86_64-linux";
    in {
      packages.x86_64-linux.default = pkgs.vim;

      devShells.x86_64-linux.default = pkgs.mkShell {
        packages = [
          pkgs.git
          pkgs.vim
        ];
      };
    };
}

This is a basic flake.nix file with a single nixpkgs input and a package output.

Run the package

$ nix run /path/to/flake

Activate the shell

$ nix develop /path/to/flake

Watch a friendly video!