{ "nix shell": { "prefix": ["nix-shell"], "body": [ "{ pkgs ? import {} }:", "", "pkgs.mkShell {", " packages = with pkgs; [", " $0", " ];", "}" ] }, "python": { "prefix": ["nix-py"], "body": [ "{ pkgs ? import {} }:", "", "pkgs.mkShell {", " packages = with pkgs; [", " python3", " pyright", " black", " isort", " ];", "}" ] }, "python poetry project": { "prefix": ["nix-py-poetry"], "body": [ "{ pkgs ? import {} }:", "", "let", " inherit (pkgs) fetchFromGitHub callPackage;", "", " poetry2nix-src = fetchFromGitHub {", " owner = \"nix-community\";", " repo = \"poetry2nix\";", " rev = \"e0b44e9e2d3aa855d1dd77b06f067cd0e0c3860d\";", " # To get sha256, run", " # nix-prefetch-url --unpack https://github.com/nix-community/poetry2nix/archive/.tar.gz", " sha256 = \"0zz3qzp2b5i9gw4yfxfrq07iadcdadackph12h02w19bb3535rm6\";", " };", "", " poetry2nix = callPackage poetry2nix-src { };", "", "in", " let", " poetryEnv = poetry2nix.mkPoetryEnv {", " projectDir = ./.;", " editablePackageSources = {", " project = ./src;", " };", " };", " in poetryEnv.env.overrideAttrs (oldAttrs: {", " buildInputs = with pkgs; [", " isort", " pyright", " python3Packages.flake8", " ];", " })" ] }, "go project": { "prefix": ["nix-golang"], "body": [ "{ pkgs ? import {} }:", "", "pkgs.mkShell {", " packages = with pkgs; [", " go", " gopls", " ];", "}" ] }, "terraform project": { "prefix": ["nix-terraform"], "body": [ "{ pkgs ? import {} }:", "", "pkgs.mkShell {", " packages = with pkgs; [", " terraform", " terraform-ls", " ];", "}" ] }, "maven project": { "prefix": ["nix-maven"], "body": [ "{ pkgs ? import {} }:", "", "pkgs.mkShell {", " packages = with pkgs; [", " graalvm-ce", " jdt-language-server", " lombok", " maven", " ];", " shellHook = ''", " export JDTLS_JVM_ARGS=\"-javaagent:\\${pkgs.lombok}/share/java/lombok.jar\"", " '';", "}" ] } }