Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
ab7cfc5
Merge remote-tracking branch 'origin/main' into develop
github-actions[bot] May 16, 2025
d93f446
added some workspace reccommendations from laptop env
gignsky May 16, 2025
8f09a53
added lazygit to devShell
gignsky May 24, 2025
d651fae
test commit
gignsky May 24, 2025
474f515
test remove commit
gignsky May 24, 2025
6f3a311
Merge branch 'feature/init-git-flow' into develop
gignsky May 24, 2025
8017286
added cspell folder to hidden files
gignsky May 24, 2025
55dce28
Merge tag 'v0.1.4-patch-0.1' into develop
gignsky May 24, 2025
f00e3bc
add gitflow to devShell
gignsky May 24, 2025
65da82c
added what should output version number to binary files
gignsky May 24, 2025
043fc63
Merge branch 'feature/add-version-number-to-releases' into develop
gignsky May 24, 2025
658df45
updated vscode extensions recommended
gignsky May 24, 2025
b2e90f4
test
gignsky May 24, 2025
30baa2d
test2
gignsky May 24, 2025
549ded5
added lolcat back to devShell
gignsky May 26, 2025
a3ddb44
Merge branch 'hotfix/0.1.3-patch-0.2-add-wrapper-output-for-nushell'
gignsky Aug 6, 2025
a0b0b2b
Merge tag 'v0.1.4-patch-0.2' into develop
gignsky Aug 6, 2025
fbb241b
Merge tag 'v0.1.4-patch-0.3' into develop
gignsky Aug 7, 2025
ac3244c
Merge branch 'main' into develop
gignsky Aug 7, 2025
7bbdb95
Merge tag 'v0.1.4-patch-0.5' into develop
gignsky Aug 7, 2025
1d842d3
updated .gitignore
gignsky Aug 14, 2025
130f4e8
added long form of verbose
gignsky Aug 14, 2025
ce00868
Update README.md
gignsky Aug 14, 2025
b8c082e
Update README.md
gignsky Aug 14, 2025
4488b8a
Merge branch 'feature/add-nixpkgs-webhooks-to-readme' into develop
gignsky Aug 14, 2025
619ca16
fixed packaging versions readme
gignsky Aug 14, 2025
bb9f3b4
Feature/update release to include version numbers (#35)
gignsky Aug 14, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 10 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,17 +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:
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,4 @@
.direnv
/test
.pre-commit-config.yaml
worktrees
8 changes: 7 additions & 1 deletion .vscode/extensions.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,12 @@
"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",
"gruntfuggly.todo-tree"
]
}
3 changes: 2 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@
"**/Thumbs.db": true,
".direnv": true,
".gitignore": true,
".envrc": true
".envrc": true,
"**/.cspell": true
},
"explorerExclude.backup": {},
"editor.formatOnSaveMode": "modificationsIfAvailable",
Expand Down
58 changes: 45 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,35 +1,58 @@
[![](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)
[![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)

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
[![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

# 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:
Expand All @@ -46,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

Expand Down Expand Up @@ -89,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.).
4 changes: 3 additions & 1 deletion nix/modules/devshell.nix
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,16 @@
wslu
cargo-generate
python3
lazygit
gitflow

# dotfiles programs
inputs.dotfiles.packages.${system}.quick-results
inputs.dotfiles.packages.${system}.upjust
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;
'';
};
};
Expand Down
2 changes: 1 addition & 1 deletion src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Loading