185 lines
4.9 KiB
Nix
185 lines
4.9 KiB
Nix
|
{
|
||
|
inputs = {
|
||
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
|
||
|
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||
|
home-manager = {
|
||
|
url = "github:nix-community/home-manager/release-24.05";
|
||
|
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.
|
||
|
./hosts/servers
|
||
|
./hosts/servers/raindog
|
||
|
|
||
|
# 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; };
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
}
|