{ inputs, ... }: let optionName = "features.applications.gui.vscode.enable"; in { imports = [ (inputs.helpers.mkStandardFeature.flakeModule "graphics" optionName "VS Code") ]; flake.nixosModules.graphics = { config, pkgs, ... }: { 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"; }); }; }) ]; }; }