46 lines
1.4 KiB
Text
46 lines
1.4 KiB
Text
{
|
|
// 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.mySystem.${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.myHome.programs.${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"
|
|
}
|
|
}
|