From d93f446d5fb216e468cb0c55a8b0d1777e62c91f Mon Sep 17 00:00:00 2001 From: gignsky Date: Thu, 15 May 2025 20:18:33 -0400 Subject: [PATCH 01/17] added some workspace reccommendations from laptop env --- .vscode/extensions.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 4d592f6..61cb4c7 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -26,6 +26,11 @@ "belfz.search-crates-io", "kevinkassimo.cargo-toml-snippets", "taiyuuki.vscode-cargo-scripts", - "washan.cargo-appraiser" + "washan.cargo-appraiser", + "bradzacher.vscode-coloured-status-bar-problems", + "usernamehw.errorlens", + "pkief.material-icon-theme", + "bbenoist.nix", + "duniul.git-stage" ] } From 8f09a53ef0155878fcc2f5c8adc680feeb316681 Mon Sep 17 00:00:00 2001 From: gignsky Date: Sat, 24 May 2025 11:40:19 -0400 Subject: [PATCH 02/17] added lazygit to devShell --- nix/modules/devshell.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/modules/devshell.nix b/nix/modules/devshell.nix index 53850ee..9e47d02 100644 --- a/nix/modules/devshell.nix +++ b/nix/modules/devshell.nix @@ -18,6 +18,7 @@ wslu cargo-generate python3 + lazygit # dotfiles programs inputs.dotfiles.packages.${system}.quick-results From d651fae6c11244059b2e2632d332684670965581 Mon Sep 17 00:00:00 2001 From: gignsky Date: Sat, 24 May 2025 11:56:18 -0400 Subject: [PATCH 03/17] test commit --- tester | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 tester diff --git a/tester b/tester new file mode 100644 index 0000000..e69de29 From 474f51581452059a18743def87a87f69fd42cc2b Mon Sep 17 00:00:00 2001 From: gignsky Date: Sat, 24 May 2025 11:56:34 -0400 Subject: [PATCH 04/17] test remove commit --- tester | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 tester diff --git a/tester b/tester deleted file mode 100644 index e69de29..0000000 From 8017286716a3e8b904365bf0e2bbbe4c62058d35 Mon Sep 17 00:00:00 2001 From: gignsky Date: Sat, 24 May 2025 12:30:34 -0400 Subject: [PATCH 05/17] added cspell folder to hidden files --- .vscode/settings.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 0f15c94..b012092 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -13,7 +13,8 @@ "**/Thumbs.db": true, ".direnv": true, ".gitignore": true, - ".envrc": true + ".envrc": true, + "**/.cspell": true }, "explorerExclude.backup": {}, "editor.formatOnSaveMode": "modificationsIfAvailable", From f00e3bc6c0d7cf78d3eaa46b8a6d4bcc38cc957a Mon Sep 17 00:00:00 2001 From: gignsky Date: Sat, 24 May 2025 13:45:54 -0400 Subject: [PATCH 06/17] add gitflow to devShell --- nix/modules/devshell.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/modules/devshell.nix b/nix/modules/devshell.nix index 9e47d02..bab0530 100644 --- a/nix/modules/devshell.nix +++ b/nix/modules/devshell.nix @@ -19,6 +19,7 @@ cargo-generate python3 lazygit + gitflow # dotfiles programs inputs.dotfiles.packages.${system}.quick-results From 65da82c32e6a6a932b208a59a5391e3b6692f7a2 Mon Sep 17 00:00:00 2001 From: gignsky Date: Sat, 24 May 2025 13:48:10 -0400 Subject: [PATCH 07/17] added what should output version number to binary files --- .github/workflows/release.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6994705..0d66b12 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -36,10 +36,11 @@ jobs: - name: Rename binary for upload run: | + CURRENT_TAG=${{ github.ref_name }} ext="" if [[ "${{ matrix.target }}" == *windows* ]]; then ext=".exe"; fi mkdir -p dist - cp target/${{ matrix.target }}/release/wrap$ext dist/wrap-${{ matrix.target }}$ext + cp target/${{ matrix.target }}/release/wrap$ext dist/wrap-"$CURRENT_TAG"-${{ matrix.target }}$ext - name: Upload artifact uses: actions/upload-artifact@v4 From 658df4579574638e3d54095fa4f7be925a429c4e Mon Sep 17 00:00:00 2001 From: gignsky Date: Sat, 24 May 2025 13:52:44 -0400 Subject: [PATCH 08/17] updated vscode extensions recommended --- .vscode/extensions.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 61cb4c7..a631c10 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -31,6 +31,7 @@ "usernamehw.errorlens", "pkief.material-icon-theme", "bbenoist.nix", - "duniul.git-stage" + "duniul.git-stage", + "gruntfuggly.todo-tree" ] } From b2e90f48fa33ee084593d91d387f84b4a58045ab Mon Sep 17 00:00:00 2001 From: gignsky Date: Sat, 24 May 2025 13:53:52 -0400 Subject: [PATCH 09/17] test --- testser | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 testser diff --git a/testser b/testser new file mode 100644 index 0000000..e69de29 From 30baa2d69beb8497ff2db1a141b7e8b200ce6197 Mon Sep 17 00:00:00 2001 From: gignsky Date: Sat, 24 May 2025 13:54:34 -0400 Subject: [PATCH 10/17] test2 --- testser | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 testser diff --git a/testser b/testser deleted file mode 100644 index e69de29..0000000 From 549ded57b70f38cf9f91ff32665b418d5f9b9a34 Mon Sep 17 00:00:00 2001 From: gignsky Date: Mon, 26 May 2025 11:17:39 -0400 Subject: [PATCH 11/17] added lolcat back to devShell --- nix/modules/devshell.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix/modules/devshell.nix b/nix/modules/devshell.nix index bab0530..3346da5 100644 --- a/nix/modules/devshell.nix +++ b/nix/modules/devshell.nix @@ -27,7 +27,7 @@ inputs.dotfiles.packages.${system}.cargo-update ]; shellHook = '' - echo "welcome to the rust development environment for the wrap package" | ${pkgs.cowsay}/bin/cowsay + echo "welcome to the rust development environment for the wrap package" | ${pkgs.cowsay}/bin/cowsay | ${pkgs.lolcat}/bin/lolcat 2> /dev/null; ''; }; }; From 1d842d3f9b352e7a37075a906f5ac71757899cad Mon Sep 17 00:00:00 2001 From: Maxwell Rupp Date: Wed, 13 Aug 2025 20:36:51 -0400 Subject: [PATCH 12/17] updated .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index aa79e63..75af5f0 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ .direnv /test .pre-commit-config.yaml +worktrees From 130f4e850004b373fb0b861b1656d3f6aed8933d Mon Sep 17 00:00:00 2001 From: Maxwell Rupp Date: Wed, 13 Aug 2025 20:49:09 -0400 Subject: [PATCH 13/17] added long form of verbose added --verbose to options --- src/main.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.rs b/src/main.rs index 1876095..b4e8a12 100644 --- a/src/main.rs +++ b/src/main.rs @@ -8,7 +8,7 @@ use tar::Builder; /// Application configuration struct Args { /// Print Verbose output - #[arg(short = 'v')] + #[arg(short = 'v', long = "verbose")] verbose: bool, /// Remove folders after tarballing From ce00868f7bd3020e893fcd8e97268eb132349bce Mon Sep 17 00:00:00 2001 From: Maxwell Rupp Date: Wed, 13 Aug 2025 21:01:19 -0400 Subject: [PATCH 14/17] Update README.md added 'Packaged for Nixpkgs' badge --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 0bbcbc2..8f0d765 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +[![](https://raw.githubusercontent.com/dch82/Nixpkgs-Badges/main/nixpkgs-badge-dark.svg)](https://search.nixos.org/packages?size=1&show=wrapd) + [![CI Nix](https://github.com/gignsky/wrap/actions/workflows/ci-nix.yml/badge.svg)](https://github.com/gignsky/wrap/actions/workflows/ci-nix.yml) [![Docs](https://github.com/gignsky/wrap/actions/workflows/docs.yml/badge.svg)](https://github.com/gignsky/wrap/actions/workflows/docs.yml) [![Release](https://github.com/gignsky/wrap/actions/workflows/release.yml/badge.svg)](https://github.com/gignsky/wrap/actions/workflows/release.yml) From b8c082e965ddccde2eff83d7d4ad4ba56201b553 Mon Sep 17 00:00:00 2001 From: Maxwell Rupp Date: Wed, 13 Aug 2025 21:23:55 -0400 Subject: [PATCH 15/17] Update README.md added badge to show packaged versions --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 8f0d765..64dbb75 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,9 @@ [![Release](https://github.com/gignsky/wrap/actions/workflows/release.yml/badge.svg)](https://github.com/gignsky/wrap/actions/workflows/release.yml) [![Update README with --help Output](https://github.com/gignsky/wrap/actions/workflows/help-to-readme.yml/badge.svg)](https://github.com/gignsky/wrap/actions/workflows/help-to-readme.yml) +[![Packaging status](https://repology.org/badge/vertical-allrepos/vim%3Athemery.nvim.svg)](https://repology.org/project/vim%3Athemery.nvim/versions) + +# Description A command line utility written entirely in rust that creates tarballs from folders in the current working directory and optionally remove the folders that created those tarballs # Installation & Usage From 619ca165b14c22895575dd35c043d89f6398d018 Mon Sep 17 00:00:00 2001 From: Maxwell Rupp Date: Thu, 14 Aug 2025 02:43:42 -0400 Subject: [PATCH 16/17] fixed packaging versions readme --- README.md | 55 +++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 41 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 64dbb75..e3ecf02 100644 --- a/README.md +++ b/README.md @@ -5,36 +5,54 @@ [![Release](https://github.com/gignsky/wrap/actions/workflows/release.yml/badge.svg)](https://github.com/gignsky/wrap/actions/workflows/release.yml) [![Update README with --help Output](https://github.com/gignsky/wrap/actions/workflows/help-to-readme.yml/badge.svg)](https://github.com/gignsky/wrap/actions/workflows/help-to-readme.yml) -[![Packaging status](https://repology.org/badge/vertical-allrepos/vim%3Athemery.nvim.svg)](https://repology.org/project/vim%3Athemery.nvim/versions) +[![Packaging status](https://repology.org/badge/vertical-allrepos/wrapd.svg)](https://repology.org/project/wrapd/versions) # Description -A command line utility written entirely in rust that creates tarballs from folders in the current working directory and optionally remove the folders that created those tarballs + +A command line utility written entirely in rust that creates tarballs from +folders in the current working directory and optionally remove the folders that +created those tarballs # Installation & Usage + ### Run immediately without installing (using Nix) + `$ nix run github:gignsky/wrapd -- {optional-arguments (i.e. --help)}` ## Installation + ### With Nix Shell (temporary installation in current shell) + `$ nix shell github:gignsky/wrapd` ### With NixOS (using flakes) -In your `flake.nix` file: + +In your `flake.nix` file: + 1. add `inputs.wrapd.url = "github:gignsky/wrapd";` to your inputs -2. inside of your `environment.systemPackages` often defined under: `outputs.nixosConfigurations.{hostname}.nixpkgs.lib.nixosSystem.modules` +2. inside of your `environment.systemPackages` often defined under: + `outputs.nixosConfigurations.{hostname}.nixpkgs.lib.nixosSystem.modules` 3. add either: 1. `inputs.wrapd.packages.${system}.wrapd` 2. `inputs.wrapd.packages.${system}.default` ### Download the binary + 1. Navigate to https://github.com/gignsky/wrapd/releases 2. Download the latest (or desired) release for your operating system - 1. As of the time of this writing only x86_64 binaries are compiled for GNU/Linux and windows + 1. As of the time of this writing only x86_64 binaries are compiled for + GNU/Linux and windows 3. if using Linux run `chmod +x ./{downloaded-binary}` -4. if using windows you can run the binary from the command prompt or powershell in order to pass arguments, if double-click running the .exe file the default process of the binary will run in the current folder of the binary without the remove flag - 1. FUTURE FUNCTIONALITY INTENDED: In the future it is intended that the program will produce a dialog box that allows the user to specify which option arguments to be used. +4. if using windows you can run the binary from the command prompt or powershell + in order to pass arguments, if double-click running the .exe file the default + process of the binary will run in the current folder of the binary without + the remove flag + 1. FUTURE FUNCTIONALITY INTENDED: In the future it is intended that the + program will produce a dialog box that allows the user to specify which + option arguments to be used. ### Compile the binary yourself + 1. git clone this repository: 1. `$ git clone https://github.com/gignsky/wrapd.git` 2. cd into the directory: @@ -51,18 +69,23 @@ In your `flake.nix` file: 3. `$ cargo build --release` 1. cargo build command (release) 2. produces a debug binary in `./target/release/wrapd` -5. in order to use this compiled binary in any location one must add the binary to their $PATH (this is OS specific and not within the scope of this README) - 1. NOTE: This is not an issue if installed using nix, whether that be flakes and NixOS or nix shell +5. in order to use this compiled binary in any location one must add the binary + to their $PATH (this is OS specific and not within the scope of this README) + 1. NOTE: This is not an issue if installed using nix, whether that be flakes + and NixOS or nix shell ## Usage -### When downloading the binary or compiling yourself +### When downloading the binary or compiling yourself + `$ ./{downloaded-binary} {optional-arguments (i.e. --help)}` ### When installed via Nix + `$ wrapd {optional-arguments (i.e. --help)}` ## Optional Arguments (automatically generated by github action) + ``` A command line utility written entirely in Rust that creates tarballs from folders in the current working directory and optionally removes the folders that created those tarballs @@ -94,12 +117,16 @@ nix develop -c cargo run just build ``` -We also provide a [`justfile`](https://just.systems/) for Makefile'esque commands to be run inside of the devShell. -You can run `$ just` inside `$ nix develop` to see all available just outputs +We also provide a [`justfile`](https://just.systems/) for Makefile'esque +commands to be run inside of the devShell. You can run `$ just` inside +`$ nix develop` to see all available just outputs ## Tips - Run `$ just update-flake` to update all flake inputs. - Run `$ just update` to update all flake inputs and cargo dependencies -- Run `nix --accept-flake-config run github:juspay/omnix ci` to build _all_ outputs. -- [pre-commit] hooks will automatically be setup in Nix shell. You can also run `pre-commit run -a` manually to run the hooks (e.g.: to autoformat the project tree using `rustfmt`, `nixpkgs-fmt`, etc.). +- Run `nix --accept-flake-config run github:juspay/omnix ci` to build _all_ + outputs. +- [pre-commit] hooks will automatically be setup in Nix shell. You can also run + `pre-commit run -a` manually to run the hooks (e.g.: to autoformat the project + tree using `rustfmt`, `nixpkgs-fmt`, etc.). From bb9f3b40924ebb9141c0e2d666d819cd1c801751 Mon Sep 17 00:00:00 2001 From: Maxwell Rupp Date: Thu, 14 Aug 2025 06:09:52 -0400 Subject: [PATCH 17/17] Feature/update release to include version numbers (#35) * added version numbers to releases * fixed version variable call * removed call to build release on this branch * Update .github/workflows/release.yml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update .github/workflows/release.yml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update .github/workflows/release.yml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Revert "removed call to build release on this branch" This reverts commit cb4b325d825822eb0d944a9632c4dc987ba955e3. * fixed upload artifacts * Reapply "removed call to build release on this branch" This reverts commit e9ea24552a302cb2b332ee7646716adf8625007e. * Update .github/workflows/release.yml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .github/workflows/release.yml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4852a09..ffdf0c2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -38,18 +38,25 @@ jobs: - name: Build binary run: cargo zigbuild --release --target ${{ matrix.target }} + - name: Get Cargo.toml version + id: get_cargo_version + run: | + CARGO_VERSION=$(cargo metadata --no-deps --format-version 1 | jq -r '.packages[0].version') + echo "Cargo Version = v$CARGO_VERSION" + echo "CARGO_VERSION=$CARGO_VERSION" >> $GITHUB_ENV + - name: Rename binary for upload run: | CURRENT_TAG=${{ github.ref_name }} ext="" if [[ "${{ matrix.target }}" == *windows* ]]; then ext=".exe"; fi mkdir -p dist - cp target/${{ matrix.target }}/release/wrapd$ext dist/${{ matrix.binary_name }}-${{ matrix.target }}$ext + cp target/${{ matrix.target }}/release/wrapd$ext dist/${{ matrix.binary_name }}-v${{ env.CARGO_VERSION }}-${{ matrix.target }}$ext - name: Upload artifact uses: actions/upload-artifact@v4 with: - name: binaries-${{ matrix.binary_name }}-${{ matrix.target }} + name: binaries-${{ matrix.binary_name }}-v${{ env.CARGO_VERSION }}-${{ matrix.target }} path: dist/* release: