80 个版本 (15 个稳定版)

1.6.0 2024 年 5 月 25 日
1.5.3 2024 年 2 月 7 日
1.4.3 2024 年 1 月 31 日
1.4.2 2021 年 11 月 14 日
0.2.7 2019 年 11 月 30 日

#1 in 命令行工具

Download history 3/week @ 2024-05-17 168/week @ 2024-05-24 17/week @ 2024-05-31 6/week @ 2024-06-07 12/week @ 2024-07-05

每月 5,110 次下载

AGPL-3.0-or-later

135KB
3K SLoC

emplace

用于在多台机器上镜像已安装软件的命令行工具。

Build Status Downloads Version


功能

  • 输出人类可读的(RON)文件以在机器之间同步: .emplace

  • 使用 git 进行版本控制,以自动推送和拉取更新

  • 安装软件包后自动提示

  • 与 dotfiles 仓库集成良好

  • 解析历史文件

  • 支持包管理器

    操作系统 包管理器
    Apt
    GNU Guix
    Nix
    Pacman
    Paru
    RUA
    Yay
    Zypper
    Snap
    DNF/YUM
    Homebrew
    Pkg
    Chocolatey
    Scoop
    Cargo
    Cargo B(inary)Install
    Rustup Component
    Python Pip
    Python Pip 3
    Node Package Manager
    Ruby Gem
    Go
  • 支持的 Shell

    Shell
    Bash
    Zsh
    Fish
    Nu

安装 打包状态

入门

  1. 安装 emplace 二进制文件

    Windows

    Scoop

    scoop install emplace
    

    NixOS

    nix-env -iA nixos.emplace
    

    Linux, MacOS, Windows

    Rust

    cargo install emplace
    

    二进制文件

    发布 下载您操作系统上的最新二进制文件,并将其放置在您的 PATH 中。

  2. 将初始化脚本添加到您的 Shell 配置文件中

    Bash

    将以下内容添加到 ~/.bashrc 的末尾

    # ~/.bashrc
    
    source <(emplace init bash)
    

    Zsh

    将以下内容添加到 ~/.zshrc 的末尾

    # ~/.zshrc
    
    eval "$(emplace init zsh)"
    

    Fish

    将以下内容添加到 ~/.config/fish/config.fish 的末尾

    # ~/.config/fish/config.fish
    
    emplace init fish | source
    

    Nu

    在您的 Shell 中运行以下内容

    emplace init nu | config set_into prompt
    
  3. 更改配置文件(可选)

    当您想使用默认配置文件以外的其他配置文件时,可以使用 emplace init $SHELLemplace init $SHELL -c path/to/my/config.toml 替换。

    这将设置环境变量 EMPLACE_CONFIG="path/to/my/config.toml"。这可以通过以下命令在初始化函数之后被覆盖,但不在 Nu shell 中:export EMPLACE_CONFIG="path/to/other/config.toml"

用法

镜像软件包

使用命令行以常规方式调用支持的包管理器,系统会自动提示您镜像软件包,例如

cargo install topgrade
# -- or --
cargo binstall zellij
# -- or --
rustup component add rustfmt
# -- or --
sudo apt install meld
# -- or --
pacman -S zsh
# -- or --
paru -S ventoy
# -- or --
rua install peek
# -- or --
yay -S thunar
# -- or --
sudo snap install scrcpy
# -- or --
npm install -g release
# -- or --
pip3 install --user termtosvg
# -- or --
choco install neovim
# -- or --
scoop install curl
# -- or --
nix-env -iA nixpkgs.nixfmt
# -- or --
brew install wget
# -- or --
sudo dnf install htop
# -- or --
guix install 0ad
# -- or --
gem install aasm-diagram
# -- or --
go get colorgo
# -- or --
pkg install nginx

在其他机器上同步

只需调用 emplace install,系统会提示您要安装的软件包

emplace install

历史分析

您还可以解析历史文件,这将尝试从每一行中提取安装命令。

Bash & Zsh

emplace history $HISTFILE

Fish

emplace history ~/.local/share/fish/fish_history

删除同步的软件包

运行 emplace clean 并选择要清理的软件包,它们不会从您的系统中删除。

创建和修改配置文件

运行 emplace config --new 创建新配置,并配置仓库,或运行 emplace config --path 获取配置文件的路径。

开发状态

我不再积极开发此软件,但我仍然会审查和接受拉取请求。

贡献者

感谢以下这些杰出人士(表情符号键


Logan Magee

💻 🐛

Vladimir

📦 💻 🐛 🚧 👀

Jozef Hollý

🤔

Oleksii Filonenko

💻 📦 👀

x0f5c3

💻

Benjamin S. Leveritt

🤔 🚧

Michael Borejdo

🤔

Ken Tobias

📦

Adam Stephens

🐛

omar

🐛

5c0tt-b0t

🤔 🐛

Modded Gamers

🐛

John Vandenberg

🐛 🤔

cryolithic

📦

此项目遵循 all-contributors 规范。欢迎任何形式的贡献!

依赖

~9–19MB
~218K SLoC