summary refs log tree commit diff
path: root/modules/code.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/code.nix')
-rw-r--r--modules/code.nix50
1 files changed, 50 insertions, 0 deletions
diff --git a/modules/code.nix b/modules/code.nix
new file mode 100644
index 0000000..2a34bcf
--- /dev/null
+++ b/modules/code.nix
@@ -0,0 +1,50 @@
+{ unstablePkgs, ... }:
+
+let
+  extensions = with unstablePkgs.vscode-extensions; [
+    # Microsoft Extensions
+    ms-vscode.hexeditor
+    ms-vscode-remote.remote-containers
+    ms-vscode-remote.remote-ssh
+    ms-azuretools.vscode-docker
+    github.codespaces
+    github.copilot
+    github.copilot-chat
+
+    # 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
+  ];
+
+  code =
+    with unstablePkgs;
+    vscode-with-extensions.override {
+      vscode = vscodium;
+      vscodeExtensions = extensions;
+    };
+in
+{
+  environment.systemPackages = [ code ];
+}