home

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

vscode.nix (6174B)


      1 { config, lib, pkgs, ... }:
      2 
      3 with lib;
      4 let
      5   cfg = config.profiles.dev.vscode;
      6 in
      7 {
      8   options = {
      9     profiles.dev.vscode = {
     10       enable = mkEnableOption "Enable VS Code profile";
     11     };
     12   };
     13   config = mkIf cfg.enable {
     14     programs.vscode = {
     15       enable = true;
     16       userSettings = {
     17         "workbench.iconTheme" = "material-icon-theme";
     18         "workbench.colorTheme" = "plain";
     19         "editor.fontFamily" = "'Fira Code','Droid Sans Mono', 'monospace', monospace, 'Droid Sans Fallback'";
     20         "[nix]"."editor.tabSize" = 2;
     21         "editor.minimap.enabled" = false;
     22         "window.titleBarStyle" = "custom";
     23         "breadcrumbs.enabled" = true;
     24         "go.useLanguageServer" = true;
     25       };
     26       extensions = pkgs.vscode-utils.extensionsFromVscodeMarketplace [
     27         {
     28           name = "remote-ssh";
     29           publisher = "ms-vscode-remote";
     30           version = "0.42.2";
     31           sha256 = "0aqjlbndiq1q8gh4dkj68sbr56ya458c8xh7f8bkhw5rnmz31pj5";
     32         }
     33         {
     34           name = "remote-ssh-edit";
     35           publisher = "ms-vscode-remote";
     36           version = "0.42.2";
     37           sha256 = "0qkdz1ng5mk35x8awa9wavb138hd454da8gsf7m66xyfifsmcn6h";
     38         }
     39         {
     40           name = "remote-ssh-explorer";
     41           publisher = "ms-vscode-remote";
     42           version = "0.42.2";
     43           sha256 = "02wg1bvl9923ldxlkj0qdlpf0njrd2r805561dkw5yp8siiim768";
     44         }
     45         {
     46           name = "EditorConfig";
     47           publisher = "EditorConfig";
     48           version = "0.12.4";
     49           sha256 = "067mxkzjmgz9lv5443ig7jc4dpgml4pz0dac0xmqrdmiwml6j4k4";
     50         }
     51         {
     52           name = "vsc-material-theme";
     53           publisher = "Equinusocio";
     54           version = "2.6.3";
     55           sha256 = "1ghqp0yfcpcnjcwgvxw7aix9fj5q8kr0i97lmzlw2jqslmyvxg5x";
     56         }
     57         {
     58           name = "material-icon-theme";
     59           publisher = "PKief";
     60           version = "3.6.0";
     61           sha256 = "0jphqqs41pkyv11mq1a3wzx14sl6pifcfyz3lw5wany003fv5s9s";
     62         }
     63         {
     64           name = "fish-vscode";
     65           publisher = "skyapps";
     66           version = "0.2.0";
     67           sha256 = "148r186y3h7n84fcyh6wa2qwl2q3pfi8aykwkc9dhfj3kwfcm5rb";
     68         }
     69         {
     70           name = "code-runner";
     71           publisher = "formulahendry";
     72           version = "0.9.4";
     73           sha256 = "08qq21gaa7igklv9si35qxhs79na893vyp96hf7rvyv7c4fn1pvw";
     74         }
     75         {
     76           name = "gitlens";
     77           publisher = "eamodio";
     78           version = "8.5.6";
     79           sha256 = "1vn6fvxn4g3759pg9rp8hqdc58pgyvcdma1ylfwmdnipga37xfd3";
     80         }
     81         {
     82           name = "vscode-direnv";
     83           publisher = "Rubymaniac";
     84           version = "0.0.2";
     85           sha256 = "1gml41bc77qlydnvk1rkaiv95rwprzqgj895kxllqy4ps8ly6nsd";
     86         }
     87         {
     88           name = "vscode-proto3";
     89           publisher = "zxh404";
     90           version = "0.2.1";
     91           sha256 = "12yf66a9ws5hlyj38nmn91y8a1jrq8696fnmgk60w9anyfalbn4q";
     92         }
     93         {
     94           name = "project-manager";
     95           publisher = "alefragnani";
     96           version = "9.0.1";
     97           sha256 = "0aqyavgpaqvv62q15h4dkxcgj4khsgr1rlzr3wi9aflyncg7addb";
     98         }
     99         {
    100           name = "tslint";
    101           publisher = "eg2";
    102           version = "1.0.39";
    103           sha256 = "1al61xzz7p6rqgk7rplg3njj4hyiipx7w89pqfn8634skw7r32rl";
    104         }
    105         {
    106           name = "vscode-npm-script";
    107           publisher = "eg2";
    108           version = "0.3.5";
    109           sha256 = "1v4081siab0fm0zfn6vlvqlc4vx131q8y6f3h3l46mvpndsa2rck";
    110         }
    111         {
    112           name = "vscode-pull-request-github";
    113           publisher = "GitHub";
    114           version = "0.1.6";
    115           sha256 = "08r0i265q4gk6kmz3ynxglhssdk5020bifagl9jr8spfs5sacnsx";
    116         }
    117         {
    118           name = "vscode-kubernetes-tools";
    119           publisher = "ms-kubernetes-tools";
    120           version = "0.1.14";
    121           sha256 = "0ixs1cydbz6qizf9cs0jdqpxwfg7gs74jdy9hp2v9h8q7vq6503l";
    122         }
    123         # languages
    124         {
    125           name = "Go";
    126           publisher = "ms-vscode";
    127           version = "0.6.89";
    128           sha256 = "05mzw4bwsa9wxldnkdgk0b4n4xm8gzhmrbqy6j8lbk3p360wdg8z";
    129         }
    130         {
    131           name = "rust";
    132           publisher = "rust-lang";
    133           version = "0.4.10";
    134           sha256 = "1y7sb3585knv2pbq7vf2cjf3xy1fgzrqzn2h3fx2d2bj6ns6vpy3";
    135         }
    136         {
    137           name = "crates";
    138           publisher = "serayuzgur";
    139           version = "0.3.2";
    140           sha256 = "0xn24vghmcf8fi8cdgaa3f0npmkdr4fdn9y1g56l2fzrx2z4rw3q";
    141         }
    142         {
    143           name = "Kotlin";
    144           publisher = "mathiasfrohlich";
    145           version = "1.7.0";
    146           sha256 = "1d81rgfh1c1wkz4la0mmjj6k28if237f835diyk3z6n63cazapli";
    147         }
    148         {
    149           name = "java";
    150           publisher = "redhat";
    151           version = "0.31.0";
    152           sha256 = "1hzqiqkja4931k7rb4pmva6k80ss53nvyksiqvq6kxj25rg3kd1b";
    153         }
    154         {
    155           name = "vscode-java-debug";
    156           publisher = "vscjava";
    157           version = "0.13.0";
    158           sha256 = "11xvd1b0qsvrbm4yb0c7fm537p1gs6wz45xzl6v1a7k08dapi20i";
    159         }
    160         {
    161           name = "vscode-java-test";
    162           publisher = "vscjava";
    163           version = "0.9.0";
    164           sha256 = "0000v5qh100n3n529r1nzx79cawx83kvprrmhw6pb4j0m5b3p3p2";
    165         }
    166         {
    167           name = "gradle-language";
    168           publisher = "naco-siren";
    169           version = "0.2.3";
    170           sha256 = "15lzxvym0mkljjn57av1p4z6hqqwbsbn5idw2fn7nccgrl93aywf";
    171         }
    172         {
    173           name = "vscode-yaml";
    174           publisher = "redhat";
    175           version = "0.0.16";
    176           sha256 = "0v21qj65nrp850r0jmivmsm9y5i99ymxxm8ganzdia4vbv5hzx9r";
    177         }
    178         {
    179           name = "better-toml";
    180           publisher = "bungcip";
    181           version = "0.3.2";
    182           sha256 = "08lhzhrn6p0xwi0hcyp6lj9bvpfj87vr99klzsiy8ji7621dzql3";
    183         }
    184         {
    185           name = "plain";
    186           publisher = "konstantin";
    187           version = "0.0.7";
    188           sha256 = "0qbn8bdcbvz8qfjb42n4j9asmsd6zf33w9ypyinb7x37ylw482nx";
    189         }
    190       ] ++ [
    191         pkgs.vscode-extensions.bbenoist.Nix
    192         pkgs.vscode-extensions.ms-python.python
    193         # pkgs.vscodeliveshare
    194       ];
    195     };
    196   };
    197 }