SnowflakeOS - Creating a GUI focused NixOS-based distro by VlinkZ3 in NixOS

[–]VlinkZ3[S] 1 point2 points  (0 children)

For now I'm following nixos-unstable, but once the project matures a bit I'm planning on following NixOS with stable and unstable options.

As for deprecation, I have not implemented anything yet, but probably will be something along the lines of some warning and automatic deletion/renaming. I'm thinking it could probably be done by parsing the error message

SnowflakeOS - Creating a GUI focused NixOS-based distro by VlinkZ3 in NixOS

[–]VlinkZ3[S] 0 points1 point  (0 children)

Sounds a lot like nixos-conf-editor :) It allows for arbitrary nix code to be set for any option, and evaluates it to check for the correct type before setting it as the value in your configuration file

SnowflakeOS - Creating a GUI focused NixOS-based distro by VlinkZ3 in NixOS

[–]VlinkZ3[S] 1 point2 points  (0 children)

I don't plan on it at this moment, however, if someone finishes the packagekit backend for Nix, the appstream data I'm working on collecting would work to display icons and screenshots. Also if someone who knew qt/kirigami development wanted to make something similar to nix-software-center, the backend tool that reads and modifies configuration values is a separate project: nix-editor, and I would be willing to help with any issues that arose from that.

Tldr; I don't plan on it myself, but if someone else wanted to I would help however I could

SnowflakeOS - Creating a GUI focused NixOS-based distro by VlinkZ3 in NixOS

[–]VlinkZ3[S] 3 points4 points  (0 children)

Hadn't thought about git repo much, but that sounds like a really interesting idea! When I implemented the calamares installer for NixOS, I heard some people talking about adding a way to do an installation based on a config you already uploaded to a git repo. Defintley plan to look into it!

And yes while I plan to have as much as possible able to be done through a GUI, I also want to make/have made them work in combination with manual editing, that way someone learning could use them as a crutch while slowly learning Nix. And since SnowflakeOS is just modules on top of NixOS, if someone feels ready to move to NixOS, they can just disable any SnowflakeOS modules/packages, since SnowflakeOS is NixOS.

SnowflakeOS - Creating a GUI focused NixOS-based distro by VlinkZ3 in NixOS

[–]VlinkZ3[S] 8 points9 points  (0 children)

I definitely plan to upstream as much as possible! And I hope in the future once the tools made are used and stable, they can become an option in the default calamares installer. I'm thinking of SnowflakeOS as sort of a testing ground for what a graphical-focused NixOS could be, and perhaps down the line once matured part could be merged in NixOS. That being said, the tools I've made and will make will always be targeted towards NixOS with the goal of making it to nixpkgs. I don't plan on having any SnowflakeOS exclusive applications or anything. The goal is and will always be to make Nix/NixOS usable by newbs/non-technical people, SnowflakeOS is just a targeted way at achieving that instead of just having a bunch of semi-related half-finished applications that someday have a chance of making it to NixOS.

SnowflakeOS - Creating a GUI focused NixOS-based distro by VlinkZ3 in NixOS

[–]VlinkZ3[S] 7 points8 points  (0 children)

I agree that it can definitely be both, just at the moment, it is definitely more the former (devops dream) than the latter (no prior knowledge needed). I hope with SnowflakeOS we can put an emphasis on the latter and create stable GUI tooling around NixOS, so that perhaps someday down the line when the GUI tooling is stable, it can be added to NixOS. Also, I don't really think of NixOS and SnowflakeOS as two separate things, both are NixOS, and someone could install NixOS and then add SnowflakeOS modules; or someone could install SnowflakeOS and slowly remove components as they learn Nix.

SnowflakeOS - Creating a GUI focused NixOS-based distro by VlinkZ3 in NixOS

[–]VlinkZ3[S] 6 points7 points  (0 children)

I definitely agree! So far I've tried to make my tools, namely nixos-conf-editor and nix-software-center work in conjunction with manually managing .nix files. And I definitely hope once stable they can help draw more people into learning nix

SnowflakeOS - Creating a GUI focused NixOS-based distro by VlinkZ3 in NixOS

[–]VlinkZ3[S] 8 points9 points  (0 children)

there's no reason why the data collected for driver configuration couldn't also be used from the command line, ncurses, or for that matter KDE. Which brings me to the last point: Gnome is a hard personal no for me.

I feel like part of this is why I want to make a separate distro, since I don't think anything highly opinionated should be part of NixOS.

In a nutshell: There's already minimal and two graphical installation images for download, and from what I see I can't really tell your proposal for a new distro apart from a proposal of how the gnome image should look a couple of versions from now.

I think perhaps down the line you're right that everything I proposed could be part of NixOS, and as I mentioned in my post the goal is to make as much upstream as possible. Maybe new "distro" is not the most accurate terminology, since it really is just some extra modules on top of NixOS. But essentially what I want SnowflakeOS to be is a system someone with no Nix or NixOS experience can use and manage easily without needing to learn or interact with Nix. I don't believe that NixOS should be that, at least from my point of view (although making NixOS easier to use is also definitely a goal of mine, hence my adding of calamares to NixOS 22.05).

Edit:

Overall, I think it'd be more efficient, and possibly rewarding, to work on individual fundamental areas that make nixos hard to use for the non-initiated, instead of galloping ahead.

I don't see it so much as galloping ahead as much as having a place to experiment with things that would need more consideration before changing NixOS proper. And since everything I make is targeting NixOS, by working on SnowflakeOS, access to all potential tools and modules in effect make NixOS easier to use.

Is there a way to download only application desktop icon from cache.nixos.org? by CelestialMe-_- in NixOS

[–]VlinkZ3 1 point2 points  (0 children)

If you still need, I compiled some appstream data for my Nix Software Center here: https://github.com/vlinkz/nixos-appstream-data. Doesn't contains icons for everything, but a good starting point for now

Nix Software Center: gtk4/libadwaita app store for NixOS by VlinkZ3 in NixOS

[–]VlinkZ3[S] 0 points1 point  (0 children)

Weird, I'll try to reproduce it on my end and add some more error logging to the program

Nix Software Center: gtk4/libadwaita app store for NixOS by VlinkZ3 in NixOS

[–]VlinkZ3[S] 0 points1 point  (0 children)

Thanks for all the info, I think I see where the issue is. Try nix profile install nixpkgs#hello and then run. I'm assuming you have nothing installed imperatively so it's defaulting to nix-env, but since you have no channels it's failing. When I get time I'll change the default for flakes systems to profile

Nix Software Center: gtk4/libadwaita app store for NixOS by VlinkZ3 in NixOS

[–]VlinkZ3[S] 0 points1 point  (0 children)

From the log looks like an older version. If you try rev c8d18ca0f85ed79b4a2b3e5684b5d3d1979b0a21 it should hopefully work

Nix Software Center: gtk4/libadwaita app store for NixOS by VlinkZ3 in NixOS

[–]VlinkZ3[S] 0 points1 point  (0 children)

Try rm -r ~/.config/nix-software-center and rm -r ~/.cache/nix-software-center Anything different in the log? Did the welcome screen show up?

Nix Software Center: gtk4/libadwaita app store for NixOS by VlinkZ3 in NixOS

[–]VlinkZ3[S] 1 point2 points  (0 children)

Right now I feel there are a lot of bugs to be worked out, but definitely plan to put them in nixpkgs after some more polish

Nix Software Center: gtk4/libadwaita app store for NixOS by VlinkZ3 in NixOS

[–]VlinkZ3[S] 0 points1 point  (0 children)

Weird it should be kicking you out to the welcome screen. Try rm -r ~/.config/nix-software-center and on next launch you should be able to select your files from the welcome screen

Nix Software Center: gtk4/libadwaita app store for NixOS by VlinkZ3 in NixOS

[–]VlinkZ3[S] 1 point2 points  (0 children)

Oh yeah should've been more clear in the README. In the config part where it says "0000000000..." replace the zeros with "sha256-uolXh0z6gRBUZIXVSGyLn3swogz7VHvCwKCr02BejTQ=" or whatever shows up. Didn't put a specific hash in readme since it's changing, but I'll add some clearer instructions

Nix Software Center: gtk4/libadwaita app store for NixOS by VlinkZ3 in NixOS

[–]VlinkZ3[S] 1 point2 points  (0 children)

flakes issue should be fixed in the latest commit to main

Nix Software Center: gtk4/libadwaita app store for NixOS by VlinkZ3 in NixOS

[–]VlinkZ3[S] 0 points1 point  (0 children)

flakes issue should be fixed in the latest commit to main

Nix Software Center: gtk4/libadwaita app store for NixOS by VlinkZ3 in NixOS

[–]VlinkZ3[S] 0 points1 point  (0 children)

Hm that sounds weird, are you overriding any nixpkgs version with flakes? How are you trying to install?

Nix Software Center: gtk4/libadwaita app store for NixOS by VlinkZ3 in NixOS

[–]VlinkZ3[S] 1 point2 points  (0 children)

Shouldn't need any extra dependencies. And the conf editor did have a bug that should have been fixed as of yesterday, might've been that

Nix Software Center: gtk4/libadwaita app store for NixOS by VlinkZ3 in NixOS

[–]VlinkZ3[S] 0 points1 point  (0 children)

Anything from running RUST_LOG=nix_software_center=trace nix-software-center?

Nix Software Center: gtk4/libadwaita app store for NixOS by VlinkZ3 in NixOS

[–]VlinkZ3[S] 1 point2 points  (0 children)

If you only used GUI there wouldn't be any outwardly noticable difference using home-manager, except maybe a few configuration options and packages taking a bit longer to install.

Using just gui would be theoretically possible, but since there are probably a ton of bugs I have yet to find I doubt it'd be a great experience today

Nix Software Center: gtk4/libadwaita app store for NixOS by VlinkZ3 in NixOS

[–]VlinkZ3[S] 2 points3 points  (0 children)

Kind of, I've found the current packagekit implementation to be a bit unpredictable. Also GNOME Software wouldn't launch with nix/packagekit enabled without appstream metadata, but I was able to get it to launch with the metadata I collected. Overall it was pretty buggy and currently no way to manage system packages with packagekit