• Stars
    star
    226
  • Rank 176,488 (Top 4 %)
  • Language
    Emacs Lisp
  • Created over 9 years ago
  • Updated 5 months ago

Reviews

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

Repository Details

A set of useful Emacs modes and functions for users of Nix and Nix OS.

Nix Options – A set of useful Emacs modes and functions for users of Nix and Nix OS.

nixos-optionshelm-nixos-optionsivy-nixos-optionscompany-nixos-optionsnix-sandbox
http://melpa.org/packages/nixos-options-badge.svghttp://melpa.org/packages/helm-nixos-options-badge.svghttp://melpa.org/packages/ivy-nixos-options-badge.svghttp://melpa.org/packages/company-nixos-options-badge.svghttps://melpa.org/packages/nix-sandbox-badge.svg

https://badges.gitter.im/Join Chat.svg https://badge.waffle.io/travisbhartwell/nix-emacs.svg

Usage

helm-nixos-options

The function helm-nixos-options is the one that you want to bind. You are free to choose where and if you want it global you can have this.

(global-set-key (kbd "C-c C-S-n") 'helm-nixos-options)

It looks like this

img/helm-nixos-options-candidates.png

The description of the option is shown in the minibuffer

If you want more information, there is a detailed buffer when you press return

img/helm-nixos-options-doc-buffer.png

There are also other actions like inserting the current match into the buffer

img/helm-nixos-options.gif

ivy-nixos-options

Use this if you don’t want the rather heavy helm dependency. The function ivy-nixos-options is the one that you want to bind. You are free to choose where and if you want it global you can have this.

(global-set-key (kbd "C-c C-S-n") 'ivy-nixos-options)

(setq ivy-nixos-options-default 1)
; defines what function is being called when pressing return. I like to have it set to 2
; All of the actions can always be called when pressing M-o
; 1 = show the docs buffer (default)
; 2 = insert the string
; 3 = only show the description of the command

It looks like this

img/ivy-nixos-options-candidates.png

If you want more information, there is a detailed buffer when you press return

img/ivy-nixos-options-doc-buffer.png

There are also other actions like inserting the current match into the buffer. The builtin help menu from ivy (display with M-o) shows all possible options. e.g. M-o i will insert the option

img/ivy-nixos-options-actions.png

company-nixos-options

Add company-nixos-options to allowed company-mode backends list

(add-to-list 'company-backends 'company-nixos-options)

For now it shows the documentation of the option in a popup-buffer.

img/company-nixos-options.gif

nix-sandbox

Utility functions to work with nix sandboxes.

  • nix-shell-command composes command that can be executed in the given sandbox
  • nix-shell executes a command in the given sandbox
  • nix-compile compiles a program in the given sandbox
  • nix-find-sandbox searches from the given path upwards until it finds a shell.nix or default.nix file.
  • nix-current-sandbox searches for a sandbox file starting from the current working directory.
  • nix-executable-find a replacement for the built-in executable-find. The function searches in the given sandbox for executables.

Flycheck

With this configuration flycheck can find executables of checkers that would be only accessible via nix-shell:

(setq flycheck-command-wrapper-function
        (lambda (command) (apply 'nix-shell-command (nix-current-sandbox) command))
      flycheck-executable-find
        (lambda (cmd) (nix-executable-find (nix-current-sandbox) cmd)))

Haskell Mode

Add these lines to your configuration to allow haskell-mode to look for ghc in the current sandbox.

(setq haskell-process-wrapper-function
        (lambda (args) (apply 'nix-shell-command (nix-current-sandbox) args)))

More Repositories

1

home-manager

Manage a user environment using Nix [maintainer=@rycee]
Nix
6,972
star
2

awesome-nix

😎 A curated list of the best resources in the Nix community [maintainer=@cyntheticfox]
3,300
star
3

nixvim

Configure Neovim with Nix! [maintainer=@GaetanLepage, @traxys, @mattsturgeon, @khaneliman]
Nix
1,579
star
4

nixos-anywhere

install nixos everywhere via ssh [maintainer=@numtide]
Shell
1,574
star
5

disko

Declarative disk partitioning and formatting using nix [maintainer=@Lassulus]
Nix
1,487
star
6

nixos-generators

Collection of image builders [maintainer=@Lassulus]
Nix
1,338
star
7

nix-on-droid

Nix-enabled environment for your Android device. [maintainers=@t184256,@Gerschtli]
Nix
1,281
star
8

NixOS-WSL

NixOS on WSL(2) [maintainer=@nzbr]
Nix
1,236
star
9

nix-direnv

A fast, persistent use_nix/use_flake implementation for direnv [maintainer=@Mic92 / @bbenne10]
Nix
1,170
star
10

impermanence

Modules to help you handle persistent state on systems with ephemeral root storage [maintainer=@talyz]
Nix
1,134
star
11

dream2nix

Simplified nix packaging for various programming language ecosystems [maintainer=@DavHau]
Nix
976
star
12

NUR

Nix User Repository: User contributed nix packages [maintainer=@Mic92]
Python
882
star
13

nix-init

Generate Nix packages from URLs with hash prefetching, dependency inference, license detection, and more [maintainer=@figsoda]
Rust
844
star
14

nixd

Nix language server, based on nix libraries [maintainer=@inclyc,@Aleksanaa]
C++
842
star
15

comma

Comma runs software without installing it. [maintainers=@Artturin,@burke,@DavHau]
Rust
831
star
16

nix-index

Quickly locate nix packages with specific files [maintainers=@bennofs @figsoda @raitobezarius]
Rust
817
star
17

poetry2nix

Convert poetry projects to nix automagically [maintainer=@adisbladis,@cpcloud]
Nix
812
star
18

lanzaboote

Secure Boot for NixOS [maintainers=@blitz @raitobezarius @nikstur]
Rust
798
star
19

naersk

Build Rust projects in Nix - no configuration, no code generation, no IFD, sandbox friendly.
Nix
730
star
20

rnix-lsp

WIP Language Server for Nix! [maintainer=@aaronjanse]
Rust
702
star
21

lorri

Your project’s nix-env [maintainer=@Profpatsch,@nyarly]
Rust
659
star
22

fenix

Rust toolchains and rust-analyzer nightly for Nix [maintainer=@figsoda]
Nix
651
star
23

nixGL

A wrapper tool for nix OpenGL application [maintainer=@guibou]
Nix
650
star
24

nix-bundle

Bundle Nix derivations to run anywhere!
Nix
645
star
25

robotnix

Build Android (AOSP) using Nix [maintainer=@danielfullmer,@Atemu]
Nix
612
star
26

plasma-manager

Manage KDE Plasma with Home Manager
Nix
575
star
27

nixpkgs-wayland

Automated, pre-built packages for Wayland (sway/wlroots) tools for NixOS. [maintainers=@colemickens, @Artturin]
Nix
511
star
28

nixpkgs-fmt

Nix code formatter for nixpkgs [maintainer=@zimbatm]
Rust
503
star
29

emacs-overlay

Bleeding edge emacs overlay [maintainer=@adisbladis]
Nix
484
star
30

nurl

Generate Nix fetcher calls from repository URLs [maintainer=@figsoda]
Rust
451
star
31

vulnix

Vulnerability (CVE) scanner for Nix/NixOS.
Python
447
star
32

nixpkgs-update

Updating nixpkgs packages since 2018
Haskell
415
star
33

nixos-vscode-server

Visual Studio Code Server support in NixOS
Nix
377
star
34

crate2nix

rebuild only changed crates in CI with crate2nix and nix
Nix
354
star
35

rnix-parser

A Nix parser written in Rust [maintainer=@oberblastmeister]
Nix
353
star
36

terraform-nixos

A set of Terraform modules that are designed to deploy NixOS [maintainer=@adrian-gierakowski]
HCL
328
star
37

neovim-nightly-overlay

[maintainer=@GaetanLepage, @willruggiano]
Nix
315
star
38

srvos

NixOS profiles for servers [maintainer=@numtide]
Nix
297
star
39

haumea

Filesystem-based module system for Nix [maintainer=@figsoda]
Nix
286
star
40

trustix

Trustix: Distributed trust and reproducibility tracking for binary caches [maintainer=@adisbladis]
Go
284
star
41

nixbox

NixOS Vagrant boxes [maintainer=@zimbatm]
HCL
276
star
42

vscode-nix-ide

Nix language support for VSCode editor [maintainer: @jnoortheen]
TypeScript
260
star
43

NixNG

A linux distribution based on Nix [maintainer=@MagicRB]
Nix
256
star
44

nix-user-chroot

Install & Run nix without root permissions [maintainer=@Mic92]
Rust
243
star
45

nix-index-database

Weekly updated nix-index database [maintainer=@Mic92]
Nix
237
star
46

dconf2nix

🐾 Convert dconf files (e.g. GNOME Shell) to Nix, as expected by Home Manager [maintainer=@jtojnar]
Nix
228
star
47

nix-zsh-completions

ZSH Completions for Nix
Shell
225
star
48

nix-melt

A ranger-like flake.lock viewer [maintainer=@figsoda]
Rust
219
star
49

gomod2nix

Convert applications using Go modules to Nix expressions [maintainer=@adisbladis]
Nix
216
star
50

kickstart-nix.nvim

❄️ A dead simple Nix flake template repository for Neovim derivations [maintainer=@mrcjkb]
Lua
194
star
51

noogle

https://noogle.dev - nix function exploring. [maintainer=@hsjobeki]
Nix
194
star
52

pypi2nix

Abandoned! Generate Nix expressions for Python packages
Python
189
star
53

pip2nix

Freeze pip-installable packages into Nix expressions [maintainer=@datakurre]
Python
171
star
54

todomvc-nix

Example on how to nixify a project [maintainer=@Rizary]
Nix
169
star
55

flakelight

Framework for simplifying flake setup [maintainer=@accelbread]
Nix
159
star
56

tree-sitter-nix

Nix grammar for tree-sitter [maintainer=@cstrahan]
JavaScript
158
star
57

nix-environments

Repository to maintain out-of-tree shell.nix files (maintainer=@mic92)
Nix
156
star
58

nix-eval-jobs

Parallel nix evaluator with a streamable json output [maintainers @Mic92, @adisbladis]
C++
140
star
59

docker-nixpkgs

docker images from nixpkgs [maintainer=@zimbatm]
Nix
137
star
60

nix-ld-rs

Run unpatched dynamic binaries on NixOS [maintainer=@zhaofengli @Mic92]
Rust
137
star
61

linuxkit-nix

An easy to use Linux builder for macOS [maintainer=@nicknovitski]
Nix
133
star
62

nix-vscode-extensions

Nix expressions for VSCode and OpenVSX extensions [maintainers: @deemp, @AmeerTaweel]
Haskell
132
star
63

npmlock2nix

nixify npm based packages [maintainer=@andir]
Nix
130
star
64

nixos-install-scripts

collection of one-shot scripts to install NixOS on various server hosters and other hardware. [maintainer=@happysalada]
Shell
127
star
65

nixago

Generate configuration files using Nix [maintainer=@jmgilman]
Nix
125
star
66

nixdoc

Tool to generate documentation for Nix library functions [maintainer=@infinisil]
Nix
124
star
67

yarn2nix

Generate nix expressions from a yarn.lock file [maintainer=???]
Nix
123
star
68

nixpkgs-lint

A fast semantic linter for Nix using tree-sitter 🌳 + ❄️. [maintainers=@Artturin,@siraben]
Rust
120
star
69

dns.nix

A Nix DSL for DNS zone files [maintainers=@raitobezarius @kirelagin @Tom-Hubrecht]
Nix
116
star
70

namaka

Snapshot testing for Nix based on haumea [maintainer=@figsoda]
Rust
106
star
71

nix-unstable-installer

A place to host Nix unstable releases [maintainer=@lilyinstarlight]
Ruby
105
star
72

go-nix

Elements of Nix re-implemented as Go libraries [maintainer=@flokli]
Go
102
star
73

wiki

Nixos wiki [maintainer=@samueldr]
102
star
74

pyproject.nix

A collection of Nix utilities to work with Python projects [maintainer=@adisbladis]
Nix
101
star
75

nur-combined

A repository of NUR that combines all repositories [maintainer=@Mic92]
Nix
92
star
76

napalm

Support for building npm packages in Nix and lightweight npm registry [maintainer @jtojnar]
Nix
91
star
77

nixos-images

Automatically build (netboot) images for NixOS [maintainer=@Mic92]
Nix
90
star
78

vgo2nix

Convert go.mod files to nixpkgs buildGoPackage compatible deps.nix files [maintainer=@adisbladis]
Nix
89
star
79

nixt

Simple unit-testing for Nix [maintainer=@Lord-Valen]
TypeScript
87
star
80

nur-packages-template

A template for NUR repositories: [maintainer=@fgaz]
Nix
84
star
81

pnpm2nix

Load pnpm lock files into nix :) [maintainer=@adisbladis]
Nix
81
star
82

mineflake

Declarative Minecraft server in NixOS [unmaintained]
Rust
75
star
83

nix-github-actions

A library to turn Nix Flake attribute sets into Github Actions matrices [maintainer=@adisbladis]
Nix
75
star
84

buildbot-nix

A nixos module to make buildbot a proper Nix-CI [maintainer=@Mic92]
Python
74
star
85

infra

nix-community infrastructure [maintainer=@Mic92]
Nix
74
star
86

nix-data-science

Standard set of packages and overlays for data-scientists [maintainer=@tbenst]
Nix
72
star
87

zon2nix

Convert the dependencies in `build.zig.zon` to a Nix expression [maintainer=@figsoda]
Zig
68
star
88

hydra-check

check hydra for the build status of a package [maintainer=@makefu,@Artturin]
Python
66
star
89

kde2nix

Provisional, experimental Plasma 6 (and friends) pre-release packaging [maintainer=@K900]
Nix
66
star
90

nixpkgs.lib

nixpkgs lib for cheap instantiation [maintainer=@github-action] (with initial help from @blaggacao)
Nix
66
star
91

ethereum.nix

Nix packages and NixOS modules for the Ethereum ecosystem. [maintainers=@aldoborrero,@brianmcgee,@selfuryon]
Nix
65
star
92

setup.nix

Nixpkgs based build tools for declarative Python packages [maintainer=@datakurre]
Nix
64
star
93

nix-installers

Nix installers for legacy distributions (rpm & deb & pacman) [maintainer=@adisbladis]
Nix
62
star
94

nix-unit

Unit testing for Nix code [maintainer=@adisbladis]
C++
60
star
95

nix4vscode

Rust
53
star
96

redoxpkgs

Cross-compile to Redox using Nix [maintainer=@aaronjanse]
Nix
52
star
97

nix-ts-mode

An Emacs major mode for editing Nix expressions, powered by tree-sitter [maintainer=@remi-gelinas]
Emacs Lisp
50
star
98

patsh

A command-line tool for patching shell scripts inspired by resholve [maintainer=@figsoda]
Rust
48
star
99

mavenix

Deterministic Maven builds using Nix [maintainer=@icetan]
Nix
45
star
100

nixpkgs-pytools

Tools for removing the tedious nature of creating nixpkgs derivations [maintainer=@costrouc]
Python
44
star