vscode: apply nixfmt

This commit is contained in:
Robert Helgesson 2020-10-12 22:51:12 +02:00
parent aecd4acfb4
commit e7d5531cfa
No known key found for this signature in database
GPG Key ID: 36BDAA14C2797E89
2 changed files with 24 additions and 35 deletions

1
format
View File

@ -38,7 +38,6 @@ find . -name '*.nix' \
! -path ./modules/programs/lesspipe.nix \ ! -path ./modules/programs/lesspipe.nix \
! -path ./modules/programs/ssh.nix \ ! -path ./modules/programs/ssh.nix \
! -path ./modules/programs/tmux.nix \ ! -path ./modules/programs/tmux.nix \
! -path ./modules/programs/vscode.nix \
! -path ./modules/programs/zsh.nix \ ! -path ./modules/programs/zsh.nix \
! -path ./modules/services/gpg-agent.nix \ ! -path ./modules/services/gpg-agent.nix \
! -path ./modules/services/kbfs.nix \ ! -path ./modules/services/kbfs.nix \

View File

@ -20,20 +20,18 @@ let
"vscodium" = "vscode-oss"; "vscodium" = "vscode-oss";
}.${vscodePname}; }.${vscodePname};
userDir = userDir = if pkgs.stdenv.hostPlatform.isDarwin then
if pkgs.stdenv.hostPlatform.isDarwin then "Library/Application Support/${configDir}/User"
"Library/Application Support/${configDir}/User" else
else "${config.xdg.configHome}/${configDir}/User";
"${config.xdg.configHome}/${configDir}/User";
configFilePath = "${userDir}/settings.json"; configFilePath = "${userDir}/settings.json";
keybindingsFilePath = "${userDir}/keybindings.json"; keybindingsFilePath = "${userDir}/keybindings.json";
# TODO: On Darwin where are the extensions? # TODO: On Darwin where are the extensions?
extensionPath = ".${extensionDir}/extensions"; extensionPath = ".${extensionDir}/extensions";
in
{ in {
options = { options = {
programs.vscode = { programs.vscode = {
enable = mkEnableOption "Visual Studio Code"; enable = mkEnableOption "Visual Studio Code";
@ -49,7 +47,7 @@ in
userSettings = mkOption { userSettings = mkOption {
type = types.attrs; type = types.attrs;
default = {}; default = { };
example = literalExample '' example = literalExample ''
{ {
"update.channel" = "none"; "update.channel" = "none";
@ -85,7 +83,7 @@ in
}; };
}; };
}); });
default = []; default = [ ];
example = literalExample '' example = literalExample ''
[ [
{ {
@ -103,7 +101,7 @@ in
extensions = mkOption { extensions = mkOption {
type = types.listOf types.package; type = types.listOf types.package;
default = []; default = [ ];
example = literalExample "[ pkgs.vscode-extensions.bbenoist.Nix ]"; example = literalExample "[ pkgs.vscode-extensions.bbenoist.Nix ]";
description = '' description = ''
The extensions Visual Studio Code should be started with. The extensions Visual Studio Code should be started with.
@ -117,29 +115,21 @@ in
home.packages = [ cfg.package ]; home.packages = [ cfg.package ];
# Adapted from https://discourse.nixos.org/t/vscode-extensions-setup/1801/2 # Adapted from https://discourse.nixos.org/t/vscode-extensions-setup/1801/2
home.file = home.file = let
let subDir = "share/vscode/extensions";
subDir = "share/vscode/extensions"; toPaths = path:
toPaths = path: # Links every dir in path to the extension path.
# Links every dir in path to the extension path. mapAttrsToList
mapAttrsToList (k: _: (k: _: { "${extensionPath}/${k}".source = "${path}/${subDir}/${k}"; })
{ (builtins.readDir (path + "/${subDir}"));
"${extensionPath}/${k}".source = "${path}/${subDir}/${k}"; toSymlink = concatMap toPaths cfg.extensions;
}) (builtins.readDir (path + "/${subDir}")); in foldr (a: b: a // b) {
toSymlink = concatMap toPaths cfg.extensions; "${configFilePath}" = mkIf (cfg.userSettings != { }) {
in text = builtins.toJSON cfg.userSettings;
foldr };
(a: b: a // b) "${keybindingsFilePath}" = mkIf (cfg.keybindings != [ ]) {
{ text = builtins.toJSON cfg.keybindings;
"${configFilePath}" = };
mkIf (cfg.userSettings != {}) { } toSymlink;
text = builtins.toJSON cfg.userSettings;
};
"${keybindingsFilePath}" =
mkIf (cfg.keybindings != []) {
text = builtins.toJSON cfg.keybindings;
};
}
toSymlink;
}; };
} }