nixops
direnv
Our great sponsors
nixops | direnv | |
---|---|---|
10 | 157 | |
1,684 | 11,561 | |
5.2% | 2.1% | |
6.4 | 8.8 | |
20 days ago | 8 days ago | |
Python | Go | |
GNU Lesser General Public License v3.0 only | 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.
nixops
-
20 Years of Nix
As far as I know, it’s still about [0]. I’ve had a better experience with deploy-rs though [1] - or even just using nixos-rebuild to target the remote machine.
-
Will we move away from DSLs?
For example Nix can already replace ansible, packer, cloudformation[1], dockerfiles.
-
NixOS History and Our Experience - Nix, Null, Nada, Nothing
Nix can also ship the nixpkgs as an oci image (e.g. docker image), vm image, iso, or if you're able to: as a nixos configuration. Tools like nixops can allow you to deploy many machines and have their behavior exactly specified, and the configuration can be version controlled. NixOS configuration can be thought of as congruent configuration management, where many other tools give you many less guarantees about configuration drift and reproducibility.
-
The best solution for deploying flakes
There are 4 tools I'm taking into consideration right now, but every suggestion is welcome: 1. deploy-rs - I don't know anything about it, heard about it like a day or two ago 2. NixOps - the official one, I don't know what to think, but I have concerns about Flakes compatibility 3. morph - I understand this as "NixOps, but better", no more toughs. 4. colmena - seems to be pretty straightforward with quite nice docs
-
Spectrum OS: a declarative, reproducible, compartmentalized Linux
I'm still relatively new to NixOS, having switched all my personal systems over to it this spring/summer. I don't have a detailed answer to your question, but I believe NixOPs is the canonical way to do what you're describing in production/at scale:
-
NixOS 21.05 Released!
Well, everyone of course! But especially devops, developers, power-users, and ricer folks. Due to the declarative and purity aspect of nixpkgs, all builds and configurations can be version controlled, cached and shared. NixOS can easily be extended to produce docker images, vm images, or even distributed deployments. You can also write reproducible multi-node integration tests. Tinkerers! Love playing around with the latest desktop manager or modifying builds? Nixpkgs allows you to modify any package you wish to, locally! Nixpkgs is actually a source distribution but its guarantees around purity and reproducibility are so strong that you can get a binary cache "for free".
-
Backblaze Is Now a Terraform Provider
You could use NixOps[0] for Nix but I'm not sure you can directly compare Terraform and Guix/Nix? My set up involves Terraform for infrastructure and Nix for provisioning, and it's working for me so far.
-
Benefits/disadvantages of Guix System in general and over NixOS?
I'll have to read more about NixOps though, I had kind of forgotten that it existed!
-
NixOS Linux
Kind of off topic, but I would love to have NixOps (https://github.com/NixOS/nixops) as an abstraction layer for every type of cloud service, and not just virtual machines (e.g. queues, object storages, etc).
There is Terraform and Ansible, of course, but Nix seems like it could combine the strengths of both of them.
direnv
-
Nix-direnv is a quality of life improvement
I also made the export diff configurable, motivated by this post: https://github.com/direnv/direnv/pull/1233
-
Conditional Git Configuration
Nice.
For years I've been using [direnv](https://direnv.net/) for this, setting environment variables which git picks up. This looks like a more feature complete equivalent, although to be honest I only really need switching of committer email and the SSH key used.
- FLaNK 25 December 2023
-
Development Environments with Guix, similar to devenv.sh
Direnv, for the uninitiated, loads and unloads environment variables when directories are entered and exited. Under every project folder there is a `$PROJ_DIR/.envrc` which contains:
-
Emacs Advent Calendar 9: devdocs, code-cells, dREPL, etc.
buffer-env: A pure-Elisp version of the direnv utility. Useful to make Emacs aware of Python virtualenvs (which, judging by the questions posted here, is unfortunately still a complication for a lot of people). Similar to (and inspired by) envrc, but doesn't require the direnv program.
-
golang cli vs env var in windows?
You can look at direnv to see this in action as they wrote shell hooks that get loaded into the shell profile and are executed on every prompt. https://direnv.net/
-
Nix Survival Mode: macOS upgrades won't break Nix anymore
Yes, most Nix users employ https://direnv.net or the equivalent for your IDE of choice. Emacs for instance has https://github.com/purcell/envrc which set per-buffer variables.
-
What Is Wrong with TOML?
The more applications I write, the more I tend to avoid typical config files in favor of using direnv [0] to set environment variables.
What are some alternatives?
spaceship-prompt - :rocket::star: Minimalistic, powerful and extremely customizable Zsh prompt
deploy-rs - A simple multi-profile Nix-flake deploy tool.
terraform - Terraform enables you to safely and predictably create, change, and improve infrastructure. It is a source-available tool that codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned.
Pipenv - Python Development Workflow for Humans.
lorri - Your project's nix-env
Home Manager using Nix - Manage a user environment using Nix [maintainer=@rycee]
Neovim-from-scratch - 📚 A Neovim config designed from scratch to be understandable
morph - NixOS deployment tool
Poetry - Python packaging and dependency management made easy
autojump - A cd command that learns - easily navigate directories from the command line
asdf - Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more