nix-starter-configs
bootstrap-seeds
nix-starter-configs | bootstrap-seeds | |
---|---|---|
31 | 6 | |
1,927 | 72 | |
- | - | |
5.2 | 5.2 | |
2 days ago | 4 months ago | |
Nix | Assembly | |
Creative Commons Zero v1.0 Universal | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
nix-starter-configs
-
Home-manager as NixOS module or as standalone?
Is this an example of what you mean (home-manager is defined as part of the flake): https://github.com/Misterio77/nix-starter-configs/blob/main/minimal/flake.nix
-
What is the current recommended documentation when starting out with NixOs?
All the resources mentioned in other comments are pretty good, but mostly they are unofficial. The official NixOS wiki is very outdated and unmaintained. You will have better luck reading other people’s configurations, nixpkgs source code and GitHub issues. For the nix language the official wiki is a nice reference https://nixos.org/manual/nix/stable/language/index.html. This configuration is a great starting point https://github.com/Misterio77/nix-config for learning by example. It covers most of what you may need, although bootstrapping your own config is quite rough. You may want to take a look at https://github.com/Misterio77/nix-starter-configs. It’s very basic and should be simple to understand and improve.
- GNOME on NixOS
-
NixOS Reproducible Builds: minimal ISO successfully independently rebuilt
Another good option: https://github.com/Misterio77/nix-starter-configs
I started with this one, the minimal version, then moved on to something more like the standard version, and now I'm moving on to something based on his much more complicated and flexible build in a different repo. I had been flailing, then this repo made it click.
-
How to install Gnome with PKG overlay
Hi all, I'd like to install Gnome using the unstable overlay; I used https://github.com/Misterio77/nix-starter-configs as a template, my sistem is on the stable source and I install packages from the unstable branch using "unstable.pkg". Given that Gnome is installed by
-
NixOS and Flakes Book: An unofficial book for beginners (free)
So, it took me an inordinate amount of effort to get to this point, but I find managing my nixos laptop to be idiotically easy now. And, to be clear, I'm not a developer. I just want an easy to use config that I can port over to a new laptop when the time is right (and maybe port a similar config over to my desktop as well, once I get around to installing NixOS).
It's very weird, because I went from "WHY IN GOD'S NAME WOULD ANYONE WANT THIS?" to "my life is now measurably better" over the span of about 48 hours, and I have no idea what clicked. Something about adding flakes to the mix (NixOS + HM + flakes) broke the logjam. Or maybe it was simply how damned useful this config was to learn from:
https://github.com/Misterio77/nix-starter-configs
I went from that to a per-user, per-machine (with defaults for each) config in about an hour, and I haven't fundamentally changed that setup since. I have no idea why it's so compelling to me, but the combination of being able to tell the machine how to configure itself in one place with the ease of adding software ... I'm going to spin up a config this weekend and put it on my kid's laptop. There are other tools to accomplish the same thing, but NixOS is just so easy ... and poorly documented ... and has weird CLI conventions ... and doesn't do a super job of garbage control ... and
-
Flake + Disko + nixos-install
Hi, I created a new Flake based on Misterio77's template, then added Disko to it, as explained here. I also set disko.enableConfig = false; as they say is necessary when running from Installer.
-
Really confused about Hyprland, flakes and home-manager
I just went on this journey last weekend! It was a rough start but I started to feel a lot more productive when I found this guide on flakes and also used this repo as a starting template.
-
Need some Help !
Ok thanks! This one: https://github.com/Misterio77/nix-starter-configs
-
Any good starter template for configuring nixos with modern features?
take a look at misterios starter configs
bootstrap-seeds
-
NixOS Reproducible Builds: minimal ISO successfully independently rebuilt
This[0] is basically the hand-documentation of those bytes then. Handwritten ELF header and assembly code.
[0] https://github.com/oriansj/bootstrap-seeds/blob/master/POSIX...
-
SectorC: A C Compiler in 512 bytes
The bootstrap seed, https://github.com/oriansj/bootstrap-seeds/blob/master/POSIX..., is a tiny interpreter that takes a much larger program written in a special-purpose, bytecode-based language. This proceeds in turn once or twice more--special purpose program generating another interpreter for another special-purpose language--until you end up with a minimal Scheme interpreter, which then can be used to execute a C compiler program.
All of this is incredible work, but a minimal C-subset compiler in under 512 bytes seems like a unique achievement.
-
Ken Thompson: Reflections on Trusting Trust (Turing Award Lecture)
There is also live-bootstrap which uses a similar bootstrap chain to Guix (stage0 -> Mes -> tcc -> gcc), but without needing Guile/guix-daemon binaries etc. The whole thing starts with just a 357-byte binary seed (source)!
-
Zig is now self–hosted by default
Yeah, it's a binary blob, but it's small enough to be easily auditable. Anyone with some knowledge of x86 assembly can read the annotated version [1] and verify that it does what it claims (which is to convert ASCII hex with comments into binary).
You're right, it also requires a Linux kernel, and of course, you also have to trust the hardware you're running it on. Still, it reduces the amount of stuff we have to take for granted as trusted, which I think is a good thing. (I'm not involved in the project, just an admirer).
[1]: https://github.com/oriansj/bootstrap-seeds/blob/b09a8b8cbcb6...
-
stage0-posix was ported to RISC-V
stage0-posix just gained initial support for RISC-V (64-bit). It starts with 392 byte hex assembler, 361 byte "shell" and bootstraps simple linker (hex2), macro assembler (M0). Then it builds cc_riscv64 RISC-V compiler written in RISC-V assembly and uses it to build simple C compiler written in C (M2-Planet). Then it builds a few extra utilities (cp, mkdir, untar, ungz, sha256sum, chmod)
-
Reproducibility
From a security point of view the only thing that gentoo users need to achieve similar levels of security is a bootstrapped compiler from a known good seed. The source code is already deterministic by definition. After that all you need is a compiler bootstrapped via something like https://github.com/oriansj/bootstrap-seeds which can be independently verified. It would probably be useful to be able to have independent bootstraps arrive at the same binary output for a compiler, but probably only as an option. Ultimately way less work for the same level of security.
What are some alternatives?
sops-nix - Atomic secret provisioning for NixOS based on sops
live-bootstrap - Use of a Linux initramfs to fully automate the bootstrapping process
nixed - I've nixed any chance I have at human interaction by building this config
zig-bootstrap - take off every zig
.dots - just my .dotfiles
bcc - bcc is a b compiler
homeage - runtime decrypted age secrets for nix home manager
stage0-posix-x86
nixos-config - Mirror of https://code.ataraxiadev.com/AtaraxiaDev/nixos-config
turning-polyglot-solutions-into-t
deploy-rs - A simple multi-profile Nix-flake deploy tool.
mescc-tools-seed - A place for public review of the posix port of stage0