chore: Add mise config #20
No reviewers
Labels
No labels
Agent
Ignore
Agent
In Progress
Agent
Planned
Agent
Planning
Agent
Ready
Agent
Triage
Compat
Breaking
Kind
Bug
Kind
Documentation
Kind
Enhancement
Kind
Feature
Kind
Security
Kind
Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No milestone
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
lucas/nanoKontroller2!20
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/agent"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Config itself is well-formed against the mise schema (
[bootstrap.apt.sources.<name>]keysuris/suites/components/key/fingerprintare the documented ones, and04B5 4C3C DCA7 9751 B16B C6B5 2256 29DF 75B1 88BDis indeed the Debian 13/trixie archive automatic signing key), and the package list does cover everythingCMakeLists.txtneeds. My concerns are about it being a repository-level config: it is Debian-trixie-specific, while README advertises Arch/Fedora/Ubuntu, and nothing documents or consumes it yet (README's "use vcpkg or Conan" paragraph is now outdated, and CI still carries its own duplicate dependency list).@ -0,0 +4,4 @@# Select the compiler explicitly[env]CC = "gcc-14"[env]from a repo config applies to every contributor working in this directory, soCC=gcc-14is exported on machines where that binary does not exist (Arch shipsgcc15, Fedoragcc, and Debian trixie's own defaultgccis already 14). There the firstcmake -B buildfails with "CMAKE_C_COMPILER not found" instead of just using the system default.Unless the intent is explicitly "this repo only builds on Debian trixie", I'd drop these two lines (trixie's default compiler already is GCC 14, which is what CI pins) or move them to a non-shared config (
mise.local.toml, global config, or a config environment).@ -0,0 +11,4 @@# main repository.[bootstrap.apt.sources.trixie-backports]uris = "https://deb.debian.org/debian"suites = "trixie-backports"This source is added on any machine where
apt-getexists, not only Debian trixie: mise's distro filtering only applies toppa = …entries, and[bootstrap.apt.sources]has noos/envfilter. On an Ubuntu dev boxmise bootstrapwould therefore wiredeb.debian.org trixie-backportsinto/etc/apt/sources.list.d/, which is the classic way to end up with a half-Debian system (and mise never removes sources again).At minimum worth a comment in the file / README saying this config targets Debian trixie; better, keep the backports source out of the shared config and let non-Debian users install glaze themselves.
@ -0,0 +16,4 @@key = "https://ftp-master.debian.org/keys/archive-key-13.asc"fingerprint = "04B54C3CDCA79751B16BC6B5225629DF75B188BD"[bootstrap.packages]This duplicates
.forgejo/workflows/build.yml, which installs its own apt list, its own CMake (get-cmake~4.2.2) and builds glaze/magic_enum from source. Two lists that must stay in sync will drift — the glaze version below already differs.Since this config is a superset of what CI installs, the natural follow-up is to have the workflow run
mise bootstrap(ormise bootstrap packages apply --yes) instead of its hand-rolled steps. Fine as a separate PR, but without it this file has no automated consumer and will rot.@ -0,0 +22,4 @@"apt:g++-14" = "latest"# Build tools"apt:ninja-build" = "latest"Nothing in the repo uses Ninja:
CMAKE_GENERATORisn't set here, the README builds with plaincmake -B build, and CI does the same. Either setCMAKE_GENERATOR = "Ninja"in[env]so the package is actually used, or dropninja-build.@ -0,0 +35,4 @@"apt:librtmidi-dev" = "latest"# C++ libraries"apt:libglaze-dev" = "latest"Version skew worth a thought: trixie-backports carries
libglaze-dev8.4.0, while CI builds glaze v9.1.0 from source.CMakeLists.txthas a barefind_package(glaze REQUIRED)with no version floor, so a local mise-provisioned build and CI compile against different major versions of the JSON library the config parser is built on (glz::generic,glz::read_file_json), and a v9-only API would pass CI but break every mise user.Same class of mismatch for
libmagicenum-dev(trixie 0.9.7 vs CI's v0.9.8), though that one looks harmless for the APIs used.Suggest pinning a minimum in
find_package(glaze <min> REQUIRED)and making CI install the same version this config does.