diff --git a/modules/config/files/vscode-settings.json b/modules/config/files/vscode-settings.json new file mode 100644 index 0000000..ed0d5de --- /dev/null +++ b/modules/config/files/vscode-settings.json @@ -0,0 +1,30 @@ +{ + "workbench.statusBar.feedback.visible": false, + "sublimeTextKeymap.promptV3Features": true, + "editor.multiCursorModifier": "ctrlCmd", + "editor.snippetSuggestions": "top", + "editor.formatOnPaste": false, + "workbench.colorTheme": "Darcula", + "workbench.iconTheme": "material-icon-theme", + "telemetry.enableCrashReporter": true, + "telemetry.enableTelemetry": false, + "update.channel": "none", + "extensions.autoUpdate": false, + "window.zoomLevel": 0, + "gitlens.currentLine.enabled": false, + "gitlens.hovers.currentLine.over": "line", + "scss.scannerExclude": [ + "**/.git", + "**/bower_components" + ], + "less.scannerExclude": [ + "**/.git", + "**/bower_components" + ], + "python.workspaceSymbols.exclusionPatterns": [], + "gitlens.codeLens.enabled": false, + "npm.validate.enable": false, + "workbench.activityBar.visible": false, + "editor.fontSize": 14, + "files.trimTrailingWhitespace": true, +} \ No newline at end of file diff --git a/modules/config/manifests/init.pp b/modules/config/manifests/init.pp index 50a4d63..412b56d 100644 --- a/modules/config/manifests/init.pp +++ b/modules/config/manifests/init.pp @@ -2,6 +2,7 @@ class config { include 'config::vim' include 'config::fonts' include 'config::private' + include 'config::vscode' file { 'Touchpad gestures config': ensure => file, diff --git a/modules/config/manifests/vscode.pp b/modules/config/manifests/vscode.pp new file mode 100644 index 0000000..a180e8b --- /dev/null +++ b/modules/config/manifests/vscode.pp @@ -0,0 +1,49 @@ +class config::vscode { + $extensions = [ + 'DavidAnson.vscode-markdownlint', + 'PKief.material-icon-theme', + 'PeterJausovec.vscode-docker', + 'Zignd.html-css-class-completion', + 'akmittal.hugofy', + 'bibhasdn.django-html', + 'bibhasdn.django-snippets', + 'bitzl.vscode-puppet', + 'bogdan-sinitsa.theme-dark-monokai', + 'christian-kohler.npm-intellisense', + 'dbaeumer.vscode-eslint', + 'donjayamanne.jupyter', + 'donjayamanne.python-extension-pack', + 'eamodio.gitlens', + 'eg2.tslint', + 'eg2.vscode-npm-script', + 'formulahendry.code-runner', + 'ionutvmi.path-autocomplete', + 'kalitaalexey.vscode-rust', + 'magicstack.MagicPython', + 'mrmlnc.vscode-less', + 'mrmlnc.vscode-scss', + 'ms-python.python', + 'ms-vscode.sublime-keybindings', + 'rokoroku.vscode-theme-darcula', + 'saviorisdead.RustyCode', + 'steoates.autoimport', + 'truman.autocomplate-shell', + 'wholroyd.jinja', + 'zolocode.editorzoom' + ]; + + $extensions.each |String $extension| { + exec { "Install $extension extension for VSCode": + command => "code --install-extension $extension", + unless => "code --list-extensions | grep $extension", + user => 'jake' + } + } + + file { 'VSCode config': + ensure => file, + mode => '0644', + path => '/home/jake/.config/Code/User/settings.json', + source => 'puppet:///modules/config/vscode-settings.json' + } +}