# GeNix7000: Nix Project Logo Generator

**URL:** https://discourse.nixos.org/t/genix7000-nix-project-logo-generator/15937
**Category:** Announcements
**Created:** [November 6, 2021, 9:44pm UTC](https://discourse.nixos.org/t/genix7000-nix-project-logo-generator/15937 "2021-11-06T21:44:41Z")
**Posts on this page:** 18
**Page:** 2

<div class="post-metadata">

### Author: ![hugosenari](https://discourse.nixos.org/user_avatar/discourse.nixos.org/hugosenari/32/5630_2.png) [@hugosenari](https://discourse.nixos.org/u/hugosenari)
#### Post date: [March 19, 2024, 5:32pm UTC](https://discourse.nixos.org/t/genix7000-nix-project-logo-generator/15937/22 "2024-03-19T17:32:20Z")

</div>

How can we make it work with command line interface?  
Do you mind to explain step by step?

- Did you run the creation of image N times with different t, then joined all together
  - What you use to convert frames into vid?

- Openscad has this feature?

---

<div class="post-metadata">

### Author: ![cab](https://discourse.nixos.org/user_avatar/discourse.nixos.org/cab/32/5777_2.png) [@cab](https://discourse.nixos.org/u/cab)
#### Post date: [March 20, 2024, 2:44pm UTC](https://discourse.nixos.org/t/genix7000-nix-project-logo-generator/15937/23 "2024-03-20T14:44:56Z")

</div>

Openscad has an animation mode, which cycles `$t` between 0 and 1 in small increments. If you enable it and check `Dump pictures` flag, it will start saving frames in current folder.  
Or you can run `openscad --animate 60 ./a\ good\ version\ of\ the\ logo.scad --camera 0,0,0,0,0,0,500`

After that you can glue them together using ffmpeg — `ffmpeg -r 30 -i 'frame%05d.png' mow.mp4`

---

<div class="post-metadata">

### Author: ![cab](https://discourse.nixos.org/user_avatar/discourse.nixos.org/cab/32/5777_2.png) [@cab](https://discourse.nixos.org/u/cab)
#### Post date: [March 20, 2024, 2:55pm UTC](https://discourse.nixos.org/t/genix7000-nix-project-logo-generator/15937/24 "2024-03-20T14:55:16Z")

</div>

and there you go  
 ![mow](https://discourse.nixos.org/uploads/default/original/3X/2/4/248a542e1e2203b91d8213b265e9f7f81cfa86b3.gif)

---

<div class="post-metadata">

### Author: ![hugosenari](https://discourse.nixos.org/user_avatar/discourse.nixos.org/hugosenari/32/5630_2.png) [@hugosenari](https://discourse.nixos.org/u/hugosenari)
#### Post date: [March 21, 2024, 9:31am UTC](https://discourse.nixos.org/t/genix7000-nix-project-logo-generator/15937/25 "2024-03-21T09:31:01Z")

</div>

![blap](https://discourse.nixos.org/uploads/default/original/3X/f/3/f3ec0b5bcd430f5b345a9e3dbf409016d587ac3c.gif)

My implementation is a bit hacky, but I’m happy with the flexibility.

```sh
nix run github:cab404/genix7000#to-image -- mad.mp4 --animation \
   '{
      thick: ($thick + $i / 2),
      num: ($num + $i / 10),
      rotation: ($rotation + $i / 2),
      angle: ($angle + $i / 2),
      clipr: ($clipr + $i / 10),
      cliprot: ($cliprot + $i / 10),
      # camera: $"0,0,(1200 - $i * 15),0,0,0"
    }'

```

![mad](https://discourse.nixos.org/uploads/default/original/3X/c/5/c5346161c93bf8233d064a0ffb6b2963c4721ea9.gif)

> <https://github.com/cab404/genix7000/pull/6>
>
> \- Adding different output for .mp4
> \- Added 3 new parameters for command line
> … - fps:int = 15 # video frame rate
> - duration:int = 4 # video duration
> - animation:string = "{ rotation: ($rotation - $i) }" # animation function
> 
> Example:
> \`\`\`bash
> nix run github:cab404/genix7000#to-image -- \\
> mynix.mp4 --thick 1 \\
> --animation '{ thick: ($thick + $i / 2), rotation: ($rotation - $i) }' 
> \`\`\`
> 
> !\[mad\](https://github.com/cab404/genix7000/assets/863299/e72185c9-0590-44a2-ae82-e00b53534f23)
> 
> 
> Caveat: ffmep is impure, called as \`nix run\`, so user don't have to download it if they don't need mp4 conversion.

edit: updated command to point to repository now that is merged

---

<div class="post-metadata">

### Author: ![gurkan](https://discourse.nixos.org/user_avatar/discourse.nixos.org/gurkan/32/30243_2.png) [@gurkan](https://discourse.nixos.org/u/gurkan)
#### Post date: [March 24, 2024, 4:02pm UTC](https://discourse.nixos.org/t/genix7000-nix-project-logo-generator/15937/26 "2024-03-24T16:02:10Z")

</div>

Please link it. I already tried plymouth [before](https://git.gurkan.in/gurkan/nixos-blur-plymouth/), I can give that one a shot, looks nice.

---

<div class="post-metadata">

### Author: ![cab](https://discourse.nixos.org/user_avatar/discourse.nixos.org/cab/32/5777_2.png) [@cab](https://discourse.nixos.org/u/cab)
#### Post date: [March 25, 2024, 8:31am UTC](https://discourse.nixos.org/t/genix7000-nix-project-logo-generator/15937/27 "2024-03-25T08:31:56Z")

</div>

It turned out OpenSCAD is not that good exporting transparent PNGs. There is a way in exporting colored SVGs and then rendering them to PNGs, but I need to fix exporter for that — and inkscape broke their scripts again 😕

---

<div class="post-metadata">

### Author: ![hugosenari](https://discourse.nixos.org/user_avatar/discourse.nixos.org/hugosenari/32/5630_2.png) [@hugosenari](https://discourse.nixos.org/u/hugosenari)
#### Post date: [March 26, 2024, 6:14am UTC](https://discourse.nixos.org/t/genix7000-nix-project-logo-generator/15937/28 "2024-03-26T06:14:00Z")

</div>

You can use #to-image for that.

```auto
nix run github:cab404/genix7000#to-image -- bla.svg --num 7 "\#cd3535" "\#5d3555" "\#cd5555"
nix run github:cab404/genix7000#to-image -- --help # to see all args

```

If you need to export to SVG, with your already defined parameter set (.json), change the to-image.nu lines:

- 121, 134 (-P profile name);
- 122, 133 (-p parameter set path.json);
- 126, 135 (the .scad file)

And run

```auto
nix run .#to-image -- bla.svg "\#cd3535" "\#5d3555" "\#cd5555"

```

Now that I’m noted that I’m not passing camera to scad command of line 132 🤔  
Also, let me know if a PR to take this 3 from command line makes sense.  
Note, svg didn’t work with named colors: gray, cyan, etc

> [@gurkan](#):
>
> I already tried plymouth [before](https://git.gurkan.in/gurkan/nixos-blur-plymouth/)

[Tequilas](https://images.app.goo.gl/XEprkgxT5whHLqqS6)

---

<div class="post-metadata">

### Author: ![cab](https://discourse.nixos.org/user_avatar/discourse.nixos.org/cab/32/5777_2.png) [@cab](https://discourse.nixos.org/u/cab)
#### Post date: [April 14, 2024, 9:41am UTC](https://discourse.nixos.org/t/genix7000-nix-project-logo-generator/15937/29 "2024-04-14T09:41:13Z")

</div>

I’ve made `animation.nu` script to easily export transparent animation frames. It yields far better results than bg removal, and is really quick.

It is intended to be hacked in place, so just clone the repo `:)`

---

<div class="post-metadata">

### Author: ![cab](https://discourse.nixos.org/user_avatar/discourse.nixos.org/cab/32/5777_2.png) [@cab](https://discourse.nixos.org/u/cab)
#### Post date: [April 14, 2024, 12:50pm UTC](https://discourse.nixos.org/t/genix7000-nix-project-logo-generator/15937/30 "2024-04-14T12:50:39Z")

</div>

![mow](https://discourse.nixos.org/uploads/default/original/3X/d/2/d228aba7eab14b1b997c8e471c439e1e1c185f6b.png)  
 ![mow2](https://discourse.nixos.org/uploads/default/original/3X/e/0/e09c97dde648d71799a251a84922b887802cb1c1.png)

So yeah, now we can do things like that no problems

---

<div class="post-metadata">

### Author: ![cab](https://discourse.nixos.org/user_avatar/discourse.nixos.org/cab/32/5777_2.png) [@cab](https://discourse.nixos.org/u/cab)
#### Post date: [April 14, 2024, 1:07pm UTC](https://discourse.nixos.org/t/genix7000-nix-project-logo-generator/15937/31 "2024-04-14T13:07:19Z")

</div>

and obviously, an evil ~~soviet~~ occult pentanix  
 ![evilnix](https://discourse.nixos.org/uploads/default/original/3X/6/4/6422a939041e7f567e6fc74fb9d288b6101e3733.png)

---

<div class="post-metadata">

### Author: ![bew](https://discourse.nixos.org/user_avatar/discourse.nixos.org/bew/32/2091_2.png) [@bew](https://discourse.nixos.org/u/bew)
#### Post date: [April 14, 2024, 8:02pm UTC](https://discourse.nixos.org/t/genix7000-nix-project-logo-generator/15937/32 "2024-04-14T20:02:50Z")

</div>

That second one would be reeaally nice as a boot animation ✨, maybe with some other animation to make it longer!

And also as a cursor loading animation 😃

---

<div class="post-metadata">

### Author: ![cab](https://discourse.nixos.org/user_avatar/discourse.nixos.org/cab/32/5777_2.png) [@cab](https://discourse.nixos.org/u/cab)
#### Post date: [April 16, 2024, 1:29pm UTC](https://discourse.nixos.org/t/genix7000-nix-project-logo-generator/15937/33 "2024-04-16T13:29:55Z")

</div>

started to hack into plymouth scripting language, and made my own theme!

> **[GitHub - cab404/plymouth-is-underrated](https://github.com/cab404/plymouth-is-underrated)**
>
> Contribute to cab404/plymouth-is-underrated development by creating an account on GitHub.

---

<div class="post-metadata">

### Author: ![cab](https://discourse.nixos.org/user_avatar/discourse.nixos.org/cab/32/5777_2.png) [@cab](https://discourse.nixos.org/u/cab)
#### Post date: [April 16, 2024, 2:13pm UTC](https://discourse.nixos.org/t/genix7000-nix-project-logo-generator/15937/34 "2024-04-16T14:13:38Z")

</div>

> [@cab](#):
>
> _I hope that posting this at discourse will be apotheosis of this joke, and I stop wasting my time on it D:_

~two and a half years later~

---

<div class="post-metadata">

### Author: ![stablejoy](https://discourse.nixos.org/user_avatar/discourse.nixos.org/stablejoy/32/29819_2.png) [@stablejoy](https://discourse.nixos.org/u/stablejoy)
#### Post date: [April 17, 2024, 9:38am UTC](https://discourse.nixos.org/t/genix7000-nix-project-logo-generator/15937/35 "2024-04-17T09:38:46Z")

</div>

this is such a happy project! Thank you!

---

<div class="post-metadata">

### Author: ![willbush](https://discourse.nixos.org/user_avatar/discourse.nixos.org/willbush/32/29007_2.png) [@willbush](https://discourse.nixos.org/u/willbush)
#### Post date: [April 22, 2024, 3:36am UTC](https://discourse.nixos.org/t/genix7000-nix-project-logo-generator/15937/36 "2024-04-22T03:36:56Z")

</div>

You still go the params that generated that? It’s really cool 🙂

---

<div class="post-metadata">

### Author: ![cab](https://discourse.nixos.org/user_avatar/discourse.nixos.org/cab/32/5777_2.png) [@cab](https://discourse.nixos.org/u/cab)
#### Post date: [April 22, 2024, 11:08am UTC](https://discourse.nixos.org/t/genix7000-nix-project-logo-generator/15937/37 "2024-04-22T11:08:31Z")

</div>

Well, it’s not exactly customized with parameters for that one — I’ve added some extra rotations in other functions as well. So i’ve just [copied it with all edits](https://github.com/cab404/genix7000/blob/1b1c5eb9d4d8bf46729dbcb22e318d10e93c2f39/versions/evilnix.scad), since it’s kinda frequent that people want presets `:)`  
 ![evilnix2](https://discourse.nixos.org/uploads/default/original/3X/d/b/db9112e8f2e2bf6bed37e9972c60bfeaae98e2c1.png)

That’s a bit different version though (one I use right now), but you can play with rotation, length and aperture parameters to get it back to what it was in above gif.

---

<div class="post-metadata">

### Author: ![hugosenari](https://discourse.nixos.org/user_avatar/discourse.nixos.org/hugosenari/32/5630_2.png) [@hugosenari](https://discourse.nixos.org/u/hugosenari)
#### Post date: [May 15, 2024, 2:49am UTC](https://discourse.nixos.org/t/genix7000-nix-project-logo-generator/15937/38 "2024-05-15T02:49:01Z")

</div>

Save it as gif and upload to telegram desktop, is trippy

Please add your animations to repository README 🙂  
Also, a link to this post for more discussion

> [@cab](#):
>
> occult pentanix

Wonder if was this evil magic that cast the curse over Nix community recently 😅

---

<div class="post-metadata">

### Author: ![Pandapip1](https://discourse.nixos.org/user_avatar/discourse.nixos.org/pandapip1/32/17982_2.png) [@Pandapip1](https://discourse.nixos.org/u/Pandapip1)
#### Post date: [July 2, 2025, 7:07pm UTC](https://discourse.nixos.org/t/genix7000-nix-project-logo-generator/15937/39 "2025-07-02T19:07:32Z")

</div>

You’re in luck. I’m finishing up my flake that allows you to specify genix7000 animations for plymouth declaratively.

Why? Uh… well… here it is!

> <https://github.com/Pandapip1/genix7000plymouth/blob/84cbd0ac1b1c4c6f7b97836e0b4b5056d3be7019/flake.nix>

[Previous page](https://discourse.nixos.org/t/genix7000-nix-project-logo-generator/15937.md?page=1)
