{
  description = "Everything for linguacafe <3";
  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
    flake-utils.url = "github:numtide/flake-utils";
    cursor.url = "github:omarcresp/cursor-flake/main";
  };
  outputs = { self, nixpkgs, flake-utils, cursor }:
    flake-utils.lib.eachDefaultSystem (system:
      let
        pkgs = import nixpkgs {
          config.allowUnfree = true;
          inherit system;
        };
      in
        {
        devShell =
          with pkgs; mkShell rec {
            buildInputs = [
              vue-language-server
              cursor.packages.${pkgs.system}.default
              php

              (vscode-with-extensions.override {
                # vscode = vscodium;
                vscodeExtensions = with vscode-extensions; [
                  vscodevim.vim
                  vue.volar
                  catppuccin.catppuccin-vsc
                  github.copilot
                  github.copilot-chat
                ] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
                  # {
                  #   name = "vscode-arduino-community";
                  #   publisher = "vscode-arduino";
                  #   version = "0.7.2";
                  #   sha256 = "/HdPJ6LBnyPhz7jeJ0MLRXO2L3bcAzM7J65nKsXsacY=";
                  # }
                ];
              })

            ];

            shellHook = ''
              zsh 

              exit
            '';
          };
      });
}


