impermanence
nix-helpers
Our great sponsors
impermanence | nix-helpers | |
---|---|---|
32 | 2 | |
850 | 8 | |
11.9% | - | |
5.9 | 7.5 | |
about 1 month ago | about 1 month ago | |
Nix | Nix | |
MIT License | Creative Commons Zero v1.0 Universal |
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.
impermanence
-
Silverblue users: why?
This is indeed a blind spot. Thanks for pointing that out! Silverblue -to my knowledge- doesn't do a lot to address this. Though, 3rd-party tools like Home Manager and the suite of applications developed by the folks over at uBlue might be able to limit this to a minimum. Though I'm not sure if it surpasses NixOS in this regard; for the uninitiated. Though, to my knowledge, this requires special attention and depends on the specifics of the NixOS system in question.
- NixOS for the Impatient
-
Interested in NixOS, have some questions
Some files in /etc (like saved networks) will still not be managed by NixOS, if you want to have full control over them use Impermanence
-
Upgrading to NixOS 22.11 Issue
{ imports = [ (modulesPath + "/installer/scan/not-detected.nix") "${builtins.fetchGit { url = "https://github.com/NixOS/nixos-hardware.git"; }}/system76" "${builtins.fetchGit { url = "https://github.com/nix-community/impermanence.git"; }}/nixos.nix" ];
-
Good guides for a non-developer using NixOS?
There is a maintained collection of modules for running this kind of NixOS setup. It's called impermanence.
-
48hrs with Fedora Silverblue and I'm SOLD. Question: does anyone else use a volatile home ?
https://grahamc.com/blog/erase-your-darlings https://nixos.org/ https://github.com/nix-community/home-manager https://github.com/nix-community/impermanence
-
First post, here's my home lab and how I use it every day (running Proxmox and NixOS)
I'm also fascinated by the idea of completely decoupling the state from the configuration using https://github.com/nix-community/impermanence. If you can get your system working without leftover state sticking around, and continuously back up the state you do have, you're almost guaranteed to have a fully working environment at all times.
-
First post, here's what my homelab does running Proxmox and NixOS
Drop Proxmox for vanilla NixOS + kvm. Working towards impermanence to manage persistent state everywhere.
-
Nix: Taming Unix with Functional Programming
docs nixos: https://nixos.org/manual/nixos/stable/
This tooling includes higher-level helpers for language-/environment-specific packaging, like "buildGoModule", "buildRustPackage" and so on, as well as e.g. tooling to run integration tests in a whole cluster of inter-connected linux VMs!
Packages which are submitted to nixpkgs must fulfill certain criteria, such as not using "IFD" (input-from-derivation, to simplify: "letting nix evaluate nix-code which was generated by another deriviation/"nix package".
nixpkgs is alive and well with lots of daily contribution and an everlasting effort to keep Hydra, the nix-specific CI/CD system and public binary caches up to date and responsive. Thanks to all maintainers & contributors!
* flakes are an approach to standardize a way to package nix code outside of nixpkgs but to still keep it re-usable. They are still "experimental" as the details are figured out, but nevertheless used in production. There are some frame-works to keep boilerplate low, like "flake-utils", "flake-parts" and others, as well as e.g. deployment tools like "colmena" and "deploy-rs" and re-usable helpers for system-configuration like e.g. https://github.com/nix-community/impermanence
There's lots of other stuff in the community, things like home-manager, direnv + flakes and devshells changed my workflow fundamentally to the better since I've switched. If you got the time and are still interested, join us on matrix or elsewhere :)
-
How can you keep a Linux installation tidy and minimal?
I haven't set this up for my personal machines yet but you can trivially use a tmpfs as your / and then use impermanence to explicitly opt into stateful files and directories that you want to keep across reboots like login passwords, host keys etc.
nix-helpers
-
NixOS RFC 136 accepted: A plan to stabilize the new CLI and Flakes incrementally
Yes, to get Nixpkgs it's much faster to use `fetchTarball`.
You're right that `builtins.fetchTarball` is faster than `builtins.fetchGit` (due to the ridiculous amount of commits in the Nixpkgs repo). I like to keep such definitions in a single, company-wide/project-agnostic git repo (what the Nix Pills series calls the "repository pattern"), and have individual projects import them via `builtins.fetchGit`.
Many years ago we didn't have `builtins.fetchGit`, so had to use the 'fetchgit' function from Nixpkgs instead. That created a chicken-and-egg situation if we wanted to take the Nixpkgs version from some other git repo; hence needing to "bootstrap" via `(import { config = {}; }).fetchgit`, and cross our fingers that `NIX_PATH` wasn't set to some crazy value (which, of course, I would inevitably do... https://github.com/Warbo/haskell-te/blob/24475a229908caa3447... )
Note that we need `config = {};` when importing Nixpkgs to avoid an impurity which tries to read files in $HOME. More recent versions of Nixpkgs also need `overlays = [];` to avoid another impurity (looks like this changed at Nixpkgs 17.03, according to https://github.com/Warbo/nix-helpers/blob/master/nixpkgs.nix )
-
The Curse of NixOS
Where nixpkgs2105 is a pinned revision of the Nixpkgs repo, defined in another overlay. My current Nix config has pinned Nixpkgs versions going back to 2016. For example, here's a bunch of such overrides:
https://github.com/Warbo/nix-config/blob/master/overrides/fi...
At the moment I'm using niv to manage the pinned Nixpkgs versions (the 'repoXXXX' entries):
https://github.com/Warbo/nix-helpers/blob/master/nix/sources...
What are some alternatives?
home-manager - Manage a user environment using Nix [maintainer=@rycee] [Moved to: https://github.com/nix-community/home-manager]
nix-config - Nix configurations
nixpkgs - My Nix system configs!
raspi-overlayroot - Protect your SD card against wear and tear
nix-config - :space_invader: NixOS configuration
dotfiles - My personal dotfiles
nix-prisma-example - An example Prisma project using nix
nix-config - Personal nixos and home-manager configurations.
nix-embedded - Nix embedded image generator.
aconfmgr - A configuration manager for Arch Linux
Home Manager using Nix - Manage a user environment using Nix [maintainer=@rycee]
dotfiles - My PC Dotfiles & Website