2023-05-28 23:49:58 +08:00
|
|
|
{
|
|
|
|
description = "Chn's NixOS Flake";
|
|
|
|
|
|
|
|
inputs =
|
|
|
|
{
|
2023-06-03 06:53:33 +08:00
|
|
|
nixpkgs.url = "github:CHN-beta/nixpkgs/nixos-unstable";
|
2023-06-02 19:46:37 +08:00
|
|
|
nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-23.05";
|
2023-05-30 21:21:46 +08:00
|
|
|
flake-utils.url = "github:numtide/flake-utils";
|
|
|
|
flake-compat = { url = "github:edolstra/flake-compat"; flake = false; };
|
2023-06-02 19:46:37 +08:00
|
|
|
nvfetcher =
|
|
|
|
{
|
|
|
|
url = "github:berberman/nvfetcher";
|
|
|
|
inputs =
|
|
|
|
{
|
|
|
|
nixpkgs.follows = "nixpkgs";
|
|
|
|
flake-utils.follows = "flake-utils";
|
|
|
|
flake-compat.follows = "flake-compat";
|
|
|
|
};
|
|
|
|
};
|
2023-05-28 23:49:58 +08:00
|
|
|
home-manager = { url = "github:nix-community/home-manager/master"; inputs.nixpkgs.follows = "nixpkgs"; };
|
2023-05-30 21:21:46 +08:00
|
|
|
sops-nix =
|
|
|
|
{
|
|
|
|
url = "github:Mic92/sops-nix";
|
|
|
|
inputs = { nixpkgs.follows = "nixpkgs"; nixpkgs-stable.follows = "nixpkgs-stable"; };
|
|
|
|
};
|
2023-05-28 23:49:58 +08:00
|
|
|
touchix = { url = "github:CHN-beta/touchix"; inputs.nixpkgs.follows = "nixpkgs"; };
|
2023-05-30 21:21:46 +08:00
|
|
|
aagl =
|
|
|
|
{
|
|
|
|
url = "github:ezKEa/aagl-gtk-on-nix";
|
|
|
|
inputs = { nixpkgs.follows = "nixpkgs"; flake-compat.follows = "flake-compat"; };
|
|
|
|
};
|
2023-05-28 23:49:58 +08:00
|
|
|
nix-index-database = { url = "github:Mic92/nix-index-database"; inputs.nixpkgs.follows = "nixpkgs"; };
|
|
|
|
nur.url = "github:nix-community/NUR";
|
2023-05-30 21:21:46 +08:00
|
|
|
nixos-cn =
|
|
|
|
{
|
|
|
|
url = "github:nixos-cn/flakes";
|
|
|
|
inputs = { nixpkgs.follows = "nixpkgs"; flake-utils.follows = "flake-utils"; };
|
|
|
|
};
|
2023-05-28 23:49:58 +08:00
|
|
|
nur-xddxdd =
|
|
|
|
{
|
|
|
|
url = "github:xddxdd/nur-packages";
|
2023-06-03 06:53:33 +08:00
|
|
|
inputs =
|
|
|
|
{
|
|
|
|
flake-utils.follows = "flake-utils";
|
|
|
|
nixpkgs.follows = "nixpkgs-stable";
|
|
|
|
};
|
2023-05-30 21:21:46 +08:00
|
|
|
};
|
|
|
|
nix-vscode-extensions =
|
|
|
|
{
|
|
|
|
url = "github:nix-community/nix-vscode-extensions";
|
|
|
|
inputs =
|
|
|
|
{
|
|
|
|
nixpkgs.follows = "nixpkgs";
|
|
|
|
flake-utils.follows = "flake-utils";
|
|
|
|
flake-compat.follows = "flake-compat";
|
|
|
|
};
|
2023-05-28 23:49:58 +08:00
|
|
|
};
|
2023-06-06 11:29:30 +08:00
|
|
|
tuxedo-nixos =
|
|
|
|
{
|
|
|
|
url = "github:blitz/tuxedo-nixos";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
inputs.flake-compat.follows = "flake-compat";
|
|
|
|
};
|
2023-05-28 23:49:58 +08:00
|
|
|
};
|
|
|
|
|
2023-06-02 19:46:37 +08:00
|
|
|
outputs = inputs:
|
2023-05-28 23:49:58 +08:00
|
|
|
{
|
2023-06-02 19:46:37 +08:00
|
|
|
nixosConfigurations."chn-PC" = inputs.nixpkgs.lib.nixosSystem
|
2023-05-28 23:49:58 +08:00
|
|
|
{
|
|
|
|
system = "x86_64-linux";
|
2023-06-05 21:53:13 +08:00
|
|
|
specialArgs = inputs;
|
2023-06-09 16:06:02 +08:00
|
|
|
modules =
|
|
|
|
[
|
2023-06-02 19:46:37 +08:00
|
|
|
inputs.home-manager.nixosModules.home-manager
|
|
|
|
inputs.sops-nix.nixosModules.sops
|
|
|
|
inputs.touchix.nixosModules.v2ray-forwarder
|
|
|
|
inputs.aagl.nixosModules.default
|
|
|
|
inputs.nix-index-database.nixosModules.nix-index
|
|
|
|
inputs.nur.nixosModules.nur
|
2023-06-06 11:29:30 +08:00
|
|
|
inputs.tuxedo-nixos.nixosModules.default
|
2023-06-09 16:06:02 +08:00
|
|
|
({
|
|
|
|
config.nixpkgs.overlays =
|
|
|
|
[( final: prev:
|
|
|
|
{
|
|
|
|
touchix = inputs.touchix.packages."${prev.system}";
|
|
|
|
nix-vscode-extensions = inputs.nix-vscode-extensions.extensions."${prev.system}";
|
|
|
|
} )];
|
|
|
|
})
|
2023-06-09 20:54:03 +08:00
|
|
|
|
2023-06-09 21:09:52 +08:00
|
|
|
( import ./modules/basic.nix { hostName = "chn-PC"; timeout = 30; })
|
2023-06-09 20:54:03 +08:00
|
|
|
./modules/fonts.nix
|
|
|
|
( import ./modules/i18n.nix { fcitx = true; } )
|
|
|
|
./modules/kde.nix
|
|
|
|
./modules/sops.nix
|
2023-06-09 16:06:02 +08:00
|
|
|
( import ./modules/boot/basic.nix { efi = true; })
|
|
|
|
./modules/boot/chn-PC.nix
|
|
|
|
./modules/filesystem/chn-PC.nix
|
2023-06-09 20:54:03 +08:00
|
|
|
./modules/hardware/bluetooth.nix
|
|
|
|
./modules/hardware/joystick.nix
|
|
|
|
( import ./modules/hardware/nvidia-prime.nix { intelBusId = "PCI:0:2:0"; nvidiaBusId = "PCI:1:0:0"; } )
|
|
|
|
./modules/hardware/printer.nix
|
|
|
|
./modules/hardware/sound.nix
|
2023-06-09 16:06:02 +08:00
|
|
|
./modules/networking/basic.nix
|
2023-06-09 20:54:03 +08:00
|
|
|
./modules/networking/ssh.nix
|
|
|
|
./modules/networking/wall_client.nix
|
|
|
|
./modules/networking/xmunet.nix
|
|
|
|
./modules/networking/chn-PC.nix
|
|
|
|
./modules/packages/terminal.nix
|
|
|
|
./modules/packages/gui.nix
|
|
|
|
./modules/packages/gaming.nix
|
|
|
|
./modules/packages/hpc.nix
|
|
|
|
./modules/users/root.nix
|
|
|
|
./modules/users/chn.nix
|
|
|
|
./modules/virtualisation/kvm_guest.nix
|
|
|
|
./modules/virtualisation/kvm_host.nix
|
|
|
|
./modules/virtualisation/waydroid.nix
|
2023-05-28 23:49:58 +08:00
|
|
|
];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|