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 }