Boxxy (sensible à la casse) est un outil pour boxer les applications Linux mal compatibles et les forcer à mettre leurs fichiers et répertoires au bon endroit, sans Symlinks!
Boxxy fait partie du serveur Amyware Discord.
Si vous aimez ce que je fais, envisagez de me soutenir sur Patreon:
Linux uniquement! Boxxy utilise des espaces de noms Linux pour ses fonctionnalités.
Par exemple, considérez TMUX. Il veut mettre sa configuration dans ~/.tmux.conf . Avec Boxxy, vous pouvez mettre sa configuration dans ~/.config/tmux/tmux.conf à la place:
# ~/.config/boxxy/boxxy.yaml
rules :
- name : " redirect tmux config from ~/.tmux.conf to ~/.config/tmux/tmux.conf "
target : " ~/.tmux.conf "
rewrite : " ~/.config/tmux/tmux.conf "
mode : " file " Je suis en pause dans le maintien de projets open-source pour des raisons de santé. Les PR seront toujours acceptés et les problèmes seront toujours examinés, mais il n'y a aucune promesse sur le moment où cela se produira.
J'ai récemment dû utiliser la CLI AWS. Il veut enregistrer des données dans ~/.aws , mais je ne veux pas que cela encombre mon $HOME comme il le veut. Boxxy me permet de le forcer à mettre ses données dans un endroit agréable et approprié.
0.5.0 : Boxxy peut scanner votre homedir pour suggérer automatiquement des règles pour vous!0.6.0 : Boxxy peut utiliser des fichiers boxxy.yaml Project-local et peut charger des fichiers .env pour vous!0.6.1 : les règles Boxxy peuvent injecter des envars env.0.7.2 : Boxxy peut débarquer le processus boxxé en arrière-plan avec l'indicateur --daemon .0.8.0 : Boxxy peut passer des règles sur la ligne de commande avec --rule et désactiver le chargement des fichiers de configuration avec --no-config .0.8.2 : Expliquez comment exécuter correctement les applimages:git:(mistress) | ▶ cat ~ /.config/boxxy/boxxy.yaml
rules:
- name: " Store AWS CLI config in ~/.config/aws "
target: " ~/.aws "
rewrite: " ~/.config/aws "
git:(mistress) | ▶ boxxy aws configure
INFO boxxy > loaded 1 rules
INFO boxxy::enclosure > applying rule ' Store AWS CLI config in ~/.config/aws '
INFO boxxy::enclosure > redirect: ~ /.aws - > ~ /.config/aws
INFO boxxy::enclosure > boxed " aws " ♥
AWS Access Key ID [ **************** d]: a
AWS Secret Access Key [ **************** c]: b
Default region name [b]: c
Default output format [a]: d
git:(mistress) | ▶ ls ~ /.aws
git:(mistress) | ▶ ls ~ /.config/aws
config credentials
git:(mistress) | ▶ cat ~ /.config/aws/config
[default]
region = c
output = d
git:(mistress) | ▶alias aws="boxxy aws" (répéter pour d'autres outils) Boxxy nécessite que newuidmap fonctionne, qui n'est pas inclus par défaut dans toutes les distributions. Pour installer:
Alpin:
$ apk add shadow-uidmapDebian / Ubuntu:
$ apt install uidmapRhel / Fedora:
$ yum install shadow-utils Le fichier de configuration Boxxy vit dans ~/.config/boxxy/boxxy.yaml . Si aucun n'existe, un vide sera créé pour vous.
rules :
# The name of the rule. User-friendly name for your reference
- name : " redirect aws-cli from ~/.aws to ~/.config/aws "
# The target of the rule, ie the file/directory that will be shadowed by the
# rewrite.
target : " ~/.aws "
# The rewrite of the rule, ie the file/directory that will be used instead of
# the target.
rewrite : " ~/.config/aws "
- name : " use different k8s configs when in ~/Projects/my-cool-startup "
target : " ~/.kube/config "
rewrite : " ~/Projects/my-cool-startup/.kube/config "
# The context for the rule. Any paths listed in the context are paths where
# this rule will apply. If no context is specified, the rule applies
# globally.
context :
- " ~/Projects/my-cool-startup "
# The mode of this rule, either `directory` or `file`. `directory` is the
# default. Must be specified for the correct behaviour when the target is a
# file. Required because the target file/directory may not exist yet.
mode : " file "
# The list of commands that this rule applies to. If no commands are
# specified, the rule applies to all programs run with boxxy.
only :
- " kubectl " rules :
- name : " any valid string " # required
target : " path " # required
rewrite : " path " # required
context : # optional
- " path "
- " path "
mode : " directory | file " # optional
only : # optional
- " binary name "
- " binary name "
env : # optional
KEY : " value " pre-commit installcargo buildcargo run -- ls -lah ~/.config/ to TMP/ rofixtures/helloworld-appimage-x86_84.AppImage : https://github.com/clonedrepos/hello-world-appimage