找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

3289

积分

1

好友

443

主题
发表于 昨天 23:17 | 查看: 0| 回复: 0

---TITLE---
Awesome OS Setup:跨平台自动化系统配置与开发环境部署方案

---TAGS---
系统配置,开发环境,自动化脚本,跨平台,TUI

---CONTENT---
对于开发者而言,无论是更换新电脑还是重装系统,最耗时的莫过于从零开始搭建开发环境。安装各种软件、配置终端、调整系统设置,这一系列繁琐操作往往需要耗费数小时,甚至一整天的时间。现在,一个名为 Awesome OS Setup 的项目试图通过自动化和标准化来解决这一痛点。

项目核心:统一的自动化配置工具

Awesome OS Setup 本质上是一个个人操作系统配置的终端用户界面(TUI)应用。其核心是通过一个由 Python 编写的图形化终端工具,来统一管理 Windows、macOS 和 Linux 的系统设置与软件安装。

该项目最大的亮点在于其声明式的配置方式。用户只需在一个统一的 YAML 文件中定义自己所需的软件包列表,工具便会自动调用对应平台的包管理器(如 Windows 的 winget、Ubuntu 的 apt、macOS 的 brew 或 Arch 的 yay)进行批量安装,彻底告别手动逐个敲命令的时代。

它提供了针对不同系统的“一行流”安装脚本,执行后即可进入一个可视化的菜单界面。这个菜单不仅用于批量安装软件,还能协助配置 WSL2(适用于 Windows)以及平铺式窗口管理器,甚至内置了 Windows Terminal 的美化方案,自动配置字体与配色,力求为追求效率与美观的开发者提供开箱即用的体验。

功能与架构详解

五大核心优势

  1. 一行命令完成安装

    • Windows:通过 PowerShell 脚本,利用 winget 安装选定应用,启用 WSL,应用 Windows Terminal 默认设置,并获取平铺窗口管理器 GlazeWM 的配置。
    • Linux / WSL / macOS:通过 Bash 脚本,安装 Zsh、Oh My Zsh、powerlevel10k 主题、以及 bat、lsd、fzf 等终端增强工具,Linux 用户还可选装 NVIDIA 驱动。
  2. 跨平台的 Python 终端用户界面 (TUI)

    • 自动检测操作系统(Windows, WSL, Linux, macOS)。
    • 集成系统操作功能,如管理 WSL、Windows 实用程序、调用各系统包管理器。
    • 基于 TermTk 库构建的主应用 (main.py) 提供了清晰的可视化操作界面。

    例如,在 Linux/WSL 环境下运行安装脚本后,会进入一个交互式菜单。该脚本首先会检测系统环境,欢迎信息显示:“Detected OS: Linux”。菜单提供了有序的安装选项,引导用户逐步设置环境,其选项包括:

    1. Install ZSH
    2. Install Oh My Zsh, plugins and terminal utilities: batcat, lsd, bytop, fzf
    3. Install powerlevel10k
    4. Install / Initialize Miniconda3
    5. Install NVIDIA driver
    6. Uninstall ZSH or OHM or PL10K
    7. Show commands
    8. Exit
  3. 统一的软件包目录管理

    • 项目以 src/awesome_os/config/packages.yaml 文件作为软件包定义的“单一事实来源”。
    • 已实现针对不同系统和包管理器的后端,例如:
      • Windows: WindowsWingetManager
      • macOS: DarwinBrewManager, DarwinBrewCaskManager
      • Ubuntu: UbuntuAptManager, UbuntuSnapManager
      • Arch: ArchLinuxYayManager
  4. 强大的 WSL 工作流助手

    • 对于 Windows 用户,工具提供了完善的 WSL 管理功能,可视为一个 WSL 工作流助手,极大简化了 WSL 的使用复杂度。其可执行操作包括:
      • 列出已安装或在线可用的发行版。
      • 安装发行版(支持选择自定义安装位置)。
      • 导出、导入、移动或注销发行版。
      • 关闭和更新 WSL。
  5. Windows Terminal 一键美化

    • 应用一致的默认配置,包括 Night Owl 配色方案、JetBrains Mono 字体、透明效果以及适当的权限提升设置。
    • 自动添加一个带有专属图标的 Ubuntu 配置文件到 Windows Terminal 中。

效果展示与系统选择

工具旨在帮助用户在 Windows 11 的 WSL Ubuntu 终端中,实现高效、美观的桌面环境。例如,配合 GlazeWM 这类平铺窗口管理器,用户可以使用键盘命令动态组织终端和其他应用窗口,实现类似下图的高效布局(原图为终端截图,此处用文字描述):

  • 左侧终端:运行 neofetch 命令,显示详细的系统信息,例如操作系统为 Ubuntu 22.04 LTS on WSL2,内核版本 5.15.133.1,使用 zsh 5.8.1 作为 shell,运行在 Windows Terminal 中。硬件信息包括 AMD Ryzen 7 5800X CPU 和 16GB 内存。
  • 右侧终端:正在运行 auto_linux_setup.sh 脚本,并停留在交互菜单选择界面,等待用户输入。

那么,开发者应如何选择操作系统?Awesome OS Setup 的作者也给出了见解:

特性 macOS Linux Windows with WSL
优点 适合编程、视频编辑,完美支持 Adobe 和 Office。 编程和游戏的理想选择,两方面性能俱佳。 软件兼容性无敌(Adobe, Office)。游戏体验佳。借助 WSL,无需双系统即可获得完美开发环境。
不便之处 游戏生态相对有限。 缺乏对 Adobe、Office 及部分专业软件的原生支持。 系统UI流畅度和响应速度可能不及 macOS 和 Linux。

WSL 的集成使得 Windows 成为一个极具吸引力的平台,它让用户在享受 Adobe、Microsoft 全家桶和顶级游戏兼容性的同时,又能获得一个近乎原生的 Linux 命令行开发环境。这种灵活性为开发者提供了全面的计算体验。

快速开始使用指南

对于 Linux / WSL2 / macOS 用户

在 bash 或 zsh 终端中,执行以下一条命令即可开始:

sh -c “$(wget https://raw.githubusercontent.com/AmineDjeghri/awesome-os-setup/main/install_unix.sh -O -)”

如果你的环境是无头服务器(如 ubuntu-server),建议通过带有 GUI 的 SSH 客户端连接,以便使用鼠标操作和复制粘贴命令。

对于 Windows 11 用户

以管理员身份打开 PowerShell,然后执行:

iex ((New-Object System.Net.WebClient).DownloadString(‘https://raw.githubusercontent.com/AmineDjeghri/awesome-os-setup/main/install_windows.ps1’))

项目文档与总结

该项目配备了详细的文档,涵盖了 Windows/WSL2、Linux、macOS 等不同平台的工作流指南,甚至包括电视配置、应用设置、浏览器扩展等个性化内容。这些文档通过 MkDocs 构建成了静态网站,便于浏览。

Awesome OS Setup 项目体现了现代 Python 工具链和 自动化运维 思想在解决开发者日常痛点上的强大能力。通过将碎片化的配置步骤抽象为可版本化管理的 YAML 文件和自动化脚本,它显著降低了开发环境搭建与维护的成本,让开发者能够更专注于创造本身,而非基础设施的重复劳作。

参考资料

[1] 有了这个项目,重装系统再也不愁了!, 微信公众号:mp.weixin.qq.com/s/dwEEj1wahDtyBmUFC_RWRQ

版权声明:本文由 云栈社区 整理发布,版权归原作者所有。




上一篇:在安卓设备上原生部署AList服务:告别Termux,用AListLite一键搞定
下一篇:AI Agent社交网络Moltbook架构解析与涌现观察
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-2-10 05:27 , Processed in 0.315292 second(s), 43 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表