mirror of
https://github.com/Jokiller230/puzzlevision.git
synced 2024-12-04 20:05:00 +01:00
feat(modules): add homepage service
feat(resources): add homepage service config files and assets
This commit is contained in:
parent
7b2e828c8f
commit
580a65beb8
9 changed files with 171 additions and 0 deletions
40
modules/nixos/services/homepage/default.nix
Normal file
40
modules/nixos/services/homepage/default.nix
Normal file
|
@ -0,0 +1,40 @@
|
|||
{
|
||||
lib,
|
||||
namespace,
|
||||
config,
|
||||
host,
|
||||
...
|
||||
}: with lib; with lib.${namespace};
|
||||
let
|
||||
cfg = config.${namespace}.services.homepage;
|
||||
homepageConfigDirectory = lib.snowfall.fs.get-file "resources/services/homepage";
|
||||
in {
|
||||
options.${namespace}.services.homepage = { enable = mkEnableOption "Enable Homepage, an intuitive dashboard for your services."; };
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
systemd.tmpfiles.rules = [
|
||||
"d /var/lib/containers/homepage/config 0700 root root -"
|
||||
"d /var/lib/containers/homepage/images 0700 root root -"
|
||||
|
||||
"f /var/lib/containers/homepage 0700 root root - - - exec cp -r ${homepageConfigDirectory}/* /var/lib/containers/homepage"
|
||||
];
|
||||
|
||||
virtualisation.oci-containers.containers.vaultwarden = {
|
||||
image = "ghcr.io/gethomepage/homepage:latest";
|
||||
autoStart = true;
|
||||
hostname = host;
|
||||
labels = {
|
||||
"traefik.enable" = "true";
|
||||
"traefik.http.routers.homepage.entrypoints" = "websecure";
|
||||
"traefik.http.routers.homepage.rule" = "Host(`home.thevoid.cafe`)";
|
||||
"traefik.http.services.homepage.loadbalancer.server.port" = "3000";
|
||||
};
|
||||
volumes = [
|
||||
"/var/lib/containers/homepage/config:/app/config:rw"
|
||||
"/var/lib/containers/homepage/images:/app/public/images:rw"
|
||||
"/var/run/docker.sock:/var/run/docker.sock:ro" # Optional, used for docker integration.
|
||||
];
|
||||
extraOptions = ["--network=proxy"];
|
||||
};
|
||||
};
|
||||
}
|
30
resources/services/homepage/config/bookmarks.yaml
Normal file
30
resources/services/homepage/config/bookmarks.yaml
Normal file
|
@ -0,0 +1,30 @@
|
|||
---
|
||||
# For configuration options and examples, please see:
|
||||
# https://gethomepage.dev/en/configs/bookmarks
|
||||
|
||||
- IT:
|
||||
- Github:
|
||||
- abbr: GH
|
||||
href: https://github.com/
|
||||
- Codeberg:
|
||||
- icon: mdi-image-filter-hdr-outline
|
||||
href: https://codeberg.org/
|
||||
- Stackoverflow:
|
||||
- abbr: SO
|
||||
href: https://stackoverflow.com/
|
||||
|
||||
- Social:
|
||||
- Reddit:
|
||||
- abbr: RE
|
||||
href: https://reddit.com/
|
||||
- Whatsapp:
|
||||
- icon: mdi-chat-outline
|
||||
href: https://web.whatsapp.com/
|
||||
|
||||
- Fun:
|
||||
- YouTube:
|
||||
- icon: mdi-video-vintage
|
||||
href: https://youtube.com/
|
||||
- A-Dark-Room:
|
||||
- icon: mdi-campfire
|
||||
href: https://adarkroom.doublespeakgames.com/
|
10
resources/services/homepage/config/docker.yaml
Normal file
10
resources/services/homepage/config/docker.yaml
Normal file
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
# For configuration options and examples, please see:
|
||||
# https://gethomepage.dev/en/configs/docker/
|
||||
|
||||
# my-docker:
|
||||
# host: 127.0.0.1
|
||||
# port: 2375
|
||||
|
||||
default-docker:
|
||||
socket: /var/run/docker.sock
|
14
resources/services/homepage/config/services.yaml
Normal file
14
resources/services/homepage/config/services.yaml
Normal file
|
@ -0,0 +1,14 @@
|
|||
---
|
||||
# For configuration options and examples, please see:
|
||||
# https://gethomepage.dev/en/configs/services
|
||||
|
||||
- System:
|
||||
- Fritz!Box:
|
||||
name: Fritz!Box
|
||||
icon: avmfritzbox.png
|
||||
href: http://192.168.1.1
|
||||
description: Home router configuration
|
||||
widget:
|
||||
type: "fritzbox"
|
||||
url: http://192.168.1.1
|
||||
ping: http://192.168.1.1
|
54
resources/services/homepage/config/settings.yaml
Normal file
54
resources/services/homepage/config/settings.yaml
Normal file
|
@ -0,0 +1,54 @@
|
|||
---
|
||||
# For configuration options and examples, please see:
|
||||
# https://gethomepage.dev/en/configs/settings
|
||||
|
||||
title: Jo's Home
|
||||
background:
|
||||
image: /images/blossoms.png
|
||||
blur: md
|
||||
opacity: 45
|
||||
|
||||
favicon: /images/logo.png
|
||||
|
||||
theme: dark
|
||||
color: zinc
|
||||
iconStyle: theme
|
||||
|
||||
layout:
|
||||
Media:
|
||||
style: row
|
||||
columns: 1
|
||||
Utilities:
|
||||
style: column
|
||||
columns: 2
|
||||
Entertainment:
|
||||
style: column
|
||||
column: 3
|
||||
System:
|
||||
style: column
|
||||
columns: 3
|
||||
Development:
|
||||
style: row
|
||||
columns: 2
|
||||
Social:
|
||||
style: column
|
||||
columns: 3
|
||||
IT:
|
||||
style: column
|
||||
columns: 3
|
||||
Fun:
|
||||
style: column
|
||||
columns: 3
|
||||
|
||||
headerStyle: clean
|
||||
|
||||
target: _blank
|
||||
|
||||
quicklaunch:
|
||||
searchDescriptions: true
|
||||
hideInternetSearch: false
|
||||
hideVisitURL: false
|
||||
|
||||
hideVersion: true
|
||||
|
||||
showStats: false
|
22
resources/services/homepage/config/widgets.yaml
Normal file
22
resources/services/homepage/config/widgets.yaml
Normal file
|
@ -0,0 +1,22 @@
|
|||
---
|
||||
# For configuration options and examples, please see:
|
||||
# https://gethomepage.dev/en/configs/widgets
|
||||
|
||||
- resources:
|
||||
label: System
|
||||
cpu: true
|
||||
memory: true
|
||||
uptime: true
|
||||
units: metric
|
||||
|
||||
- resources:
|
||||
label: Storage
|
||||
disk: /
|
||||
|
||||
- datetime:
|
||||
text_size: xl
|
||||
format:
|
||||
timeStyle: short
|
||||
dateStyle: long
|
||||
hourCycle: h23
|
||||
locale: de
|
BIN
resources/services/homepage/images/blossoms.png
Normal file
BIN
resources/services/homepage/images/blossoms.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.9 MiB |
BIN
resources/services/homepage/images/logo.png
Normal file
BIN
resources/services/homepage/images/logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 17 KiB |
|
@ -47,6 +47,7 @@
|
|||
};
|
||||
|
||||
vaultwarden.enable = true;
|
||||
homepage.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue