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
Hashes for niagara-0.0.1.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 80964957c35d40254970370da91a817fca20f3b962f274f7ff0c48d67449b81a |
|
MD5 | b6531bc420f2dacdb4c6e8b2654902f8 |
|
BLAKE2b-256 | 0ba9c8686334ab32e9efc08f4d90f189ad5a0b8aab36ae47a91f0c58e2781f0e |