O Boxxy (sensível à caixa) é uma ferramenta para encaixar aplicativos de comportamento inadimplente e forçando-os a colocar seus arquivos e diretórios no lugar certo, sem links simbólicos!
Boxxy faz parte do servidor Amyware Discord.
Se você gosta do que eu faço, considere me apoiar no Patreon:
Linux somente! O Boxxy usa namespaces Linux para sua funcionalidade.
Por exemplo, considere o tmux. Ele deseja colocar sua configuração em ~/.tmux.conf . Com o Boxxy, você pode colocar sua configuração em ~/.config/tmux/tmux.conf :
# ~/.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 " Estou em uma pausa na manutenção de projetos de código aberto devido a razões de saúde. Os PRs ainda serão aceitos e os problemas ainda serão analisados, mas não há promessas sobre quando isso acontecerá.
Recentemente, tive que usar a CLI da AWS. Ele deseja salvar dados em ~/.aws , mas não quero que apenas confundir meu $HOME como quiser. O Boxxy me permite forçá -lo a colocar seus dados em algum lugar agradável e adequado.
0.5.0 : Boxxy pode escanear seu homedir para sugerir automaticamente regras para você!0.6.0 : O Boxxy pode usar arquivos de projeto de projeto boxxy.yaml e pode carregar arquivos .env para você!0.6.1 : As regras Boxxy podem injetar Env vars:0.7.2 : Boxxy pode bifurcar o processo boxxed em segundo plano com o sinalizador --daemon .0.8.0 : O Boxxy pode passar as regras na linha de comando com --rule e desativar arquivos de configuração de carregamento com --no-config .0.8.2 : Explique como executar appimages corretamente: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" (repita para outras ferramentas) O Boxxy exige que newuidmap funcione, que não está incluído por padrão em todas as distribuições. Para instalar:
Alpino:
$ apk add shadow-uidmapDebian / Ubuntu:
$ apt install uidmapRhel / Fedora:
$ yum install shadow-utils O arquivo de configuração Boxxy vive em ~/.config/boxxy/boxxy.yaml . Se não existir, um vazio será criado para você.
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/ TMP/ rofixtures/helloworld-appimage-x86_84.AppImage : https://github.com/clonedrepos/hello-world-apimage