Operators
 lists the operators in the
Nix expression language, in order of precedence (from strongest to
weakest binding).
  Operators
  
    
      
        Syntax
        Associativity
        Description
      
    
    
      
        e .
        attrpath
        [ or def ]
        
        none
        Select attribute denoted by the attribute path
        attrpath from set
        e.  (An attribute path is a
        dot-separated list of attribute names.)  If the attribute
        doesn’t exist, return def if
        provided, otherwise abort evaluation.
      
      
        e1 e2
        left
        Call function e1 with
        argument e2.
      
      
        e ?
        attrpath
        none
        Test whether set e contains
        the attribute denoted by attrpath;
        return true or
        false.
      
      
        e1 ++ e2
        right
        List concatenation.
      
      
        e1 + e2
        left
        String or path concatenation.
      
      
        ! e
        left
        Boolean negation.
      
      
        e1 //
        e2
        right
        Return a set consisting of the attributes in
        e1 and
        e2 (with the latter taking
        precedence over the former in case of equally named
        attributes).
      
      
        e1 ==
        e2
        none
        Equality.
      
      
        e1 !=
        e2
        none
        Inequality.
      
      
        e1 &&
        e2
        left
        Logical AND.
      
      
        e1 ||
        e2
        left
        Logical OR.
      
      
        e1 ->
        e2
        none
        Logical implication (equivalent to
        !e1 ||
        e2).