Adds support for updating VSCode extensions from marketplace

nix-darwin
Abhinav Sarkar 2022-10-01 23:55:27 +05:30
parent 71a016e5c6
commit 7fc71d2237
4 changed files with 163 additions and 46 deletions

View File

@ -40,6 +40,9 @@
};
devShells.${system}.default = pkgs.mkShell {
buildInputs = with pkgs; [ (import home-manager { inherit pkgs; }).home-manager just ];
shellHook = ''
export NIXPKGS_PATH=${pkgs.path};
'';
};
};
}

View File

@ -29,7 +29,11 @@ _switch:
# switch to latest home-manager generation
switch: (_run "_switch")
_update: && _switch
_update-vscode-extensions:
$NIXPKGS_PATH/pkgs/applications/editors/vscode/extensions/update_installed_exts.sh > \
{{ root_dir }}/programs/vscode/extensions.nix
_update: _update-vscode-extensions && _switch
nix flake update --commit-lock-file "{{ root_dir }}"
# update packages and switch

View File

@ -1,6 +1,15 @@
{ config, pkgs, ... }:
{
let
marketplaceExtensions = [
"13xforever/language-x86-64-assembly"
"ban/spellright"
"dawhite/mustache"
"kirozen/wordcounter"
"pedrorgirardi/vscode-cljfmt"
"wmaurer/change-case"
];
in {
programs.vscode = {
enable = true;
mutableExtensionsDir = false;
@ -13,6 +22,7 @@
esbenp.prettier-vscode
haskell.haskell
jdinhlife.gruvbox
jebbs.plantuml
jnoortheen.nix-ide
justusadam.language-haskell
kamikillerto.vscode-colorize
@ -23,50 +33,9 @@
timonwong.shellcheck
tyriar.sort-lines
zhuangtongfa.material-theme
] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
{
publisher = "13xforever";
name = "language-x86-64-assembly";
version = "3.0.0";
sha256 = "sha256-wIsY6Fuhs676EH8rSz4fTHemVhOe5Se9SY3Q9iAqr1M=";
}
{
publisher = "ban";
name = "spellright";
version = "3.0.90";
sha256 = "sha256-yAHlwX2stqGuUu3Q+mVxsF1JKmTgy/kkT63VH3YlomM=";
}
{
publisher = "dawhite";
name = "mustache";
version = "1.1.1";
sha256 = "sha256-PkymMex1icvDN2Df38EIuV1O9TkMNWP2sGOjl1+xGMk=";
}
{
publisher = "jebbs";
name = "plantuml";
version = "2.17.4";
sha256 = "sha256-fnz6ubB73i7rJcv+paYyNV1r4cReuyFPjgPM0HO40ug";
}
{
publisher = "kirozen";
name = "wordcounter";
version = "2.4.3";
sha256 = "sha256-gkdMaMiDwQNjmrGfUK/c/bQUn1bovESRPJ+etz2yfJk=";
}
{
publisher = "pedrorgirardi";
name = "vscode-cljfmt";
version = "1.3.0";
sha256 = "sha256-gZ8Fo7YXSapnQL6UbYUKJDg27wYqK2NG1lcJUae6dWs=";
}
{
publisher = "wmaurer";
name = "change-case";
version = "1.0.0";
sha256 = "sha256-tN/jlG2PzuiCeERpgQvdqDoa3UgrUaM7fKHv6KFqujc=";
}
];
] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace (builtins.filter
({ publisher, name, ... }: builtins.elem (publisher + "/" + name) marketplaceExtensions)
(import ./vscode/extensions.nix).extensions);
userSettings = {
debug.console.fontSize = 13;

View File

@ -0,0 +1,141 @@
{ extensions = [
{
name = "language-x86-64-assembly";
publisher = "13xforever";
version = "3.0.0";
sha256 = "0lxg58hgdl4d96yjgrcy2dbacxsc3wz4navz23xaxcx1bgl1i2y0";
}
{
name = "spellright";
publisher = "ban";
version = "3.0.90";
sha256 = "0qx24mv1zmdd9wjgkjz0chm4jpdhf5jzml7daapa3dmcgp0ya0f8";
}
{
name = "markdown-mermaid";
publisher = "bierner";
version = "1.15.2";
sha256 = "0wq15fviv2zxn58xbgzwh8x958iy24q0963pbrci732hnyb9s9m8";
}
{
name = "better-toml";
publisher = "bungcip";
version = "0.3.2";
sha256 = "08lhzhrn6p0xwi0hcyp6lj9bvpfj87vr99klzsiy8ji7621dzql3";
}
{
name = "vscode-markdownlint";
publisher = "DavidAnson";
version = "0.48.1";
sha256 = "0npmvaw734r8pk17cz8vccxwxnbpk076ickndkd9gymcyqd5jfnx";
}
{
name = "mustache";
publisher = "dawhite";
version = "1.1.1";
sha256 = "1j8qn5grg8v3n3v66d8c77slwpdr130xzpv06z1wp2bmxhqsck1y";
}
{
name = "prettier-vscode";
publisher = "esbenp";
version = "9.9.0";
sha256 = "1zba2k51ylpzz47r74kdr2adp669xw19a866gw0wndcigkhcrgk2";
}
{
name = "haskell";
publisher = "haskell";
version = "2.2.1";
sha256 = "14p9g07zsb3da4ilaasgsdvh3wagfzayqr8ichsf6k5c952zi8fk";
}
{
name = "gruvbox";
publisher = "jdinhlife";
version = "1.8.0";
sha256 = "0bixrlhimy0qw94cy354fn0gcsb8s1y4m4yf1gkncaawqinmp09z";
}
{
name = "plantuml";
publisher = "jebbs";
version = "2.17.4";
sha256 = "1s6jp1rx1k03ir7j3fsyqkhnnp9m6akabznb4pmjxpkvn2wzlz3y";
}
{
name = "nix-ide";
publisher = "jnoortheen";
version = "0.1.23";
sha256 = "0i5zqfz2ic57z9b4v6mrs68dzhvgpnr5984srjapi0nzm30k127b";
}
{
name = "language-haskell";
publisher = "justusadam";
version = "3.6.0";
sha256 = "115y86w6n2bi33g1xh6ipz92jz5797d3d00mr4k8dv5fz76d35dd";
}
{
name = "vscode-colorize";
publisher = "kamikillerto";
version = "0.11.1";
sha256 = "1h82b1jz86k2qznprng5066afinkrd7j3738a56idqr3vvvqnbsm";
}
{
name = "wordcounter";
publisher = "kirozen";
version = "2.4.3";
sha256 = "16bwn8yvg7lz7j8l9g78asgi9d7xvjpm17xik9ih7hc3r1l4qiw2";
}
{
name = "git-graph";
publisher = "mhutchie";
version = "1.30.0";
sha256 = "000zhgzijf3h6abhv4p3cz99ykj6489wfn81j0s691prr8q9lxxh";
}
{
name = "vscode-cljfmt";
publisher = "pedrorgirardi";
version = "1.3.0";
sha256 = "0svmpakm22apsr366ara0vpkcf141a2nv55y81kslj8pnsihb7w1";
}
{
name = "rust-analyzer";
publisher = "rust-lang";
version = "0.4.1226";
sha256 = "0q1pm6xybpbpx5516vy6mnjjpx77sm3cahmip3cf10b63xrfpd5j";
}
{
name = "just";
publisher = "skellock";
version = "2.0.0";
sha256 = "1ph869zl757a11f8iq643f79h8gry7650a9i03mlxyxlqmspzshl";
}
{
name = "code-spell-checker";
publisher = "streetsidesoftware";
version = "2.10.0";
sha256 = "1hn2v1q54wnx2lwngd5azdycm47ifi8wsina5ikxfp7v5gl940xx";
}
{
name = "shellcheck";
publisher = "timonwong";
version = "0.23.0";
sha256 = "190xi23kad95bbh8cwk5asnncfdaqi9574hv87ja5lpy53my1v8d";
}
{
name = "sort-lines";
publisher = "Tyriar";
version = "1.9.1";
sha256 = "0dds99j6awdxb0ipm15g543a5b6f0hr00q9rz961n0zkyawgdlcb";
}
{
name = "change-case";
publisher = "wmaurer";
version = "1.0.0";
sha256 = "0dxsdahyivx1ghxs6l9b93filfm8vl5q2sa4g21fiklgdnaf7pxl";
}
{
name = "material-theme";
publisher = "zhuangtongfa";
version = "3.15.5";
sha256 = "0crrzpdy8fy4l1nim93qscmlpz2jhyb6hf0gh1rzqgfnk9w431xi";
}
];
}