.vsnip/nix.json
[raw]
[blame]
1{
2 "nix shell": {
3 "prefix": ["nix-shell"],
4 "body": [
5 "{ pkgs ? import <nixpkgs> {} }:",
6 "",
7 "pkgs.mkShell {",
8 " packages = with pkgs; [",
9 " $0",
10 " ];",
11 "}"
12 ]
13 },
14 "python": {
15 "prefix": ["nix-py"],
16 "body": [
17 "{ pkgs ? import <nixpkgs> {} }:",
18 "",
19 "pkgs.mkShell {",
20 " packages = with pkgs; [",
21 " python3",
22 " pyright",
23 " black",
24 " isort",
25 " ];",
26 "}"
27 ]
28 },
29 "python poetry project": {
30 "prefix": ["nix-py-poetry"],
31 "body": [
32 "{ pkgs ? import <nixpkgs> {} }:",
33 "",
34 "let",
35 " inherit (pkgs) fetchFromGitHub callPackage;",
36 "",
37 " poetry2nix-src = fetchFromGitHub {",
38 " owner = \"nix-community\";",
39 " repo = \"poetry2nix\";",
40 " rev = \"e0b44e9e2d3aa855d1dd77b06f067cd0e0c3860d\";",
41 " # To get sha256, run",
42 " # nix-prefetch-url --unpack https://github.com/nix-community/poetry2nix/archive/<rev>.tar.gz",
43 " sha256 = \"0zz3qzp2b5i9gw4yfxfrq07iadcdadackph12h02w19bb3535rm6\";",
44 " };",
45 "",
46 " poetry2nix = callPackage poetry2nix-src { };",
47 "",
48 "in",
49 " let",
50 " poetryEnv = poetry2nix.mkPoetryEnv {",
51 " projectDir = ./.;",
52 " editablePackageSources = {",
53 " project = ./src;",
54 " };",
55 " };",
56 " in poetryEnv.env.overrideAttrs (oldAttrs: {",
57 " buildInputs = with pkgs; [",
58 " isort",
59 " pyright",
60 " python3Packages.flake8",
61 " ];",
62 " })"
63 ]
64 },
65 "go project": {
66 "prefix": ["nix-golang"],
67 "body": [
68 "{ pkgs ? import <nixpkgs> {} }:",
69 "",
70 "pkgs.mkShell {",
71 " packages = with pkgs; [",
72 " go",
73 " gopls",
74 " ];",
75 "}"
76 ]
77 },
78 "terraform project": {
79 "prefix": ["nix-terraform"],
80 "body": [
81 "{ pkgs ? import <nixpkgs> {} }:",
82 "",
83 "pkgs.mkShell {",
84 " packages = with pkgs; [",
85 " terraform",
86 " terraform-ls",
87 " ];",
88 "}"
89 ]
90 },
91 "maven project": {
92 "prefix": ["nix-maven"],
93 "body": [
94 "{ pkgs ? import <nixpkgs> {} }:",
95 "",
96 "pkgs.mkShell {",
97 " packages = with pkgs; [",
98 " graalvm-ce",
99 " jdt-language-server",
100 " lombok",
101 " maven",
102 " ];",
103 " shellHook = ''",
104 " export JDTLS_JVM_ARGS=\"-javaagent:\\${pkgs.lombok}/share/java/lombok.jar\"",
105 " '';",
106 "}"
107 ]
108 }
109}