Easily manage multiple FLOSS repositories.
cpp | c | dotnet | go | python | rust | php | java | ruby
# grab all projects
onur grab
# grab only the c projects
onur grab c
# list the cpp configuration file
onur config cpp
# list topics of haskell
onur config haskell.
# list only the projects on misc topic of lisp
onur config lisp.misc
# add a new configuration with theses entries in the topic misc of c
onur config c.misc cli11 https://github.com/cliutils/cli11 main
# back up these projects as tar.gz
onur backup ecmascript.nuxt lua.awesomewm misc.gitignore
onur --help
onur
consumes configuration in the following manners:
By default it looks for configuration files at $XDG_CONFIG/onur
or in the
directory set in the $ONUR_CONFIG_HOME
environment variable.
{
"main": [
{
"name": "awesomewm",
"url": "https://github.com/awesomeWM/awesome"
},
{
"name": "nuxt",
"branch": "main",
"url": "https://github.com/nuxt/framework"
}
],
"misc": [
{
"name": "awesomewm",
"url": "https://github.com/awesomeWM/awesome"
},
{
"name": "nuxt",
"branch": "main",
"url": "https://github.com/nuxt/framework"
}
],
"tools/gnu": [
{
"name": "inetutils",
"url": "https://git.savannah.gnu.org/git/inetutils.git"
},
{
"name": "gnu-wget",
"url": "https://git.savannah.gnu.org/git/wget.git"
}
]
}
More examples of configuration files are at examples
.
settings.toml
[git]
single-branch = true
quiet = true
depth = 1
onur
requires a c++ 23 compiler and meson
or cmake
: make all
.
In development it may suit you better running the tests in a isolated environment with containers, that can be done so:
docker run --rm -it $(docker build -qf Containerfile.run)
or:
podman build https://gitlab.com/easbarba/onur/-/raw/main/Containerfile.dev --tag onur:latest
podman run --rm -it onur:latest
In a system with GNU Guix binary installed, its even easier to grab all
dependencies: guix shell
.
Check the TODO.md
for more information.