dotfiles

dotfiles

MacOS 系统自动化配置与优化工具

dotfiles 是一个强大的 MacOS 系统自动化配置工具,适用于新机器和旧设备。它能快速设置系统默认值、软件配置并安装常用开发工具。该项目涵盖安全设置、系统优化、Finder 配置和 Dock 设置等多个方面。此外,dotfiles 还提供实用软件和 npm 全局模块的安装选项。用户可根据需求进行定制,显著提升 MacOS 系统的配置效率。

MacOS配置自动化安装系统优化开发工具dotfilesGithub开源项目

\[._.]/ - 你好,我是 MacOS 机器人

我将用更好的系统默认设置、偏好、软件配置来更新你的 MacOS 机器,甚至自动安装一些我的开发者朋友认为有用的开发工具和应用程序。

你不需要预先安装或配置任何东西!这适用于全新出厂的机器,也适用于你已经使用多年的现有机器。

<!-- START doctoc generated TOC please keep comment here to allow auto update --> <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --> <!-- END doctoc generated TOC please keep comment here to allow auto update -->

忘记手动配置!

你是否讨厌获得一台新笔记本电脑或加入一个新团队,然后花一整天时间设置你的系统偏好和工具?我也是。这就是为什么我们要自动化;我们做过一次,不想再做第二次。

\[^_^]/ - 这最初是 Adam Eivy 的 MacOS shell 配置点文件,但已发展成为多开发者的机器配置平台。

当我完成对你机器的配置后,你将能够以全屏模式查看你的命令行,如下所示(运行 iTerm):

iTerm 截图

看看你的 shell 提示符如何包含完整路径、node.js 版本和当前 git 分支,以及许多其他信息! 我们使用 powerlevel9k 作为命令提示符,因此你想要的自定义很容易在 ./.zshrc 中更改 顶部终端使用 vim 作为完整的 IDE 替代品。 左下方两个是 git 终端。 右下方运行的是 vtop

要启动全屏,在 iTerm 中按 Command + Enter,然后使用 Command + dCommand + D 创建分割窗格。

\[._.]/ - 我太兴奋了,我刚刚在裤子里二进制了!

观看我运行!

运行

安装

注意:我建议 fork 这个仓库,以防你不喜欢我做的任何事情,想要设置自己的偏好(并提交 pull request!)

☢️ 在运行之前,请先查看此脚本的作用 在使用 sudo 权限在你的机器上运行之前,最好先查看来自互联网的任意代码! 你要对这个脚本对你的机器所做的一切负责(参见 LICENSE) 这个仓库的创建者对破坏他的机器并重新开始有很高的容忍度。如果你对此容忍度较低,请谨慎进行。

git clone --recurse-submodules https://github.com/atomantic/dotfiles ~/.dotfiles cd ~/.dotfiles; # 使用终端运行此命令(不要使用 iTerm,否则 iTerm 设置可能会在退出时被丢弃) ./install.sh
  • 当它完成后,打开 iTerm 并按 Command + , 打开偏好设置。在 Profiles > Colors 下,选择 "Load Presets" 并选择 Solarized Dark Patch 方案。如果由于某种原因它不在那里,从 ~/.dotfiles/configs 导入它 -- 你可能还需要选择 Hack 字体并勾选非 ascii 字体的复选框,并设置为 Roboto Mono For Powerline(我在自动化这些设置时遇到了不同的结果 -- 欢迎改进这一点的 pull request)
  • 我还发现你需要重新启动才能启用快速按键重复

注意:如果你在代理后面克隆子模块时遇到问题,你可以使用这个命令将 git:// 转换为 https://: git config --global url.https://github.com/.insteadOf git://github.com/

注意:运行 install.sh 是幂等的。你可以一次又一次地运行它,因为你向脚本添加了新功能或软件!我会定期添加新配置,所以请关注这个仓库,因为它会不断增长和优化。

恢复点文件

如果你有用于配置 git、zsh、vim 等的现有点文件,这些文件将备份到 ~/.dotfiles_backup/$(date +"%Y.%m.%d.%H.%M.%S") 并替换为此项目中的文件。你可以通过使用 ./restore.sh $RESTOREDATE 来恢复原始点文件,其中 $RESTOREDATE 是你想要恢复的日期文件夹名称。

恢复脚本目前不会恢复系统设置 -- 只会恢复你原来的点文件。要恢复系统设置,你需要手动撤销你不喜欢的内容(所以不要忘记 fork、review、tweak)

3.x.x+ 升级说明!

3.0.0 带来了巨大的变化。如果你做了任何修改(并且没有创建自己的 fork),你会想在运行 git-upgit pull~/.dotfiles 之前备份你的点文件。

按照以下步骤安全地升级你的 ~/.dotfiles:

  1. 备份你的点文件:cp -R ~/.dotfiles ~/.dotfiles_old
  2. cd ~/.dotfiles
  3. 更新点文件:git upgit pull
  4. 删除旧的子模块位置:rm -rf .vim(现在位于 homedir/.vim
  5. 检查 install.shconfig.js 以确保所有你想要的软件都已安装
  6. 检查 homedir/* 中是否有任何你想从 ./dotfiles_old 移植的更改
  7. 再次运行 install.sh

附加内容

将 VIM 作为 IDE

我正在从使用 Atom 转向使用 vim 作为我的 IDE。我使用 Vundle 来管理 vim 插件(而不是 pathogen)。Vundle 在很多方面都更好,并且与 pathogen 插件兼容。此外,vundle 会管理和安装自己的插件,所以我们不必为所有插件使用 git 子模块。

Crontab

如果你想添加我的夜间 cron 软件更新,可以执行 cron ~/.crontab

\[0_0]/ - 请注意,这可能会在早上唤醒你,面对兼容性问题,所以只有当你喜欢处于前沿时才使用

重新映射 Caps-Lock

  • 我强烈建议按照 Dr. Bunsen 的方法将 Caps Lock 键重新映射为 Control 键: 重新映射 Caps Lock

设置

这个项目会更改一些设置并配置 MacOS 上的软件。 以下是当前的列表:

提示驱动配置

只有在你同意提示时,才会执行以下操作

  • 安装一个 gitshots 脚本,在每次 git 提交时使用你的相机拍照(这些会作为后提交钩子添加到你的 .git_template 中)
  • 用 someonewhocares.org 的副本覆盖你的 /etc/hosts 文件(请参阅 ./configs/hosts 中将要使用的文件)
  • img/wallpaper.jpg 替换系统壁纸

安全性

  • 启用防火墙
  • 启用防火墙隐身模式(不响应 ICMP / ping 请求)
  • 禁用远程 Apple 事件
  • 禁用调制解调器唤醒
  • 禁用局域网唤醒
  • 禁用访客账户登录

一般系统更改

  • 始终以详细模式启动(非 MacOS GUI 模式)
  • 禁用启动时的声音效果
  • 菜单栏:禁用透明度
  • 菜单栏:隐藏 Time Machine、音量、用户和蓝牙图标
  • 将高亮颜色设置为绿色
  • 将侧边栏图标大小设置为中等
  • 始终显示滚动条
  • 增加 Cocoa 应用程序的窗口调整速度
  • 默认展开保存面板
  • 默认展开打印面板
  • 允许使用 'locate' 命令
  • 将待机延迟设置为 24 小时(默认为 1 小时)
  • 默认保存到磁盘(而不是 iCloud)
  • 打印作业完成后自动退出打印机应用程序
  • 禁用"您确定要打开此应用程序吗?"对话框
  • 删除"打开方式"菜单中的重复项(另请参阅 'lscleanup' 别名)
  • 在标准文本视图中使用插入符号表示法显示 ASCII 控制字符
  • 禁用崩溃报告器
  • 将帮助查看器窗口设置为非浮动模式
  • 在登录窗口中点击时钟时显示 IP、主机名、操作系统等信息
  • 每天检查软件更新,而不仅仅是每周一次
  • 禁用智能引号,因为在输入代码时会很烦人
  • 禁用智能破折号,因为在输入代码时会很烦人

触控板、鼠标、键盘、蓝牙配件和输入

  • 触控板:为此用户和登录屏幕启用点击以单击
  • 触控板:将右下角映射为右键单击
  • 禁用"自然"(Lion 风格)滚动
  • 提高蓝牙耳机/耳麦的声音质量
  • 为所有控件启用完全键盘访问(例如,在模态对话框中启用 Tab 键)
  • 使用带有 Ctrl (^) 修饰键的滚动手势进行缩放
  • 在放大时跟随键盘焦点
  • 禁用按住键以支持键重复
  • 设置极快的键盘重复速率:
  • 设置语言和文本格式(英语/美国)

配置屏幕

  • 在睡眠或屏幕保护程序开始后立即要求输入密码
  • 将屏幕截图保存到桌面
  • 以 PNG 格式保存屏幕截图(其他选项:BMP、GIF、JPG、PDF、TIFF)
  • 禁用屏幕截图中的阴影
  • 在非 Apple LCD 上启用亚像素字体渲染
  • 启用 HiDPI 显示模式(需要重新启动)

Finder 配置

  • 按名称排序时,将文件夹保持在顶部(仅限 Sierra)
  • 允许通过 ⌘ + Q 退出;这样做还会隐藏桌面图标
  • 禁用窗口动画和获取信息动画
  • 将桌面设置为新 Finder 窗口的默认位置
  • 默认显示隐藏文件
  • 显示所有文件名扩展名
  • 显示状态栏
  • 显示路径栏
  • 允许在快速查看中选择文本
  • 将完整 POSIX 路径显示为 Finder 窗口标题
  • 执行搜索时,默认搜索当前文件夹
  • 更改文件扩展名时禁用警告
  • 为目录启用弹簧加载
  • 移除目录的弹簧加载延迟
  • 避免在网络卷上创建 .DS_Store 文件
  • 禁用磁盘映像验证
  • 挂载卷时自动打开新的 Finder 窗口
  • 默认在所有 Finder 窗口中使用列表视图
  • 清空垃圾桶前禁用警告
  • 默认安全清空垃圾桶
  • 在以太网和不支持的运行 Lion 的 Mac 上启用 AirDrop
  • 显示 ~/Library 文件夹
  • 展开以下文件信息面板:"常规"、"打开方式"和"共享和权限"

Dock 和 Dashboard

  • 为堆栈的网格视图启用悬停高亮效果(Dock)
  • 将 Dock 项目的图标大小设置为 36 像素
  • 将最小化/最大化窗口效果更改为缩放
  • 将窗口最小化到其应用程序的图标中
  • 为所有 Dock 项目启用弹簧加载
  • 在 Dock 中显示打开的应用程序的指示灯
  • 不要为从 Dock 打开的应用程序设置动画
  • 加快 Mission Control 动画速度
  • 在 Mission Control 中不按应用程序分组窗口
  • 禁用 Dashboard
  • 不要将 Dashboard 显示为一个空间
  • 不要根据最近使用情况自动重新排列空间
  • 移除自动隐藏 Dock 的延迟
  • 移除隐藏/显示 Dock 时的动画
  • 自动隐藏和显示 Dock
  • 使隐藏应用程序的 Dock 图标半透明
  • 使 Dock 更加透明
  • 重置 Launchpad,但保持桌面壁纸完整

配置热角

  • 左上屏幕角 → Mission Control
  • 右上屏幕角 → 桌面
  • 右下屏幕角 → 启动屏幕保护程序

配置 Safari 和 WebKit

  • 将 Safari 的主页设置为 'about:blank' 以加快加载速度
  • 防止 Safari 在下载后自动打开"安全"文件
  • 允许按退格键返回历史记录中的上一页
  • 默认隐藏 Safari 的书签栏
  • 在热门站点中隐藏 Safari 的侧边栏
  • 禁用 Safari 的历史记录和热门站点的缩略图缓存
  • 启用 Safari 的调试菜单
  • 使 Safari 的搜索横幅默认为"包含"而不是"开头为"
  • 从 Safari 的书签栏中删除无用的图标
  • 在 Safari 中启用开发菜单和 Web 检查器
  • 为网页视图中的 Web 检查器添加上下文菜单项

配置邮件

  • 在 Mail.app 中禁用发送和回复动画
  • 在 Mail.app 中将电子邮件地址复制为 'foo@example.com' 而不是 'Foo Bar foo@example.com'
  • 在 Mail.app 中添加键盘快捷键 ⌘ + Enter 以发送电子邮件
  • 以线程模式显示电子邮件,按日期排序(最旧的在顶部)
  • 禁用内联附件(只显示图标)
  • 禁用自动拼写检查

Spotlight

  • 禁用Spotlight对任何新挂载且尚未索引的卷进行索引
  • 更改索引顺序并禁止对某些文件类型进行索引
  • 在重建索引前加载新设置
  • 确保为主卷启用索引

iTerm2

  • 为iTerm安装Solarized Dark主题
  • 退出iTerm时不显示烦人的提示
  • 隐藏标签标题栏
  • 设置系统全局热键以显示/隐藏iTerm,使用ctrl+反引号(^ + `)
  • 将普通字体设置为Hack 12pt
  • 将非ASCII字体设置为Roboto Mono for Powerline 12pt

Time Machine

  • 防止Time Machine提示将新硬盘用作备份卷
  • 禁用本地Time Machine备份

活动监视器

  • 启动活动监视器时显示主窗口
  • 在活动监视器Dock图标中可视化CPU使用情况
  • 在活动监视器中显示所有进程
  • 按CPU使用情况对活动监视器结果进行排序

通讯录、Dashboard、日历、文本编辑和磁盘工具

  • 在通讯录中启用调试菜单
  • 启用Dashboard开发模式(允许将小部件保留在桌面上)
  • 对新的文本编辑文档使用纯文本模式
  • 在文本编辑中以UTF-8格式打开和保存文件
  • 在磁盘工具中启用调试菜单

Mac应用商店

  • 在Mac应用商店中启用WebKit开发者工具
  • 在Mac应用商店中启用调试菜单

信息

  • 禁用自动表情符号替换(即使用纯文本表情)
  • 禁用智能引号,因为对包含代码的消息来说很烦人

SizeUp.app

  • 登录时启动SizeUp
  • 下次启动时不显示偏好设置窗口

软件安装

homebrew、fontconfig、git、nvm(node + npm)和zsh(最新版)都在install.sh中作为运行此项目的基础软件安装。 其他软件在config.js中配置,可以在您自己的分支中自定义(您可以在自己的分支中更改所有内容)。 以下是我设置为默认的软件:

实用工具

  • ack
  • ag
  • coreutils
  • dos2unix
  • findutils
  • fortune
  • gawk
  • gifsicle
  • gnupg
  • gnu-sed
  • homebrew/dupes/grep
  • httpie
  • imagemagick(仅在启用gitshots时)
  • imagesnap(仅在启用gitshots时)
  • jq
  • mas
  • moreutils
  • nmap
  • openconnect
  • reattach-to-user-namespace
  • homebrew/dupes/screen
  • tmux
  • tree
  • ttyrec
  • vim --override-system-vi
  • watch
  • wget --enable-iri

应用程序

  • box-sync
  • gpgtools
  • iterm2
  • sizeup
  • slack
  • the-unarchiver
  • xquartz

NPM全局模块

  • antic
  • buzzphrase
  • eslint
  • gulp
  • instant-markdown-d
  • npm-check
  • prettyjson
  • trash
  • vtop

许可证

本项目采用ISC许可。请自由分叉、贡献和分享。

贡献

欢迎以带有解释性评论的拉取请求形式提供贡献。

请参阅贡献者公约

厌恶、无感和赞美

  1. 厌恶应该转化为使之变得更好的拉取请求。耶!
  2. 设置中的错误应作为GitHub问题提出。
  3. 无感应该 > /dev/null
  4. 赞美应该发送给 @antic

作者

更多信息:https://adameivy.com

¯\(ツ)/¯ 警告 / 免责声明

警告: 如果您的机器最终处于您不满意的状态,本仓库的创建者不承担任何责任。如果您有顾虑,请查看代码以了解这将对您的机器做什么 :)

编辑推荐精选

Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

热门AI工具生产力协作转型TraeAI IDE
问小白

问小白

全能AI智能助手,随时解答生活与工作的多样问题

问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。

聊天机器人AI助手热门AI工具AI对话
Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

热门AI工具AI办公办公工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

模型训练热门AI工具内容创作智能问答AI开发讯飞星火大模型多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

AI助手热门AI工具AI创作AI辅助写作讯飞绘文内容运营个性化文章多平台分发
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

openai-agents-python

openai-agents-python

OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。

openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。

下拉加载更多