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:
51
flake.nix
51
flake.nix
@@ -1,18 +1,51 @@
|
|||||||
{
|
{
|
||||||
description = "A basic NixOS configuration";
|
description = "My Infra";
|
||||||
|
|
||||||
inputs = {
|
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 }: {
|
nix4nvchad = {
|
||||||
nixosConfigurations.default = nixpkgs.lib.nixosSystem {
|
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";
|
system = "x86_64-linux";
|
||||||
modules = [
|
profile = "desktop";
|
||||||
./modules/ssh
|
};
|
||||||
./modules/zsh-oh-my-zsh
|
|
||||||
./modules/fcitx5
|
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
12
home/git.nix
Normal 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
29
home/nvchad.nix
Normal 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
61
home/zsh.nix
Normal 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
10
hosts/server/default.nix
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./hardware.nix
|
||||||
|
../../profiles/server.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
networking.hostName = "server";
|
||||||
|
}
|
||||||
11
lib/mkHost.nix
Normal file
11
lib/mkHost.nix
Normal 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
0
modules/wsl/wsl.nix
Normal file
7
profiles/server.nix
Normal file
7
profiles/server.nix
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
imports = [
|
||||||
|
../modules/core
|
||||||
|
../modules/server/docker.nix
|
||||||
|
../modules/server/ssh.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user