56 lines
1.3 KiB
Nix
56 lines
1.3 KiB
Nix
{user}: {
|
|
lib,
|
|
pkgs,
|
|
config,
|
|
...
|
|
}:
|
|
with lib; let
|
|
editor = config.programs.editor;
|
|
pkg = editor.package;
|
|
menu = config.programs.menu.package + config.programs.menu.dmenuCommand;
|
|
editorCmd = "NIXOS_OZONE_WL= ${pkg}/bin/${pkg.executableName}";
|
|
in {
|
|
options.programs = {
|
|
editor = {
|
|
enable = mkEnableOption "editor";
|
|
package = mkPackageOption pkgs "vscodium" {
|
|
example = "pkgs.vscode";
|
|
};
|
|
neovim = mkEnableOption "neovim mode";
|
|
};
|
|
};
|
|
|
|
config = mkIf editor.enable {
|
|
home-manager.users.${user}.imports = [
|
|
{
|
|
programs.vscode = {
|
|
enable = true;
|
|
package = editor.package;
|
|
extensions = [];
|
|
userSettings = {
|
|
"keyboard.dispatch" = "keyCode";
|
|
"terminal.integrated.sendKeybindingsToShell" = true;
|
|
"aws.telemetry" = false;
|
|
"gitlens.telemetry.enabled" = false;
|
|
"redhat.telemetry.enabled" = false;
|
|
"cSpell.language" = "en,en-GB";
|
|
};
|
|
};
|
|
}
|
|
];
|
|
|
|
programs.scripts = [
|
|
{
|
|
name = "open-code";
|
|
text = ''
|
|
code_dir=~/Documents/code
|
|
cd $code_dir
|
|
repo=$(ls | ${menu})
|
|
[ -e "$repo" ] && ${editorCmd} $repo
|
|
'';
|
|
install = false;
|
|
hotkeys = [{key = "C";}];
|
|
}
|
|
];
|
|
};
|
|
}
|