mirror of
https://github.com/harryssecret/homelab-nix.git
synced 2025-01-18 13:29:32 +01:00
Compare commits
5 commits
63011dfd29
...
65618310b3
Author | SHA1 | Date | |
---|---|---|---|
65618310b3 | |||
5cc4714fbb | |||
5b0a327f50 | |||
115595c8bf | |||
d815643dfc |
|
@ -78,7 +78,6 @@
|
||||||
"/srv/Minecraft"
|
"/srv/Minecraft"
|
||||||
];
|
];
|
||||||
postgresql_databases = [
|
postgresql_databases = [
|
||||||
{ name = "forgejo"; }
|
|
||||||
{ name = "nextcloud"; }
|
{ name = "nextcloud"; }
|
||||||
{ name = "matrix-synapse"; }
|
{ name = "matrix-synapse"; }
|
||||||
];
|
];
|
||||||
|
|
|
@ -4,81 +4,13 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
virtualHosts = {
|
virtualHosts = {
|
||||||
"http://sisyphe.normandy.hypervirtual.world".extraConfig = ''
|
|
||||||
reverse_proxy :8082
|
|
||||||
'';
|
|
||||||
|
|
||||||
"http://git.hypervirtual.world".extraConfig = ''
|
|
||||||
reverse_proxy :3333
|
|
||||||
'';
|
|
||||||
|
|
||||||
"http://books.hypervirtual.world".extraConfig = ''
|
|
||||||
reverse_proxy :8083
|
|
||||||
'';
|
|
||||||
|
|
||||||
"http://fish.hypervirtual.world".extraConfig = ''
|
"http://fish.hypervirtual.world".extraConfig = ''
|
||||||
reverse_proxy :3030
|
reverse_proxy :3030
|
||||||
'';
|
'';
|
||||||
|
|
||||||
"http://jellyfin.sisyphe.normandy.hypervirtual.world".extraConfig = ''
|
|
||||||
reverse_proxy :8096
|
|
||||||
'';
|
|
||||||
|
|
||||||
"http://media.hypervirtual.world".extraConfig = ''
|
|
||||||
reverse_proxy :8096
|
|
||||||
'';
|
|
||||||
|
|
||||||
"http://slskd.sisyphe.normandy.hypervirtual.world".extraConfig = ''
|
|
||||||
reverse_proxy :5030
|
|
||||||
'';
|
|
||||||
|
|
||||||
"http://radarr.sisyphe.normandy.hypervirtual.world".extraConfig = ''
|
|
||||||
reverse_proxy :7878
|
|
||||||
'';
|
|
||||||
|
|
||||||
"http://sonarr.sisyphe.normandy.hypervirtual.world".extraConfig = ''
|
|
||||||
reverse_proxy :8989
|
|
||||||
'';
|
|
||||||
|
|
||||||
"http://sonarr-anime.sisyphe.normandy.hypervirtual.world".extraConfig = ''
|
|
||||||
reverse_proxy :8999
|
|
||||||
'';
|
|
||||||
|
|
||||||
"http://prowlarr.sisyphe.normandy.hypervirtual.world".extraConfig = ''
|
|
||||||
reverse_proxy :9696
|
|
||||||
'';
|
|
||||||
|
|
||||||
"http://grafana.sisyphe.normandy.hypervirtual.world".extraConfig = ''
|
|
||||||
reverse_proxy :3000
|
|
||||||
'';
|
|
||||||
|
|
||||||
"http://status.hypervirtual.world".extraConfig = ''
|
|
||||||
reverse_proxy :4000
|
|
||||||
'';
|
|
||||||
|
|
||||||
"http://transmission.sisyphe.normandy.hypervirtual.world".extraConfig = ''
|
|
||||||
reverse_proxy :9091
|
|
||||||
'';
|
|
||||||
|
|
||||||
"http://uptime.sisyphe.normandy.hypervirtual.world".extraConfig = ''
|
|
||||||
reverse_proxy :4000
|
|
||||||
'';
|
|
||||||
|
|
||||||
"http://mc.sisyphe.normandy.hypervirtual.world".extraConfig = ''
|
"http://mc.sisyphe.normandy.hypervirtual.world".extraConfig = ''
|
||||||
reverse_proxy :8443
|
reverse_proxy :8443
|
||||||
'';
|
'';
|
||||||
|
|
||||||
"http://katflix.sisyphe.normandy.hypervirtual.world".extraConfig = ''
|
|
||||||
reverse_proxy :5055
|
|
||||||
'';
|
|
||||||
|
|
||||||
"http://bazarr.sisyphe.normandy.hypervirtual.world".extraConfig = ''
|
|
||||||
reverse_proxy :6767
|
|
||||||
'';
|
|
||||||
|
|
||||||
"http://bazarr-anime.sisyphe.normandy.hypervirtual.world".extraConfig = ''
|
|
||||||
reverse_proxy :6777
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -55,4 +55,33 @@ in
|
||||||
};
|
};
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
services.caddy.virtualHosts = {
|
||||||
|
"http://radarr.sisyphe.normandy.hypervirtual.world".extraConfig = ''
|
||||||
|
reverse_proxy :7878
|
||||||
|
'';
|
||||||
|
|
||||||
|
"http://sonarr.sisyphe.normandy.hypervirtual.world".extraConfig = ''
|
||||||
|
reverse_proxy :8989
|
||||||
|
'';
|
||||||
|
|
||||||
|
"http://sonarr-anime.sisyphe.normandy.hypervirtual.world".extraConfig = ''
|
||||||
|
reverse_proxy :8999
|
||||||
|
'';
|
||||||
|
|
||||||
|
"http://prowlarr.sisyphe.normandy.hypervirtual.world".extraConfig = ''
|
||||||
|
reverse_proxy :9696
|
||||||
|
'';
|
||||||
|
|
||||||
|
"http://katflix.sisyphe.normandy.hypervirtual.world".extraConfig = ''
|
||||||
|
reverse_proxy :5055
|
||||||
|
'';
|
||||||
|
|
||||||
|
"http://bazarr.sisyphe.normandy.hypervirtual.world".extraConfig = ''
|
||||||
|
reverse_proxy :6767
|
||||||
|
'';
|
||||||
|
|
||||||
|
"http://bazarr-anime.sisyphe.normandy.hypervirtual.world".extraConfig = ''
|
||||||
|
reverse_proxy :6777
|
||||||
|
'';
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,4 +10,8 @@
|
||||||
enableKepubify = true;
|
enableKepubify = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.caddy.virtualHosts."http://books.hypervirtual.world".extraConfig = ''
|
||||||
|
reverse_proxy :8083
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,4 +21,14 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
openFirewall = true;
|
openFirewall = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.caddy.virtualHosts = {
|
||||||
|
"http://jellyfin.sisyphe.normandy.hypervirtual.world".extraConfig = ''
|
||||||
|
reverse_proxy :8096
|
||||||
|
'';
|
||||||
|
|
||||||
|
"http://media.hypervirtual.world".extraConfig = ''
|
||||||
|
reverse_proxy :8096
|
||||||
|
'';
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,5 +35,9 @@ in
|
||||||
directories.incomplete = "${cfg.directory}/incomplete";
|
directories.incomplete = "${cfg.directory}/incomplete";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.caddy.virtualHosts."http://slskd.sisyphe.normandy.hypervirtual.world".extraConfig = ''
|
||||||
|
reverse_proxy :5030
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,5 +39,9 @@ in
|
||||||
ratio-limit-enabled = true;
|
ratio-limit-enabled = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.caddy.virtualHosts."http://transmission.sisyphe.normandy.hypervirtual.world".extraConfig = ''
|
||||||
|
reverse_proxy :9091
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
{ config, ... }:
|
{ config, ... }:
|
||||||
{
|
{
|
||||||
|
|
||||||
services.prometheus = {
|
services.prometheus = {
|
||||||
enable = true;
|
enable = true;
|
||||||
exporters = {
|
exporters = {
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{ config, ... }:
|
{ config, ... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./akkoma.nix
|
# ./akkoma.nix
|
||||||
./homelab-dashboard.nix
|
./homelab-dashboard.nix
|
||||||
./nextcloud.nix
|
./nextcloud.nix
|
||||||
# ./photoprism.nix
|
# ./photoprism.nix
|
||||||
|
|
|
@ -40,4 +40,8 @@
|
||||||
create="${lib.getExe config.services.forgejo.package} admin user create"
|
create="${lib.getExe config.services.forgejo.package} admin user create"
|
||||||
$create --admin --email "`cat ${config.sops.secrets.forgejoInitialMail.path}`" --username you --password "`cat ${config.sops.secrets.forgejoInitialPassword.path}`" &>/dev/null || true
|
$create --admin --email "`cat ${config.sops.secrets.forgejoInitialMail.path}`" --username you --password "`cat ${config.sops.secrets.forgejoInitialPassword.path}`" &>/dev/null || true
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
services.caddy.virtualHosts."http://git.hypervirtual.world".extraConfig = ''
|
||||||
|
reverse_proxy :3333
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,4 +8,8 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.caddy.virtualHosts."http://grafana.sisyphe.normandy.hypervirtual.world".extraConfig = ''
|
||||||
|
reverse_proxy :3000
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,6 +38,10 @@ in
|
||||||
format = "dotenv";
|
format = "dotenv";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.caddy.virtualHosts."http://sisyphe.normandy.hypervirtual.world".extraConfig = ''
|
||||||
|
reverse_proxy :8082
|
||||||
|
'';
|
||||||
|
|
||||||
services.homepage-dashboard = {
|
services.homepage-dashboard = {
|
||||||
enable = true;
|
enable = true;
|
||||||
environmentFile = config.sops.secrets."homepage".path;
|
environmentFile = config.sops.secrets."homepage".path;
|
||||||
|
|
|
@ -7,4 +7,14 @@
|
||||||
PORT = "4000";
|
PORT = "4000";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.caddy.virtualHosts."http://status.hypervirtual.world".extraConfig = ''
|
||||||
|
reverse_proxy :4000
|
||||||
|
'';
|
||||||
|
|
||||||
|
services.caddy.virtualHosts."http://uptime.sisyphe.normandy.hypervirtual.world".extraConfig = ''
|
||||||
|
reverse_proxy :4000
|
||||||
|
'';
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
21
flake.lock
21
flake.lock
|
@ -61,6 +61,26 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nix-darwin": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1730184279,
|
||||||
|
"narHash": "sha256-6OB+WWR6gnaWiqSS28aMJypKeK7Pjc2Wm6L0MtOrTuA=",
|
||||||
|
"owner": "LnL7",
|
||||||
|
"repo": "nix-darwin",
|
||||||
|
"rev": "b379bd4d872d159e5189053ce9a4adf86d56db4b",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "LnL7",
|
||||||
|
"repo": "nix-darwin",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nix-secrets": {
|
"nix-secrets": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
|
@ -164,6 +184,7 @@
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"alejandra": "alejandra",
|
"alejandra": "alejandra",
|
||||||
|
"nix-darwin": "nix-darwin",
|
||||||
"nix-secrets": "nix-secrets",
|
"nix-secrets": "nix-secrets",
|
||||||
"nixos-generators": "nixos-generators",
|
"nixos-generators": "nixos-generators",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
|
|
14
flake.nix
14
flake.nix
|
@ -17,6 +17,9 @@
|
||||||
url = "github:nix-community/nixos-generators";
|
url = "github:nix-community/nixos-generators";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nix-darwin.url = "github:LnL7/nix-darwin";
|
||||||
|
nix-darwin.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs =
|
outputs =
|
||||||
|
@ -25,6 +28,7 @@
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
sops-nix,
|
sops-nix,
|
||||||
nixos-generators,
|
nixos-generators,
|
||||||
|
nix-darwin,
|
||||||
...
|
...
|
||||||
}@inputs:
|
}@inputs:
|
||||||
let
|
let
|
||||||
|
@ -117,5 +121,15 @@
|
||||||
format = "proxmox";
|
format = "proxmox";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
darwinConfigurations."iMac-de-Eddie" = nix-darwin.lib.darwinSystem {
|
||||||
|
modules = [ ./hosts/dadarwin/configuration.nix
|
||||||
|
|
||||||
|
{system.configurationRevision = self.rev or self.dirtyRev or null;}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Expose the package set, including overlays, for convenience.
|
||||||
|
darwinPackages = self.darwinConfigurations."iMac-de-Eddie".pkgs;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
30
hosts/dadarwin/configuration.nix
Normal file
30
hosts/dadarwin/configuration.nix
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
# List packages installed in system profile. To search by name, run:
|
||||||
|
# $ nix-env -qaP | grep wget
|
||||||
|
environment.systemPackages =
|
||||||
|
[
|
||||||
|
pkgs.neovim
|
||||||
|
pkgs.kitty
|
||||||
|
pkgs.kittysay
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.direnv.enable = true;
|
||||||
|
# Auto upgrade nix package and the daemon service.
|
||||||
|
services.nix-daemon.enable = true;
|
||||||
|
# nix.package = pkgs.nix;
|
||||||
|
|
||||||
|
# Necessary for using flakes on this system.
|
||||||
|
nix.settings.experimental-features = "nix-command flakes";
|
||||||
|
|
||||||
|
# Create /etc/zshrc that loads the nix-darwin environment.
|
||||||
|
programs.zsh.enable = true; # default shell on catalina
|
||||||
|
# programs.fish.enable = true;
|
||||||
|
|
||||||
|
# Used for backwards compatibility, please read the changelog before changing.
|
||||||
|
# $ darwin-rebuild changelog
|
||||||
|
system.stateVersion = 5;
|
||||||
|
|
||||||
|
# The platform the configuration will be used on.
|
||||||
|
nixpkgs.hostPlatform = "x86_64-darwin";
|
||||||
|
}
|
|
@ -32,7 +32,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/srv/media" = {
|
fileSystems."/srv/media" = {
|
||||||
device = "/dev/sdb1";
|
device = "/dev/disk/by-uuid/bc4cf2f6-23ca-4d37-87d3-1b30148ab24b";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue