Boxxy (чувствительный к случаям)-это инструмент для поведения приложений для плохого поведения Linux и заставляя их размещать свои файлы и каталоги в нужном месте, без символов!
Boxxy является частью сервера Discord Amyware.
Если вам нравится то, что я делаю, подумайте о поддержке меня на Patreon:
Только Linux! Boxxy использует пространства имен Linux для его функциональности.
Например, рассмотрим Tmux. Он хочет поместить свою конфигурацию в ~/.tmux.conf
. С Boxxy вы можете поместить его конфигурацию в ~/.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 "
У меня есть перерыв в поддержании проектов с открытым исходным кодом по соображениям здоровья. PRS все еще будет принята, и проблемы все еще будут рассмотрены, но нет никаких обещаний, когда это произойдет.
Недавно мне пришлось использовать AWS CLI. Он хочет сохранить данные в ~/.aws
, но я не хочу, чтобы это просто загромождало мой $HOME
как бы он ни хотел. Boxxy позволяет мне заставить его поставить свои данные куда -нибудь красивые и правильные.
0.5.0
: Boxxy может сканировать ваш Homedir, чтобы автоматически предложить правила для вас!0.6.0
: Boxxy может использовать файлы Project-Local boxxy.yaml
и может загружать файлы .env
для вас!0.6.1
: правила Boxxy могут вводить env vars:0.7.2
: Boxxy Can Can Brokexed Process в фон с флагом --daemon
.0.8.0
: Boxxy может передавать правила в командной строке с --rule
и отключить файлы загрузки с помощью --no-config
.0.8.2
: Объясните, как правильно запускать аппараты: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"
(повторите для других инструментов) Boxxy требует функции newuidmap
, который не включен по умолчанию во всех распределениях. Для установки:
Альпийский:
$ apk add shadow-uidmap
Debian / Ubuntu:
$ apt install uidmap
Rhel / Fedora:
$ yum install shadow-utils
Файл конфигурации Boxxy живет в ~/.config/boxxy/boxxy.yaml
. Если нет, то пустое будет создано для вас.
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 install
cargo build
cargo run -- ls -lah ~/.config
/
To TMP Directory/
rofixtures/helloworld-appimage-x86_84.AppImage
: https://github.com/clonedrepos/hello-world-appimage