{ // If scope is left empty or omitted, the snippet gets applied to all languages. The prefix is what is // used to trigger the snippet and the body will be expanded and inserted. Possible variables are: // $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. // Placeholders with the same ids are connected. "Nix Module with Enable Option": { "scope": "nix", "prefix": "nixmodule", "body": [ "{ config, lib, pkgs, ... }:", "let", " cfg = config.mySystem.${1:moduleName};", "in", "{", " options.${1:moduleName} = {", " enable = lib.mkEnableOption \"${2:Description of the module}\";", " };", "", " config = lib.mkIf cfg.enable {", " $0", " };", "}" ], "description": "Creates a blank Nix module with an enable option" }, "Nix Home Manager Module with Enable Option": { "scope": "nix", "prefix": "nixmodule-homemanager", "body": [ "{ config, lib, pkgs, ... }:", "let", " cfg = config.myHome.programs.${1:moduleName};", "in", "{", " options.${1:moduleName} = {", " enable = lib.mkEnableOption \"${2:Description of the module}\";", " };", "", " config = lib.mkIf cfg.enable {", " $0", " };", "}" ], "description": "Creates a blank Nix module with an enable option" } }