From 5384754f60f12f6d6cc3168c31f864f0cdf3cb08 Mon Sep 17 00:00:00 2001 From: Kristian Krsnik Date: Tue, 26 Sep 2023 19:49:02 +0200 Subject: [PATCH] added vscode extensions flake to allow for more extensions --- flake.lock | 102 +++++++++++++++++++++++++++++++++++--- flake.nix | 6 ++- systems/common/vscode.nix | 13 +++-- 3 files changed, 109 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index f22ad08..f983683 100644 --- a/flake.lock +++ b/flake.lock @@ -32,7 +32,41 @@ "type": "github" } }, + "flake-compat_3": { + "flake": false, + "locked": { + "lastModified": 1673956053, + "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1681202837, + "narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "cfacdce06f30d2b68473a46042957675eebb3401", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_2": { "locked": { "lastModified": 1667395993, "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", @@ -47,7 +81,7 @@ "type": "github" } }, - "flake-utils_2": { + "flake-utils_3": { "locked": { "lastModified": 1659877975, "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", @@ -190,6 +224,22 @@ } }, "nixpkgs_2": { + "locked": { + "lastModified": 1684570954, + "narHash": "sha256-FX5y4Sm87RWwfu9PI71XFvuRpZLowh00FQpIJ1WfXqE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "3005f20ce0aaa58169cdee57c8aa12e5f1b6e1b3", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { "locked": { "lastModified": 1675309347, "narHash": "sha256-D3CQ6HRDT2m3XJlrzb5jKq4vNFR5xFTEFKC7iSjlFpM=", @@ -205,7 +255,7 @@ "type": "github" } }, - "nixpkgs_3": { + "nixpkgs_4": { "locked": { "lastModified": 1689088367, "narHash": "sha256-Y2tl2TlKCWEHrOeM9ivjCLlRAKH3qoPUE/emhZECU14=", @@ -238,7 +288,7 @@ }, "pre-commit-hooks": { "inputs": { - "flake-compat": "flake-compat", + "flake-compat": "flake-compat_2", "flake-utils": [ "wallpaper", "flake-utils" @@ -272,14 +322,50 @@ "nixpkgs-master": "nixpkgs-master", "nixpkgs-unstable": "nixpkgs-unstable", "nur": "nur", + "vscode-extensions": "vscode-extensions", "wallpaper": "wallpaper", "zig": "zig" } }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "vscode-extensions": { + "inputs": { + "flake-compat": "flake-compat", + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs_2" + }, + "locked": { + "lastModified": 1695691129, + "narHash": "sha256-tUbgZOgmR/9vh4yvW3Bw6Xd+1f4DDcEI/EoqbO0SOuI=", + "owner": "nix-community", + "repo": "nix-vscode-extensions", + "rev": "bd2d4d8c383ca5236a174742ef2d8d42307de40f", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nix-vscode-extensions", + "type": "github" + } + }, "wallpaper": { "inputs": { - "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs_2", + "flake-utils": "flake-utils_2", + "nixpkgs": "nixpkgs_3", "pre-commit-hooks": "pre-commit-hooks" }, "locked": { @@ -298,9 +384,9 @@ }, "zig": { "inputs": { - "flake-compat": "flake-compat_2", - "flake-utils": "flake-utils_2", - "nixpkgs": "nixpkgs_3" + "flake-compat": "flake-compat_3", + "flake-utils": "flake-utils_3", + "nixpkgs": "nixpkgs_4" }, "locked": { "lastModified": 1694952442, diff --git a/flake.nix b/flake.nix index c4b002a..412b91e 100644 --- a/flake.nix +++ b/flake.nix @@ -25,6 +25,9 @@ url = "github:Mic92/nix-index-database"; inputs.nixpkgs.follows = "nixpkgs"; }; + + # VSCode Extensions + vscode-extensions.url = "github:nix-community/nix-vscode-extensions"; }; outputs = { @@ -37,6 +40,7 @@ zig, wallpaper, nix-index-database, + vscode-extensions, }: let system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages.${system}; @@ -45,9 +49,9 @@ commonModules = [ ./systems/common - { _module.args.wallpaper = wallpaper.packages.${system}.default; + _module.args.vscode-extensions = vscode-extensions.extensions.${system}; } nur.nixosModules.nur diff --git a/systems/common/vscode.nix b/systems/common/vscode.nix index 5471a2e..57db55c 100644 --- a/systems/common/vscode.nix +++ b/systems/common/vscode.nix @@ -1,7 +1,13 @@ -{pkgs, ...}: { - programs.vscode = { +{ + pkgs, + vscode-extensions, + ... +}: { + programs.vscode = rec { enable = true; + package = pkgs.unstable.vscode; # To use the latest unstable vscode + enableUpdateCheck = false; enableExtensionUpdateCheck = false; @@ -13,7 +19,8 @@ } ]; - extensions = with pkgs.vscode-extensions; [ + # This will only yield extensions that are compatible with the installed version of vscode + extensions = with (vscode-extensions.forVSCodeVersion package.version).vscode-marketplace; [ jnoortheen.nix-ide arrterian.nix-env-selector mkhl.direnv