# Mybox
🖥️ This is a box. 📦 And it is mine. 🐱
There are many 🍱 nice things in there. I wouldn't want 🧰 to be without them.
Even if I move 🏠 or work 🏢 I want to be comfortable.
---
Manage the configuration and tools on your workstation without bothering the OS
too much (maybe your favorite one isn't supported by `$WORK` or you have
different ones for different roles).
## Values
0. Earlier points override latter ones, unless there is a huge gain.
1. The system is usable with the software the user specified.
2. Meta requirements (e.g. archivers and package managers) are installed the
same way user requirements are.
3. Everything is installed and upgraded to the latest version every time.
4. Superuser access is not required.
## Usage
* Run the [bootstrap](bootstrap) script:
```shell
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/koterpillar/mybox/main/bootstrap)"
```
* Run `mybox` from the directory with package definitions.
For package definition examples, see
[koterpillar/desktop](https://github.com/koterpillar/desktop/).
* To install optional components, add their names as arguments, e.g.
`mybox development`.
## Development
Pre-requisites (see [install-dev](install-dev) for ways to install):
* [Poetry](https://python-poetry.org/)
* [ShellCheck](https://www.shellcheck.net/)
Run [`./lint`](lint) to check style & types, `./lint --format` to apply
formatting automatically.
Run [`./test-script`](test-script) to execute the project's tests.
### Running locally
* Run `poetry install`.
* Run `poetry shell`.
* In the launched shell, go to the directory with package definitions.
* Run `mybox` with the desired arguments.
### Releasing
Releases are done using Semantic Release, see [build.yml](.github/workflows/build.yml).
Raw data
{
"_id": null,
"home_page": "https://github.com/koterpillar/mybox",
"name": "mybox",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.11",
"maintainer_email": null,
"keywords": null,
"author": "Alexey Kotlyarov",
"author_email": "a@koterpillar.com",
"download_url": "https://files.pythonhosted.org/packages/83/8c/72744ff46e6c73b5fcc7e1f597ec3a75c6b8bcc95c3056523a896438c0bb/mybox-2.10.3.tar.gz",
"platform": null,
"description": "# Mybox\n\n\ud83d\udda5\ufe0f This is a box. \ud83d\udce6 And it is mine. \ud83d\udc31\n\nThere are many \ud83c\udf71 nice things in there. I wouldn't want \ud83e\uddf0 to be without them.\n\nEven if I move \ud83c\udfe0 or work \ud83c\udfe2 I want to be comfortable.\n\n---\n\nManage the configuration and tools on your workstation without bothering the OS\ntoo much (maybe your favorite one isn't supported by `$WORK` or you have\ndifferent ones for different roles).\n\n## Values\n\n0. Earlier points override latter ones, unless there is a huge gain.\n1. The system is usable with the software the user specified.\n2. Meta requirements (e.g. archivers and package managers) are installed the\n same way user requirements are.\n3. Everything is installed and upgraded to the latest version every time.\n4. Superuser access is not required.\n\n## Usage\n\n* Run the [bootstrap](bootstrap) script:\n\n ```shell\n /bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/koterpillar/mybox/main/bootstrap)\"\n ```\n\n* Run `mybox` from the directory with package definitions.\n\n For package definition examples, see\n [koterpillar/desktop](https://github.com/koterpillar/desktop/).\n\n* To install optional components, add their names as arguments, e.g.\n `mybox development`.\n\n## Development\n\nPre-requisites (see [install-dev](install-dev) for ways to install):\n\n* [Poetry](https://python-poetry.org/)\n* [ShellCheck](https://www.shellcheck.net/)\n\nRun [`./lint`](lint) to check style & types, `./lint --format` to apply\nformatting automatically.\n\nRun [`./test-script`](test-script) to execute the project's tests.\n\n### Running locally\n\n* Run `poetry install`.\n* Run `poetry shell`.\n* In the launched shell, go to the directory with package definitions.\n* Run `mybox` with the desired arguments.\n\n### Releasing\n\nReleases are done using Semantic Release, see [build.yml](.github/workflows/build.yml).\n\n",
"bugtrack_url": null,
"license": "GPL-3.0-or-later",
"summary": "Manage the configuration and tools on your workstation without bothering the OS too much",
"version": "2.10.3",
"project_urls": {
"Homepage": "https://github.com/koterpillar/mybox",
"Repository": "https://github.com/koterpillar/mybox"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ff4fb9ec3f21a7f1fdbcc6d5c3b42bd484cdea80bdf2bfb6ac8127abd8a71970",
"md5": "80188f2856018981e940a2ccbb0fdb74",
"sha256": "07db7322a8c118ad0bde4b5b5001610ee220c165500aa96029abace3fd5d9c84"
},
"downloads": -1,
"filename": "mybox-2.10.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "80188f2856018981e940a2ccbb0fdb74",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.11",
"size": 52116,
"upload_time": "2024-12-18T18:01:00",
"upload_time_iso_8601": "2024-12-18T18:01:00.423573Z",
"url": "https://files.pythonhosted.org/packages/ff/4f/b9ec3f21a7f1fdbcc6d5c3b42bd484cdea80bdf2bfb6ac8127abd8a71970/mybox-2.10.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "838c72744ff46e6c73b5fcc7e1f597ec3a75c6b8bcc95c3056523a896438c0bb",
"md5": "7c3615306533771b289d86590fe42ca8",
"sha256": "ca4c456e9219d31f2981527e66848156ae8f40846da627a8a27878b5e827797e"
},
"downloads": -1,
"filename": "mybox-2.10.3.tar.gz",
"has_sig": false,
"md5_digest": "7c3615306533771b289d86590fe42ca8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.11",
"size": 39820,
"upload_time": "2024-12-18T18:01:02",
"upload_time_iso_8601": "2024-12-18T18:01:02.846488Z",
"url": "https://files.pythonhosted.org/packages/83/8c/72744ff46e6c73b5fcc7e1f597ec3a75c6b8bcc95c3056523a896438c0bb/mybox-2.10.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-18 18:01:02",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "koterpillar",
"github_project": "mybox",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "mybox"
}