185 lines
5 KiB
Nix
185 lines
5 KiB
Nix
{
|
|
inputs = {
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
|
|
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
|
home-manager = {
|
|
url = "github:nix-community/home-manager/release-24.11";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
agenix = {
|
|
url = "github:ryantm/agenix";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
};
|
|
|
|
outputs =
|
|
{ self
|
|
, nixpkgs
|
|
, nixpkgs-unstable
|
|
, home-manager
|
|
, agenix
|
|
, ...
|
|
} @ inputs:
|
|
let
|
|
inherit (self) outputs;
|
|
in
|
|
{
|
|
overlays = import ./overlays { inherit inputs; };
|
|
|
|
nixosConfigurations = {
|
|
woodpecker = nixpkgs.lib.nixosSystem {
|
|
system = "x86_64-linux";
|
|
modules = [
|
|
# Base configuration and modules.
|
|
./modules/bspwm
|
|
./modules/fstrim
|
|
./modules/libvirtd
|
|
./modules/nvidia
|
|
./modules/pipewire
|
|
./modules/steam
|
|
./modules/wireshark
|
|
|
|
# System configuration.
|
|
./hosts/workstations
|
|
./hosts/workstations/woodpecker
|
|
|
|
# User configuration.
|
|
./users/tdback
|
|
home-manager.nixosModules.home-manager {
|
|
home-manager = {
|
|
useGlobalPkgs = true;
|
|
useUserPackages = true;
|
|
users.tdback = import ./users/tdback/dots.nix;
|
|
extraSpecialArgs = { inherit inputs; };
|
|
};
|
|
}
|
|
];
|
|
specialArgs = { inherit inputs outputs; };
|
|
};
|
|
|
|
sparrow = nixpkgs.lib.nixosSystem {
|
|
system = "x86_64-linux";
|
|
modules = [
|
|
# Base configuration and modules.
|
|
./modules/bspwm
|
|
./modules/pipewire
|
|
./modules/vpn
|
|
|
|
# System configuration.
|
|
./hosts/workstations
|
|
./hosts/workstations/sparrow
|
|
|
|
# User configuration.
|
|
./users/tdback
|
|
home-manager.nixosModules.home-manager {
|
|
home-manager = {
|
|
useGlobalPkgs = true;
|
|
useUserPackages = true;
|
|
users.tdback = import ./users/tdback/dots.nix;
|
|
extraSpecialArgs = { inherit inputs; };
|
|
};
|
|
}
|
|
];
|
|
specialArgs = { inherit inputs outputs; };
|
|
};
|
|
|
|
raindog = nixpkgs.lib.nixosSystem {
|
|
system = "x86_64-linux";
|
|
modules = [
|
|
# Base configuration and modules.
|
|
./containers/pihole
|
|
./modules/motd
|
|
./modules/podman
|
|
./modules/searx
|
|
./modules/ssh
|
|
|
|
# System configuration and secrets.
|
|
./hosts/servers
|
|
./hosts/servers/raindog
|
|
agenix.nixosModules.default
|
|
|
|
# User configuration.
|
|
./users/tdback
|
|
];
|
|
specialArgs = { inherit inputs outputs; };
|
|
};
|
|
|
|
oasis = nixpkgs.lib.nixosSystem {
|
|
system = "x86_64-linux";
|
|
modules = [
|
|
# Base configuration and modules.
|
|
./modules/forgejo
|
|
./modules/motd
|
|
./modules/podman
|
|
./modules/proxy
|
|
./modules/pushover
|
|
./modules/sftpgo
|
|
./modules/ssh
|
|
./modules/wireguard
|
|
./modules/zfs
|
|
|
|
# System configuration and secrets.
|
|
./hosts/servers
|
|
./hosts/servers/oasis
|
|
agenix.nixosModules.default
|
|
|
|
# User configuration.
|
|
./users/tdback
|
|
];
|
|
specialArgs = { inherit inputs outputs; };
|
|
};
|
|
|
|
hive = nixpkgs.lib.nixosSystem {
|
|
system = "x86_64-linux";
|
|
modules = [
|
|
# Base configuration and modules.
|
|
./modules/fediverse
|
|
./modules/mealie
|
|
./modules/motd
|
|
./modules/proxy
|
|
./modules/ssh
|
|
./modules/wireguard
|
|
|
|
# System configuration.
|
|
./hosts/servers
|
|
./hosts/servers/hive
|
|
|
|
# User configuration.
|
|
./users/tdback
|
|
];
|
|
specialArgs = { inherit inputs outputs; };
|
|
};
|
|
|
|
eden = nixpkgs.lib.nixosSystem {
|
|
system = "x86_64-linux";
|
|
modules = [
|
|
# Base configuration and modules.
|
|
./containers/freshrss
|
|
./containers/jellyfin
|
|
./containers/navidrome
|
|
./containers/pinchflat
|
|
./containers/stirling-pdf
|
|
./containers/vaultwarden
|
|
./containers/watchtower
|
|
./modules/immich
|
|
./modules/motd
|
|
./modules/podman
|
|
./modules/proxy
|
|
./modules/pushover
|
|
./modules/ssh
|
|
./modules/wireguard
|
|
./modules/zfs
|
|
|
|
# System configuration and secrets.
|
|
./hosts/servers
|
|
./hosts/servers/eden
|
|
agenix.nixosModules.default
|
|
|
|
# User configuration.
|
|
./users/tdback
|
|
];
|
|
specialArgs = { inherit inputs outputs; };
|
|
};
|
|
};
|
|
};
|
|
}
|