103 lines
No EOL
2.7 KiB
Nix
103 lines
No EOL
2.7 KiB
Nix
# flake.nix
|
|
{
|
|
inputs = {
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
|
|
lix-module = {
|
|
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.93.0.tar.gz";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
vscode-server.url = "github:nix-community/nixos-vscode-server";
|
|
agenix.url = "github:ryantm/agenix";
|
|
zen-browser = {
|
|
url = "github:0xc000022070/zen-browser-flake";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
catppuccin.url = "github:catppuccin/nix";
|
|
home-manager = {
|
|
url = "github:nix-community/home-manager";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
};
|
|
|
|
outputs =
|
|
{ self, ... }@inputs:
|
|
with inputs;
|
|
let
|
|
nixosModules = builtins.listToAttrs (
|
|
map (module: {
|
|
name = module;
|
|
value = import (./modules + "/${module}");
|
|
}) (builtins.attrNames (builtins.readDir ./modules))
|
|
);
|
|
in
|
|
{
|
|
nixosConfigurations = {
|
|
focalor = nixpkgs.lib.nixosSystem {
|
|
system = "x86_64-linux";
|
|
specialArgs = {
|
|
inherit inputs;
|
|
system = "x86_64-linux";
|
|
};
|
|
modules = [
|
|
./hosts/focalor
|
|
lix-module.nixosModules.default
|
|
|
|
vscode-server.nixosModules.default
|
|
agenix.nixosModules.default
|
|
|
|
catppuccin.nixosModules.catppuccin
|
|
|
|
home-manager.nixosModules.home-manager
|
|
{
|
|
home-manager.useGlobalPkgs = true;
|
|
home-manager.backupFileExtension = "HMBackup";
|
|
home-manager.users.regent.imports = [
|
|
./home/regent/home.nix
|
|
catppuccin.homeModules.catppuccin
|
|
];
|
|
home-manager.extraSpecialArgs = {
|
|
inherit inputs;
|
|
system = "x86_64-linux";
|
|
};
|
|
}
|
|
];
|
|
};
|
|
|
|
valefar = nixpkgs.lib.nixosSystem {
|
|
system = "x86_64-linux";
|
|
modules = [
|
|
./hosts/valefar
|
|
lix-module.nixosModules.default
|
|
|
|
vscode-server.nixosModules.default
|
|
agenix.nixosModules.default
|
|
|
|
{ imports = builtins.attrValues nixosModules; }
|
|
];
|
|
};
|
|
|
|
buer = nixpkgs.lib.nixosSystem {
|
|
system = "x86_64-linux";
|
|
modules = [
|
|
./hosts/buer
|
|
|
|
agenix.nixosModules.default
|
|
];
|
|
};
|
|
|
|
# Easy to add more hosts
|
|
/*
|
|
server2 = nixpkgs.lib.nixosSystem {
|
|
system = "x86_64-linux";
|
|
modules = [
|
|
./hosts/server2
|
|
agenix.nixosModules.default
|
|
# different services for server2
|
|
];
|
|
};
|
|
*/
|
|
};
|
|
};
|
|
} |