Charlotte 🦝 Delenk
62a60b82dc
Some checks failed
Hydra packages.aarch64-linux.kodi-joyn Hydra build #25894 of nixos-config:pr618:packages.aarch64-linux.kodi-joyn
Hydra packages.aarch64-linux.art-lotte-bgs-sfw Hydra build #25893 of nixos-config:pr618:packages.aarch64-linux.art-lotte-bgs-sfw
Hydra nixosConfigurations.rainbow-resort Hydra build #25956 of nixos-config:pr618:nixosConfigurations.rainbow-resort
Hydra nixosConfigurations.not522-installer Hydra build #25954 of nixos-config:pr618:nixosConfigurations.not522-installer
Hydra nixosConfigurations.not522 Hydra build #25953 of nixos-config:pr618:nixosConfigurations.not522
Hydra packages.x86_64-linux.art-lotte-bgs-sfw Hydra build #25899 of nixos-config:pr618:packages.x86_64-linux.art-lotte-bgs-sfw
Hydra packages.x86_64-linux.kodi-joyn Hydra build #25900 of nixos-config:pr618:packages.x86_64-linux.kodi-joyn
Hydra devShells.x86_64-linux.default Hydra build #25879 of nixos-config:pr618:devShells.x86_64-linux.default
Hydra packages.x86_64-linux.art-lotte Hydra build #25897 of nixos-config:pr618:packages.x86_64-linux.art-lotte
Hydra nixosConfigurations.thinkrac Hydra build #25957 of nixos-config:pr618:nixosConfigurations.thinkrac
Hydra nixosConfigurations.pc-installer Hydra build #25955 of nixos-config:pr618:nixosConfigurations.pc-installer
Hydra packages.x86_64-linux.package-updater Hydra build #25901 of nixos-config:pr618:packages.x86_64-linux.package-updater
Hydra packages.x86_64-linux.art-lotte-bgs-nsfw Hydra build #25898 of nixos-config:pr618:packages.x86_64-linux.art-lotte-bgs-nsfw
Hydra packages.aarch64-linux.art-lotte Hydra build #25891 of nixos-config:pr618:packages.aarch64-linux.art-lotte
Hydra packages.aarch64-linux.art-lotte-bgs-nsfw Hydra build #25892 of nixos-config:pr618:packages.aarch64-linux.art-lotte-bgs-nsfw
Hydra packages.riscv64-linux.art-lotte Hydra build #25752 of nixos-config:pr618:packages.riscv64-linux.art-lotte
Hydra packages.aarch64-linux.package-updater Hydra build #25895 of nixos-config:pr618:packages.aarch64-linux.package-updater
Hydra packages.riscv64-linux.art-lotte-bgs-sfw Hydra build #25754 of nixos-config:pr618:packages.riscv64-linux.art-lotte-bgs-sfw
Hydra packages.riscv64-linux.art-lotte-bgs-nsfw Hydra build #25753 of nixos-config:pr618:packages.riscv64-linux.art-lotte-bgs-nsfw
Hydra packages.riscv64-linux.package-updater Hydra build #25896 of nixos-config:pr618:packages.riscv64-linux.package-updater
100 lines
4.5 KiB
Nix
100 lines
4.5 KiB
Nix
{
|
|
vscode-server,
|
|
config,
|
|
systemConfig,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
{
|
|
imports = [
|
|
"${vscode-server}/modules/vscode-server/home.nix"
|
|
];
|
|
programs.vscode = {
|
|
enable = true;
|
|
enableExtensionUpdateCheck = false;
|
|
enableUpdateCheck = false;
|
|
mutableExtensionsDir = false;
|
|
extensions =
|
|
(with pkgs.vscode-extensions; [
|
|
fill-labs.dependi
|
|
jnoortheen.nix-ide
|
|
mechatroner.rainbow-csv
|
|
mkhl.direnv
|
|
pkief.material-icon-theme
|
|
rust-lang.rust-analyzer
|
|
signageos.signageos-vscode-sops
|
|
tamasfe.even-better-toml
|
|
vadimcn.vscode-lldb
|
|
])
|
|
++ (with pkgs.vscode-marketplace; [
|
|
janisdd.vscode-edit-csv
|
|
jscearcy.rust-doc-viewer
|
|
]);
|
|
userSettings = {
|
|
"editor.fontFamily" = "\"Fira Code\", \"Fira Code Nerd Font Mono\", monospace";
|
|
"editor.fontLigatures" = true;
|
|
"editor.formatOnPaste" = true;
|
|
"editor.formatOnSave" = true;
|
|
"editor.formatOnType" = true;
|
|
"nix.enableLanguageServer" = true;
|
|
"nix.formatterPath" = "${pkgs.nixfmt-rfc-style}/bin/nixfmt";
|
|
"nix.serverPath" = "${pkgs.nil}/bin/nil";
|
|
"nix.serverSettings" = {
|
|
nil.formatting.command = [ "${pkgs.nixfmt-rfc-style}/bin/nixfmt" ];
|
|
};
|
|
"rust-analyzer.diagnostics.experimental.enable" = true;
|
|
"rust-analyzer.diagnostics.styleLints.enable" = true;
|
|
"rust-analyzer.hover.actions.references.enable" = true;
|
|
"rust-analyzer.imports.granularity.enforce" = true;
|
|
"rust-analyzer.inlayHints.bindingModeHints.enable" = true;
|
|
"rust-analyzer.inlayHints.closureCaptureHints.enable" = true;
|
|
"rust-analyzer.inlayHints.closureReturnTypeHints.enable" = "always";
|
|
"rust-analyzer.inlayHints.discriminantHints.enable" = "always";
|
|
"rust-analyzer.inlayHints.lifetimeElisionHints.enable" = "always";
|
|
"rust-analyzer.inlayHints.lifetimeElisionHints.useParameterNames" = true;
|
|
"rust-analyzer.inlayHints.rangeExclusiveHints.enable" = true;
|
|
"rust-analyzer.inlayHints.typeHints.hideClosureInitialization" = false;
|
|
"rust-analyzer.interpret.tests" = true;
|
|
"rust-analyzer.lens.references.adt.enable" = true;
|
|
"rust-analyzer.lens.references.enumVariant.enable" = true;
|
|
"rust-analyzer.lens.references.method.enable" = true;
|
|
"rust-analyzer.lens.references.trait.enable" = true;
|
|
"sops.binPath" = "${pkgs.sops}/bin/sops";
|
|
"workbench.iconTheme" = "material-icon-theme";
|
|
};
|
|
};
|
|
services.vscode-server.enable = true;
|
|
systemd.user.tmpfiles.rules = lib.mkMerge [
|
|
[
|
|
"d /persistent${config.xdg.cacheHome}/Code/Cache - - - - -"
|
|
"d /persistent${config.xdg.cacheHome}/Code/CachedData - - - - -"
|
|
"d /persistent${config.xdg.cacheHome}/Code/CachedProfilesData - - - - -"
|
|
"d /persistent${config.xdg.cacheHome}/Code/Code\x20Cache - - - - -"
|
|
"d /persistent${config.xdg.cacheHome}/Code/DawnGraphiteCache - - - - -"
|
|
"d /persistent${config.xdg.dataHome}/Code - - - - -"
|
|
"L /persistent${config.xdg.dataHome}/Code/Cache - - - - ${config.xdg.cacheHome}/Code/Cache"
|
|
"L /persistent${config.xdg.dataHome}/Code/CachedData - - - - ${config.xdg.cacheHome}/Code/CachedData"
|
|
"L /persistent${config.xdg.dataHome}/Code/CachedProfilesData - - - - ${config.xdg.cacheHome}/Code/CachedProfilesData"
|
|
"L /persistent${config.xdg.dataHome}/Code/Code\x20Cache - - - - ${config.xdg.cacheHome}/Code/Code\x20Cache"
|
|
"L /persistent${config.xdg.dataHome}/Code/DawnGraphiteCache - - - - ${config.xdg.cacheHome}/Code/DawnGraphiteCache"
|
|
"L ${config.xdg.configHome}/Code - - - - ${config.xdg.dataHome}/Code"
|
|
]
|
|
# GPU Cache sometimes breaks for electron apps on intel, so only persist that on non-intel
|
|
(lib.mkIf (!systemConfig.isIntelGPU) [
|
|
"d /persistent${config.xdg.cacheHome}/Code/DawnWebGPUCache - - - - -"
|
|
"d /persistent${config.xdg.cacheHome}/Code/GPUCache - - - - -"
|
|
"L /persistent${config.xdg.dataHome}/Code/DawnWebGPUCache - - - - ${config.xdg.cacheHome}/Code/DawnWebGPUCache"
|
|
"L /persistent${config.xdg.dataHome}/Code/GPUCache - - - - ${config.xdg.cacheHome}/Code/GPUCache"
|
|
])
|
|
(lib.mkIf (systemConfig.isIntelGPU) [
|
|
"d /tmp${config.xdg.cacheHome}/Code/DawnWebGPUCache - - - - -"
|
|
"d /tmp${config.xdg.cacheHome}/Code/GPUCache - - - - -"
|
|
"L /persistent${config.xdg.dataHome}/Code/DawnWebGPUCache - - - - /tmp${config.xdg.cacheHome}/Code/DawnWebGPUCache"
|
|
"L /persistent${config.xdg.dataHome}/Code/GPUCache - - - - /tmp${config.xdg.cacheHome}/Code/GPUCache"
|
|
])
|
|
];
|
|
home.persistence.default.directories = [
|
|
".local/share/Code"
|
|
];
|
|
}
|