• Stars
    star
    707
  • Rank 63,462 (Top 2 %)
  • Language
    Nix
  • License
    Mozilla Public Li...
  • Created about 6 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The official (but not yet stable) formatter for Nix code

nixfmt

nixfmt is a formatter for Nix code, intended to easily apply a uniform style.

You are encouraged to test this out on your code and submit any undesirable formatting you find as an issue

Build Status

State

nixfmt will form the basis for the initial official standard Nix formatter, as established by RFC 166.

The established standard Nix formatting differs considerably from the original one. Be aware of this if you track the main branch. Until the first new release the main branch should be considered very unstable.

For more details, see the RFC implementation tracking issue.

Installation

  • nixfmt is in nixpkgs master as of 2019-09-04:

    nix-env -iA nixpkgs.nixfmt
    
  • To get the most recent version, install from master:

    nix-env -f https://github.com/NixOS/nixfmt/archive/master.tar.gz -i
    
  • Nix with flakes

    nix profile install github:NixOS/nixfmt
    

Development

With Nix

Haskell dependencies will be built by Nix.

  • Enter nix-shell
  • Build with cabal new-build

Without Nix

Haskell dependencies will be built by Cabal.

  • Build with cabal new-build

Usage

  • nixfmt < input.nix – reads Nix code from stdin, formats it, and outputs to stdout
  • nixfmt file.nix – format the file in place

About Serokell

nixfmt is maintained and funded with ❀️ by Serokell. The names and logo for Serokell are trademark of Serokell OÜ.

We love open source software! See our other projects or hire us to design, develop and grow your idea!

More Repositories

1

nixpkgs

Nix Packages collection & NixOS
Nix
13,126
star
2

nix

Nix, the purely functional package manager
C++
9,002
star
3

patchelf

A small utility to modify the dynamic linker and RPATH of ELF executables
C
2,931
star
4

nixos-hardware

A collection of NixOS modules covering hardware quirks.
Nix
1,864
star
5

nixops

NixOps is a tool for deploying to NixOS machines in a network or cloud.
Python
1,464
star
6

nix.dev

Official documentation for getting things done with Nix.
Python
1,458
star
7

hydra

Hydra, the Nix-based continuous build system
Perl
1,128
star
8

templates

Flake templates
Nix
419
star
9

rfcs

The Nix community RFCs
396
star
10

nixos-search

Search NixOS packages and options
Elm
395
star
11

cabal2nix

Generate Nix build instructions from a Cabal file
Haskell
336
star
12

nix-mode

An Emacs major mode for editing Nix expressions.
Emacs Lisp
294
star
13

nixos-homepage

Sources for nixos.org
Astro
283
star
14

nix-pills

Nix
278
star
15

ofborg

@ofborg tooling automation https://monitoring.ofborg.org/dashboard/db/ofborg
Rust
229
star
16

nixos-weekly

NixOS Weekly Newsletter
HTML
211
star
17

nixos-artwork

Nix related artwork
Nix
194
star
18

nix-book

Nix documentation – centralized community online learning resource for Nix
183
star
19

nixos-org-configurations

NixOS configurations for nixos.org and its servers
Nix
173
star
20

nixos

OBSOLETE (go to NixOS/nixpkgs) - NixOS, a Linux distribution based on the Nix package manager - OBSOLETE (go to NixOS/nixpkgs)
Shell
169
star
21

nixpkgs-channels

DEPRECATED! Use NixOS/nixpkgs repository instead.
Nix
168
star
22

nix-idea

Nix plugin for the IntelliJ IDEA IDE
Java
160
star
23

docker

DEPRECATED! Dockerfiles to package Nix in a minimal docker container
Dockerfile
148
star
24

bundlers

Nix
95
star
25

flake-registry

Global registry of Nix flakes
Shell
76
star
26

aarch64-build-box

Config for the Community aarch64 NixOS box [maintainer=@grahamc]
Nix
62
star
27

npm2nix

Generate nix expressions to build npm packages
CoffeeScript
57
star
28

nixops-aws

Python
53
star
29

nixops-hetzner

Python
47
star
30

nixpkgs-merge-bot

Allows package maintainers to merge in nixpkgs
Python
44
star
31

nixos-wiki-infra

This project contains the setup of https://wiki.nixos.org
Nix
43
star
32

equinix-metal-builders

iPXE image for Nix builders on Equinix Metal's Spot market.
Nix
39
star
33

nixpart

NixOS storage manager/partitioner
Python
38
star
34

amis

Home for NixOS AMI automation
Python
36
star
35

foundation

This is the home of the NixOS Foundation
33
star
36

nixos-channel-scripts

Perl
32
star
37

mvn2nix-maven-plugin

Generate project-info.json for use with nix's Maven repository generation functions
Java
31
star
38

security

Rust
30
star
39

language-nix

Data types and useful functions to represent and manipulate the Nix language. | Source has moved to https://github.com/nixos/cabal2nix
Haskell
30
star
40

hydra-provisioner

On-demand provisioning tool for Hydra
Python
29
star
41

release-wiki

19
star
42

distribution-nixpkgs

Haskell types and functions to represent, query, and manipulate the Nixpkgs distribution. | Source has moved to https://github.com/nixos/cabal2nix
Haskell
17
star
43

darwin-stubs

Text API (TAPI) files to support a pure build environment on macOS in nixpkgs.
Shell
15
star
44

mobile-nixos-website

Nix
14
star
45

reproducible.nixos.org

HTML
14
star
46

calamares-nixos-extensions

NixOS calamares [maintainer=@vlinkz]
Python
13
star
47

hackage-db

provide access to the Hackage database via Data.Map | Source has moved to https://github.com/nixos/cabal2nix
Haskell
13
star
48

snapd-nix-base

The Nix base snap for distributing Nix-built software via the Snap store.
Nix
12
star
49

rfc-steering-committee

Workflows and notes from Nix steering committee
Python
12
star
50

nixos-metrics

Rust
12
star
51

nix-eclipse

Nix Eclipse plugin
Java
12
star
52

nixos-common-styles

Common styles for NixOS related web sites.
Less
11
star
53

moderation

The home of the moderation team
11
star
54

jailbreak-cabal

Strip version restrictions from build dependencies in Cabal files.
Haskell
10
star
55

nixops-dashboard

NixOps Dashboard
9
star
56

nixpkgs-check-by-name

Tool to check Nixpkgs' pkgs/by-name directory
Rust
9
star
57

nixos-summer

HTML
8
star
58

nixos-status

The website showing an overview status of NixOS infra and CI.
JavaScript
8
star
59

nixos-planet

XSLT
7
star
60

ofborg-viewer

Nix
6
star
61

org

Organisational documentation
Shell
6
star
62

20th-nix

20 years of Nix
HTML
5
star
63

whats-new-in-nix

Shell
5
star
64

.github

org-level github configuration
4
star
65

hydra-ant-logger

Java
4
star
66

package-list

Deprecated, use upload-nixos-package-list-to-hackage.sh instead. Generate the list of available Haskell packages for Hackage.
Haskell
3
star
67

rfc39

Implementation of NixOS RFC #39.
Nix
3
star
68

flake-regressions

Nix flake evaluation regression testing
Nix
3
star
69

rfc39-record

2
star
70

teams-collaboration

1
star
71

nix-constitutional-assembly

1
star