Coder Social home page Coder Social logo

aminehmida / medots Goto Github PK

View Code? Open in Web Editor NEW
54.0 3.0 0.0 43 KB

Cross-platform dot config files manager using a yaml file.

License: GNU General Public License v3.0

Go 100.00%
cli command-line command-line-tool config cross-platform dotfiles manager

medots's Issues

How to handle different package managers with using `if_os: linux`?

Your project seems to be exactly what I was looking for for a long while. The Nix home-manager seems to solve all common problems, but it relies on nix with can be a heavy burden. It's also not clear how it can work on a VanillaOS system where nix runs in a container, whereas the home directory is shared between all containers afaik.

Your solution is free of any dependencies, except your own binary. Although the solution is still imperative through a declarative configuration, so it can't know about states, it's still a great middle ground when it comes to the deployment of home software. But, I want to preferably install software through the primary package manager of the system for the best support and storage, but this can't work with if_os: linux.

Maybe a package manager expression would be beneficial for this.

if_pkg: apt - runs only when apt is available, if_pkg: apx - an example for vanillaOS. It still needs a solution to skip other package managers when it found one, because I don't want to install the same software from two package managers. So any task also needs an id, so it can skip tasks with the same id that have run already.

An alternative route would be to just determine Linux flavors from their origin. I just want to make a difference between Debian based distros, Arch, VanillaOS, Alpine, but I would not necessarily require a difference between Debian/Ubuntu, both have apt.

Have you ever considered something like this?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.