Skip to content

move default modules from /modules/default to /defaultmodules#4019

Merged
rejas merged 3 commits intoMagicMirrorOrg:developfrom
khassel:modules
Jan 27, 2026
Merged

move default modules from /modules/default to /defaultmodules#4019
rejas merged 3 commits intoMagicMirrorOrg:developfrom
khassel:modules

Conversation

@khassel
Copy link
Copy Markdown
Collaborator

@khassel khassel commented Jan 23, 2026

Since the project's inception, I've missed a clear separation between default and third-party modules.

This increases complexity within the project (exclude modules, but not modules/default), but the mixed use is particularly problematic in Docker setups.

Therefore, with this pull request, I'm moving the default modules to a different directory.

I've chosen default/modules, but I'm not bothered about it; defaultmodules or something similar would work just as well.

Changed to defaultmodules.

Let me know if there's a majority in favor of this change.

@khassel
Copy link
Copy Markdown
Collaborator Author

khassel commented Jan 23, 2026

I understand that a few third-party modules would also need to be modified, such as MMM-Config and MMM-RemoteControl.

Perhaps it's also possible to store the new relative path in js/defaults.js so that it can be accessed via the config file.

Copy link
Copy Markdown
Collaborator

@KristjanESPERANTO KristjanESPERANTO left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I'm neutral on this. But if the change happens, I would prefer “defaultmodules” slightly more.

Currently I'm maintaining MMM-RemoteControl, so I could adapt it.

@sdetweil
Copy link
Copy Markdown
Collaborator

I prefer defaultmodules as well

there is nothing else we would put in the default folder, right?

@khassel
Copy link
Copy Markdown
Collaborator Author

khassel commented Jan 23, 2026

there is nothing else we would put in the default folder, right?

yes, everything which is now under modules/default would move to defaultmodules

grafik

@khassel khassel changed the title move default modules from /modules/default to /default/modules move default modules from /modules/default to /defaultmodules Jan 23, 2026
@sdetweil
Copy link
Copy Markdown
Collaborator

No. I meant is it conceivable that there are other entities besides modules we would put in a folder called default

I understand the modules
Just trying to think of use cases

css, separating ours from users more
Anything in our 3 runtimes we would separate?
Client, server, combined

@khassel
Copy link
Copy Markdown
Collaborator Author

khassel commented Jan 23, 2026

yes, the custom.css, at the moment in the css folder which is a folder owned by this repo. I would see custom.css inside config folder. But don't want to do this in this PR ...

Another approach could be to do everything into config folder which is user related:

  • config.js
  • custom.css
  • 3rd-party-modules

The last approach would allow the standard modules to remain in their current location, but I think that would be a massive change for every user, so I immediately dismissed that idea.

@sdetweil
Copy link
Copy Markdown
Collaborator

I have updated MMM-Config to handle either default modules location

@khassel khassel marked this pull request as ready for review January 24, 2026 18:59
khassel added a commit to khassel/MagicMirror-Documentation that referenced this pull request Jan 24, 2026
khassel added a commit to khassel/MagicMirror-Documentation that referenced this pull request Jan 25, 2026
@khassel
Copy link
Copy Markdown
Collaborator Author

khassel commented Jan 26, 2026

from my side ready to merge

@rejas rejas merged commit d44db6e into MagicMirrorOrg:develop Jan 27, 2026
9 checks passed
khassel added a commit to khassel/MagicMirror-Documentation that referenced this pull request Jan 27, 2026
@khassel khassel deleted the modules branch January 27, 2026 18:14
KristjanESPERANTO pushed a commit to MagicMirrorOrg/MagicMirror-Documentation that referenced this pull request Jan 27, 2026
rejas pushed a commit that referenced this pull request Jan 28, 2026
This is another change to cleanup structure, already mentioned in
#4019 (comment)

After separating default and 3rd-party modules this PR moves the
`custom.css` from the mm-owned directory `css` into user owned directory
`config`.

It has a built-in function which moves the `css/custom.css` to the new
location `config/custom.css` (if the target not exists).

Let me know if there's a majority in favor of this change.
@khassel khassel mentioned this pull request Apr 1, 2026
khassel added a commit that referenced this pull request Apr 1, 2026
## Release Notes
Thanks to: @angeldeejay, @in-voker, @JHWelch, @khassel,
@KristjanESPERANTO, @rejas, @sdetweil
> ⚠️ This release needs nodejs version >=22.21.1 <23 || >=24 (no change
to previous release)

[Compare to previous Release
v2.34.0](v2.34.0...v2.25.0)

> ⚠️ We introduced some internal changes with this release, please read
[this forum
post](https://forum.magicmirror.builders/topic/20138/upcoming-release-april-1-2026-breaking-changes-some-operational-changes)
before upgrading!

### [core]
- Prepare Release 2.35.0 (#4071)
- docs: add security policy and vulnerability reporting guidelines
(#4069)
- refactor: simplify internal `require()` calls (#4056)
- allow environment variables in cors urls (#4033)
- fix cors proxy getting binary data (e.g. png, webp) (#4030)
- fix: correct secret redaction and optimize loadConfig (#4031)
- change loading config.js, allow variables in config.js and try to
protect sensitive data (#4029)
- remove kioskmode (#4027)
- Add dark theme logo (#4026)
- move custom.css from css to config (#4020)
- move default modules from /modules/default to /defaultmodules (#4019)
- update node versions in workflows (#4018)
- [core] refactor: extract and centralize HTTP fetcher (#4016)
- fix systeminformation not displaying electron version (#4012)
- Update node-ical and support it's rrule-temporal changes (#4010)
- Change default start scripts from X11 to Wayland (#4011)
- refactor: unify favicon for index.html and Electron (#4006)
- [core] run systeminformation in subprocess so the info is always
displayed (#4002)
- set next release dev number (#4000)

### [dependencies]
- update dependencies (#4068)
- update dependencies incl. electron to v41 (#4058)
- chore: upgrade ESLint to v10 and fix newly surfaced issues (#4057)
- chore: update ESLint and plugins, simplify config, apply new rules
(#4052)
- chore: update dependencies + add exports, files, and sideEffects
fields to package.json (#4040)
- [core] refactor: enable ESLint rule require-await and handle detected
issues (#4038)
- Update node-ical and other deps (#4025)
- chore: update dependencies (#4021)
- chore(eslint): migrate from eslint-plugin-vitest to
@vitest/eslint-plugin and run rules only on test files (#4014)
- Update deps as requested by dependabot (#4008)
- update Collaboration.md and dependencies (#4001)

### [logging]
- refactor: further logger clean-up (#4050)
- Fix Node.js v25 logging prefix and modernize logger (#4049)

### [modules/calendar]
- fix(calendar): make showEnd behavior more consistent across time
formats (#4059)
- test(calendar): fix hardcoded date in event shape test (#4055)
- [calendar] refactor: delegate event expansion to node-ical's
expandRecurringEvent (#4047)
- calendar.js: remove useless hasCalendarURL function (#4028)
- fix(calendar): update to node-ical 0.23.1 and fix full-day recurrence
lookup (#4013)
- fix(calendar): correct day-of-week for full-day recurring events
across all timezones (#4004)

### [modules/newsfeed]
- fix(newsfeed): fix full article view and add framing check (#4039)
- [newsfeed] refactor: migrate to centralized HTTPFetcher (#4023)

### [modules/weather]
- fix(weather): fix openmeteo forecast stuck in the past (#4064)
- fix(weather): fix weathergov forecast day labels off by one (#4065)
- weather: fixes for templates (#4054)
- weather: add possibility to override njk's and css (#4051)
- Use getDateString in openmeteo (#4046)
- [weather] refactor: migrate to server-side providers with centralized
HTTPFetcher (#4032)
- [weather] feat: add Weather API Provider  (#4036)

### [testing]
- chore: remove obsolete Jest config and unit test global setup (#4044)
- replace template_spec test with config_variables test (#4034)
- refactor(clientonly): modernize code structure and add comprehensive
tests (#4022)
- Switch to undici Agent for HTTPS requests (#4015)
- chore: migrate CI workflows to ubuntu-slim for faster startup times
(#4007)

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Kristjan ESPERANTO <35647502+KristjanESPERANTO@users.noreply.github.com>
Co-authored-by: Bugsounet - Cédric <github@bugsounet.fr>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: sam detweiler <sdetweil@gmail.com>
Co-authored-by: Veeck <github@veeck.de>
Co-authored-by: veeck <gitkraken@veeck.de>
Co-authored-by: Magnus <34011212+MagMar94@users.noreply.github.com>
Co-authored-by: Ikko Eltociear Ashimine <eltociear@gmail.com>
Co-authored-by: DevIncomin <56730075+Developer-Incoming@users.noreply.github.com>
Co-authored-by: Nathan <n8nyoung@gmail.com>
Co-authored-by: mixasgr <mixasgr@users.noreply.github.com>
Co-authored-by: Savvas Adamtziloglou <savvas-gr@greeklug.gr>
Co-authored-by: Konstantinos <geraki@gmail.com>
Co-authored-by: OWL4C <124401812+OWL4C@users.noreply.github.com>
Co-authored-by: BugHaver <43462320+bughaver@users.noreply.github.com>
Co-authored-by: BugHaver <43462320+lsaadeh@users.noreply.github.com>
Co-authored-by: Koen Konst <koenspero@gmail.com>
Co-authored-by: Koen Konst <c.h.konst@avisi.nl>
Co-authored-by: dathbe <github@beffa.us>
Co-authored-by: Marcel <m-idler@users.noreply.github.com>
Co-authored-by: Kevin G. <crazylegstoo@gmail.com>
Co-authored-by: Jboucly <33218155+jboucly@users.noreply.github.com>
Co-authored-by: Jboucly <contact@jboucly.fr>
Co-authored-by: Jarno <54169345+jarnoml@users.noreply.github.com>
Co-authored-by: Jordan Welch <JordanHWelch@gmail.com>
Co-authored-by: Blackspirits <blackspirits@gmail.com>
Co-authored-by: Samed Ozdemir <samed@xsor.io>
Co-authored-by: in-voker <58696565+in-voker@users.noreply.github.com>
Co-authored-by: Andrés Vanegas Jiménez <142350+angeldeejay@users.noreply.github.com>
khassel added a commit to MagicMirrorOrg/MagicMirror-Documentation that referenced this pull request Apr 1, 2026
* docs: improve autostart guide with user systemd service for full Electron UI (#345)

* Update autostart.md

Improve autostart documentation: add user systemd service for full Electron UI with logging and environment variables

* Update autostart.md

docs: address PR feedback — clarify display server and disable logging by default

* Update autostart.md

docs: verified the environment inherited by systemd --user, ensured DISPLAY=:0 and WAYLAND_DISPLAY=wayland-0 is set up automatically

* Update autostart.md

docs: updated Troubleshooting section

* clarify systemd service behavior + minor changes

- Add platform note: Clarify guide is for Raspberry Pi OS Desktop
- Fix typo: WAYLAND_DIAPLAY → WAYLAND_DISPLAY
- Fix misleading comment: System services start on boot, not after user login
- Remove trailing whitespace and newline

---------

Co-authored-by: Kristjan ESPERANTO <35647502+KristjanESPERANTO@users.noreply.github.com>

* style: set carbon ads background color to inherit (#350)

* location of default modules changed  (#353)

see MagicMirrorOrg/MagicMirror#4019

* move custom.css from css to config (#354)

* update variables in config

* add secrets.md

* fix typo

* add missing "

* node_modules/vitepress/types/default-theme.d.ts

* apply Prettier formatting

* handle cspell issues

* add weatherapi options to weather module configuration (#359)

* docs(compliments): clarify remoteFile path resolution and limitations (#360)

* docs: correct loaded() - server-side only, not a client-side hook (#361)

Document that loaded() belongs to node_helper, not Module.
Add async/Promise support to the start() docs as the correct
way to handle asynchronous module initialization.

* docs: clarify that public folder requires node_helper.js (#362)

* docs: explain physical concept and hardware scope on landing page (#365)

Add a short paragraph to index.md that explains what a MagicMirror
physically is, clarifies that this documentation covers the software
side only, and points newcomers to the community showcase for
hardware build inspiration.

Closes MagicMirrorOrg/MagicMirror#3282

* add weather templates (#366)

* weather: add themes example

* calendar: align showEnd and dateEndFormat defaults (#368)

* fix failing tests

---------

Co-authored-by: Github Actions <actions@github.com>
Co-authored-by: Станислав <52878917+vectorman115@users.noreply.github.com>
Co-authored-by: Kristjan ESPERANTO <35647502+KristjanESPERANTO@users.noreply.github.com>
Co-authored-by: veeck <gitkraken@veeck.de>
Co-authored-by: sam detweiler <sdetweil@gmail.com>
Co-authored-by: Andrés Vanegas Jiménez <142350+angeldeejay@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants