mochi/.vscode/nixmodule.code-snippets

47 lines
1.4 KiB
Text
Raw Normal View History

2024-09-05 15:25:16 -05:00
{
// 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",
"{",
2024-09-14 17:32:11 -05:00
" options.mySystem.${1:moduleName} = {",
2024-09-05 15:25:16 -05:00
" 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",
"{",
2024-09-14 17:32:11 -05:00
" options.myHome.programs.${1:moduleName} = {",
2024-09-05 15:25:16 -05:00
" enable = lib.mkEnableOption \"${2:Description of the module}\";",
" };",
"",
" config = lib.mkIf cfg.enable {",
" $0",
" };",
"}"
],
"description": "Creates a blank Nix module with an enable option"
}
}