A basic cli tool to manage (configuration) files based on profiles.
It works by keeping a list of managed files. Adding a file to a profile means creating two copies of it. One original, and one specific to the profile. When activating a profile, all files managed by it will be replaced by the profile-specific one. When deactivating all managed files of all profiles will be replaced by their previously created original versions.
Before any activation, adding or removal all profiles will be deactivated to assure a defined state.
All file-paths will automatically be made absolute.
rustup component add rust-src --toolchain nightly
sudo apt install apt install binutils-mingw-w64-x86-64 gcc-mingw-w64-x86-64-win32
cargo +nightly build -r -Z build-std --target x86_64-win7-windows-gnurustup target add x86_64-unknown-linux-musl
cargo build --target x86_64-unknown-linux-musl --releasedocker pull --platform linux/amd64 debian:11
docker run -it debian:11 /bin/bash
root@0fd864e589bb:/# apt update
root@0fd864e589bb:/# apt install git build-essential curluser@0fd864e589bb:~$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
git clone https://github.com/DerOrfa/profile-rs.git
cd profile-rs/
cargo build --release