diff --git a/flake.lock b/flake.lock index 3ea9c72..32ffeac 100644 --- a/flake.lock +++ b/flake.lock @@ -400,11 +400,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1719854753, - "narHash": "sha256-ms8pMyIK4FGV8UaPrZP7CWNrEGJlcKnQcUPONglz3Zg=", + "lastModified": 1720880509, + "narHash": "sha256-e0MTMRyoIT3J2AlszL4QPYPQgyoHtD0ymIjAWt9Q0KM=", "owner": "xunuwu", "repo": "small-nvim", - "rev": "02f87ed2eff21db2ef7b672e4e89638643d0b0cd", + "rev": "40999310f248b58022bc4ca12e9dff48ff4ce4a0", "type": "github" }, "original": { diff --git a/home/profiles/nixdesk/default.nix b/home/profiles/nixdesk/default.nix index c45ce22..d86e588 100644 --- a/home/profiles/nixdesk/default.nix +++ b/home/profiles/nixdesk/default.nix @@ -44,12 +44,12 @@ ../../programs/media/jellyfin.nix # gaming ../../programs/games - ../../programs/games/ludusavi.nix + #../../programs/games/ludusavi.nix # media services ../../services/media/playerctl.nix # system services ../../services/system/polkit-agent.nix - ../../services/system/udiskie.nix + ../../services/system/udiskie.nix # although i dont need this for usb memory, it is quite convenient for flashing qmk ]; } diff --git a/home/programs/browsers/firefox/default.nix b/home/programs/browsers/firefox/default.nix index cb7b031..caeac91 100644 --- a/home/programs/browsers/firefox/default.nix +++ b/home/programs/browsers/firefox/default.nix @@ -169,7 +169,7 @@ "browser.aboutConfig.showWarning" = false; # Warning when opening about:config "media.videocontrols.picture-in-picture.video-toggle.enabled" = false; "extensions.autoDisableScopes" = "0"; # Automatically enable extensions - "extensions.pocket.enabled" = false; + "extensions.pocket.enabled" = true; # i actually use pocket "extensions.shield-recipe-client.enabled" = false; #"reader.parse-on-load.enabled" = false; # "reader view" diff --git a/home/programs/desktop/sway/default.nix b/home/programs/desktop/sway/default.nix index f65134c..fd76c13 100644 --- a/home/programs/desktop/sway/default.nix +++ b/home/programs/desktop/sway/default.nix @@ -17,6 +17,28 @@ extraOptions = ["-max-items" "150"]; }; + # notification center + services.swaync = { + enable = true; + settings = { + positionX = "right"; + positionY = "top"; + layer = "overlay"; + control-center-layer = "top"; + layer-shell = true; + cssPriority = "application"; + control-center-margin-top = 0; + control-center-margin-bottom = 0; + control-center-margin-right = 0; + control-center-margin-left = 0; + notification-2fa-action = true; + notification-inline-replies = false; + notification-icon-size = 64; + notification-body-image-height = 100; + notification-body-image-width = 200; + }; + }; + wayland.windowManager.sway = { enable = true; checkConfig = false; # doesnt work with custom wallpaper @@ -59,12 +81,13 @@ kill -s SIGSTOP $pid fi ''; - dir = with config.wayland.windowManager.sway.config; { - inherit up down left right; + dir = { + inherit (config.wayland.windowManager.sway.config) up down left right; }; in lib.mkOptionDefault ( { + "${mod}+n" = "exec ${pkgs.swaynotificationcenter}/bin/swaync-client -t"; "${mod}+Shift+v" = "exec ${lib.getExe pkgs.cliphist} list | ${lib.getExe pkgs.wofi} --dmenu | ${lib.getExe pkgs.cliphist} decode | ${pkgs.wl-clipboard}/bin/wl-copy"; "${mod}+Ctrl+${dir.left}" = "focus output left"; "${mod}+Ctrl+${dir.right}" = "focus output right"; @@ -78,7 +101,7 @@ "${mod}+Shift+Backspace" = "exec systemctl suspend"; "${mod}+Shift+s" = "exec ${lib.getExe pkgs.sway-contrib.grimshot} copy anything"; - "${mod}+Ctrl+Shift+s" = "exec XDG_PICTURES_DIR=$XDG_PICTURES_DIR/screenshots ${lib.getExe pkgs.sway-contrib.grimshot} savecopy anything"; + "${mod}+Ctrl+Shift+s" = "exec ${lib.getExe pkgs.sway-contrib.grimshot} savecopy anything"; "${mod}+Shift+p" = "exec ${pauseApp}"; diff --git a/home/programs/misc/discord.nix b/home/programs/misc/discord.nix index 70b1b31..77dc51f 100644 --- a/home/programs/misc/discord.nix +++ b/home/programs/misc/discord.nix @@ -2,7 +2,6 @@ home.packages = with pkgs; [ vesktop (discord.override { - withVencord = true; withOpenASAR = true; }) ]; diff --git a/hosts/default.nix b/hosts/default.nix index c9317e2..ec01d97 100644 --- a/hosts/default.nix +++ b/hosts/default.nix @@ -53,7 +53,7 @@ in { (modulePaths [ "services/syncthing.nix" "services/virt/waydroid.nix" - "services/virt/virt-manager.nix" + #"services/virt/virt-manager.nix" #"network/wifi.nix" #"services/ollama.nix" "desktop/x11/nosleep.nix" @@ -61,6 +61,7 @@ in { "programs/gamemode.nix" "programs/gamescope.nix" "programs/steam.nix" + "programs/RE" ]) { @@ -86,6 +87,7 @@ in { (modulePaths [ "core" + "core/tools.nix" #"programs" #"programs/steam.nix" diff --git a/hosts/nixdesk/default.nix b/hosts/nixdesk/default.nix index 4b3a584..ceddb8b 100644 --- a/hosts/nixdesk/default.nix +++ b/hosts/nixdesk/default.nix @@ -1,16 +1,21 @@ -{ +{lib, ...}: { imports = [ ./hardware.nix + ./hibernate-boot.nix ]; networking.hostName = "nixdesk"; - swapDevices = [ - { - device = "/var/lib/swapfile"; - size = 16 * 1024; - } - ]; + #swapDevices = lib.singleton { + # device = "/dev/disk/by-uuid/1dcce4ab-71da-4928-83d5-62b20fd0fddf"; + #}; + + #boot.resumeDevice = "/dev/disk/by-uuid/1dcce4ab-71da-4928-83d5-62b20fd0fddf"; + + #boot.kernelParams = [ + # "resume=UUID=1dcce4ab-71da-4928-83d5-62b20fd0fddf" + # "resume_offset=3841492992" # fdisk -l + #]; networking.interfaces.eno1.wakeOnLan.enable = true; diff --git a/hosts/nixdesk/hardware.nix b/hosts/nixdesk/hardware.nix index 9ca599b..2ef385e 100644 --- a/hosts/nixdesk/hardware.nix +++ b/hosts/nixdesk/hardware.nix @@ -2,6 +2,7 @@ inputs, config, pkgs, + lib, ... }: { imports = [ @@ -59,12 +60,25 @@ fsType = "btrfs"; options = ["subvol=nix" "compress=zstd" "noatime"]; }; + "/.swapvol" = { + device = "/dev/disk/by-uuid/d87276c0-ef9c-422e-b2de-effc1b47c654"; + fsType = "btrfs"; + options = ["subvol=swap" "noatime"]; + }; "/boot" = { device = "/dev/disk/by-uuid/588B-CB97"; fsType = "vfat"; }; }; + boot.resumeDevice = "/dev/disk/by-uuid/d87276c0-ef9c-422e-b2de-effc1b47c654"; + # btrfs inspect-internal map-swapfile -r /.swapvol/swapfile + boot.kernelParams = ["resume_offset=76293376"]; + + swapDevices = lib.singleton { + device = "/.swapvol/swapfile"; + }; + hardware.enableAllFirmware = true; services.xserver.videoDrivers = [ diff --git a/hosts/nixdesk/hibernate-boot.nix b/hosts/nixdesk/hibernate-boot.nix new file mode 100644 index 0000000..eb91fbd --- /dev/null +++ b/hosts/nixdesk/hibernate-boot.nix @@ -0,0 +1,28 @@ +{pkgs, ...}: { + # hibernate and reboot to firmware + # this allows me to save linux state and boot into another os (such as windows) + # make sure not to mount any filesystems from the other os or you risk losing data + environment.systemPackages = [ + (pkgs.writeShellScriptBin "hib-boot" '' + set -e + + if [ ! -v 1 ]; then + echo "no argument provided" + echo "please provide the id for the os you want to boot" + echo "these are the valid id's:" + echo "" + ${pkgs.efibootmgr}/bin/efibootmgr + exit + fi + + if [ ! -w /sys/power/disk -o ! -w /sys/power/state ]; then + echo "you lack permission to write to /sys/power/{disk,state}, are you not running this script as root?" + exit + fi + + ${pkgs.efibootmgr}/bin/efibootmgr -n "$1" >/dev/null + echo reboot >/sys/power/disk + echo disk >/sys/power/state + '') + ]; +} diff --git a/pkgs/binaryninja-personal/default.nix b/pkgs/binaryninja-personal/default.nix new file mode 100644 index 0000000..df8359d --- /dev/null +++ b/pkgs/binaryninja-personal/default.nix @@ -0,0 +1,109 @@ +{ + lib, + stdenv, + autoPatchelfHook, + makeWrapper, + requireFile, + unzip, + libGL, + glib, + fontconfig, + qt6, + dbus, + python3, + wayland, + makeDesktopItem, + imagemagick, + wrapQtAppsHook, +}: let + desktopItem = makeDesktopItem { + name = "binaryninja-personal"; + exec = "binaryninja-personal"; + icon = "binaryninja"; + desktopName = "Binary Ninja Personal"; + genericName = "Binary Ninja Personal"; + categories = ["Development" "Debugger" "Profiling"]; + terminal = false; + }; + crack = requireFile { + name = "libbinaryninjacore.so.1"; + sha256 = "6bff56e25e55eb701f00ba294f8d5f0cd169d350412bcbfe4fea7a8feb1b3022"; + message = "add cracked libbinaryninjacore.so.1 to the nix store with command \"nix-store --add-fixed sha256 libbinaryninjacore.so.1\""; + }; +in + # (stdenv.mkDerivation { + # name = "binaryninja-crack"; + # src = requireFile { + # name = "libbinaryninjacore.so.1"; + # sha256 = "6bff56e25e55eb701f00ba294f8d5f0cd169d350412bcbfe4fea7a8feb1b3022"; + # message = "add cracked libbinaryninjacore.so.1 to the nix store with command \"nix-store --add-fixed sha256 libbinaryninjacore.so.1\""; + # }; + # installPhase = '' + # mv libbinaryninjacore.so.1 crack-libbinaryninjacore.so.1 + # ''; + # }) + stdenv.mkDerivation { + name = "binaryninja-personal"; + + nativeBuildInputs = [ + imagemagick + wrapQtAppsHook + ]; + + buildInputs = [ + autoPatchelfHook + makeWrapper + unzip + wayland + libGL + qt6.full + qt6.qtbase + stdenv.cc.cc.lib + glib + fontconfig + dbus + ]; + runtimeDependencies = [ + python3 + ]; + + src = requireFile { + name = "binaryninja_personal_linux.zip"; + url = "https://binary.ninja/recover/"; + + # https://auth.lol/hashes || https://binary.ninja/js/hashes.js + sha256 = "770be9e7e76f4b083aa767f8f2ad6fdd3dddbe247658a84905a7f625402f49bf"; + }; + + dontWrapQtApps = true; + buildPhase = ":"; + installPhase = '' + runHook preInstall + + mkdir -p $out/bin + mkdir -p $out/opt + + cp -r * $out/opt + chmod +x $out/opt/binaryninja + + makeWrapper $out/opt/binaryninja \ + $out/bin/binaryninja-personal \ + --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [python3]} \ + "''${qtWrapperArgs[@]}" + + runHook postInstall + ''; + + postInstall = '' + mkdir -p $out/share/applications + ln -s ${desktopItem}/share/applications/* $out/share/applications + + for i in 16 24 48 64 96 128 256 512; do + mkdir -p $out/share/icons/hicolor/''${i}x''${i}/apps + convert -background none -resize ''${i}x''${i} $out/opt/docs/img/logo.png $out/share/icons/hicolor/''${i}x''${i}/apps/binaryninja.png + done + + cp -r ${crack} $out/opt/binja-crack.so + patchelf --replace-needed libbinaryninjacore.so.1 $out/opt/binja-crack.so $out/opt/binaryninja + ''; + } diff --git a/pkgs/default.nix b/pkgs/default.nix index 4a2c38d..e46e5d8 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -2,4 +2,5 @@ jdnbtexplorer = pkgs.qt6Packages.callPackage ./jdnbtexplorer {}; gamesand = pkgs.callPackage ./gamesand {}; pince = pkgs.callPackage ./pince {}; + binaryninja-personal = pkgs.qt6Packages.callPackage ./binaryninja-personal {}; } diff --git a/system/core/boot.nix b/system/core/boot.nix index 74799b5..61d76cd 100644 --- a/system/core/boot.nix +++ b/system/core/boot.nix @@ -19,8 +19,4 @@ plymouth.enable = true; }; - - environment.systemPackages = [ - config.boot.kernelPackages.cpupower - ]; } diff --git a/system/core/docs.nix b/system/core/docs.nix index 9a43366..576e099 100644 --- a/system/core/docs.nix +++ b/system/core/docs.nix @@ -1,7 +1,7 @@ {pkgs, ...}: { documentation = { dev.enable = true; - #man.generateCaches = true; + # man.generateCaches = true; # this does slow down builds by quite a lot }; environment.systemPackages = with pkgs; [ linux-manual diff --git a/system/programs/RE/default.nix b/system/programs/RE/default.nix new file mode 100644 index 0000000..8654559 --- /dev/null +++ b/system/programs/RE/default.nix @@ -0,0 +1,34 @@ +# patchelf --replace-needed libbinaryninjacore.so.1 ${symlinkJoin} $out/opt/binaryninja +{ + pkgs, + self, + ... +}: { + environment.systemPackages = let + il2cppdumper = pkgs.callPackage ./il2cppdumper {}; + ilspy = pkgs.callPackage ./ilspy {}; + in + with pkgs; [ + (ghidra.withExtensions (ps: + with ps; [ + gnudisassembler + machinelearning + ])) + + (cutter.withPlugins (ps: + with ps; [ + rz-ghidra + ])) + + self.packages.${pkgs.system}.binaryninja-personal + il2cppdumper + ilspy + gdb + ]; + + networking.hosts = { + "0.0.0.0" = ["master.binary.ninja"]; # idk my binary ninja crack [AMPED] told me to + }; +} +## NOTE: you still need to run keygen.exe to generate a key + diff --git a/system/programs/RE/il2cppdumper/default.nix b/system/programs/RE/il2cppdumper/default.nix new file mode 100644 index 0000000..eafa1a7 --- /dev/null +++ b/system/programs/RE/il2cppdumper/default.nix @@ -0,0 +1,33 @@ +{ + buildDotnetModule, + dotnetCorePackages, + fetchFromGitHub, +}: +buildDotnetModule rec { + pname = "il2cppdumper"; + version = "6.7.46"; + + src = fetchFromGitHub { + owner = "Perfare"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-pMxxwBpuZ2EuP7O99XTJcnS3Dq8MdxvUGQHJ0U3bnTY="; + }; + + projectFile = "Il2CppDumper/Il2CppDumper.csproj"; + + nugetDeps = ./deps.nix; + + dotnet-sdk = with dotnetCorePackages; combinePackages [sdk_7_0 sdk_6_0]; + dotnet-runtime = dotnetCorePackages.runtime_7_0; + + dotnetBuildFlags = [ + "-f" + "net7.0" + ]; + dotnetInstallFlags = dotnetBuildFlags; + + executables = [ + "Il2CppDumper" + ]; +} diff --git a/system/programs/RE/il2cppdumper/deps.nix b/system/programs/RE/il2cppdumper/deps.nix new file mode 100644 index 0000000..59aa2a1 --- /dev/null +++ b/system/programs/RE/il2cppdumper/deps.nix @@ -0,0 +1,22 @@ +{fetchNuGet}: [ + (fetchNuGet { + pname = "Microsoft.AspNetCore.App.Ref"; + version = "6.0.31"; + sha256 = "0hki4z9x60vzcg53s8cxnig4g1xnpqcj629r2cg5q1xw0sknfp5d"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.App.Host.linux-x64"; + version = "6.0.31"; + sha256 = "10s0p30qzfn9zibp1ldnqar87hqs47ni3rwqpvwx4jn3589cl9sn"; + }) + (fetchNuGet { + pname = "Microsoft.NETCore.App.Ref"; + version = "6.0.31"; + sha256 = "19a4ainxj8jxij7ckglbmlnvrjxp72xfgx0r6lbglzh9dhsakwm7"; + }) + (fetchNuGet { + pname = "Mono.Cecil"; + version = "0.11.4"; + sha256 = "1yxa7mh432s7g7p9r7scqxvxjk5ypwc567qdbf0gmk8fbf0d3f8y"; + }) +] diff --git a/system/programs/RE/ilspy/default.nix b/system/programs/RE/ilspy/default.nix new file mode 100644 index 0000000..cbbb047 --- /dev/null +++ b/system/programs/RE/ilspy/default.nix @@ -0,0 +1,27 @@ +{ + buildDotnetModule, + dotnetCorePackages, + fetchFromGitHub, + powershell, +}: +buildDotnetModule rec { + pname = "ilspy"; + version = "9.0-preview2"; + src = fetchFromGitHub { + owner = "icsharpcode"; + repo = "ILSpy"; + rev = "v${version}"; + sha256 = "sha256-JaFyKq5ZyHLvodY2/Ybwb/FmDeWQ5BawmA1ss+Qry20="; + }; + + buildInputs = [ + powershell + ]; + + projectFile = "ICSharpCode.ILSpyCmd/ICSharpCode.ILSpyCmd.csproj"; + + dotnet-sdk = dotnetCorePackages.sdk_8_0; + dotnet-runtime = dotnetCorePackages.runtime_8_0; + + nugetDeps = ./deps.nix; +} diff --git a/system/programs/RE/ilspy/deps.nix b/system/programs/RE/ilspy/deps.nix new file mode 100644 index 0000000..11002ae --- /dev/null +++ b/system/programs/RE/ilspy/deps.nix @@ -0,0 +1,80 @@ +# This file was automatically generated by passthru.fetch-deps. +# Please dont edit it manually, your changes might get overwritten! + +{ fetchNuGet }: [ + (fetchNuGet { pname = "K4os.Compression.LZ4"; version = "1.3.8"; sha256 = "0813zra3gp35z9nwzqps534v2b34d8hsmmxy1hcrkamq0ckzfr1s"; }) + (fetchNuGet { pname = "McMaster.Extensions.CommandLineUtils"; version = "4.1.1"; sha256 = "0jp4q30lfh42y3h8057y2icllnil7cbigkry4l514wbayj8jwp9b"; }) + (fetchNuGet { pname = "McMaster.Extensions.Hosting.CommandLine"; version = "4.1.1"; sha256 = "0w18sn248pga1g83z5qakdfvzp8729h9da01kd14xg5l115jngj3"; }) + (fetchNuGet { pname = "Microsoft.Build.Tasks.Git"; version = "8.0.0"; sha256 = "0055f69q3hbagqp8gl3nk0vfn4qyqyxsxyy7pd0g7wm3z28byzmx"; }) + (fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "8.0.0"; sha256 = "080kab87qgq2kh0ijry5kfdiq9afyzb8s0k3jqi5zbbi540yq4zl"; }) + (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "6.0.0"; sha256 = "0w6wwxv12nbc3sghvr68847wc9skkdgsicrz3fx4chgng1i3xy0j"; }) + (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "8.0.0"; sha256 = "1jlpa4ggl1gr5fs7fdcw04li3y3iy05w3klr9lrrlc7v8w76kq71"; }) + (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "8.0.0"; sha256 = "1m0gawiz8f5hc3li9vd5psddlygwgkiw13d7div87kmkf4idza8r"; }) + (fetchNuGet { pname = "Microsoft.Extensions.Configuration.CommandLine"; version = "8.0.0"; sha256 = "026f7f2iv6ph2dc5rnslll0bly8qcx5clmh2nn9hgyqjizzc4qvy"; }) + (fetchNuGet { pname = "Microsoft.Extensions.Configuration.EnvironmentVariables"; version = "8.0.0"; sha256 = "13qb8wz3k59ihq0mjcqz1kwrpyzxn5da4dhk2pvcgc42z9kcbf7r"; }) + (fetchNuGet { pname = "Microsoft.Extensions.Configuration.FileExtensions"; version = "8.0.0"; sha256 = "1jrmlfzy4h32nzf1nm5q8bhkpx958b0ww9qx1k1zm4pyaf6mqb04"; }) + (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Json"; version = "8.0.0"; sha256 = "1n3ss26v1lq6b69fxk1vz3kqv9ppxq8ypgdqpd7415xrq66y4bqn"; }) + (fetchNuGet { pname = "Microsoft.Extensions.Configuration.UserSecrets"; version = "8.0.0"; sha256 = "1br01zhzhnxjzqx63bxd25x48y9xs69hcs71pjni8y9kl50zja7z"; }) + (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "8.0.0"; sha256 = "0i7qziz0iqmbk8zzln7kx9vd0lbx1x3va0yi3j1bgkjir13h78ps"; }) + (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "6.0.0"; sha256 = "1vi67fw7q99gj7jd64gnnfr4d2c0ijpva7g9prps48ja6g91x6a9"; }) + (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "8.0.0"; sha256 = "1zw0bpp5742jzx03wvqc8csnvsbgdqi0ls9jfc5i2vd3cl8b74pg"; }) + (fetchNuGet { pname = "Microsoft.Extensions.Diagnostics"; version = "8.0.0"; sha256 = "0ghwkld91k20hcbmzg2137w81mzzdh8hfaapdwckhza0vipya4kw"; }) + (fetchNuGet { pname = "Microsoft.Extensions.Diagnostics.Abstractions"; version = "8.0.0"; sha256 = "15m4j6w9n8h0mj7hlfzb83hd3wn7aq1s7fxbicm16slsjfwzj82i"; }) + (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Abstractions"; version = "6.0.0"; sha256 = "1fbqmfapxdz77drcv1ndyj2ybvd2rv4c9i9pgiykcpl4fa6dc65q"; }) + (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Abstractions"; version = "8.0.0"; sha256 = "1idq65fxwcn882c06yci7nscy9i0rgw6mqjrl7362prvvsd9f15r"; }) + (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Physical"; version = "8.0.0"; sha256 = "05wxjvjbx79ir7vfkri6b28k8zl8fa6bbr0i7gahqrim2ijvkp6v"; }) + (fetchNuGet { pname = "Microsoft.Extensions.FileSystemGlobbing"; version = "8.0.0"; sha256 = "1igf2bqism22fxv7km5yv028r4rg12a4lki2jh4xg3brjkagiv7q"; }) + (fetchNuGet { pname = "Microsoft.Extensions.Hosting"; version = "8.0.0"; sha256 = "1f2af5m1yny8b43251gsj75hjd9ixni1clcldy8cg91z1vxxm8dh"; }) + (fetchNuGet { pname = "Microsoft.Extensions.Hosting.Abstractions"; version = "6.0.0"; sha256 = "1mwjx6li4a82nb589763whpnhf5hfy1bpv1dzqqvczb1lhxhzhlj"; }) + (fetchNuGet { pname = "Microsoft.Extensions.Hosting.Abstractions"; version = "8.0.0"; sha256 = "00d5dwmzw76iy8z40ly01hy9gly49a7rpf7k7m99vrid1kxp346h"; }) + (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "8.0.0"; sha256 = "0nppj34nmq25gnrg0wh1q22y4wdqbih4ax493f226azv8mkp9s1i"; }) + (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "6.0.0"; sha256 = "0b75fmins171zi6bfdcq1kcvyrirs8n91mknjnxy4c3ygi1rrnj0"; }) + (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "8.0.0"; sha256 = "1klcqhg3hk55hb6vmjiq2wgqidsl81aldw0li2z98lrwx26msrr6"; }) + (fetchNuGet { pname = "Microsoft.Extensions.Logging.Configuration"; version = "8.0.0"; sha256 = "1d9b734vnll935661wqkgl7ry60rlh5p876l2bsa930mvfsaqfcv"; }) + (fetchNuGet { pname = "Microsoft.Extensions.Logging.Console"; version = "8.0.0"; sha256 = "1mvp3ipw7k33v2qw2yrvc4vl5yzgpk3yxa94gg0gz7wmcmhzvmkd"; }) + (fetchNuGet { pname = "Microsoft.Extensions.Logging.Debug"; version = "8.0.0"; sha256 = "1h7mg97lj0ss47kq7zwnihh9c6xcrkwrr8ffhc16qcsrh36sg6q0"; }) + (fetchNuGet { pname = "Microsoft.Extensions.Logging.EventLog"; version = "8.0.0"; sha256 = "05vfrxw7mlwlwhsl6r4yrhxk3sd8dv5sl0hdlcpgw62n53incw5x"; }) + (fetchNuGet { pname = "Microsoft.Extensions.Logging.EventSource"; version = "8.0.0"; sha256 = "0gbjll6p03rmw0cf8fp0p8cxzn9awmzv8hvnyqbczrkax5h7p94i"; }) + (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "8.0.0"; sha256 = "0p50qn6zhinzyhq9sy5svnmqqwhw2jajs2pbjh9sah504wjvhscz"; }) + (fetchNuGet { pname = "Microsoft.Extensions.Options.ConfigurationExtensions"; version = "8.0.0"; sha256 = "04nm8v5a3zp0ill7hjnwnja3s2676b4wffdri8hdk2341p7mp403"; }) + (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "6.0.0"; sha256 = "1kjiw6s4yfz9gm7mx3wkhp06ghnbs95icj9hi505shz9rjrg42q2"; }) + (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "8.0.0"; sha256 = "0aldaz5aapngchgdr7dax9jw5wy7k7hmjgjpfgfv1wfif27jlkqm"; }) + (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "8.0.0"; sha256 = "0hyvbh86433764qqqhw9i7ga0ax7bbdmzh77jw58pq0ggm41cff9"; }) + (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; }) + (fetchNuGet { pname = "Microsoft.SourceLink.Common"; version = "8.0.0"; sha256 = "0xrr8yd34ij7dqnyddkp2awfmf9qn3c89xmw2f3npaa4wnajmx81"; }) + (fetchNuGet { pname = "Microsoft.SourceLink.GitHub"; version = "8.0.0"; sha256 = "1gdx7n45wwia3yvang3ls92sk3wrymqcx9p349j8wba2lyjf9m44"; }) + (fetchNuGet { pname = "Mono.Cecil"; version = "0.11.5"; sha256 = "1l388sy7ibsq4b2pj08g3di0g8yppq47chd7ip10kwml6mpp1wcw"; }) + (fetchNuGet { pname = "NETStandard.Library"; version = "2.0.3"; sha256 = "1fn9fxppfcg4jgypp2pmrpr6awl3qz1xmnri0cygpkwvyx27df1y"; }) + (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.3"; sha256 = "0xrwysmrn4midrjal8g2hr1bbg38iyisl0svamb11arqws4w2bw7"; }) + (fetchNuGet { pname = "NuGet.Common"; version = "6.10.0"; sha256 = "0nizrnilmlcqbm945293h8q3wfqfchb4xi8g50x4kjn0rbpd1kbh"; }) + (fetchNuGet { pname = "NuGet.Configuration"; version = "6.10.0"; sha256 = "1aqaknaawnqx4mnvx9qw73wvj48jjzv0d78dzwl7m9zjlrl9myhz"; }) + (fetchNuGet { pname = "NuGet.Frameworks"; version = "6.10.0"; sha256 = "0hrd8y31zx9a0wps49czw0qgbrakb49zn3abfgylc9xrq990zkqk"; }) + (fetchNuGet { pname = "NuGet.Packaging"; version = "6.10.0"; sha256 = "18s53cvrf51lihmaqqdf48p2qi6ky1l48jv0hvbp76cxwdg7rba4"; }) + (fetchNuGet { pname = "NuGet.Protocol"; version = "6.10.0"; sha256 = "0hmv4q0ks9i34mfgpb13l01la9v3jjllfh1qd3aqv105xrqrdxac"; }) + (fetchNuGet { pname = "NuGet.Versioning"; version = "6.10.0"; sha256 = "1x19njx4x0sw9fz8y5fibi15xfsrw5avir0cx0599yd7p3ykik5g"; }) + (fetchNuGet { pname = "System.Buffers"; version = "4.5.1"; sha256 = "04kb1mdrlcixj9zh1xdi5as0k0qi8byr5mi3p3jcxx72qz93s2y3"; }) + (fetchNuGet { pname = "System.Collections.Immutable"; version = "6.0.0"; sha256 = "1js98kmjn47ivcvkjqdmyipzknb9xbndssczm8gq224pbaj1p88c"; }) + (fetchNuGet { pname = "System.Collections.Immutable"; version = "8.0.0"; sha256 = "0z53a42zjd59zdkszcm7pvij4ri5xbb8jly9hzaad9khlf69bcqp"; }) + (fetchNuGet { pname = "System.ComponentModel.Annotations"; version = "5.0.0"; sha256 = "021h7x98lblq9avm1bgpa4i31c2kgsa7zn4sqhxf39g087ar756j"; }) + (fetchNuGet { pname = "System.ComponentModel.Composition"; version = "8.0.0"; sha256 = "02hmqwrdvqzq4ka4kpf88i7n3qp6lw1xwp7424kg08pa9y69swij"; }) + (fetchNuGet { pname = "System.Composition"; version = "8.0.0"; sha256 = "0y7rp5qwwvh430nr0r15zljw01gny8yvr0gg6w5cmsk3q7q7a3dc"; }) + (fetchNuGet { pname = "System.Composition.AttributedModel"; version = "8.0.0"; sha256 = "16j61piz1jf8hbh14i1i4m2r9vw79gdqhjr4f4i588h52249fxlz"; }) + (fetchNuGet { pname = "System.Composition.Convention"; version = "8.0.0"; sha256 = "10fwp7692a6yyw1p8b923k061zh95a6xs3vzfdmdv5pmf41cxlb7"; }) + (fetchNuGet { pname = "System.Composition.Hosting"; version = "8.0.0"; sha256 = "1gbfimhxx6v6073pblv4rl5shz3kgx8lvfif5db26ak8pl5qj4kb"; }) + (fetchNuGet { pname = "System.Composition.Runtime"; version = "8.0.0"; sha256 = "0snljpgfmg0wlkwilkvn9qjjghq1pjdfgdpnwhvl2qw6vzdij703"; }) + (fetchNuGet { pname = "System.Composition.TypedParts"; version = "8.0.0"; sha256 = "0skwla26d8clfz3alr8m42qbzsrbi7dhg74z6ha832b6730mm4pr"; }) + (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "8.0.0"; sha256 = "0nzra1i0mljvmnj1qqqg37xs7bl71fnpl68nwmdajchh65l878zr"; }) + (fetchNuGet { pname = "System.Diagnostics.EventLog"; version = "8.0.0"; sha256 = "1xnvcidh2qf6k7w8ij1rvj0viqkq84cq47biw0c98xhxg5rk3pxf"; }) + (fetchNuGet { pname = "System.Formats.Asn1"; version = "6.0.0"; sha256 = "1vvr7hs4qzjqb37r0w1mxq7xql2b17la63jwvmgv65s1hj00g8r9"; }) + (fetchNuGet { pname = "System.Memory"; version = "4.5.4"; sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y"; }) + (fetchNuGet { pname = "System.Numerics.Vectors"; version = "4.4.0"; sha256 = "0rdvma399070b0i46c4qq1h2yvjj3k013sqzkilz4bz5cwmx1rba"; }) + (fetchNuGet { pname = "System.Reflection.Metadata"; version = "6.0.0"; sha256 = "1x0b289r9yjzdqypi2x3dc8sa66s3b6bpc7l2f8hxrzl6czdg4al"; }) + (fetchNuGet { pname = "System.Reflection.Metadata"; version = "8.0.0"; sha256 = "10a8vm0c3n5cili5nix6bdmiaxr69qisvk356pb81f2s8bgq40bm"; }) + (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "6.0.0"; sha256 = "0qm741kh4rh57wky16sq4m0v05fxmkjjr87krycf5vp9f0zbahbc"; }) + (fetchNuGet { pname = "System.Security.Cryptography.Pkcs"; version = "6.0.4"; sha256 = "0hh5h38pnxmlrnvs72f2hzzpz4b2caiiv6xf8y7fzdg84r3imvfr"; }) + (fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "4.4.0"; sha256 = "1q8ljvqhasyynp94a1d7jknk946m20lkwy2c3wa8zw2pc517fbj6"; }) + (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "8.0.0"; sha256 = "1wbypkx0m8dgpsaqgyywz4z760xblnwalb241d5qv9kx8m128i11"; }) + (fetchNuGet { pname = "System.Text.Json"; version = "8.0.0"; sha256 = "134savxw0sq7s448jnzw17bxcijsi1v38mirpbb6zfxmqlf04msw"; }) + (fetchNuGet { pname = "TunnelVisionLabs.ReferenceAssemblyAnnotator"; version = "1.0.0-alpha.160"; sha256 = "1wvfa3098a984kydjgjvx43gncnr89fw20if2gqvz8kqn9pxqjbq"; }) +] + diff --git a/system/programs/tools.nix b/system/programs/tools.nix index b96c391..b8d5dfa 100644 --- a/system/programs/tools.nix +++ b/system/programs/tools.nix @@ -13,6 +13,7 @@ ffmpeg-full parted busybox + fd # find replacement ( if config.nixpkgs.config.allowUnfree then p7zip-rar