From 2bd8b144b92e5e85e92faf65d53b6436e585dce1 Mon Sep 17 00:00:00 2001 From: Qubasa Date: Mon, 27 May 2024 13:52:54 +0200 Subject: [PATCH] init: vscode .#editor --- pkgs/editor/clan-edit-codium.nix | 40 ++++++++++++++++++++++++++++++++ pkgs/editor/default.nix | 4 ++++ pkgs/editor/settings.json | 21 +++++++++++++++++ pkgs/flake-module.nix | 1 + 4 files changed, 66 insertions(+) create mode 100644 pkgs/editor/clan-edit-codium.nix create mode 100644 pkgs/editor/default.nix create mode 100644 pkgs/editor/settings.json diff --git a/pkgs/editor/clan-edit-codium.nix b/pkgs/editor/clan-edit-codium.nix new file mode 100644 index 00000000..d85ea11b --- /dev/null +++ b/pkgs/editor/clan-edit-codium.nix @@ -0,0 +1,40 @@ +{ + lib, + coreutils, + nil, + nixd, + nixpkgs-fmt, + direnv, + vscode-extensions, + vscode-with-extensions, + vscodium, + writeShellApplication, +}: +let + codium = vscode-with-extensions.override { + vscode = vscodium; + vscodeExtensions = [ + vscode-extensions.jnoortheen.nix-ide + vscode-extensions.mkhl.direnv + ]; + }; +in +writeShellApplication { + name = "clan-edit-codium"; + runtimeInputs = [ + coreutils + nil + nixd + nixpkgs-fmt + direnv + ]; + text = '' + set -eux + DATA_DIR="''${XDG_CACHE_HOME:-$HOME/.cache}/clan-edit-codium" + SETTINGS="$DATA_DIR"/User/settings.json + ${coreutils}/bin/mkdir -p "$DATA_DIR/User" + cat ${./settings.json} > "$SETTINGS" + + exec ${lib.getExe codium} --user-data-dir "$DATA_DIR" "$@" + ''; +} diff --git a/pkgs/editor/default.nix b/pkgs/editor/default.nix new file mode 100644 index 00000000..4453d18b --- /dev/null +++ b/pkgs/editor/default.nix @@ -0,0 +1,4 @@ +{ pkgs }: +{ + clan-edit-codium = pkgs.callPackage ./clan-edit-codium.nix; +} diff --git a/pkgs/editor/settings.json b/pkgs/editor/settings.json new file mode 100644 index 00000000..e9d2b5fd --- /dev/null +++ b/pkgs/editor/settings.json @@ -0,0 +1,21 @@ +{ + "security.workspace.trust.enabled": false, + "nix.enableLanguageServer": true, + "nix.serverPath": "nixd", + "nix.formatterPath": "nixpkgs-fmt", + "nix.serverSettings": { + "nixd": { + "formatting": { + "command": "nixpkgs-fmt" + }, + "options": { + "nixos": { + "expr": "(builtins.getFlake \"github:nixos/nixpkgs\").nixosConfigurations..options" + }, + "home-manager": { + "expr": "(builtins.getFlake \"github:nix-community/home-manager\").homeConfigurations..options" + } + } + } + } +} diff --git a/pkgs/flake-module.nix b/pkgs/flake-module.nix index 4ee1e9dd..aa353dbb 100644 --- a/pkgs/flake-module.nix +++ b/pkgs/flake-module.nix @@ -25,6 +25,7 @@ moonlight-sunshine-accept = pkgs.callPackage ./moonlight-sunshine-accept { }; merge-after-ci = pkgs.callPackage ./merge-after-ci { inherit (config.packages) tea-create-pr; }; pending-reviews = pkgs.callPackage ./pending-reviews { }; + editor = pkgs.callPackage ./editor/clan-edit-codium.nix { }; } // lib.optionalAttrs pkgs.stdenv.isLinux { wayland-proxy-virtwl = pkgs.callPackage ./wayland-proxy-virtwl { };