Aquatic-Nix/modules/programs/nixdev.nix

78 lines
2.6 KiB
Nix

{ inputs, ... }:
{
flake.modules.nixos.nixdev =
{ pkgs, ... }:
{
home-manager.sharedModules = with inputs.self.modules.homeManager; [
nixdev
];
environment.systemPackages = with pkgs; [
nixd
nixfmt
];
};
flake.modules.homeManager.nixdev =
{ pkgs, osConfig, ... }:
{
nixpkgs.config.allowUnfreePackages = [
"vscode"
"vscode-extension-github-copilot"
];
programs.vscode = {
enable = true;
package = pkgs.vscode-with-extensions.override {
vscodeExtensions =
with pkgs.vscode-extensions;
[
jnoortheen.nix-ide
catppuccin.catppuccin-vsc
github.copilot-chat
]
++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
{
name = "qt-qml";
publisher = "TheQtCompany";
version = "1.4.0";
sha256 = "sha256-9C0EC4vnulg0OjGNU0SfMA2R6+OaHVCqDsipY2TAqxo=";
}
];
};
profiles.default.userSettings = {
"nix.enableLanguageServer" = true;
"nix.serverPath" = "nixd";
"nix.serverSettings" = {
"nixd" = {
"formatting".command = [ "nixfmt" ];
"nixpkgs"."expr" =
"(builtins.getFlake \"/AquaticOS\").nixosConfigurations.${osConfig.networking.hostName}.pkgs";
"options" = {
"nixos"."expr" =
"(builtins.getFlake \"/AquaticOS\").nixosConfigurations.${osConfig.networking.hostName}.options";
"home-manager"."expr" =
"(builtins.getFlake \"/AquaticOS\").nixosConfigurations.${osConfig.networking.hostName}.options.home-manager.users.type.getSubOptions []";
"flake-parts"."expr" = "(builtins.getFlake \"/AquaticOS\").debug.options";
"flake-parts2"."expr" = "(builtins.getFlake \"/AquaticOS\").currentSystem.options";
};
};
};
"workbench.colorTheme" = "Catppuccin Mocha";
"terminal.integrated.stickyScroll.enabled" = false;
"git.confirmSync" = false;
"chat.disableAIFeatures" = false;
"github.copilot.nextEditSuggestions.eagerness" = "low";
"github.copilot.editor.enableCodeActions" = false;
"github.copilot.enable" = {
"*" = true;
"markdown" = false;
"plaintext" = false;
"scminput" = false;
"html" = false;
"nix" = true;
};
};
};
};
}