diff options
Diffstat (limited to '')
-rw-r--r-- | packages/bruh.nix | 17 | ||||
-rw-r--r-- | packages/mpv-autosub.nix | 28 | ||||
-rw-r--r-- | packages/myip.nix | 12 | ||||
-rw-r--r-- | packages/nixfiles.nix | 82 | ||||
-rw-r--r-- | packages/throttled.nix | 36 | ||||
-rw-r--r-- | packages/ultimmc.nix | 63 |
6 files changed, 238 insertions, 0 deletions
diff --git a/packages/bruh.nix b/packages/bruh.nix new file mode 100644 index 0000000..a555fcc --- /dev/null +++ b/packages/bruh.nix @@ -0,0 +1,17 @@ +{ + fetchFromGitHub, + stdenv, +}: +stdenv.mkDerivation rec { + pname = "bruh"; + version = "2.1"; + + src = fetchFromGitHub { + owner = "kejpies"; + repo = pname; + rev = version; + hash = "sha256-Uw6Qes0IZkkfBchFnvnX9l1ZG5T5pyExmV7yUJLPOJ0="; + }; + + makeFlags = ["PREFIX=$(out)"]; +} diff --git a/packages/mpv-autosub.nix b/packages/mpv-autosub.nix new file mode 100644 index 0000000..cebab76 --- /dev/null +++ b/packages/mpv-autosub.nix @@ -0,0 +1,28 @@ +{ + fetchFromGitHub, + python3Packages, + stdenvNoCC, +}: +stdenvNoCC.mkDerivation rec { + pname = "mpv-autosub"; + version = "unstable-"; + + src = fetchFromGitHub { + owner = "davidde"; + repo = pname; + rev = "35115355bd339681f97d067538356c29e5b14afa"; + hash = "sha256-BKT/Tzwl5ZA4fbdc/cxz0+CYc1zyY/KOXc58x5GYow0="; + }; + + postPatch = '' + substituteInPlace autosub.lua \ + --replace '/home/david/.local/bin/subliminal' \ + '${python3Packages.subliminal}/bin/subliminal' + ''; + + installPhase = '' + install -Dm644 autosub.lua $out/share/mpv/scripts/autosub.lua + ''; + + passthru.scriptName = "autosub.lua"; +} diff --git a/packages/myip.nix b/packages/myip.nix new file mode 100644 index 0000000..a830139 --- /dev/null +++ b/packages/myip.nix @@ -0,0 +1,12 @@ +{ + dnsutils, + writeShellApplication, +}: +writeShellApplication { + name = "myip"; + runtimeInputs = [dnsutils]; + text = '' + dig -4 +short @resolver1.opendns.com myip.opendns.com A + dig -6 +short @resolver1.opendns.com myip.opendns.com AAAA + ''; +} diff --git a/packages/nixfiles.nix b/packages/nixfiles.nix new file mode 100644 index 0000000..90a5865 --- /dev/null +++ b/packages/nixfiles.nix @@ -0,0 +1,82 @@ +{ + git, + jq, + lib, + nix, + nixfilesSrc ? "$HOME/src/nixfiles", + openssh, + writeShellApplication, +}: +writeShellApplication { + name = "nixfiles"; + runtimeInputs = [git jq nix openssh]; + text = '' + nixfiles=${lib.escapeShellArg nixfilesSrc} + cmd="$1" + shift + case $cmd in + update) + if (( $# )); then + args=() + for input do args+=(--update-input "$input"); done + exec nix flake lock "$nixfiles" "''${args[@]}" + else + exec nix flake update -v "$nixfiles" + fi + ;; + rev) + nix flake metadata --json nixfiles | + if (( $# )); then + jq -r --arg input "$1" '.locks.nodes[$input].locked.rev' + else + jq -r '.revision // "dirty"' + fi + ;; + repl|eval|build) + args=() + for arg do case $arg in + -w|--wip) args+=(--override-flake config "$nixfiles") + ;; + *) args+=("$arg") + esac done + set -- "''${args[@]}" + ;;& + repl) + exec nix repl ~/.nix-defexpr "$@" + ;; + eval) + exec nix eval -f ~/.nix-defexpr --json "$@" | jq -r . + ;; + build) + exec nix build -f ~/.nix-defexpr --json "$@" | jq -r . + ;; + home) + attr="nixosConfigurations.$HOSTNAME.config.hm.home.activationPackage" + export VERBOSE=1 + exec nix shell --verbose "$nixfiles#$attr" "$@" --command home-manager-generation + ;; + specialise) + name=$1 + shift + exec sudo /run/current-system/specialisation/"$name"/bin/switch-to-configuration switch + ;; + revert) + exec sudo /nix/var/nix/profiles/system/bin/switch-to-configuration switch + ;; + test-headless) + exec nixos-rebuild build-vm --verbose --print-build-logs --flake "$nixfiles#test-headless" "$@" + ;; + test-headful) + exec nixos-rebuild build-vm --verbose --print-build-logs --flake "$nixfiles#test-headful" "$@" + ;; + @*) + host="''${cmd#@}" + hostname="$(ssh -q "$host" 'echo "$HOSTNAME"')" + exec nixos-rebuild -v --flake "$nixfiles#$hostname" --target-host "$host" --use-remote-sudo "$@" + ;; + *) + exec nixos-rebuild -v --flake "$nixfiles" --use-remote-sudo "$cmd" "$@" + ;; + esac + ''; +} diff --git a/packages/throttled.nix b/packages/throttled.nix new file mode 100644 index 0000000..ff896cf --- /dev/null +++ b/packages/throttled.nix @@ -0,0 +1,36 @@ +{ + fetchFromGitHub, + kmod, + python3, + stdenv, +}: +stdenv.mkDerivation rec { + pname = "throttled"; + version = "unstable-2022-06-30"; + + src = fetchFromGitHub { + owner = "erpalma"; + repo = pname; + rev = "ab9641a93a409bdc7fca6889ff23ca5a685e5a77"; + hash = "sha256-Zd+rTsVDkw9mq6k2OkMy+HxyYsl3ADy1fEM/1e/jxAs="; + }; + + nativeBuildInputs = with python3.pkgs; [wrapPython]; + + pythonPath = + (with python3.pkgs; [configparser dbus-python pygobject3]) + ++ [kmod]; + + installPhase = '' + runHook preInstall + + install -Dm755 -t $out/opt/throttled throttled.py + install -Dm644 -t $out/opt/throttled mmio.py + + runHook postInstall + ''; + + postFixup = '' + wrapPythonProgramsIn $out/opt/throttled "$out $pythonPath" + ''; +} diff --git a/packages/ultimmc.nix b/packages/ultimmc.nix new file mode 100644 index 0000000..e90d5bd --- /dev/null +++ b/packages/ultimmc.nix @@ -0,0 +1,63 @@ +{ + cmake, + fetchFromGitHub, + jdk, + makeDesktopItem, + qtbase, + stdenv, + wrapQtAppsHook, + zlib, +}: +stdenv.mkDerivation rec { + pname = "UltimMC"; + version = "unstable-2022-06-09"; + + src = fetchFromGitHub { + owner = "UltimMC"; + repo = "Launcher"; + rev = "b7c9b27ed6fb047da7fab5e4cee99b298b9e9811"; + hash = "sha256-xmkflvtOSLMTuzAKovgOLjgpbR8j53bkGV3QZRsQItw="; + fetchSubmodules = true; + }; + + nativeBuildInputs = [cmake jdk wrapQtAppsHook]; + + buildInputs = [qtbase zlib]; + + postPatch = '' + substituteInPlace CMakeLists.txt \ + --replace 'LIBRARY_DEST_DIR "bin"' 'LIBRARY_DEST_DIR "lib"' \ + --replace 'JARS_DEST_DIR "bin/jars"' 'JARS_DEST_DIR "share/${pname}/jar"' + + substituteInPlace launcher/Application.cpp \ + --replace '"jars"' '"../share/${pname}/jar"'; + ''; + + cmakeFlags = ["-DCMAKE_BUILD_TYPE=Release"]; + + desktopItem = makeDesktopItem { + name = pname; + exec = pname; + icon = pname; + desktopName = pname; + genericName = "Custom Minecraft launcher"; + categories = ["Game"]; + }; + + dontWrapQtApps = true; + + postInstall = '' + rm $out/${pname} + + wrapProgram $out/bin/${pname} \ + --add-flags "--dir \''${XDG_DATA_HOME:-~/.local/share}/${pname}" \ + "''${qtWrapperArgs[@]}" + + install -Dm644 \ + ${desktopItem}/share/applications/${pname}.desktop \ + $out/share/applications/${pname}.desktop + install -Dm644 \ + $src/notsecrets/logo.svg \ + $out/share/icons/hicolor/scalable/apps/${pname}.svg + ''; +} |