nixos-config
nix-config
nixos-config | nix-config | |
---|---|---|
1 | 5 | |
30 | 767 | |
- | - | |
9.3 | 9.3 | |
5 days ago | 23 days ago | |
Nix | Nix | |
MIT License | Apache License 2.0 |
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.
nixos-config
-
iPadOS 16 takes the versatility of iPad even further
---
With NixOS you declare your entire OS in a script, something along the lines of Ansible or Terraform. This can even go as far as configuring your user settings, with dotfiles, gsettings, or various other things (often the modules will expose settings in the native nix language and write out the yaml/toml/json/whatever else that is required). The idiomatic way to do this is to use the built-in NixOS configuration (under /etc/nixos) to set up system-level things: mounts, drivers, users, system-level packages (e.g. greetd+sway), and things that change rarely. You then use a project called home-manager to manage everything inside your user configuration (including applications you use), which itself uses nix. By separating it like this, I can sync my entire experience between my laptop and desktop with Git.
I am currently flighting using a separate "nix flake" for both, which allows you to pin versions of packages (with a lockfile). It also allows you to easily pull in other repositories. It hasn't really taken off yet, and the NUR (Nix User Repository, analogous to the amazing Arch User Repository) is still in infancy. I'd offer up my nix configs as an example, but I am currently in the "make it work" example. I have been yoinking several great ideas from this fantastic nix repo: https://github.com/ymatsiuk/nixos-config
The main challenge with Nix is that it doesn't have an FHS: there is no `/usr`, `/bin`, and what you would typically expect. The advantage here is that conflicting dependency versions are not a problem. The problem is that you need to either build any binaries yourself, or wrap them in an FHS helper.
Nix has a virtualenv system `nix develop` and it's very powerful, especially for teams.
Silverblue
nix-config
-
Best way to setup Nvim on NixOS?
Power user, gvolpe has a great config that heavily customizes nvim.
-
Adding a Flake to my Config
I forked and customized a fairly advanced Nixos configuration that I can load from a flake on github. (Mine | Original)
-
Host-specific settings (different approaches)
I think gvolpe's nix-config repo is what u/ppen9u1n was referencing. Looks like there might be some good ideas to mine there.
-
Trying to port all official Cardano software to an open architecture and a more elegant Linux distro than Debian (NixOS on Risc-V) and this is the pushback I get.
I've seen this done with flakes by a NixOS power user named gvolpe. He has it configured to automatically setup each of his different systems with Home Manager, a custom UI, etc. His three different build targets are:
-
Nix-GUI: Make NixOS usable for non-technical users through settings / GUI
I think NixOS would benefit from easily accessible collection of opinionated modules/profiles/configurations with minimal set of options. Something like gnome-desktop / sway-desktop / etc. Gnome actually does pretty good job here.
The point is: currently my NixOS and Home Manager configurations have over 2k LOC total. When you search for configurations on GitHub/Google you are likely to find complex ones. For example, quick search for "nixos gnome" (Google) gives me link to NixOS Wiki (which describes only Gnome part) and blog post (https://gvolpe.com/blog/gnome3-on-nixos/) which is useful but links to really huge configuration (https://github.com/gvolpe/nix-config) that is overwhelming to any beginner.
Great example of such approach is nixos-hardware (https://github.com/NixOS/nixos-hardware) which provides one-line configuration covering hardware quirks.
What are some alternatives?
devshell - Per project developer environments
impermanence - Modules to help you handle persistent state on systems with ephemeral root storage [maintainer=@talyz]
nix-direnv - A fast, persistent use_nix/use_flake implementation for direnv [maintainer=@Mic92 / @bbenne10]
visual-studio-code-insiders-nix - The latest Visual Studio Code Insiders build updated daily
nixpkgs - My Nix system configs!
dotfiles - My dotfiles
nix-security-lab - Tool set for Information security professionals and all others
nixos-nvidia-vgpu - NixOS NVIDIA vGPU Module
rnix-lsp - WIP Language Server for Nix! [maintainer=@aaronjanse]
.nixpkgs - .nixpkgs aka dotfiles with nix
nixfiles - My kick-ass NixOS systems configurations!!
nix-config - My personal nix config