Project Icon

dotfiles

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

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

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

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

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

忘记手动配置!

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

\[^_^]/ - 这最初是 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

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

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

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号