nixfiles/home-manager/modules/ezcodium.nix
2021-08-03 14:41:20 -07:00

73 lines
2.2 KiB
Nix

{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.ez.codium;
in
{
options.ez.codium = {
enable = mkEnableOption "Enable simple codium config";
};
config = mkIf cfg.enable {
programs.vscode.package = lib.mkDefault pkgs.vscodium;
programs.vscode.extensions = with pkgs.vscode-extensions; [ vscodevim.vim bbenoist.nix llvm-org.lldb-vscode ms-python.python ms-vscode-remote.remote-ssh redhat.vscode-yaml skyapps.fish-vscode ] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
{
name = "bracket-pair-colorizer";
publisher = "CoenraadS";
version = "1.0.61";
sha256 = "0r3bfp8kvhf9zpbiil7acx7zain26grk133f0r0syxqgml12i652";
}
{
name = "vscode-direnv";
publisher = "Rubymaniac";
version = "0.0.2";
sha256 = "1gml41bc77qlydnvk1rkaiv95rwprzqgj895kxllqy4ps8ly6nsd";
}
{
name = "nixpkgs-fmt";
publisher = "B4dM4n";
version = "0.0.1";
sha256 = "1gvjqy54myss4w1x55lnyj2l887xcnxc141df85ikmw1gr9s8gdz";
}
{
name = "elm-ls-vscode";
publisher = "Elmtooling";
version = "1.3.0";
sha256 = "0h0pibjq1rk7ji4f342vqky2zbq3f4fg1y260rig7y6x3z4007h3";
}
];
programs.vscode.userSettings = {
"editor.selectionClipboard" = "native";
"editor.emptySelectionClipboard" = true;
"editor.dragAndDrop" = false;
"editor.renderWhitespace" = "all";
"editor.tabSize" = 2;
"editor.wordWrap" = "on";
"telemetry.enableTelemetry" = false;
"telemetry.enableCrashReporter" = false;
"window.titleBarStyle" = "native";
"window.menuBarVisibility" = "toggle";
"explorer.confirmDragAndDrop" = false;
"git.enableSmartCommit" = true;
"git.autofetch" = true;
"workbench.startupEditor" = "newUntitledFile";
"vim.easymotion" = true;
"vim.camelCaseMotion.enable" = true;
"vim.useSystemClipboard" = true;
"editor.formatOnSave" = true;
"elmLS.elmPath" = "${pkgs.elmPackages.elm}/bin/elm";
"elmLS.elmFormatPath" = "${pkgs.elmPackages.elm-format}/bin/elm-format";
"elmLS.elmAnalyseTrigger" = "change";
};
};
}