summary refs log tree commit diff
path: root/src/Math/Matrix.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Math/Matrix.hpp')
0 files changed, 0 insertions, 0 deletions
2 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
{ pkgs, lib, esp-idf, ... }:

let
  inherit (lib) getExe;

  # https://github.com/Sertion/vscode-gitblame?tab=readme-ov-file#message-tokens
  blameMessageFormat = "\${author.name}; \${time.ago} * \${commit.summary}";
in
{
  # appearance
  "workbench.iconTheme" = "catppuccin-mocha";
  "workbench.colorTheme" = "Catppuccin Mocha";
  "workbench.productIconTheme" = "fluent-icons";
  "workbench.layoutControl.enabled" = false;
  "workbench.activityBar.location" = "hidden";
  "window.menuBarVisibility" = "toggle";
  "window.commandCenter" = false;
  "window.dialogStyle" = "custom";
  "window.titleBarStyle" = "custom";
  "window.title" = " ";
  "vscode-pets.position" = "explorer";
  "vscode-pets.petSize" = "medium";

  # editor appearance and behavior
  "editor.fontSize" = 16;
  "editor.fontFamily" = "Berkeley Mono";
  "editor.cursorStyle" = "block";
  "editor.formatOnSave" = true;
  "editor.formatOnSaveMode" = "modificationsIfAvailable";
  "editor.cursorBlinking" = "smooth";
  "editor.cursorSmoothCaretAnimation" = "on";
  "editor.minimap.autohide" = true;
  "files.autoSave" = "afterDelay";

  # git configuration
  "git.autofetch" = "all";
  "git.enableCommitSigning" = true;
  "github.gitProtocol" = "ssh";

  "gitblame.inlineMessageEnabled" = true;
  "gitblame.ignoreWhitespace" = true;
  "gitblame.inlineMessageNoCommit" = "";
  "gitblame.inlineMessageFormat" = blameMessageFormat;
  "gitblame.statusBarMessageFormat" = blameMessageFormat;
  "gitblame.delayBlame" = 1000;

  # language configuration
  "nix.enableLanguageServer" = true;
  "nix.serverPath" = getExe pkgs.nil;
  "nix.formatterPath" = getExe pkgs.nixfmt-rfc-style;

  "mesonbuild.buildFolder" = "build";
  "mesonbuild.formatting.enabled" = true;
  "mesonbuild.linter.muon.enabled" = true;
  "mesonbuild.downloadLanguageServer" = false;
  "mesonbuild.languageServerPath" = getExe pkgs.mesonlsp;
  "mesonbuild.mesonPath" = getExe pkgs.meson;
  "mesonbuild.muomPath" = getExe pkgs.muon;

  "rust-analyzer.server.path" = getExe pkgs.rust-analyzer;

  "go.formatFlags" = [ "-s" ];
  "go.alternateTools" = with pkgs; {
    go = getExe go;
    gopls = getExe gopls;
    dlv = getExe delve;
  };

  # development environment tools configuration
  "idf.espIdfPath" = "${esp-idf}";
  "idf.toolsPath" = "${esp-idf}/tools";
  "idf.gitPath" = getExe pkgs.git;
  "idf.pythonInstallPath" = "${esp-idf}/python-env/bin/python";
  "idf.showOnboardingOnInit" = false;
  "idf.hasWalkthroughBeenShown" = true;

  # vscode+vim configuration
  "vim.useSystemClipboard" = true;
  "vim.easymotion" = true;
  "vim.hlsearch" = true;
  "vim.gdefault" = true;
  "vim.sneak" = true;
  "vim.sneakReplacesF" = true;
  "vim.vimrc.enable" = true;
  "vim.vimrc.path" = ./../.vimrc;
  "extensions.experimental.affinity" = {
    "vscodevim.vim" = 1;
  };
  "vim.useCtrlKeys" = true;
  "vim.handleKeys" = {
    "<C-p>" = false; # command palette
    "<C-n>" = false; # new file
    "<C-b>" = false; # toggle sidebar
    "<C-k>" = false; # key with a million uses
    "<C-a>" = false; # select all text
  };
  "vim.normalModeKeyBindings" = [
    # add binds to manage bookmarks (from the bookmarks extension)
    {
      before = [
        "<leader>"
        "m"
      ];
      commands = [ "bookmarks.toggle" ];
    }
    {
      before = [
        "<leader>"
        "b"
      ];
      commands = [ "bookmarks.list" ];
    }
  ];

  # some other extension behavior
  "direnv.restart.automatic" = true;
}