29 lines
1.2 KiB
Nix
29 lines
1.2 KiB
Nix
{ inputs, self, ... }: let
|
|
optionName = "features.applications.gui.vscode.enable";
|
|
in {
|
|
imports = [ (inputs.helpers.mkStandardFeature.flakeModule "graphics" optionName "VS Code") ];
|
|
|
|
flake.nixosModules.graphics = { config, pkgs, lib, ... }: {
|
|
imports = [ (inputs.helpers.mkStandardFeature.nixosModule { inherit config optionName; } {
|
|
environment.systemPackages = [ pkgs.vscode ];
|
|
}) ];
|
|
};
|
|
|
|
flake.homeModules.graphics = { config, pkgs, lib, ... }: {
|
|
imports = [ (inputs.helpers.mkStandardFeature.homeModule { inherit config optionName; } {
|
|
home.packages = [ pkgs.vscode ];
|
|
|
|
home.activation = {
|
|
linkVsCodeConfigSettings = lib.hm.dag.entryAfter ["writeBoundary"] (inputs.helpers.mkSymlinkActivationScript {
|
|
target = "${config.xdg.configHome}/Code/User/settings.json";
|
|
source = "${config.info.rootPath}/dotfiles/shared/vscode/settings.json";
|
|
});
|
|
|
|
linkVsCodeConfigKeybindings = lib.hm.dag.entryAfter ["writeBoundary"] (inputs.helpers.mkSymlinkActivationScript {
|
|
target = "${config.xdg.configHome}/Code/User/keybindings.json";
|
|
source = "${config.info.rootPath}/dotfiles/shared/vscode/keybindings.json";
|
|
});
|
|
};
|
|
}) ];
|
|
};
|
|
} |