From ab4d5e19249967b581f689a88f92a75a0338ec62 Mon Sep 17 00:00:00 2001 From: luochen570 <1160510664@qq.com> Date: Thu, 13 Aug 2026 04:17:18 +0800 Subject: [PATCH] refactor: gate ssh sops symlinks, follow nixos-wsl, fix CRLF - home/ssh.nix: only create /run/secrets symlinks when secrets exist - flake.nix: nixos-wsl explicit nixpkgs follows - fix CRLF line endings: nvchad.nix, virtualbox-guest.nix, docker.nix --- home/nvchad.nix | 56 +++++++++++++-------------- home/ssh.nix | 20 ++++++---- modules/optional/virtualbox-guest.nix | 8 ++-- modules/server/docker.nix | 4 +- 4 files changed, 47 insertions(+), 41 deletions(-) diff --git a/home/nvchad.nix b/home/nvchad.nix index 02acd08..92a7a97 100644 --- a/home/nvchad.nix +++ b/home/nvchad.nix @@ -1,28 +1,28 @@ -{ config, pkgs, inputs, system, ... }: -{ - # 导入 NvChad 模块 - imports = [ - inputs.nix4nvchad.homeManagerModules.default - ]; - - programs.nvchad = { - enable = true; - - # NvChad 需要的额外包 - extraPackages = with pkgs; [ - # LSP 服务器 - nil # Nix LSP - marksman # Markdown LSP - - # 格式化工具 - nixpkgs-fmt - shfmt - ]; - }; - - # 设置默认编辑器 - home.sessionVariables = { - EDITOR = "nvim"; - VISUAL = "nvim"; - }; -} +{ config, pkgs, inputs, system, ... }: +{ + # 导入 NvChad 模块 + imports = [ + inputs.nix4nvchad.homeManagerModules.default + ]; + + programs.nvchad = { + enable = true; + + # NvChad 需要的额外包 + extraPackages = with pkgs; [ + # LSP 服务器 + nil # Nix LSP + marksman # Markdown LSP + + # 格式化工具 + nixpkgs-fmt + shfmt + ]; + }; + + # 设置默认编辑器 + home.sessionVariables = { + EDITOR = "nvim"; + VISUAL = "nvim"; + }; +} diff --git a/home/ssh.nix b/home/ssh.nix index ad8c537..91e06a4 100644 --- a/home/ssh.nix +++ b/home/ssh.nix @@ -1,12 +1,18 @@ -{ config, ... }: +{ config, lib, ... }: +let + # 与 modules/core/sops.nix 保持同一开关:secrets 文件存在时才启用。 + secretsEnabled = builtins.pathExists ../../secrets/users/luochen570.enc.yaml; +in { programs.ssh.enable = true; - # ~/.ssh/id_rsa 来自 sops secret 文件。 - home.file.".ssh/id_rsa".source = - config.lib.file.mkOutOfStoreSymlink "/run/secrets/users/luochen570/ssh_private_key"; + home.file = lib.mkIf secretsEnabled { + # ~/.ssh/id_rsa 来自 sops secret 文件。 + ".ssh/id_rsa".source = + config.lib.file.mkOutOfStoreSymlink "/run/secrets/users/luochen570/ssh_private_key"; - # ~/.ssh/config 来自 sops secret 文件。 - home.file.".ssh/config".source = - config.lib.file.mkOutOfStoreSymlink "/run/secrets/users/luochen570/ssh_config"; + # ~/.ssh/config 来自 sops secret 文件。 + ".ssh/config".source = + config.lib.file.mkOutOfStoreSymlink "/run/secrets/users/luochen570/ssh_config"; + }; } diff --git a/modules/optional/virtualbox-guest.nix b/modules/optional/virtualbox-guest.nix index 7a6bfe5..3b80070 100644 --- a/modules/optional/virtualbox-guest.nix +++ b/modules/optional/virtualbox-guest.nix @@ -1,6 +1,6 @@ -{ ... }: -{ +{ ... }: +{ # VirtualBox Guest 增强支持 - virtualisation.virtualbox.guest.enable = true; - virtualisation.virtualbox.guest.dragAndDrop = true; + virtualisation.virtualbox.guest.enable = true; + virtualisation.virtualbox.guest.dragAndDrop = true; } diff --git a/modules/server/docker.nix b/modules/server/docker.nix index 2d04223..3bdbe4c 100644 --- a/modules/server/docker.nix +++ b/modules/server/docker.nix @@ -7,5 +7,5 @@ dates = "weekly"; }; }; -} - +} +