diff --git a/.vscode/nixmodule.code-snippets b/.vscode/nixmodule.code-snippets new file mode 100644 index 0000000..842c80c --- /dev/null +++ b/.vscode/nixmodule.code-snippets @@ -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" + } +}