Metadata-Version: 2.1
Name: make-home-links
Version: 0.1.0a1
Summary: Make symlinks to your home folder
Project-URL: Homepage, https://github.com/slavos1/make-home-links
Project-URL: Documentation, https://github.com/slavos1/make-home-links/README.md
Project-URL: Issues, https://github.com/slavos1/make-home-links/issues
Project-URL: Source, https://github.com/slavos1/make-home-links
Author-email: slavos1 <1396260+slavos1@users.noreply.github.com>
License: MIT
License-File: LICENSE
Keywords: cli,command line,command-line,tool
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Utilities
Requires-Python: >=3.8
Requires-Dist: loguru==0.7.2
Requires-Dist: tomli==2.0.1
Description-Content-Type: text/markdown

# make-home-links readme

Simplify your shell setup by making symlinks to your home folder.

It takes a TOML file and creates symlinks from your checkout.

## Prerequisites

* `pipx` or just `pip3`

## Installation

One of:

* `pipx install make-home-links`
* `pip install --user make-home-links`

Upgrading:

* `pipx upgrade make-home-links`
* `pip install --user -U make-home-links`

After installation, `make-home-links` command should become available:

```shell
make-home-links --help
make-home-links --version
```

## Development

The project uses [`hatch`](https://hatch.pypa.io/) behind the scenes.

### How to use

```shell
# reformat the code
make fmt

# run the cli
hatch run cli

# run the cli version
hatch run cli --version

# run the cli help
hatch run help
hatch run cli --help

# run mypy
hatch run types:check

# run tests
hatch run test
hatch run test -k usual_pytest_flags -m my_marker

# go to the dev shell
hatch shell

# build the distribution
hatch build
```

### Increase version
```shell
hatch version <new_version>
```

### Publishing

#### Test publishing

Create `.env.test` with contents (when doing first ever release, you will not be able to constrain the token to project -- create one for entire account and then switch to project-based token):
```shell
export HATCH_INDEX_USER=__token__
# token from "API tokens" of https://test.pypi.org/manage/account/
export HATCH_INDEX_AUTH=pypi-...
```

then publish to the testing PyPI:

```shell
hatch version <new_version>
source .env.test
hatch publish -r test -y
```

#### Publishing to prod

Create `.env.prod` with contents (when doing first ever release, you will not be able to constrain the token to project -- create one for entire account and then switch to project-based token):
```shell
export HATCH_INDEX_USER=__token__
# token from "API tokens" of https://pypi.org/manage/account/
export HATCH_INDEX_AUTH=pypi-...
```

then publish to the testing PyPI:

```shell
# maybe also: hatch version <new_version>
source .env.prod
hatch publish -r main -y
```

See also [`hatch publish`](https://hatch.pypa.io/1.9/publish/) documentation.
