nix-prisma-example
impermanence
nix-prisma-example | impermanence | |
---|---|---|
1 | 34 | |
27 | 907 | |
- | 6.3% | |
0.0 | 5.4 | |
10 months ago | 7 days ago | |
Nix | Nix | |
Apache License 2.0 | MIT License |
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-prisma-example
-
The Curse of NixOS
For the system, I like the devos template:
https://github.com/divnix/devos
The idea of flakes is how you define inputs, and you define the system (and packages, and shell etc.) in the outputs using the inputs. The inputs are git repos which point to other flakes. You can mix and match these as much as you want (see the devos repo for examples) and when you build the derivation, it generates a lockfile for exact commits in that point in time what were used in the given inputs.
You commit the lockfile and in the other systems where you pull your config from the repo, it uses exactly those commits and installs the same versions as you did in your other systems.
This was quite annoying and hard to do before flakes. Now it's easy.
The problem what people face with building their system as a flake is combining the packages so you can point to `jq` from the unstable nixos and firefox from the stable train. I think this aspect needs better documentation so it wouldn't be so damn hard to learn (believe me, I know). Luckily there are projects like devos that give a nice template for people to play with (with documentation!)
Another use for flakes is to create a development shell for your repo, an example what I did a while ago:
https://github.com/pimeys/nix-prisma-example
Either have `nix-direnv` installed, enter the directory and say `direnv allow`, or just `nix develop` and it will gather, compile and install the correct versions of packages to your shell. Updating the packages? Call `nix flake update` in the directory, commit the lockfile and everybody else gets the new versions to their shell.
impermanence
-
Ask HN: How to Manage Phones and PCs for Elderly Parents?
You might want to set up NixOS with impermanence, with something like https://github.com/nix-community/impermanence. Install an easy to use desktop environment like ElementaryOS, and configure NixOS with or without Flatpak, if you want to give the user the ability to install new software or not. Then set up automatic updates, automatic garbage collection and you have a truly stable system.
-
Tvix – A New Implementation of Nix
I would not call these projects unbelievable, but they are neat.
- Opt-in state: https://github.com/nix-community/impermanence and https://grahamc.com/blog/erase-your-darlings/
-
Every NixOS rebuild creates a new Tailscale machine
That way will work - I use the impermanence module which works similarly but allows to hide mounts.
-
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
[3]: https://github.com/nix-community/impermanence
- How to add impermanence afterwards?
-
File system choice for Impermanence setup
I have recently stumbled upon Impermanence - modules to help you handle persistent state on systems with ephemeral root storage, and the concept seems quite nice.
-
Erase your darlings: Can this be applied to /home?
I haven't used it yet but nix-community/impermanence has a home-manager module that might be useful.
-
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" ];
What are some alternatives?
nixos-beginners-handbook - The missing handbook for NixOS beginners
home-manager - Manage a user environment using Nix [maintainer=@rycee] [Moved to: https://github.com/nix-community/home-manager]
star-history - The missing star history graph of GitHub repos - https://star-history.com
nix-config - Nix configurations
asdf-nodejs - Node.js plugin for asdf version manager
nixpkgs - My Nix system configs!
aconfmgr - A configuration manager for Arch Linux
nix-config - :space_invader: NixOS configuration
nixpkgs-config - ~/.config/nixpkgs
raspi-overlayroot - Protect your SD card against wear and tear
digga - A flake utility library to craft shell-, home-, and hosts- environments.
dotfiles - My personal dotfiles