mirror of
https://github.com/nix-community/home-manager
synced 2024-11-26 21:19:45 +01:00
vscode: apply nixfmt
This commit is contained in:
parent
aecd4acfb4
commit
e7d5531cfa
2 changed files with 24 additions and 35 deletions
1
format
1
format
|
@ -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 \
|
||||||
|
|
|
@ -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;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue