commit 307441f96d85ddc99766d7ae4a1e974bf2882abf Author: Sense T Date: Thu Feb 27 23:35:05 2025 +0800 init diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..8392d15 --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use flake \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2e5c630 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.direnv +test \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..fb3ec9d --- /dev/null +++ b/README.md @@ -0,0 +1,87 @@ +# 信创全家桶·Nix 特别版 🚀🦉 + +> 创,都可以创…… +> 专为信创软件爱好者设计的 Nix 仓库 + +专治各类信创软件依赖失调、版本混乱、安装困难等疑难杂症 + +![国产化率99.9%](https://img.shields.io/badge/国产化率-99.9%25-red) +![薛定谔的兼容性](https://img.shields.io/badge/兼容性-薛定谔的-yellowgreen) +![文档不存在](https://img.shields.io/badge/文档-量子态-ff69b4) + +## 这是什么? 🤔 + +一个用 [Nix](https://nixos.org/) 打包的国产信创软件集合仓库,试图用现代包管理技术对抗: + +- 玄学般的依赖关系 +- 薛定谔的二进制兼容性 +- 永远在路上的文档 +- 比大姨妈还准时的国产化KPI更新 +- 以及各类 "在我机器上是好的" 行为艺术 + +## 食用方法 🍜 + +### 前置条件 + +1. 安装 [Nix](https://nixos.org/download.html) +2. 准备一颗强大的心脏 ❤️🔧 + +### 快速开始 + +```bash +# 添加本仓库通道 +nix-channel --add https://github.com/your-repo/your-channel + +# 进入量子叠加态环境 +nix-shell -p \ + uos-print-daemon \ # 永远在重启的打印服务 + kylin-secure-module \ # 薛定谔的安全组件 + neo-kylin-db-client \ # 需要先证明自己是root才能用的数据库客户端 + --show-trace +``` + +## 已收录珍稀品种 🦄 + +- 统信UOS全家桶(附带祖传依赖树) +- 麒麟安全模块(量子态验证引擎) +- 中望Linux特别版(CAD打开速度挑战人类耐心极限) +- 金山WPS Linux定制版(字体渲染的平行宇宙) +- 东方通中间件(配置复杂度堪比火箭发射) + +## 贡献指南 👷 + +欢迎提交PR治疗以下症状: + +- 找不到头的依赖项 +- 神秘的核心已转储 +- 需要烧香才能通过的编译过程 +- 文档与实物严重不符的情况 +- 任何具有国产软件特色的行为艺术案例 + +## 免责声明 ⚠️ + +本仓库不保证: + +- 能正常启动 +- 不破坏系统 +- 符合安全规范 +- 与任何官方认证兼容 +- 在重启后依然存在 + +## 吐槽专区 😤 + +### 我们深爱的国产软件七大美德 + +1. **依赖地狱**:自带上古版本的OpenSSL和glibc,完美实现时间穿越 +2. **文档不存在**:真正的安全来自于"谁都不知道怎么用" +3. **硬件亲和性**:只认特定批次的国产CPU,建议配合算命先生使用 +4. **安全创新**:独创的root用户二次验证体系(先成为root才能验证你是root) +5. **性能艺术**:用Electron重写传统C++软件,实现真正的"负重前行" +6. **版本玄学**:BuildNumber比版本号更重要,且永远对不上 +7. **爱国验证**:每小时自动检测系统语言,发现非中文环境立即罢工 + +## 开源协议 📜 + +[反996许可证] + [量子波动授权条款]:你可以在工作日的非工作时间,或老板看不见的量子态中进行修改 + +(注:本README纯属技术吐槽,如有雷同,说明国产软件生态真的需要改进🤫 实际使用时请自行替换仓库地址和软件包名) diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..ea987a9 --- /dev/null +++ b/flake.nix @@ -0,0 +1,67 @@ +{ + description = ""; + + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; + treefmt-nix.url = "github:numtide/treefmt-nix"; + }; + + outputs = + { nixpkgs, ... }@inputs: + let + system = "x86_64-linux"; + pkgs = import nixpkgs { inherit system; }; + treefmtEval = inputs.treefmt-nix.lib.evalModule pkgs ./treefmt.nix; + packages-inode = with pkgs; [ + libgcc + libxcrypt-legacy + libuuid + libpng12 + libjpeg + libudev0-shim + libz + atk + ell + glib + cairo + ncurses5 + pango + gtk2 + gdk-pixbuf + freetype + fontconfig + xorg.libSM + xorg.libX11 + xorg.libXxf86vm + + ]; + inherit (pkgs) mkShell; + in + { + formatter.${system} = treefmtEval.config.build.wrapper; + devShell."${system}" = mkShell { + buildInputs = + with pkgs; + [ + tokei + ] + ++ packages-inode; + }; + + packages."${system}" = { + dev-inode = + let + pkgs = import nixpkgs { inherit system; }; + in + pkgs.buildFHSEnv { + name = "inode-dev-shell"; + buildInputs = packages-inode; + targetPkgs = pkgs: with pkgs; [ ] ++ packages; + profile = '' + export FHS=1 + export PROMPT_COMMAND="echo -n '(FHS)'" + ''; + }; + }; + }; +} \ No newline at end of file diff --git a/treefmt.nix b/treefmt.nix new file mode 100644 index 0000000..18c542b --- /dev/null +++ b/treefmt.nix @@ -0,0 +1,4 @@ +{ + projectRootFile = "flake.nix"; + programs.nixfmt.enable = true; +} \ No newline at end of file