chore(config): add initial config files and docker compose setup

This commit is contained in:
Prad Nukala
2026-05-28 10:22:05 -04:00
parent a2b3b56d2b
commit cefe6ffabd
25 changed files with 1791 additions and 0 deletions
+11
View File
@@ -0,0 +1,11 @@
- type: markets
hide-header: true
markets:
- symbol: BTC-USD
name: Bitcoin
- symbol: ETH-USD
name: Ethereum
- symbol: MAGS
name: Mag7
- symbol: QQQ
name: Nasdaq
+25
View File
@@ -0,0 +1,25 @@
- size: small
widgets:
- type: weather
location: Ashburn, Virginia, United States
units: imperial # alternatively "metric"
hour-format: 12h # alternatively "24h"
- $include: ./widgets/ical-work.yml
- type: clock
hour-format: 12h
timezones:
- timezone: America/Los_Angeles
label: Los Angeles
- timezone: Asia/Singapore
label: Singapore
- timezone: Europe/London
label: London
- type: rss
title: Deals
limit: 10
collapse-after: 2
feeds:
- url: https://rss.app/feeds/rb0smDdeyhIkusel.xml
title: Crypto Fundraising
+10
View File
@@ -0,0 +1,10 @@
- size: full
widgets:
# Top Headlines
- $include: ./widgets/headlines.yml
# Community Discussions
- $include: ./widgets/reddit.yml
# Videos
- $include: ./widgets/youtube.yml
+13
View File
@@ -0,0 +1,13 @@
- size: small
widgets:
- type: to-do
- type: calendar
first-day-of-week: sunday
- $include: ./widgets/ical-personal.yml
- type: rss
title: Crypto
limit: 20
collapse-after: 5
feeds:
- url: https://rss.app/feeds/wiGtpLZuOjLgKlC4.xml
title: WatcherGuru
+28
View File
@@ -0,0 +1,28 @@
- type: group
widgets:
- type: rss
title: Crypto
limit: 30
collapse-after: 13
feeds:
- url: https://rss.app/feeds/wiGtpLZuOjLgKlC4.xml
title: WatcherGuru
- type: rss
title: Deals
limit: 30
collapse-after: 13
feeds:
- url: https://rss.app/feeds/rb0smDdeyhIkusel.xml
title: Crypto Fundraising
- type: rss
title: Finance
limit: 30
collapse-after: 13
feeds:
- url: https://www.ft.com/technology?format=rss
title: Financial Times
- url: https://feeds.a.dj.com/rss/RSSMarketsMain.xml
title: Wall Street Journal
+24
View File
@@ -0,0 +1,24 @@
- type: group
widgets:
- type: rss
title: Techmeme
style: horizontal-cards
feeds:
- url: https://www.techmeme.com/feed.xml
title: TechMeme
- type: rss
title: ProductHunt
style: horizontal-cards
feeds:
- url: https://rss.app/feeds/_tBKt0Q2vzII4baWl.xml
title: ProductHunt
- type: rss
title: TerminalTrove
style: horizontal-cards
feeds:
- url: https://terminaltrove.com/new.xml
title: TerminalTrove
+76
View File
@@ -0,0 +1,76 @@
- type: custom-api
title: Personal Events
cache: 15m
url: http://glances-ical-api:8076/events
parameters:
url: https://calendar.google.com/calendar/ical/prnk28%40gmail.com/public/basic.ics
limit: 5
template: |
{{ $events := .JSON.Array "events" }}
{{ $count := len $events }}
{{ $limit := 3 }} <!-- how many upcoming to show before collapse -->
{{ if eq $count 0 }}
<div style="padding:8px 10px; border-radius:10px; background:var(--surface-2);">
No entries found.
</div>
{{ end }}
<!-- 1) Ongoing first (never collapsible) -->
<ul class="list list-gap-10">
{{ range $i, $e := $events }}
{{ $ongoing := $e.Bool "ongoing" }}
{{ if $ongoing }}
{{ $start := $e.String "start" | parseTime "rfc3339" }}
{{ $end := $e.String "end" | parseTime "rfc3339" }}
{{ $name := $e.String "name" }}
{{ $url := $e.String "url" }}
<li>
<div class="flex items-center justify-between gap-10">
<!-- Left: name (highlight) + absolute date -->
<div>
{{ if $url }}
<a class="size-h3 color-highlight block text-truncate" href="{{ $url }}" target="_blank" rel="noreferrer" title="{{ $name }}">{{ $name }}</a>
{{ else }}
<span class="size-h3 color-highlight block text-truncate" title="{{ $name }}">{{ $name }}</span>
{{ end }}
<div style="font-size:.85em;">{{ $start | formatTime "Mon, 02 Jan 2006" }}</div>
</div>
<!-- Right: relative time until END -->
<div class="size-h3 color-primary" style="white-space:nowrap;">
ends <span {{ $end | toRelativeTime }}></span>
</div>
</div>
</li>
{{ end }}
{{ end }}
</ul>
<!-- 2) Upcoming, collapsible after $limit -->
{{ $shown := 0 }}
<ul class="list list-gap-10 collapsible-container" data-collapse-after="{{ $limit }}">
{{ range $i, $e := $events }}
{{ $ongoing := $e.Bool "ongoing" }}
{{ if not $ongoing }}
{{ $start := $e.String "start" | parseTime "rfc3339" }}
{{ $name := $e.String "name" }}
{{ $url := $e.String "url" }}
<li {{ if ge $shown $limit }}class="collapsible-item"{{ end }}>
<div class="flex items-center justify-between gap-10">
<!-- Left: name (highlight) + absolute date -->
<div>
{{ if $url }}
<a class="size-h3 color-highlight block text-truncate" href="{{ $url }}" target="_blank" rel="noreferrer" title="{{ $name }}">{{ $name }}</a>
{{ else }}
<span class="size-h3 color-highlight block text-truncate" title="{{ $name }}">{{ $name }}</span>
{{ end }}
<div style="font-size:.85em;">{{ $start | formatTime "Mon, 02 Jan 2006" }}</div>
</div>
<!-- Right: relative time until START -->
<div class="size-h3 color-primary" style="white-space:nowrap;" {{ $start | toRelativeTime }}></div>
</div>
</li>
{{ $shown = add $shown 1 }}
{{ end }}
{{ end }}
</ul>
+76
View File
@@ -0,0 +1,76 @@
- type: custom-api
title: Work Schedule
cache: 15m
url: http://glances-ical-api:8076/events
parameters:
url: https://calendar.google.com/calendar/ical/prad%40sonr.io/public/basic.ics
limit: 5
template: |
{{ $events := .JSON.Array "events" }}
{{ $count := len $events }}
{{ $limit := 3 }} <!-- how many upcoming to show before collapse -->
{{ if eq $count 0 }}
<div style="padding:8px 10px; border-radius:10px; background:var(--surface-2);">
No entries found.
</div>
{{ end }}
<!-- 1) Ongoing first (never collapsible) -->
<ul class="list list-gap-10">
{{ range $i, $e := $events }}
{{ $ongoing := $e.Bool "ongoing" }}
{{ if $ongoing }}
{{ $start := $e.String "start" | parseTime "rfc3339" }}
{{ $end := $e.String "end" | parseTime "rfc3339" }}
{{ $name := $e.String "name" }}
{{ $url := $e.String "url" }}
<li>
<div class="flex items-center justify-between gap-10">
<!-- Left: name (highlight) + absolute date -->
<div>
{{ if $url }}
<a class="size-h3 color-highlight block text-truncate" href="{{ $url }}" target="_blank" rel="noreferrer" title="{{ $name }}">{{ $name }}</a>
{{ else }}
<span class="size-h3 color-highlight block text-truncate" title="{{ $name }}">{{ $name }}</span>
{{ end }}
<div style="font-size:.85em;">{{ $start | formatTime "Mon, 02 Jan 2006" }}</div>
</div>
<!-- Right: relative time until END -->
<div class="size-h3 color-primary" style="white-space:nowrap;">
ends <span {{ $end | toRelativeTime }}></span>
</div>
</div>
</li>
{{ end }}
{{ end }}
</ul>
<!-- 2) Upcoming, collapsible after $limit -->
{{ $shown := 0 }}
<ul class="list list-gap-10 collapsible-container" data-collapse-after="{{ $limit }}">
{{ range $i, $e := $events }}
{{ $ongoing := $e.Bool "ongoing" }}
{{ if not $ongoing }}
{{ $start := $e.String "start" | parseTime "rfc3339" }}
{{ $name := $e.String "name" }}
{{ $url := $e.String "url" }}
<li {{ if ge $shown $limit }}class="collapsible-item"{{ end }}>
<div class="flex items-center justify-between gap-10">
<!-- Left: name (highlight) + absolute date -->
<div>
{{ if $url }}
<a class="size-h3 color-highlight block text-truncate" href="{{ $url }}" target="_blank" rel="noreferrer" title="{{ $name }}">{{ $name }}</a>
{{ else }}
<span class="size-h3 color-highlight block text-truncate" title="{{ $name }}">{{ $name }}</span>
{{ end }}
<div style="font-size:.85em;">{{ $start | formatTime "Mon, 02 Jan 2006" }}</div>
</div>
<!-- Right: relative time until START -->
<div class="size-h3 color-primary" style="white-space:nowrap;" {{ $start | toRelativeTime }}></div>
</div>
</li>
{{ $shown = add $shown 1 }}
{{ end }}
{{ end }}
</ul>
+41
View File
@@ -0,0 +1,41 @@
# Community Discussions
- type: split-column
max-columns: 3
widgets:
- type: reddit
show-thumbnails: true
subreddit: commandline
- type: reddit
show-thumbnails: true
subreddit: ethereum
- type: reddit
show-thumbnails: true
subreddit: golang
- type: reddit
show-thumbnails: true
subreddit: hyprland
- type: reddit
show-thumbnails: true
subreddit: ipfs
- type: reddit
show-thumbnails: true
subreddit: libp2p
- type: reddit
show-thumbnails: true
subreddit: LinuxCirclejerk
- type: reddit
show-thumbnails: true
subreddit: niri
- type: reddit
show-thumbnails: true
subreddit: omarchy
- type: reddit
show-thumbnails: true
subreddit: selfhosted
- type: reddit
show-thumbnails: true
subreddit: termux
- type: reddit
show-thumbnails: true
subreddit: unixporn
+94
View File
@@ -0,0 +1,94 @@
- type: group
widgets:
# Podcasts & Commentary
- type: videos
style: grid-cards
collapse-after-rows: 2
title: Pop-Culture
channels:
- UCzQUP1qoWDoEbmsQxvdjxgQ # PowerfulJRE
- UCJIfeSCssxSC_Dhc5s7woww # Lex Clips
- UC5PstSsGrRwj2o6asQpC4Rg # Flagrant 2
- UCKrpnfpTwncQ050VFXcVkuQ # Network State Podcast
- UC7oPkqeHTwuOZ5CZ-R9f-6w # Triggernometry
- UCIHdDJ0tjn_3j-FS7s_X1kQ # Valuetainment
# Programming & Tech
- type: videos
style: grid-cards
collapse-after-rows: 2
title: Programming
channels:
- UCUyeluBRhGPCW4rPe_UvBZQ # ThePrimeTime
- UCjSEJkpGbcZhvo0lr-44X_w # TechHut
- UCXuqSBlHAE6Xw-yeJA0Tunw # Linus Tech Tips
- UCs6KfncB4OV6Vug4o_bzijg # Techlore
- UCTwxaBjziKfy6y_uWu30orAby # BugBytes
- UCYeiozh-4QwuC1sjgCmB92w # DevOps Toolbox
- UCsBjURrPoezykLs9EqgamOA # Angular Firebase
- UC-mTIBh__DzAqW495JHXy5A # The Coding Gopher
- UC2WHjPDvbE6O328n17ZGcfg # ForrestKnight
- UCsUalyRg43M8D60mtHe6YcAD # Honeypot
- UCgfe2ooZD3VJPB6aJAnuQng # cloud
- UCdjsUXJ3QawK4O5L1kqqsew # IPFS
- UC3Wn3dABlgESm8Bzn8Vamgg # Sideprojects
- UCtMVHI3AJD4Qk4hcbZnI9ZQ # SomeOrdinaryGamers
- UCNJ1Ymd5yFuUPtn21xtRbbw # AI Explained
- UCutCcajxhR33k9UR-DdLsAQ # Systems Innovation
# Startups & Business
- type: videos
style: grid-cards
collapse-after-rows: 2
title: Startups
channels:
- UCcefcZRL2oaA_uBNeo5UOWg # Y Combinator
- UCllx7jOjBL794FK67jtb5Og # Dalton + Michael
- UCxIJaCMEptJjxmmQgGFsnCg # How to Start a Startup
- UCQrZfl1FeCN9c71yjOzWVRw # Startup Archive
- UCtieZ1nS_tpjGEama6Kjxcg # Steve Jobs Archive
- UCm_WkN0wg49-eG4SymAQ_4g # Harvard Innovation Labs
- UCSGc7c1yKxo-Uhz5_oivrfg # The Startup Club by Slidebean
- UCGq-a57w-aPwyi3pW7XLiHw # The Diary Of A CEO
# AI & Futurism
- type: videos
style: grid-cards
collapse-after-rows: 2
title: Futurism
channels:
- UCawZsQWqfGSbCI5yjkdVkTA # Matthew Berman
- UCZFipeZtQM5CKUjx6grh54g # Isaac Arthur
- UCR9sFzaG9Ia_kXJhfxtFMB # melodysheep
- UCSeuZvDGosq1zC6NqgqGo-Q # merlin
# Finance
- type: videos
style: grid-cards
collapse-after-rows: 2
title: Finance
channels:
- UCAeAB8ABXGoGMbXuYPmiu2A # The Swedish Investor
- UCvSXMi2LebwJEM1s4bz5IBA # New Money
- UCV6KDgJskWaEckne5aPA0aQ # Graham Stephan
- UCAzhpt9DmG6PnHXjmJTvRGQ # Federal Reserve
# Science, History & Education
- type: videos
style: grid-cards
collapse-after-rows: 2
title: Education
channels:
- UCHnyfMqiRRG1u-2MsSQLbXA # Veritasium
- UCsXVk37bltHxD1rDPwtNM8QL # Kurzgesagt In a Nutshell
- UCxqAWLTk1CmBvZFPzeZMd9A # Domain of Science
- UCR2uRTQ53V_egXKFflMMaaw # Artem Kirsanov
- UCeUJFQ0D9qs6aVNyUt9fkeQ # The Armchair Historian
- UC5Dw9TFdbPJoTDMSiJdIQT # Whatifalthist
- UC0NCSdGglnmdWg-qHALhu1w # History102
- UCpCSAcbqs-sjEVfk_hMfY9w # MajorPrep
- UCmdugCMpC7BawYGwkRs5drQ # PhiloNautica
- UC4gHARRmw40kcLZgINlTK_g # Religion Camp
- UCPPrhcXtGR2aMoxrPJRKPLg # Para Bellum
- UCQUnqaW8Q33siyLYhisN7HQ # Antidote
- UCXzw-OdotBUcNA9yhuYQBw # Awesome