Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

niagara-0.0.1.2.tar.gz (19.8 kB view details)

Uploaded Source

Built Distribution

niagara-0.0.1.2-py3-none-any.whl (19.6 kB view details)

Uploaded Python 3

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

Hashes for niagara-0.0.1.2.tar.gz
Algorithm Hash digest
SHA256 352bfc798ba813ceb34c610081ba5c31749f364ded12a55b86c14bb2e2982b1a
MD5 4b354f194e34a3d2c653a093e3ed70c1
BLAKE2b-256 df66c4734615f16e56ed1d5ab7feb0092d2e6232ba682bac94733f0708ee2cfa

See more details on using hashes here.

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

Hashes for niagara-0.0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 80964957c35d40254970370da91a817fca20f3b962f274f7ff0c48d67449b81a
MD5 b6531bc420f2dacdb4c6e8b2654902f8
BLAKE2b-256 0ba9c8686334ab32e9efc08f4d90f189ad5a0b8aab36ae47a91f0c58e2781f0e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page