A simple ricing tool for Linux systems.
Project description
Niagara
Niagara is a ricing tool made for Linux systems. It aims to be a universal tool that can be used on multiple distributions, as it does not rely on a singular package manager. Niagara manages configs by taking a JSON file that contains some fields such as packages
, dotfile
, wallpaper
, etc.
How does Niagara handle packages?
Niagara has a list of packages that you can place inside the configuration file, and then it goes and checks it against the corresponding package for your linux distribution. A good example would be the following:
{
"name": "doas",
"arch": "opendoas",
"void": "opendoas",
"fedora": "opendoas",
"gentoo": "app-admin/doas"
}
This allows us to support multiple distributions, whilst making it a write once, run anywhere style of program.
Features
- packages
- config
- wallpaper
- dotfile
- scripts
- commands
- available to clone and use a git repository as the basis for commands
- option to run the command in a specified directory
- xinitrc generation
Example configuration
{
"packages": [
"sway",
"feh",
"picom",
"i3",
"kitty"
],
"config": [
{
"option": "wallpaper",
"val": "https://github.com/kavulox/dotfiles/raw/master/wallpapers/forest.jpg"
},
{
"option": "dotfile",
"val": [
"https://github.com/kavulox/nvim",
"https://github.com/kavulox/picom"
]
},
{
"option": "scripts",
"val": [
{
"method": "curl",
"url": "https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh"
}
]
}
],
"source": [
{
"link": "https://git.suckless.org/dwm",
"cmds": [
{
"dir": "dwm",
"cmd": "sudo make clean install"
}
]
}
],
"xinitrc": [
"picom -b",
"exec dwm"
]
}
Contributing
New contributors should submit a PR with a short description of their changes.
ArtixLabs
Join our discord server at https://discord.gg/ajNswSyf6q
Join our Matrix space at https://matrix.to/#/#artixlabs:halogen.city
Todo
- Get more packages.
- Make packages support multiple package managers.
- Split deps.py into multiple files.
- Add documentation.
- Add checks to see if a specified package is not natively available for a distribution, then to refer to a custom build option.
Author
Niagara was written by kavulox
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file niagara-0.0.1.2.tar.gz
.
File metadata
- Download URL: niagara-0.0.1.2.tar.gz
- Upload date:
- Size: 19.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 352bfc798ba813ceb34c610081ba5c31749f364ded12a55b86c14bb2e2982b1a |
|
MD5 | 4b354f194e34a3d2c653a093e3ed70c1 |
|
BLAKE2b-256 | df66c4734615f16e56ed1d5ab7feb0092d2e6232ba682bac94733f0708ee2cfa |
File details
Details for the file niagara-0.0.1.2-py3-none-any.whl
.
File metadata
- Download URL: niagara-0.0.1.2-py3-none-any.whl
- Upload date:
- Size: 19.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 80964957c35d40254970370da91a817fca20f3b962f274f7ff0c48d67449b81a |
|
MD5 | b6531bc420f2dacdb4c6e8b2654902f8 |
|
BLAKE2b-256 | 0ba9c8686334ab32e9efc08f4d90f189ad5a0b8aab36ae47a91f0c58e2781f0e |