diff --git a/README.md b/README.md index 77ebec8..dae2e74 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # nix-configs +![NixOS](https://img.shields.io/badge/NixOS-25.11-blue?style=flat-square&logo=NixOS&logoColor=white) + This holds my .nix files for NixOS ## Main Nix files: (nix-configs) diff --git a/homelab/cloudflared/default.nix b/homelab/cloudflared/default.nix index da0d61f..c8b3a15 100644 --- a/homelab/cloudflared/default.nix +++ b/homelab/cloudflared/default.nix @@ -21,6 +21,7 @@ "photos.honeycutt.family" = "http://localhost:2283"; # Immich "books.honeycutt.family" = "http://localhost:5000"; # Kavita "audiobookshelf.honeycutt.family" = "http://localhost:8000"; # Audiobookshelf + "links.honeycutt.family" = "http://localhost:3005"; # Linkwarden "meals.honeycutt.family" = "http://localhost:9000"; # Mealie "ahoneybun.net" = "http://localhost:80"; # Zola (personal site) diff --git a/homelab/forgejo/forgejo-runner.nix b/homelab/forgejo/forgejo-runner.nix new file mode 100644 index 0000000..d575776 --- /dev/null +++ b/homelab/forgejo/forgejo-runner.nix @@ -0,0 +1,20 @@ +{ lib, pkgs, config, ... }: { + services.gitea-actions-runner = { + package = pkgs.forgejo-runner; + instances.default = { + enable = true; + name = "edi"; + url = "https://git.ahoneybun.net"; + # Obtaining the path to the runner token file may differ + # tokenFile should be in format TOKEN=, since it's EnvironmentFile for systemd + tokenFile = "/etc/nixos/secrets/forgejo-runner-mono.age"; + labels = [ + "ubuntu-24.04:docker://ubuntu:24.04" + "ubuntu-22.04:docker://ubuntu:22.04" + "nix-latest:docker://nixos/nix:latest" + "rust-latest:docker://rust:latest" + "amd64-builder" + ]; + }; + }; +} diff --git a/homelab/glance/default.nix b/homelab/glance/default.nix index 97c928a..5b13a3c 100644 --- a/homelab/glance/default.nix +++ b/homelab/glance/default.nix @@ -1,9 +1,11 @@ -{ - config, - pkgs, - lib, - ... -}: { +{ config, pkgs, lib, ... }: + +# Widgets not supported in version 0.6.2 in nixpkgs#24.11: +# split-column +# server-stats +# custom-api + +{ services.glance = { enable = true; openFirewall = true; @@ -12,140 +14,67 @@ host = "0.0.0.0"; port = 5678; }; - theme = { - background-color = "270 5 17"; - primary-color = "21 97 85"; - negative-color = "358 100 68"; - contrast-multiplier = 1.2; + theme = { + background-color = "270 5 17"; + primary-color = "21 97 85"; + negative-color = "358 100 68"; + contrast-multiplier = 1.2; }; - pages = [ - { - name = "Home"; - hide-desktop-navigation = true; - center-vertically = true; - columns = [ - { - size = "small"; - widgets = [ - { - type = "clock"; - hour-format = "24h"; - timezones = [ - { - timezone = "Asia/Tokyo"; - label = "Tokyo"; - } - { - timezone = "Europe/Dublin"; - label = "Dublin"; - } - ]; - } - { - type = "calendar"; - } - { - type = "weather"; - units = "imperial"; - hour-format = "24h"; - location = "Aurora, Colorado, United States"; - } - ]; - } - { - size = "full"; - widgets = [ - { - type = "search"; - search-engine = "duckduckgo"; - new-tab = true; - } - { - type = "bookmarks"; - groups = [ - { - title = "Media"; - color = "17 100 74"; - links = [ - { - title = "Music"; - url = "https://music.ahoneybun.net/"; - } - { - title = "Videos"; - url = "https://videos.ahoneybun.net/"; - } - { - title = "Photos"; - url = "https://photos.ahoneybun.net/"; - } - { - title = "Audiobooks"; - url = "https://audiobookshelf.ahoneybun.net/"; - } - { - title = "Books & Comics"; - url = "https://books.ahoneybun.net/"; - } - ]; - } - { - title = "Infrastructure"; - color = "355 65 65"; - links = [ - { - title = "Forgejo"; - url = "https://git.ahoneybun.net/"; - } - ]; - } - { - title = "Knowledge"; - color = "240 19 85"; - links = [ - { - title = "Personal Wiki"; - url = "https://wiki.ahoneybun.net/"; - } - ]; - } - ]; - } - { - type = "monitor"; - title = "Services"; - sites = [ - { - title = "Navidrome"; - url = "https://music.ahoneybun.net/"; - } - { - title = "Jellyfin"; - url = "https://videos.ahoneybun.net/"; - } - { - title = "Immich"; - url = "https://photos.ahoneybun.net/"; - } - { - title = "Forgejo"; - url = "https://git.ahoneybun.net"; - } - { - title = "Gollum"; - url = "https://wiki.ahoneybun.net"; - } - { - title = "Wastebin"; - url = "https://bin.ahoneybun.net"; - } - ]; - } - ]; - } - ]; - } - ]; + pages = [{ + name = "Startpage"; + width = "slim"; + hide-desktop-navigation = true; + center-vertically = true; + columns = [ + { + size = "full"; + widgets = [ + { + type = "search"; + search-engine = "duckduckgo"; + } + { + type = "monitor"; + title = "Services"; + sites = [ + { + title = "Home Assistant"; + url = "https://home.honeycutt.family/"; + } + { + title = "Navidrome (Music)"; + url = "https://music.honeycutt.family/"; + } + { + title = "Jellyfin (Videos)"; + url = "https://videos.honeycutt.family/"; + } + { + title = "Immich (Photos)"; + url = "https://photos.honeycutt.family/"; + } + { + title = "Kavita (Books)"; + url = "https://books.honeycutt.family/"; + } + { + title = "Audiobookshelf (Audiobooks)"; + url = "https://audiobookshelf.honeycutt.family/"; + } + { + title = "Mealie (Meals)"; + url = "https://meals.honeycutt.family/"; + } + { + title = "Linkwarden (Links)"; + url = "https://links.honeycutt.family/"; + } + ]; + } + ]; + } + ]; + }]; }; }; } diff --git a/homelab/linkwarden/default.nix b/homelab/linkwarden/default.nix new file mode 100644 index 0000000..82d4c3b --- /dev/null +++ b/homelab/linkwarden/default.nix @@ -0,0 +1,16 @@ +{ config, pkgs, lib, ... }: + +{ + services.linkwarden = { + enable = true; + host = "0.0.0.0"; + port = 3005; + openFirewall = true; + enableRegistration = true; + + secretFiles = { + NEXTAUTH_SECRET= "/etc/nixos/secrets/linkwarden_secret.age"; + POSTGRES_PASSWORD= "/etc/nixos/secrets/linkwarden_postgres_passwd.age"; + }; + }; +}