186 lines
6.8 KiB
Nix
Raw Normal View History

2022-12-07 22:10:49 +03:00
{ pkgs, lib, config, inputs, ... }:
2022-08-05 21:10:22 +03:00
let
2022-08-18 18:00:14 +03:00
EDITOR = pkgs.writeShellScript "code-editor" ''
2022-12-10 22:34:39 +03:00
source "/etc/profiles/per-user/${config.mainuser}/etc/profile.d/hm-session-vars.sh"
2023-03-27 20:57:06 +03:00
NIXOS_OZONE_WL=1 \
2022-08-18 18:00:14 +03:00
exec \
2022-12-10 22:34:39 +03:00
${config.home-manager.users.${config.mainuser}.programs.vscode.package}/bin/code \
--password-store="gnome-libsecret" \
2022-08-18 18:00:14 +03:00
-w -n \
"$@"
'';
2023-12-30 04:43:02 +03:00
2024-02-08 23:32:56 +03:00
ext-vscode = inputs.nix-vscode-marketplace.extensions.${pkgs.system}.vscode-marketplace;
ext-nixpkgs = pkgs.vscode-extensions;
continue-ver = lib.getVersion ext-vscode.continue.continue;
2022-08-05 21:10:22 +03:00
in
{
2022-12-07 22:10:49 +03:00
defaultApplications.editor = {
cmd = "${EDITOR}";
desktop = "code-wayland";
};
2023-03-27 16:00:57 +03:00
persist.state.homeDirectories = [
".config/Code"
];
2022-12-10 22:34:39 +03:00
home-manager.users.${config.mainuser} = {
2022-08-05 21:10:22 +03:00
programs.vscode = {
enable = true;
package = pkgs.vscode;
2022-12-07 22:10:49 +03:00
enableExtensionUpdateCheck = false;
enableUpdateCheck = false;
2024-02-08 23:32:56 +03:00
extensions = [
2023-02-22 23:57:37 +03:00
# (pkgs.callPackage ./theme.nix { mainuser = config.mainuser; } config.lib.base16.theme)
2024-02-08 23:32:56 +03:00
ext-vscode.aaron-bond.better-comments
ext-vscode.alefragnani.bookmarks
ext-vscode.alefragnani.project-manager
ext-vscode.alexisvt.flutter-snippets
ext-vscode.christian-kohler.path-intellisense
ext-vscode.codezombiech.gitignore
ext-vscode.continue.continue
ext-vscode.dart-code.dart-code
ext-vscode.dart-code.flutter
# ext-vscode.dlasagno.wal-theme
ext-vscode.eamodio.gitlens
ext-vscode.enkia.tokyo-night
ext-vscode.felixangelov.bloc
ext-vscode.github.vscode-github-actions
ext-vscode.github.vscode-pull-request-github
ext-vscode.irongeek.vscode-env
ext-vscode.jebbs.plantuml
ext-vscode.jnoortheen.nix-ide
ext-vscode.lucax88x.codeacejumper
ext-vscode.marcelovelasquez.flutter-tree
ext-vscode.mhutchie.git-graph
ext-vscode.mkhl.direnv
ext-vscode.ms-azuretools.vscode-docker
ext-nixpkgs.ms-python.python
ext-vscode.ms-python.isort
ext-vscode.ms-python.vscode-pylance
ext-vscode.ms-vscode.hexeditor
ext-nixpkgs.ms-vscode-remote.remote-ssh #FIX later
ext-vscode.pkief.material-icon-theme
ext-vscode.streetsidesoftware.code-spell-checker
ext-vscode.streetsidesoftware.code-spell-checker-russian
2024-06-19 12:54:36 +03:00
ext-vscode.usernamehw.errorlens
2024-02-08 23:32:56 +03:00
ext-vscode.ultram4rine.vscode-choosealicense
2024-06-19 12:54:36 +03:00
ext-vscode.usernamehw.errorlens
2024-02-08 23:32:56 +03:00
ext-vscode.yzhang.markdown-all-in-one
2023-08-05 07:42:12 +03:00
# Rust
2024-02-08 23:32:56 +03:00
ext-vscode.gruntfuggly.todo-tree
ext-vscode.jscearcy.rust-doc-viewer
ext-vscode.polypus74.trusty-rusty-snippets
ext-nixpkgs.rust-lang.rust-analyzer
ext-vscode.serayuzgur.crates
ext-vscode.tamasfe.even-better-toml
ext-vscode.usernamehw.errorlens
ext-vscode.vadimcn.vscode-lldb
2024-06-19 12:54:36 +03:00
# Golang
ext-vscode.golang.go
2023-01-26 00:36:27 +03:00
];
2022-08-18 18:00:14 +03:00
# mutableExtensionsDir = false;
2022-08-05 21:10:22 +03:00
userSettings = {
2023-12-18 02:09:18 +03:00
"continue.telemetryEnabled" = false;
"dart.checkForSdkUpdates" = false;
"dart.debugSdkLibraries" = true;
"dart.flutterCreateOrganization" = "com.ataraxiadev";
"dart.flutterCreatePlatforms" = [ "linux,web,windows" ];
"dart.flutterScreenshotPath" = "/home/${config.mainuser}/Pictures/flutter";
"dart.openDevTools" = "flutter";
"dart.runPubGetOnNestedProjects" = "below";
"dart.showTodos" = true;
2022-10-21 14:08:45 +03:00
"editor.fontFamily" = "'VictorMono Nerd Font Medium'";
2022-08-05 21:10:22 +03:00
"editor.fontLigatures" = true;
"editor.fontSize" = 16;
"editor.guides.bracketPairs" = "active";
2022-08-05 21:10:22 +03:00
"editor.quickSuggestions" = {
"other" = true;
"comments" = false;
"strings" = true;
2022-08-05 21:10:22 +03:00
};
"files.autoSave" = "afterDelay";
2022-08-05 21:10:22 +03:00
"files.exclude" = {
"**/.classpath" = true;
"**/.project" = true;
"**/.settings" = true;
"**/.factorypath" = true;
"**/.direnv" = true;
2022-08-05 21:10:22 +03:00
};
"files.trimTrailingWhitespace" = true;
2022-08-05 21:10:22 +03:00
"files.watcherExclude" = {
"**/.direnv" = true;
2022-08-05 21:10:22 +03:00
};
"git-graph.repository.sign.commits" = true;
"git-graph.repository.sign.tags" = true;
"git.autofetch" = false;
"git.enableCommitSigning" = true;
2024-06-19 12:54:36 +03:00
"go.useLanguageServer" = true;
"gopls" = {
"ui.semanticTokens" = true;
"formatting.gofumpt" = true;
"ui.diagnostic.staticcheck" = true;
};
"license.author" = "Dmitriy <ataraxiadev@ataraxiadev.com>";
"license.default" = "mit";
"license.extension" = ".md";
"license.year" = "auto";
"nix.enableLanguageServer" = true;
2024-02-01 22:49:23 +03:00
"nix.formatterPath" = "${pkgs.nixfmt-rfc-style}/bin/nixfmt";
"nix.serverPath" = "${pkgs.nil}/bin/nil";
"nix.serverSettings" = {
"nil" = {
"formatting" = {
2024-02-01 22:49:23 +03:00
"command" = ["${pkgs.nixfmt-rfc-style}/bin/nixfmt"];
};
};
};
2023-08-05 07:42:12 +03:00
"rust-analyzer.check.command" = "clippy";
"search.exclude" = {
"**/.direnv" = true;
};
"security.workspace.trust.untrustedFiles" = "open";
"telemetry.telemetryLevel" = "off";
2022-08-18 18:00:14 +03:00
"terminal.integrated.defaultProfile.linux" = "zsh";
"terminal.integrated.fontFamily" = "FiraCode Nerd Font";
"terminal.integrated.fontWeight" = "500";
2022-08-18 18:00:14 +03:00
"terminal.integrated.profiles.linux".zsh.path = "/run/current-system/sw/bin/zsh";
2023-08-05 07:42:12 +03:00
"todo-tree.regex.regex" = "(//|#|<!--|;|/\\*|^|^[ \\t]*(-|\\d+.))\\s*($TAGS)|todo!";
"update.mode" = "none";
2023-08-30 18:40:03 +03:00
# Temp fix crash on startup
# See https://github.com/microsoft/vscode/issues/184124
"window.menuBarVisibility" = "toggle";
2023-09-16 00:52:05 +03:00
"window.titleBarStyle" = "custom";
2023-08-30 18:40:03 +03:00
###
"workbench.colorTheme" = "Tokyo Night";
"workbench.iconTheme" = "material-icon-theme";
"[dart]" = {
"editor.formatOnSave" = true;
"editor.formatOnType" = true;
"editor.rulers" = [
80
];
"editor.selectionHighlight" = false;
"editor.suggest.snippetsPreventQuickSuggestions" = false;
"editor.suggestSelection" = "first";
"editor.tabCompletion" = "onlySnippets";
2024-02-04 16:42:22 +03:00
"editor.wordBasedSuggestions" = "off";
};
"[nix]" = {
"editor.tabSize" = 2;
"editor.detectIndentation" = true;
};
2023-08-05 07:42:12 +03:00
"[rust]" = {
"editor.defaultFormatter" = "rust-lang.rust-analyzer";
"editor.formatOnSave" = true;
};
2023-12-30 04:43:02 +03:00
"python.analysis.extraPaths" = [
"/home/${config.mainuser}/.vscode/extensions/continue.continue"
"/home/${config.mainuser}/.vscode/extensions/continue.continue-${continue-ver}-linux-x64"
];
2022-08-05 21:10:22 +03:00
};
};
};
}