Ansible
Home Manager using Nix
Ansible | Home Manager using Nix | |
---|---|---|
403 | 186 | |
63,297 | 7,181 | |
0.8% | 2.9% | |
9.8 | 9.8 | |
about 15 hours ago | 4 days ago | |
Python | Nix | |
GNU 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.
Ansible
-
Getting Started with Ansible: A Complete Guide to IT Automation
Ansible GitHub Repository
-
Kubernetes homelab - Learning by doing, Part 6: Automation
Ansible is an open-source tool that excels in infrastructure configuration. With an agentless architecture (no services need to be installed on the managed machines), it communicates with machines over SSH.
- Ease of maintenance is a feature
-
GitHub Repositories Every Developer Should Know: An In-Depth Guide
Visit the repository for code and examples.
-
The Simplest Data Architecture
I do believe that using containers makes a ton of sense in writing data pipelines. You can use the same image to develop and run the pipeline, preventing "it works on my machine" issues. You can test different variations of the image without having to stand up additional infrastructure or potentially breaking the workflows of others who're using the same infrastructure. Finally, knowledge of containerization is increasingly expected of all engineers, while knowledge of other tools that solve similar issues (like Vagrant or Ansible) is less common.
-
YAML: Yet Another Markup Language.
Bearing in mind that YAML is still used widely in build and testing production-level environments, it proves to be an essential tool for managing configurations and data interchange. Its readability and flexibility make it a popular choice for defining automation scripts in Ansible , where it streamlines IT task automation. Similarly, YAML's role in Github Workflows facilitates the configuration of CI/CD pipelines, making testing and deployments more efficient. The continued evolution and integration of YAML in these critical areas underscore its ongoing relevance and effectiveness in simplifying complex workflows and configurations. For me, if it works, the it is not a failure.
-
Top 10 AI Tools Useful for DevOps Engineers
2. Ansible with AI-Powered Automation
-
Top 10 Infrastructure as Code Tools
8. Ansible
-
Setting Up The Home Lab: Setting up Kubernetes Using Ansible
In my previous article I went over how to set up VMs in Proxmox VE using Terraform to deploy the VMs and Cloud-Init to provision them. In this article I'll discuss using Ansible playbooks to do further provisioning of VMs.
-
Setting Up The Home Lab: Terraform and Cloud-Init
You might notice that the Terraform template definition is pretty close in structure to the one I used in my last article. That's intentional - I set up the last one with cloud-init, but didn't do much with it. This one actually provisions the VM with cloud-init. You can also use Ansible playbooks to provision a VM, and I might talk about that in a future post, but in my next post I'm going to talk about doing something actually useful in my home infrastructure and setting up Plex.
Home Manager using Nix
-
I configure my Git identities
While I don't use NixOS or home-manager, I would imagine this provides some extra value: i.e. config is versioned or easy to move between machines.
Curiosity got the better of me so I looked it up at https://nix-community.github.io/home-manager/ and it indeed does purport to provide benefits I guessed at and then some.
Whether that's better than just manually managing things yourself is altogether a different matter.
-
Easy GitHub CLI Extensions with Nix
Nix Home Manager is a tool for managing a user environment with Nix. It already has a nice way to install and configure gh with the programs.gh option:
-
Managing NixOS Secrets via SOPS, sops-nix and opsops
The data definition and operational model of SOPS is well suited for a Nix-powered system. sops-nix offers both NixOS and Nix Home Manager modules which provide a declarative way to manage secrets using SOPS.
-
Turn Your Android Tablet into an IDE with VSCode and Nix
There is also nix-on-droid[1] which is a fork of Termux allowing you to manage your environment with nix (similar to home-manager[2])
[1]: https://github.com/nix-community/nix-on-droid
[2]: https://github.com/nix-community/home-manager
-
Cosmic Desktop: Hammering Out New Cosmic Features
It's probably overkill for what you are trying to do. But I have been using home-manager [0] as a way to quickly restore my working environment.
[0] https://nix-community.github.io/home-manager/
-
How do I actually update home-manager?
$ home-manager --version 23.05 $ nix-channel --add https://github.com/nix-community/home-manager/archive/release-23.11.tar.gz home-manager $ nix-channel --update $ nix-shell '' -A install [...] All done! The home-manager tool should now be installed and you can edit /home/MY-USERNAME/.config/home-manager/home.nix to configure Home Manager. Run 'man home-configuration.nix' to see all available options. $ home-manager --version 23.05
-
Possible to use KDE plugins on nixos?
Unfortunately until we find more volunteers in this area, it is hard to see status quo changing. See also https://github.com/nix-community/home-manager/issues/607 and this ongoing project https://github.com/pjones/plasma-manager
- Exclude packages in home manager
-
An Overview of Nix in Practice
> Channels are, AFAIU, a reference to some point-in-time/commit/version of nixpkgs
It's not specifically nixpkgs, but any Nix code generally.
Per the Nix manual[0]:
> Channels are a mechanism for referencing remote Nix expressions and conveniently retrieving their latest version.
e.g. home-manager's suggested channel is just the github tarball for the relevant branch[1]:
nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager
-
Fake recruiter Lazarus lured aerospace employee with trojanized coding challenge
It sounds like you'd benefit a lot from Nix/NixOS [1], if not just home-manager[2].
1. https://nixos.org/
2. https://github.com/nix-community/home-manager
What are some alternatives?
Cloud-Init - unofficial mirror of Ubuntu's cloud-init
GNU Stow - GNU Stow - mirror of savannah git repository occasionally with more bleeding-edge branches
pyinfra - pyinfra turns Python code into shell commands and runs them on your servers. Execute ad-hoc commands and write declarative operations. Target SSH servers, local machine and Docker containers. Fast and scales from one server to thousands.
nixos-flake-example - This is a demo NixOS config, with optional flakes support. Along with notes on why flakes is useful and worth adopting.
Fabric - Simple, Pythonic remote execution and deployment.
NixOS-WSL - NixOS on WSL(2) [maintainer=@nzbr]
cloudinit - Official upstream for the cloud-init: cloud instance initialization
emacs-overlay - Bleeding edge emacs overlay [maintainer=@adisbladis]
chezmoi - Manage your dotfiles across multiple diverse machines, securely.
(R)?ex - Rex, the friendly automation framework
nix-darwin - nix modules for darwin