diff --git a/flake.nix b/flake.nix index a000f94..a78448d 100644 --- a/flake.nix +++ b/flake.nix @@ -4,13 +4,24 @@ nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; flake-utils.url = "github:numtide/flake-utils"; }; - outputs = { self, nixpkgs, flake-utils }: - flake-utils.lib.eachDefaultSystem (system: - let pkgs = import nixpkgs { inherit system; }; - in { - packages = { - default = pkgs.callPackage ./default.nix { }; + outputs = + { + self, + nixpkgs, + flake-utils, + }: + flake-utils.lib.eachDefaultSystem ( + system: + let + pkgs = import nixpkgs { inherit system; }; + in + { + packages = rec { + default = irs; + irs = pkgs.callPackage ./irs.nix { }; + noise = pkgs.callPackage ./noise.nix { }; }; formatter = pkgs.nixpkgs-fmt; - }); + } + ); } diff --git a/default.nix b/irs.nix similarity index 96% rename from default.nix rename to irs.nix index 9f4c78d..92aef50 100644 --- a/default.nix +++ b/irs.nix @@ -1,5 +1,4 @@ { - pkgs, scdoc, xclip, maim, @@ -8,12 +7,11 @@ nushell, xdotool, mpc-cli, - ... }: stdenvNoCC.mkDerivation { pname = "irs"; version = "0.6"; - src = ./src; + src = ./src/irs; nativeBuildInputs = [ scdoc nushell diff --git a/noise.nix b/noise.nix new file mode 100644 index 0000000..97ad884 --- /dev/null +++ b/noise.nix @@ -0,0 +1,37 @@ +{ + scdoc, + stdenvNoCC, + nushell, + mpc-cli, +}: +stdenvNoCC.mkDerivation { + pname = "noise"; + version = "0.6"; + src = ./src/noise; + nativeBuildInputs = [ + scdoc + nushell + ]; + + buildPhase = '' + for page in $(find manpages -type f); do + scdoc < $page > $(basename $page .scd) + done + export dontPatchShebangs=1 + ''; + + installPhase = '' + mkdir -p $out/{share/man/man1,bin,share/zsh/site-functions} + cp bin/* $out/bin/ + cp completions/* $out/share/zsh/site-functions/ + cp *.1 $out/share/man/man1/ + + runHook postInstall + ''; + + postInstall = '' + substituteInPlace $out/bin/* \ + --replace "mpc " "${mpc-cli}/bin/mpc " + ''; + +} diff --git a/src/bin/add-bookmark b/src/irs/bin/add-bookmark similarity index 100% rename from src/bin/add-bookmark rename to src/irs/bin/add-bookmark diff --git a/src/bin/butcher b/src/irs/bin/butcher similarity index 100% rename from src/bin/butcher rename to src/irs/bin/butcher diff --git a/src/bin/copy-bookmark b/src/irs/bin/copy-bookmark similarity index 100% rename from src/bin/copy-bookmark rename to src/irs/bin/copy-bookmark diff --git a/src/bin/destroy b/src/irs/bin/destroy similarity index 100% rename from src/bin/destroy rename to src/irs/bin/destroy diff --git a/src/bin/discordify b/src/irs/bin/discordify similarity index 100% rename from src/bin/discordify rename to src/irs/bin/discordify diff --git a/src/bin/dosh b/src/irs/bin/dosh similarity index 100% rename from src/bin/dosh rename to src/irs/bin/dosh diff --git a/src/bin/invyt b/src/irs/bin/invyt similarity index 100% rename from src/bin/invyt rename to src/irs/bin/invyt diff --git a/src/bin/kluns b/src/irs/bin/kluns similarity index 100% rename from src/bin/kluns rename to src/irs/bin/kluns diff --git a/src/bin/maim-utils b/src/irs/bin/maim-utils similarity index 100% rename from src/bin/maim-utils rename to src/irs/bin/maim-utils diff --git a/src/bin/open-bookmark b/src/irs/bin/open-bookmark similarity index 100% rename from src/bin/open-bookmark rename to src/irs/bin/open-bookmark diff --git a/src/bin/port b/src/irs/bin/port similarity index 100% rename from src/bin/port rename to src/irs/bin/port diff --git a/src/bin/rimg b/src/irs/bin/rimg similarity index 100% rename from src/bin/rimg rename to src/irs/bin/rimg diff --git a/src/bin/se b/src/irs/bin/se similarity index 100% rename from src/bin/se rename to src/irs/bin/se diff --git a/src/bin/status-notification b/src/irs/bin/status-notification similarity index 100% rename from src/bin/status-notification rename to src/irs/bin/status-notification diff --git a/src/bin/thaw b/src/irs/bin/thaw similarity index 100% rename from src/bin/thaw rename to src/irs/bin/thaw diff --git a/src/completions/_add-bookmark b/src/irs/completions/_add-bookmark similarity index 100% rename from src/completions/_add-bookmark rename to src/irs/completions/_add-bookmark diff --git a/src/completions/_copy-bookmark b/src/irs/completions/_copy-bookmark similarity index 100% rename from src/completions/_copy-bookmark rename to src/irs/completions/_copy-bookmark diff --git a/src/completions/_maim-utils b/src/irs/completions/_maim-utils similarity index 100% rename from src/completions/_maim-utils rename to src/irs/completions/_maim-utils diff --git a/src/completions/_noise b/src/irs/completions/_noise similarity index 100% rename from src/completions/_noise rename to src/irs/completions/_noise diff --git a/src/completions/_open-bookmark b/src/irs/completions/_open-bookmark similarity index 100% rename from src/completions/_open-bookmark rename to src/irs/completions/_open-bookmark diff --git a/src/manpages/add-bookmark.1.scd b/src/irs/manpages/add-bookmark.1.scd similarity index 100% rename from src/manpages/add-bookmark.1.scd rename to src/irs/manpages/add-bookmark.1.scd diff --git a/src/manpages/copy-bookmark.1.scd b/src/irs/manpages/copy-bookmark.1.scd similarity index 100% rename from src/manpages/copy-bookmark.1.scd rename to src/irs/manpages/copy-bookmark.1.scd diff --git a/src/manpages/invyt.1.scd b/src/irs/manpages/invyt.1.scd similarity index 100% rename from src/manpages/invyt.1.scd rename to src/irs/manpages/invyt.1.scd diff --git a/src/manpages/irs.1.scd b/src/irs/manpages/irs.1.scd similarity index 100% rename from src/manpages/irs.1.scd rename to src/irs/manpages/irs.1.scd diff --git a/src/manpages/maim-utils.1.scd b/src/irs/manpages/maim-utils.1.scd similarity index 100% rename from src/manpages/maim-utils.1.scd rename to src/irs/manpages/maim-utils.1.scd diff --git a/src/manpages/open-bookmark.1.scd b/src/irs/manpages/open-bookmark.1.scd similarity index 100% rename from src/manpages/open-bookmark.1.scd rename to src/irs/manpages/open-bookmark.1.scd diff --git a/src/manpages/port.1.scd b/src/irs/manpages/port.1.scd similarity index 100% rename from src/manpages/port.1.scd rename to src/irs/manpages/port.1.scd diff --git a/src/manpages/rimg.1.scd b/src/irs/manpages/rimg.1.scd similarity index 100% rename from src/manpages/rimg.1.scd rename to src/irs/manpages/rimg.1.scd diff --git a/src/manpages/thaw.1.scd b/src/irs/manpages/thaw.1.scd similarity index 100% rename from src/manpages/thaw.1.scd rename to src/irs/manpages/thaw.1.scd diff --git a/src/bin/noise b/src/noise/bin/noise similarity index 100% rename from src/bin/noise rename to src/noise/bin/noise diff --git a/src/noise/completions/_noise b/src/noise/completions/_noise new file mode 100644 index 0000000..05e0b70 --- /dev/null +++ b/src/noise/completions/_noise @@ -0,0 +1,6 @@ +#compdef noise _noise + +_arguments -C \ + "1: :(next prev shuffle stop start toggle)" \ + "*::args:->args" +_arguments : $arguments diff --git a/src/manpages/noise.1.scd b/src/noise/manpages/noise.1.scd similarity index 100% rename from src/manpages/noise.1.scd rename to src/noise/manpages/noise.1.scd