summaryrefslogtreecommitdiff
path: root/modules/home
diff options
context:
space:
mode:
authorMel <einebeere@gmail.com>2025-01-14 22:13:14 +0100
committerMel <einebeere@gmail.com>2025-01-14 22:28:39 +0100
commite703f3a7ffee32fc2c7bd7cf1129846d3411fe56 (patch)
treea814d85c629fc6dc0129e6e6053656cd764f9f83 /modules/home
parent668601ce9736a8de37f83dcd0e0fe755310f2268 (diff)
downloadminerals-e703f3a7ffee32fc2c7bd7cf1129846d3411fe56.tar.zst
minerals-e703f3a7ffee32fc2c7bd7cf1129846d3411fe56.zip
Fully configure VSCode
Signed-off-by: Mel <einebeere@gmail.com>
Diffstat (limited to 'modules/home')
-rw-r--r--modules/home/code.nix72
-rw-r--r--modules/home/common.nix4
2 files changed, 76 insertions, 0 deletions
diff --git a/modules/home/code.nix b/modules/home/code.nix
new file mode 100644
index 0000000..053d550
--- /dev/null
+++ b/modules/home/code.nix
@@ -0,0 +1,72 @@
+{
+ pkgs,
+ unstablePkgs,
+ lib,
+ ...
+}:
+
+let
+ settings = import ./../../configs/vscode/settings.nix { inherit pkgs lib; };
+ keybindings = import ./../../configs/vscode/keybindings.nix { };
+
+ extensions = with unstablePkgs.vscode-extensions; [
+ # Microsoft vendor extensions
+ ms-vscode.hexeditor
+ ms-vscode-remote.remote-containers
+ ms-vscode-remote.remote-ssh
+ ms-azuretools.vscode-docker
+ github.codespaces
+
+ # Usability
+ vscodevim.vim
+ waderyan.gitblame
+ mkhl.direnv
+ alefragnani.bookmarks
+
+ # Language support
+ ms-vscode.makefile-tools
+ ms-vscode.cpptools-extension-pack
+ mesonbuild.mesonbuild
+ ms-python.python
+ ms-python.debugpy
+ charliermarsh.ruff
+ golang.go
+ jnoortheen.nix-ide
+ rust-lang.rust-analyzer
+ haskell.haskell
+ justusadam.language-haskell
+ elixir-lsp.vscode-elixir-ls
+
+ # Pretty :3
+ aaron-bond.better-comments
+ catppuccin.catppuccin-vsc-icons
+ catppuccin.catppuccin-vsc
+ jdinhlife.gruvbox
+ ];
+
+ externalExtensions = with pkgs.open-vsx; [
+ # Small extensions that aren't included in nixpkgs
+ geequlim.godot-tools
+ miguelsolorio.fluent-icons
+ tonybaloney.vscode-pets
+ ];
+
+ newVendorExtensions = with pkgs.vscode-marketplace; [
+ # Quick editing and viewing of ad-hoc repos and pull request
+ ms-vscode.remote-repositories
+ github.remotehub
+ ];
+in
+{
+ programs.vscode = {
+ enable = true;
+ enableUpdateCheck = false;
+ enableExtensionUpdateCheck = false;
+ mutableExtensionsDir = false;
+ package = unstablePkgs.vscodium;
+
+ extensions = extensions ++ externalExtensions ++ newVendorExtensions;
+ keybindings = keybindings;
+ userSettings = settings;
+ };
+}
diff --git a/modules/home/common.nix b/modules/home/common.nix
index 99900e6..7e10560 100644
--- a/modules/home/common.nix
+++ b/modules/home/common.nix
@@ -1,6 +1,10 @@
{ ... }:
{
+ imports = [
+ ./code.nix
+ ];
+
programs = {
git = {
enable = true;