8 ms·
Mobile NixOS: The Present and the Future
- k__ 7y agoNice! I think Nix and NixOS is the best thing that happened to the Linux ecosystem in the last ten years. Good that it spreads to mobile.
- jolmg 7y agoIt's older than 10 years, but yes, NixOS is one of the best things that's happened. Another awesome thing that happened at around the same time is Archlinux. Both the distro and its Wiki are great.
- nextos 7y agoThey are my 2 favorite distros, as I think they fill in 2 obvious local maxima in the design space: i) an imperative system with binary packages that tracks upstream as closely as possible (Arch) and ii) a functional/declarative distro (Nix).
- lame-robot-hoax 7y agoI'd like to try it but to be honest I'm a bit too lazy to go through with the current install process. If they were to adopt the calamares installer though, or develop their own graphical install, I'd love to give it a try. Same with Void.
- adamtulinius 7y agoIn my opinion that would only be useful to help with creating partitions and file systems. The rest of the install process is basically creating your system configuration (and there's a helper tool for that), and a single command to perform the install. What do you think a graphical installer should do for the user?
- k__ 7y agoI think maybe a wizard would help? Like, you choose the type of the PC and then it takes you through some steps to get the right config and packages going.
- Filligree 7y agoWhile it would be possible to do that... to be quite honest, if the current install process is enough to drive you away then you'd have a horrible time using it. NixOS is definitely the perfect OS for fiddlers. Practically nothing is usable without at least some minor tweaks, but once you've tweaked it you won't later lose those tweaks. For anyone who stopped enjoying that after redoing the same config for the fifth time, it's great.
- jolmg 7y agoI can't remember what the install process of NixOS is like, but I just wanted to say that I absolutely love Archlinux's installation process. The live-cd just drops you in a command line with an ~/install.txt file explaining the steps you have to do to install the distro. It quickly educates you what a distro installation consists of, instead of just hiding everything behind a wizard. If I ever want to change anything I set during installation, I don't need to re-install like I would have thought before, I just need to redo whatever step involves the thing I want to change. It also quickly enables you to do a greater breadth of configurations by being exposed to the tools that perform the various steps and their configurations. That's instead of being limited to the options presented in a wizard.
- majewsky 7y agoIIRC the install process of NixOS is pretty similar, at least for the non-GUI ISOs. `pacstrap` becomes `nixos-install` and `genfstab` becomes `nixos-generate-config`.
- ingenieroariel 7y agoAre you thinking regular NixOS with kde or more like notOS + sway?
- eterps 7y agoWhat's 'notOS'?
- Ericson2314 7y agohttps://github.com/cleverca22/not-os https://github.com/cleverca22/not-os
- Ericson2314 7y agoI think regular NixOS.
- Fnoord 7y agoI would love to have deduplication on OS on mobile; it is a horror to go back to previous state. Do you plan on allowing other projects such as AOSP forks, UT, Sailfish, postmarketOS to work on top if Mobile NixOS? So a project like Mer was? [Edit: To answer my own question: GitHub page says its heavily based on postmarketOS]
- ImNotTheNSA 7y ago> Any device not allowing that is, simply put, not respecting the intelligence of the user. This is kind of a silly absolutist opinion. Sure, you should have an option to have a completely open mobile OS... but to say that any OS with other priorities than complete “openness” is disrespectful is to throw literally every other consideration to the wind. I mean... really, what about security? Ideologues tend to forget about reality, sometimes, it seems. Verified app stores, for example, are about providing security to the end user, not about disrespecting the end user. I can’t help but feel like ideologically driven projects like often almost immediately discredit themselves with crap like this. Their software comes off as about making some statement, not providing something great, novel, and beneficial to people.
- tathougies 7y agoUm.... he's not saying OSes with other priorities are disrespectful. He's saying that devices that are designed to make it difficult for their owners to install their own software on it (sometimes going so far as to attempt to make it illegal) are being disrespectful to their purchasers.
- Tehchops 7y agoHow do you reconcile that when it's very likely allowing even a small population of "owners" to install unverified software ends up directly harming the majority of the other "owners".
- chriswarbo 7y agoI'm not sure why you put scare quotes around the word "owner". Personally, I'd like to know what "harm" you think is inflicted by, say, the presence of a hardware jumper. Also, in case you didn't know, there's been a lot of thought and effort expended over the decades about the philosophy, morals and implementation of ownership with regards to hardware and software. I recommend starting with a resource like http://www.gnu.org/philosophy http://www.gnu.org/philosophy
- c-smile 7y agoInteresting. I am thinking of making Sciter Engine as a chrome for mobile devices. So mobile UI can be defined in terms of HTML/CSS with code-behind-UI written in C/C++ or script. Conceptually that would be close to FirefoxOS but more inclined into native side. Or at least will have more flexibility in this respect. Is it interesting at all?
- ptrott2017 7y agoDefinitely of interest. Also of interest would be using Sciter for embedded (but not mobile) apps. Its a natural fit for certain markets. Are you still considering open sourcing Sciter? I personally hope so - but also know how much is involved in going down that path.
- c-smile 7y ago"would be using Sciter for embedded apps" that is not a problem already. E.g. it runs on ARMs like Raspberry Pi. SDK contains binaries that use GTK but it is possible to run it without any window manager. Access to FB or video memory is enough. As of OpenSource, yes I have plans for that. The only problem is that OS is a great responsibility, at least for me. It is going to be a significant effort to document source code, etc. I am actively looking for sponsors for the effort.
- ptrott2017 7y agore: embedded - I thought as much - I think it likely just needs some use cases and marketing to drive adoptions. Regarding Open source / sponsorship / support: - Andrew I will follow up directly via email over weekend.
- anilgulecha 7y agoYes! How can I reach out to you?
- fsiefken 7y agoIt would be nice if I could use NixOS through Termux on Android.
- manveru 7y agoThere is https://github.com/t184256/nix-in-termux https://github.com/t184256/nix-in-termux
- Ericson2314 7y agoVery excited to use this and buy a librem 5 for it.
- kstenerud 7y agoI'm just waiting for them to solve the problem of the package manager taking multiple gigabytes of memory to run. My last experience with it involved a lot of "unable to fork: Cannot allocate memory". It's insane that a package manager would even exceed even 100mb of memory usage, let alone run into multiple gigabytes. No way there's that much information to manage.
- Filligree 7y agoThat's because it isn't a package manager, it's an interpreted programming language. The package management requires running a huge program in that language. Of course knowing why it happens didn't make it less frustrating, but it's hard to fix. What you can do is build your system remotely, on a more capable machine, perhaps with nixos-rebuild --target-host. (That's a shell script, and fairly readable.)
- kstenerud 7y agoTo me this sounds absolutely insane. Package managers that work in a couple of megabytes of ram is a solved problem. How can this be unsolvable?
- Filligree 7y agoIt's not really the package-building process that takes tons of RAM. It's the OS-building process, where it pulls everything necessary to describe the current state of your machine into RAM, simultaneously. This typically means several hundred packages at least, plus a lot of code that's not as easily classifiable as "packages". The config file generators are written in the same language. Other operating systems punt on the challenge; there's no equivalent in e.g. Debian.
- kstenerud 7y agoI get that, but it ran out of ram on a machine with 2gb of ram. Even if there were 10 million things to keep track of, that's 200 bytes per thing! If we're talking about a file system with 100,000 files, that's 20 kb of metadata per file. Actually, more than that because it exhausted the ram. Those numbers just don't add up.