modified: flake.nix

new file:   home/git.nix
	new file:   home/nvchad.nix
	new file:   home/zsh.nix
	new file:   hosts/server/default.nix
	new file:   lib/mkHost.nix
	new file:   modules/wsl/wsl.nix
	new file:   profiles/server.nix
This commit is contained in:
luochen570
2026-02-27 12:03:01 +08:00
parent 51a1d0d178
commit 611d7c1c1f
8 changed files with 174 additions and 11 deletions

View File

@@ -1,18 +1,51 @@
{
description = "A basic NixOS configuration";
description = "My Infra";
inputs = {
nixpkgs.url = fetchTarball "https://github.com/NixOS/nixpkgs/archive/nixos-23.05.tar.gz";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
outputs = { self, nixpkgs }: {
nixosConfigurations.default = nixpkgs.lib.nixosSystem {
nix4nvchad = {
url = "github:nix-community/nix4nvchad";
inputs.nixpkgs.follows = "nixpkgs";
};
nixos-wsl.url = "github:nix-community/NixOS-WSL/main";
vscode-server.url = "github:nix-community/nixos-vscode-server";
};
outputs = inputs@{ self, nixpkgs, home-manager, ... }:
let
mkHost = import ./lib/mkHost.nix {
inherit nixpkgs home-manager inputs;
};
in {
nixosConfigurations = {
desktop = mkHost {
hostname = "desktop";
system = "x86_64-linux";
modules = [
./modules/ssh
./modules/zsh-oh-my-zsh
./modules/fcitx5
];
profile = "desktop";
};
server = mkHost {
hostname = "server";
system = "x86_64-linux";
profile = "server";
};
wsl = mkHost {
hostname = "wsl";
system = "x86_64-linux";
profile = "wsl";
};
};
};
}

12
home/git.nix Normal file
View File

@@ -0,0 +1,12 @@
{ # Git
programs.git = {
enable = true;
settings = {
user = {
name = "luochen570";
email = "1160510664@qq.com";
};
init.defaultBranch = "main";
};
};
}

29
home/nvchad.nix Normal file
View File

@@ -0,0 +1,29 @@
{ config, pkgs, inputs, system, ... }:
{
# 导入 NvChad 模块
imports = [
inputs.nix4nvchad.homeManagerModules.default
];
programs.nvchad = {
enable = true;
# 可选:添加你需要的语言服务器和工具
extraPackages = with pkgs; [
# LSP 服务器
nil # Nix LSP
nixd # Nix 语言服务器(另一种选择)
marksman # Markdown LSP
# 格式化工具
nixpkgs-fmt
shfmt
];
};
# 设置默认编辑器
home.sessionVariables = {
EDITOR = "nvim";
VISUAL = "nvim";
};
}

61
home/zsh.nix Normal file
View File

@@ -0,0 +1,61 @@
{ config, pkgs, inputs, system, ... }:
{ programs.zsh = {
enable = true;
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
# initContent = "source ~/.p10k.zsh";
plugins = [
{
name = "powerlevel10k";
src = pkgs.zsh-powerlevel10k;
file = "share/zsh-powerlevel10k/powerlevel10k.zsh-theme";
}
{
name = "fzf-tab";
src = "${pkgs.zsh-fzf-tab}/share/fzf-tab";
}
# {
# name = "powerlevel10k-config";
# src = "/home/luochen570/nixos-config/modules/home/p10k/";
# file = "p10k.zsh";
# }
];
# 设置alias
shellAliases = {
# Git相关
gc1 = "git clone --recursive --depth=1";
# 目录操作
md = "mkdir -p";
"..." = "../..";
"...." = "../../..";
"....." = "../../../..";
"......" = "../../../../..";
# eza/ls替代
ls = "eza --color=auto";
l = "eza -lbah --icons=auto";
la = "eza -labgh --icons=auto";
ll = "eza -lbg --icons=auto";
lt = "eza -lTbg --icons=auto";
lsa = "eza -lbagR --icons=auto";
lst = "eza -lTabgh --icons=auto";
# bat/cat替代
cat = "bat -pp";
ccat = "cat";
};
oh-my-zsh = {
enable = true;
plugins = [
"sudo"
"z"
"extract"
"git"
# "fzf-tab"
];
};
};
}

10
hosts/server/default.nix Normal file
View File

@@ -0,0 +1,10 @@
{ ... }:
{
imports = [
./hardware.nix
../../profiles/server.nix
];
networking.hostName = "server";
}

11
lib/mkHost.nix Normal file
View File

@@ -0,0 +1,11 @@
{ nixpkgs, home-manager, system }:
name: modules:
nixpkgs.lib.nixosSystem {
inherit system;
modules =
modules ++ [
home-manager.nixosModules.home-manager
];
}

0
modules/wsl/wsl.nix Normal file
View File

7
profiles/server.nix Normal file
View File

@@ -0,0 +1,7 @@
{
imports = [
../modules/core
../modules/server/docker.nix
../modules/server/ssh.nix
];
}