dotfiles

My PC Dotfiles & Website

default.nix (1205B)


## Visual Studio Code Editor ##
{config, ...}: let
  inherit (config) util;
  inherit (config.flake) files;
in {
  flake.modules.homeManager.vscode = {
    config,
    lib,
    pkgs,
    osConfig ? {},
    ...
  }: let
    font = config.stylix.fonts.monospace.name;
    isGnome = osConfig.services.desktopManager.gnome.enable or false;
    isWM = (osConfig.programs.hyprland.enable or false) || (osConfig.programs.niri.enable or false);
  in {
    imports = [
      (import ./_mutable.nix {
        program = "vscode";
        configDir = "Code";
      })
    ];
    xdg.mimeApps = let
      mime = util.build.mime {
        code = ["code.desktop"];
        markdown = ["code.desktop"];
        text = ["code.desktop"];
      };
    in {
      defaultApplications = mime;
      associations.added = mime;
    };

    programs.vscode = {
      enable = true;
      package = pkgs.vscode;
      profiles.default = import ./_profile.nix {
        inherit lib pkgs files font isGnome isWM;
      };
    };

    home = {
      persist.directories = [
        ".config/Code"
        ".vscode"
        ".vscode-shared"
      ];
      packages = with pkgs; [
        nixd
        alejandra
      ];
    };
  };
}