From f1c37c598f1e3bd25e0a319563c4cc72147a15dd Mon Sep 17 00:00:00 2001 From: Crony Akatsuki Date: Tue, 18 Mar 2025 18:20:13 +0100 Subject: [PATCH] feat: add custom scripts. --- modules/home-manager/default.nix | 2 ++ modules/home-manager/scripts.nix | 16 ++++++++++++++++ modules/home-manager/scripts/bin/cue2chd | 7 +++++++ modules/home-manager/scripts/default.nix | 23 +++++++++++++++++++++++ 4 files changed, 48 insertions(+) create mode 100644 modules/home-manager/scripts.nix create mode 100755 modules/home-manager/scripts/bin/cue2chd create mode 100644 modules/home-manager/scripts/default.nix diff --git a/modules/home-manager/default.nix b/modules/home-manager/default.nix index b91805d..df3b7f3 100644 --- a/modules/home-manager/default.nix +++ b/modules/home-manager/default.nix @@ -12,6 +12,7 @@ ./hyprland.nix ./browsers ./shell.nix + ./scripts.nix ]; crony.mangohud.enable = lib.mkDefault true; @@ -26,4 +27,5 @@ crony.hyprland.enable = lib.mkDefault true; crony.browsers.enable = lib.mkDefault true; crony.shell.enable = lib.mkDefault true; + crony.scripts.enable = lib.mkDefault true; } diff --git a/modules/home-manager/scripts.nix b/modules/home-manager/scripts.nix new file mode 100644 index 0000000..18cb898 --- /dev/null +++ b/modules/home-manager/scripts.nix @@ -0,0 +1,16 @@ +{ + config, + pkgs, + lib, + ... +}: { + options = { + crony.scripts.enable = lib.mkEnableOption "Enable my custom scripts"; + }; + + config = lib.mkIf config.crony.scripts.enable { + home.packages = with pkgs; [ + (callPackage ./scripts {inherit pkgs;}) + ]; + }; +} diff --git a/modules/home-manager/scripts/bin/cue2chd b/modules/home-manager/scripts/bin/cue2chd new file mode 100755 index 0000000..c3c6f78 --- /dev/null +++ b/modules/home-manager/scripts/bin/cue2chd @@ -0,0 +1,7 @@ +#!/usr/bin/env sh + +for File in *.cue; do + [ -f "$File" ] || continue + chdman createcd -i "$File" -o "${File%.cue}.chd" + rm -v "$File" "${File%.cue}"*.bin +done diff --git a/modules/home-manager/scripts/default.nix b/modules/home-manager/scripts/default.nix new file mode 100644 index 0000000..1ef856d --- /dev/null +++ b/modules/home-manager/scripts/default.nix @@ -0,0 +1,23 @@ +{pkgs, ...}: +with pkgs; + stdenv.mkDerivation { + pname = "scripts"; + version = "1"; + src = ./bin; + + nativeBuildInputs = [makeWrapper]; + + installPhase = '' + mkdir -p $out/bin + + # move scripts to bin + mv ./* $out/bin + + # Fix shebangs for scripts + patchShebangs $out/bin + + # Add dependencies to the runtime for my cue2chd script + wrapProgram $out/bin/cue2chd \ + --prefix PATH : ${lib.makeBinPath [mame-tools]} + ''; + }