diff options
| -rw-r--r-- | flake.lock | 72 | ||||
| -rw-r--r-- | flake.nix | 12 | ||||
| -rw-r--r-- | modules/code.nix | 21 |
3 files changed, 98 insertions, 7 deletions
diff --git a/flake.lock b/flake.lock index 623405e..7de322e 100644 --- a/flake.lock +++ b/flake.lock @@ -62,6 +62,40 @@ "type": "github" } }, + "flake-compat_2": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-utils": { + "inputs": { + "systems": "systems_2" + }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -83,6 +117,28 @@ "type": "github" } }, + "nix-vscode-extensions": { + "inputs": { + "flake-compat": "flake-compat_2", + "flake-utils": "flake-utils", + "nixpkgs": [ + "nixpkgs-unstable" + ] + }, + "locked": { + "lastModified": 1736473789, + "narHash": "sha256-euzobfF3ZGZS2r7RP+eUbZTdZ7NnsSZdEHf4iZICs7Y=", + "owner": "nix-community", + "repo": "nix-vscode-extensions", + "rev": "435ca21d3a971c11f5007ba7adfd2b88eda2dfe9", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nix-vscode-extensions", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1736200483, @@ -120,6 +176,7 @@ "agenix": "agenix", "flake-compat": "flake-compat", "home-manager": "home-manager", + "nix-vscode-extensions": "nix-vscode-extensions", "nixpkgs": "nixpkgs", "nixpkgs-unstable": "nixpkgs-unstable" } @@ -138,6 +195,21 @@ "repo": "default", "type": "github" } + }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index ff0f11f..0e2c00d 100644 --- a/flake.nix +++ b/flake.nix @@ -15,10 +15,15 @@ inputs.home-manager.follows = "home-manager"; }; + nix-vscode-extensions = { + url = "github:nix-community/nix-vscode-extensions"; + inputs.nixpkgs.follows = "nixpkgs-unstable"; + }; + flake-compat.url = "github:edolstra/flake-compat"; }; - outputs = inputs @ { self, nixpkgs, nixpkgs-unstable, agenix, home-manager, ... }: + outputs = inputs @ { self, nixpkgs, nixpkgs-unstable, agenix, home-manager, nix-vscode-extensions, ... }: let system = "x86_64-linux"; @@ -27,7 +32,10 @@ "bismuth" ]; - overlays = [ agenix.overlays.default ]; + overlays = [ + agenix.overlays.default + nix-vscode-extensions.overlays.default + ]; packageSets = let commonPkgsInputs = { inherit system; config = import ./config.nix; }; diff --git a/modules/code.nix b/modules/code.nix index 2a34bcf..506e0bd 100644 --- a/modules/code.nix +++ b/modules/code.nix @@ -1,15 +1,13 @@ -{ unstablePkgs, ... }: +{ pkgs, unstablePkgs, ... }: let extensions = with unstablePkgs.vscode-extensions; [ - # Microsoft Extensions + # Microsoft vendor 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 @@ -38,11 +36,24 @@ let 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 + ]; + code = with unstablePkgs; vscode-with-extensions.override { vscode = vscodium; - vscodeExtensions = extensions; + vscodeExtensions = extensions ++ externalExtensions ++ newVendorExtensions; }; in { |
