<< 23-10-2025 >>

01:30:22*ftajhii joined #nim
02:25:46*SchweinDeBurg quit (Quit: WeeChat 4.8.0-dev)
02:26:48*SchweinDeBurg joined #nim
02:44:06*rockcavera quit (Remote host closed the connection)
04:04:17*redj quit (Ping timeout: 260 seconds)
04:12:11*redj joined #nim
05:30:21*derpydoo joined #nim
05:58:24*derpydoo quit (Quit: derpydoo)
06:24:10*kubrat joined #nim
06:40:37*kubrat quit (Quit: Client closed)
07:00:30*kubrat joined #nim
08:24:46*beholders_eye joined #nim
09:13:37*kubrat quit (Quit: Client closed)
09:25:17*kubrat joined #nim
09:39:39*kubrat quit (Quit: Client closed)
10:10:22*ftajhii quit (Ping timeout: 246 seconds)
11:07:08*vsantana joined #nim
11:35:22*TheTechRobo quit (Quit: Leaving)
11:40:14*TheTechRobo joined #nim
13:40:13*kubrat joined #nim
14:27:32FromDiscord<python36_08342> sent a code paste, see https://play.nim-lang.org/#pasty=HldGEVHT
14:37:41FromDiscord<nasuray> In reply to @python36_08342 "Hello. Is there a": nope, do you have a binary application that produces a "test" and "dev" module?
14:45:58FromDiscord<amun0666> You can add a separate nimble task and run exec nim c … for test and dev.
15:06:01*hygo quit (Ping timeout: 264 seconds)
15:07:25*hygo joined #nim
15:15:51*kubrat quit (Ping timeout: 250 seconds)
15:19:11FromDiscord<python36_08342> In reply to @nasuray "nope, do you have": yes↵To compile for different devices I need to compile different files in one project.
15:21:02FromDiscord<nasuray> In reply to @python36_08342 "yes To compile for": If you control how and when these are compiled they don't necessarily need to exist as different binaries....↵In your "main" binary you can use `const profile {.strdefine.} = "main"` and override at build/install time with `-d:profile=test`
15:21:25*kubrat joined #nim
15:21:50FromDiscord<python36_08342> In reply to @amun0666 "You can add a": Yeah, but why use NIMBLE then? I can use a regular Bash script for this solution.
15:24:25FromDiscord<python36_08342> In reply to @nasuray "If you control how": "main", "test" and "dev" is a separated files.↵In one case I need three binaries and in another case only one.
15:28:29*kubrat quit (Quit: Client closed)
15:40:55FromDiscord<nasuray> In reply to @python36_08342 ""main", "test" and "dev"": Then either use a custom task (or bash if you prefer) but if you want `nimble install` to sometimes install one thing and sometimes install two things. A way you could do this is by making a separate nimble file in a subdir then using `nimble install "<gitur>?subdir=dev` like this: https://github.com/daylinmorgan/nimble-profile
15:41:56FromDiscord<nasuray> (edit) ""<gitur>?subdir=dev`" => ""<giturl>?subdir=dev"`"
15:42:39FromDiscord<nasuray> In reply to @python36_08342 ""main", "test" and "dev"": of course you don't really need three binaries do that at runtime either .... CLI flags and environment variables could accomplish that
15:46:00FromDiscord<python36_08342> In reply to @nasuray "Then either use a": thank you🙏 ↵I'd like to have a single file↵so that when changing the version or other parameters, I don't have to rewrite several nimbl files.
16:22:02FromDiscord<prestosilver> In reply to @python36_08342 "Yeah, but why use": the best reason to use nimble is bc all nimble packages use it, i dont use it and its annoying asf to have to make sure everything actually properly manually installs in my build script
16:24:59FromDiscord<prestosilver> also nimble is designed for nim so itll be way easier to read than nasty things like this https://media.discordapp.net/attachments/371759389889003532/1430955171315318975/justfile.txt?ex=68fba85a&is=68fa56da&hm=1ededb76530ad9a2f29951a30118146a540585fee6c89adf4ee3edb75b7bbec7&
16:26:36FromDiscord<prestosilver> In reply to @nasuray "If you control how": also man i wish i took this advice when i added profiles to my game, you know its bad when a valid build I use has both `-d:debug -d:release`
16:26:45FromDiscord<prestosilver> a string would be super nice
16:28:05FromDiscord<nasuray> In reply to @prestosilver "also man i wish": are there not conflicting settings from the compiler with that combo? does order matter?
16:28:25FromDiscord<nasuray> or maybe the compiler doesn't actually use a `-d:debug` ? I don't recall
16:31:56Amun-Rathe difference is release define is built-in, debug one is custom / made by user
16:32:41FromDiscord<prestosilver> yea debug isn't a real one
16:35:31FromDiscord<prestosilver> honestly nims static stuff is probably one its best strengths, essentially with one call to mkdir, nim, and a cp my build script packs all my assets, compiles the game, serializes translations, and makes a folder with the full game built
16:36:06FromDiscord<prestosilver> most of that is done by nim, and honestly all of it could be if i really didn't want a build system
16:43:34FromDiscord<prestosilver> sent a long message, see https://pasty.ee/FAqxcZAE
16:44:18FromDiscord<prestosilver> (edit) "https://pasty.ee/hKmjQaEi" => "https://pasty.ee/gCYcLphH"
16:44:40FromDiscord<prestosilver> (edit) "https://pasty.ee/YAowVQyr" => "https://pasty.ee/WfaTAPcT"
16:44:57FromDiscord<prestosilver> (edit) "https://pasty.ee/FKnGjFSE" => "https://pasty.ee/BIBkLBdi"
16:46:17*redj quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
16:46:45FromDiscord<amun0666> nim.cfg / config.nims is your friend. 🙂
16:47:46FromDiscord<prestosilver> yea i should have probably used config.nims, but since alot of these are build dependent i just didn't feel like it
16:48:03FromDiscord<prestosilver> i never manually run that dont worry its through a build script
16:48:16FromDiscord<prestosilver> that builds the args
16:48:18FromDiscord<amun0666> You can put all the warning related stuff safely.
16:48:22FromDiscord<nasuray> In reply to @prestosilver "yea i should have": if only nimscript was scriptable
16:49:09FromDiscord<prestosilver> if only someone told me that in 2021 when i made this build system
16:49:11FromDiscord<amun0666> And the rest combine with "when" (config.nims) and/or @if (nim.cfg).
16:50:47FromDiscord<prestosilver> In reply to @prestosilver "also nimble is designed": yea id love to switch to nims to drop my JavaScript dev dep (justfiles use just a stupid npm package) but when it works theres just no point in translating
16:51:01FromDiscord<amun0666> I use both. 😛
16:51:02FromDiscord<prestosilver> (edit) "In reply to @prestosilver "also nimble is designed": yea id love to switch to nims to drop my JavaScript dev dep (justfiles use just a stupid npm package) but when it works theres just no point in translating ... " added "this file"
16:54:03FromDiscord<nasuray> In reply to @prestosilver "yea id love to": are you saying you run javascript using `just` or install it with npm? seems like a needless dep on `node` when you can just download a binary and be done with it
16:54:48FromDiscord<prestosilver> install with npm, sorry meant i have a npm build dep
16:55:21FromDiscord<amun0666> nim.cfg is very simple https://dpaste.com/6Z2VGYSQ2
16:55:33FromDiscord<nasuray> another npm build dep or just "just" (pun intended)
16:55:36FromDiscord<amun0666> (edit) "nim.cfg" => "config.nims"
16:56:52FromDiscord<prestosilver> In reply to @amun0666 "config.nims is very simple": yea but rewriting a 400 line build system for a game im only planning on updating for like another year is just extra work
16:57:03FromDiscord<amun0666> Right.
16:59:54FromDiscord<prestosilver> In reply to @nasuray "another npm build dep": idk i install just through the aur and it has a nodejs dep, thats the only reason node is on my pc
17:00:18FromDiscord<nasuray> In reply to @prestosilver "idk i install just": WTF
17:02:03FromDiscord<nasuray> but `just` isn't in the AUR?
17:02:16FromDiscord<nasuray> it's in extra
17:02:48FromDiscord<nasuray> are we not talking about https://github.com/casey/just ?
17:03:11FromDiscord<prestosilver> hangon this may be something else then
17:03:13FromDiscord<prestosilver> its that
17:03:19FromDiscord<prestosilver> lmao
17:03:28FromDiscord<prestosilver> yea i have no clue im going crazy
17:03:59FromDiscord<prestosilver> something in this project has a node dep, was assuming it was that as its installed through npm but may not be
17:04:25FromDiscord<nasuray> In reply to @prestosilver "something in this project": not on arch it's not
17:04:27FromDiscord<prestosilver> only reason i know that is because last time i setup my pc i didnt have node until i setup everything to build this
17:04:44FromDiscord<nasuray> did you install `just-js` from the AUR or something?
17:05:11FromDiscord<prestosilver> it could be some deep dependency that im just not aware of too, i use some really bad 1.6.4 deps that totally could be installing it in a script
17:05:20FromDiscord<prestosilver> In reply to @nasuray "did you install `just-js`": probably that
17:06:02FromDiscord<prestosilver> i have a sub install script in a private repo that automates setting up project dependencies from when i was reinstalling often
17:06:50FromDiscord<prestosilver> (edit) "often" => "often, im not at my machine rn but im really curious now going to dig later"
17:52:53*Mister_Magister quit (Ping timeout: 244 seconds)
18:01:06FromDiscord<aethrvmn> You can hide most if not all inside the config.nims tho↵(@prestosilver)
18:01:47FromDiscord<aethrvmn> I found a blog post by someone who defined \`nim musl\` as an action to statically compile and optimize for size etc
18:08:07FromDiscord<amun0666> I have similar thing for musl.
18:13:11FromDiscord<amun0666> Is there a way of getting an offset to i-th element in array? Like offsetof(Type, field[1])?
18:14:18FromDiscord<Elegantbeef> Arrays tightly packed so it's just `offsetOf(Type, field) + sizeOf(T) i` afaik
18:15:49FromDiscord<amun0666> I did it the ugly way: https://media.discordapp.net/attachments/371759389889003532/1430983060983255222/image.png?ex=68fbc254&is=68fa70d4&hm=9714a55259bdf4ef3e2a2d88ae7c9387f9eb05b8f8688f58c5cd8fd7fbed53ef&
18:16:07FromDiscord<Elegantbeef> Well that's just dumb
18:16:54FromDiscord<amun0666> I know. But the array is fixed. I can live with it.
18:19:47*redj joined #nim
18:25:45FromDiscord<prestosilver> sent a long message, see https://pasty.ee/oJBdrRxo
18:25:59FromDiscord<prestosilver> (edit) "https://pasty.ee/VRauYZVF" => "https://pasty.ee/aqxNKEph"
18:27:29FromDiscord<prestosilver> but yea combining these all to a string using config.nims would probably be whatd id do if i were to redo my build system without switching to nimble
18:29:00FromDiscord<prestosilver> being able to just do zig build steam and have everything managed by zig in my new project is so nice, so emulating that in nim seems like something id try at some point
18:31:46*beholders_eye quit (Ping timeout: 256 seconds)
19:02:26*Mister_Magister joined #nim
19:10:06FromDiscord<amun0666> Well, zig build here is nimble.
19:14:23FromDiscord<nasuray> In reply to @amun0666 "Well, zig build here": Or just config.nims for the nimble haters among us
19:18:12Amun-Ra:>
19:33:01*TheTechRobo3 joined #nim
19:38:21*mahlon_ joined #nim
19:39:06FromDiscord<rakgew> I like those long build commands in my .nimble tasks
19:41:36*TheTechRobo quit (*.net *.split)
19:41:36*fallback quit (*.net *.split)
19:41:36*mahlon quit (*.net *.split)
19:41:36*zero` quit (*.net *.split)
19:41:36*yeti quit (*.net *.split)
19:41:37*TheTechRobo3 is now known as TheTechRobo
19:47:21*yeti joined #nim
19:48:32*zero` joined #nim
19:48:51*fallback joined #nim
19:51:49*mahlon_ is now known as mahlon
21:52:25*beholders_eye joined #nim
23:47:45*beholders_eye quit (Ping timeout: 252 seconds)