add vs code snippets for nix modules
This commit is contained in:
parent
3a1eb9d320
commit
b69c3c32e0
1 changed files with 46 additions and 0 deletions
46
.vscode/nixmodule.code-snippets
vendored
Normal file
46
.vscode/nixmodule.code-snippets
vendored
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
{
|
||||||
|
// 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"
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue