nixos-config
nixos-config
nixos-config | nixos-config | |
---|---|---|
1 | 35 | |
30 | 1,178 | |
- | - | |
9.3 | 9.8 | |
5 days ago | 1 day ago | |
Nix | Nix | |
MIT License | BSD 3-clause "New" or "Revised" 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.
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
nixos-config
-
Going declarative on macOS with Nix and Nix-Darwin
I’ve been using Nix directly on MacOS with minimal issues for a few years now. Works great.
I hate using docker on Mac and have since replaced it with flakes and devenv.
My configuration with a step by step guide (600+ stars): https://github.com/dustinlyons/nixos-config
-
Flakes aren't real and cannot hurt you: using Nix flakes the non-flake way
I tried to make Nix as easy to adopt as possible by creating Nix commands and a step by step guide: https://github.com/dustinlyons/nixos-config
I love Nix. I use it every day to manage multiple local dev environments. And I use devenv instead of docker for sharing project-specific environments with others.
-
2024-01-01 Emacs News
Felt (still am, actually) this problem too. Started with the same approach (Vanilla Emacs) a few years back in order to really learn the ins-and-outs after giving DOOM and others a shot and feeling like I didn't have the faintest what was really going on with all the magic. I somehow did end up falling in love with Emacs again[^1].
Won't lie... there was a fair amount of cursing involved and, despite the love, I wouldn't recommend many to venture down this road[^2].
Now I have gone the literate config way in my dotfiles https://github.com/vidbina/dotfiles/tree/main/emacs and I jump between Cursor (vscode-based), Neovim and Emacs for different tasks on a daily. I also found dustinlyons/nixos-config (https://github.com/dustinlyons/nixos-config/blob/main/module...) just a few days ago and figured that could be a fun resource when you're building yours up.
Take it as a hobby. There are a bunch of nice things that I picked up from Emacs (a. literate configs, b. comfort around working with LISPs, c. bigger appreciation for parts of the GNU ecosystem, d. more in-depth understanding of how my editor works which helps me debug issues in Neovim or vscode when I see them) but I still think that I'm cursed by wanting to go down this road so badly. Wish I could just vscode my way through live and build dope stuff, unencumbered.
1: Used Emacs heavily in college over 12 years ago when I would boot the Windows + Novell groupware school computers into my own Ubuntu config with my Emacs and embedded dev toolchain from my pendrive.
2: The single-threaded-ness and related ocassional unresponsiveness/hangups still grind my gears.
-
Adding a Mac to my flake
Here is my flake using home manager on Mac: https://github.com/dustinlyons/nixos-config
- Show HN: You can try my unified Nix environment for macOS/NixOS
-
Nix Survival Mode: macOS upgrades won't break Nix anymore
What do I need to do to switch from an official Nix install to using nix-installer on macOS? Just uninstall the current nix and install using nix-installer?
My config is loosely based off https://github.com/dustinlyons/nixos-config if this matters. Using nix-darwin.
- Nix configuration for MacOS and NixOS w/ starter templates + step-by-step guides
-
Thinking about buying a macbook, does Emacs work well?
My configuration uses Nix.
-
Ask HN: Could you show your personal blog here?
Not my personal notes, but how I do my writing and organize my thoughts. This is my Nix configuration that powers my Macbook, Linux PC, and home lab server. Emacs + org-roam to capture everything. https://github.com/dustinlyons/nixos-config
What are some alternatives?
guix-config - Literate configuration for Guix Linux ⛰️
plasma-manager - Manage KDE Plasma with Home Manager
nvd
disko - Declarative disk partitioning and formatting using nix [maintainer=@Lassulus]
nixos-x260 - Contains the configuration of every home computers
homebridge - HomeKit support for the impatient.
Home Manager using Nix - Manage a user environment using Nix [maintainer=@rycee]
SwiftLint - A tool to enforce Swift style and conventions.
nix-installers - Nix installers for legacy distributions (rpm & deb & pacman) [maintainer=@adisbladis]
nix-installer - Install Nix and flakes with the fast and reliable Determinate Nix Installer, with over 2 million installs.
org-roam - Rudimentary Roam replica with Org-mode
nixos-licheepi4a - NixOS Running on LicheePi 4A(RISC-V)