nixcfg/flake.nix

140 lines
3.7 KiB
Nix
Raw Permalink Normal View History

2025-05-30 01:51:13 -04:00
# flake.nix
{
inputs = {
2025-07-01 16:58:02 -04:00
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
2025-06-04 06:01:52 -04:00
nixos-hardware.url = "github:nixos/nixos-hardware/master";
2025-07-08 21:09:05 -04:00
proxmox-nixos.url = "github:SaumonNet/proxmox-nixos";
2025-05-31 22:08:13 -04:00
lix-module = {
2025-08-17 02:12:10 -04:00
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.93.3-1.tar.gz";
2025-05-31 22:08:13 -04:00
inputs.nixpkgs.follows = "nixpkgs";
};
2025-05-30 01:51:13 -04:00
vscode-server.url = "github:nix-community/nixos-vscode-server";
agenix.url = "github:ryantm/agenix";
2025-06-04 02:48:23 -04:00
zen-browser = {
2025-06-01 01:27:21 -04:00
url = "github:0xc000022070/zen-browser-flake";
inputs.nixpkgs.follows = "nixpkgs";
};
2025-06-18 06:30:26 -04:00
microvm.url = "github:astro/microvm.nix";
microvm.inputs.nixpkgs.follows = "nixpkgs";
2025-07-07 02:53:05 -04:00
disko.url = "github:nix-community/disko/v1.11.0";
catppuccin.url = "github:catppuccin/nix";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
2025-05-30 01:51:13 -04:00
};
2025-06-04 02:48:23 -04:00
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 = [
2025-06-21 06:48:45 -04:00
agenix.nixosModules.default
2025-06-04 02:48:23 -04:00
./hosts/focalor
lix-module.nixosModules.default
vscode-server.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";
};
}
2025-07-01 16:58:02 -04:00
{ imports = builtins.attrValues nixosModules; }
2025-06-04 02:48:23 -04:00
];
};
valefar = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
2025-06-04 03:11:00 -04:00
specialArgs = {
inherit inputs;
system = "x86_64-linux";
};
2025-06-04 02:48:23 -04:00
modules = [
2025-06-21 06:48:45 -04:00
agenix.nixosModules.default
2025-06-04 02:48:23 -04:00
./hosts/valefar
lix-module.nixosModules.default
vscode-server.nixosModules.default
2025-06-18 06:30:26 -04:00
2025-07-08 21:09:05 -04:00
proxmox-nixos.nixosModules.proxmox-ve
({ pkgs, lib, ... }: {
services.proxmox-ve = {
enable = true;
ipAddress = "10.0.0.30";
};
nixpkgs.overlays = [
proxmox-nixos.overlays.x86_64-linux
];
})
2025-06-04 02:48:23 -04:00
{ imports = builtins.attrValues nixosModules; }
];
};
2025-06-01 23:34:06 -04:00
2025-06-04 02:48:23 -04:00
buer = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
2025-06-04 03:11:00 -04:00
specialArgs = {
inherit inputs;
system = "x86_64-linux";
};
2025-06-04 02:48:23 -04:00
modules = [
./hosts/buer
agenix.nixosModules.default
2025-06-21 14:27:19 -04:00
{ imports = builtins.attrValues nixosModules; }
2025-06-04 02:48:23 -04:00
];
};
2025-07-07 02:05:33 -04:00
baal = nixpkgs.lib.nixosSystem {
system = "aarch64-linux";
specialArgs = {
inherit inputs;
system = "aarch64-linux";
};
modules = [
./hosts/baal
agenix.nixosModules.default
2025-07-07 02:53:05 -04:00
disko.nixosModules.disko
2025-07-07 02:05:33 -04:00
{ imports = builtins.attrValues nixosModules; }
];
};
2025-06-01 23:34:06 -04:00
};
2025-05-30 01:51:13 -04:00
};
2025-07-08 21:09:05 -04:00
}