mirror of
https://github.com/Smaug123/nix-dotfiles
synced 2025-10-06 06:58:41 +00:00
45 lines
1.2 KiB
Nix
45 lines
1.2 KiB
Nix
{ pkgs, config, lib, ... }:
|
|
|
|
let src = ./GlobalSettingsStorage.DotSettings; in
|
|
let link = ./link.sh; in
|
|
|
|
let riderconfig =
|
|
pkgs.stdenv.mkDerivation {
|
|
name = "rider-config";
|
|
version = "2021.2";
|
|
|
|
src = src;
|
|
phases = [ "unpackPhase" ];
|
|
unpackPhase = ''
|
|
mkdir -p "$out"
|
|
cp ${src} "$out/GlobalSettingsStorage.DotSettings"
|
|
cp ${link} "$out/link.sh"
|
|
chmod u+x "$out/link.sh"
|
|
sed -i 's_NIX-DOTNET-SDK_${config.rider.dotnet}_' "$out/GlobalSettingsStorage.DotSettings"
|
|
sed -i "s!NIX-RIDER-CONFIG!$out!" "$out/link.sh"
|
|
'';
|
|
|
|
installPhase = ''
|
|
'';
|
|
};
|
|
in
|
|
|
|
{
|
|
options = {
|
|
rider.enable = lib.mkOption { default = false; };
|
|
rider.username = lib.mkOption { type = lib.types.str; example = "Patrick"; };
|
|
rider.dotnet = lib.mkOption { default = pkgs.dotnet-sdk; };
|
|
};
|
|
|
|
config = lib.mkIf config.rider.enable {
|
|
home.activation.jetbrains-rider-settings = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
|
|
|
|
dest="/Users/${config.rider.username}/Library/Application Support/JetBrains"
|
|
if [ -e "$dest" ]; then
|
|
find "$dest" -maxdepth 1 -type d -name 'Rider*' -exec sh -c '${riderconfig}/link.sh "$0"' {} \;
|
|
fi
|
|
'';
|
|
};
|
|
|
|
}
|