-
Self Hosting Vaultwarden and Setting up SSL Certificates under Tailscale in Nixos
blog.alper-celik.dev Self Hosting Vaultwarden and Setting up SSL Certificates under Tailscale in Nixos - Alper Çelik's blogI have been using pass but since i am experimenting with selfhosting and wanted to store passkeys inside my password manager i wanted to selfhost Vaultwarden (a Bitwarden server implementation) server but i didn’t wanted to expose it to internet so i wanted to use my Tailscale network. so i added re...
-
I would kill for QubesOS features in NixOS
Meaning, VMs with Xen and hardware virtualization support
The system VM/Qube for USBs is isolated, the Network VM/Qube is separate and isolated, the windowing system and OS housing the qubes is isolated....
And being able to configure all of those with Nix would be a wet dream come true
- discourse.nixos.org Nix 2.24.8 released fixing builtin:fetchurl credentials leak, severity 5.9 (moderate)
DetSys seems to have made a security release to NixCpp. The primary risk is leaking of netrc credentials through a crafted derivation plus an attacker-in-the-middle. Users of the experimental feature impure-derivations are at greater risk. FlakeHub Cache users and users of impure derivations sh...
-
Immich merged to NixOS:master
cross-posted from: https://discuss.tchncs.de/post/22577290
-
Inspect where a NixOS option is defined
fzakaria.com NixOS Option InspectionNixOS modules are great; and it’s one of the superpowers of NixOS. They’re so great, there was a working group to look into how to apply the concept to Nixpkgs itself. For those uninitiated, there are plenty of guides online describing it’s value and purpose such as this one or on nix.dev. My larges...
- jdheyburn.co.uk Adding aria2 download manager to my NixOS homelab
I add aria2 as a download manager to a NixOS server to help bundle my Bandcamp downloads together
cross-posted from: https://discuss.tchncs.de/post/22480304
- discourse.nixos.org Tips&Tricks for NixOS Desktop
It’s often said that git is a poor VCS, but a good VCS Construction Kit. NixOS can feel similar at times — nix is very powerful, and there are amazing things you can do if you know nuts&bolts of it. However, for a casual user, the sheer amount of possibilities can feel overwhelming, and it might ...
cross-posted from: https://discuss.tchncs.de/post/22424459
- discourse.nixos.org Combining best of system Firefox and home-manager Firefox settings
I haven’t seen this documented yet, and wanted to point out that it’s possible to use BOTH the system-level Firefox and the home-manager-level Firefox settings. Why would you want to do this? Well, each has its advantages: System-level Firefox allows you to create system-wide “policies” that inc...
cross-posted from: https://discuss.tchncs.de/post/22424275
- discourse.nixos.org Nix-minecraft: Making Minecraft More Declarative
For a little bit now, I’ve been somewhat disappointed with how Minecraft (particularly servers) have been packaged with Nix and NixOS. So, since I run a couple servers of my own, I decided to spin off my module and packages into its own (flakes!) repository for the world to use: GitHub - Infinidoge/...
-
NixOS Facter: a declarative hardware configuration for NixOS is inviting the community to try it out.
discourse.nixos.org NixOS Facter: declarative hardware configuration for NixOSSince we introduced NixOS Facter six weeks ago (Better hardware-detection with nixos-facter), we’ve mainly focused on refining and stabilising the report format and establishing some essential documentation. I’m happy to say that work is now done, and we’d like to invite the community to try it out...
NixOS Facter aims to be an alternative to projects such as NixOS Hardware and nixos-generate-config. It solves the problem of bootstrapping NixOS configurations by deferring decisions about hardware and other aspects of the target platform to NixOS modules.
-
Principal Skinner on Immutable Distros
cross-posted from: https://infosec.pub/post/15780978
> > Am I out of touch? > > > > No, it's the forward-thinking generation of software engineers that want elegant, reliable, declarative systems that are wrong. >
-
Apparently nix-unstable might be a more stable package manager than nixpkgs for gaming
Had a lot of headaches the last week or two trying to optimize star citizen as well as fix a vulkan RHI bug which was affecting unreal engine games.
Apparently rolling release schedules (like NixOS23.05, 23.11, 24.05...) are better for servers since they're less prone to change, where as nightlies like for the unstable Branch are better for gaming since those latest drivers are likely the current ones for a newly released game
-
Idea: NixOS configuration meant for hosting "for the common good" services, like tor relays, simplex relay, archive team warrior, etc.
This idea is inspired by nixos-mailserver. It was so easy to spin up the mailserver after changing some DNS records and putting in some settings. I thought it might be a good idea to do the same for services that need public, decentralized infrastructure to support. Some ideas include
- Tor relay, or exit node
- Encrypted messaging nodes. It looks like SimpleX chat relies on SMP servers to relay communication
- Crypto miners (I know, I know, but you understand how it fits the "public contribution" usecase)
- Search engines like searxng (I currently use a public instance)
- Libredirect services, like proxy clients for social media
Maybe federated services, but those require more than just the software running on the public internet. Those require moderation and long term maintenance. Ideally, the services in this config would be ephemeral.
Does this sound like a good idea? Would you spin one of these up on a $10 VPS? I understand that this is the NixOS community, not necessarily the privacy community, but I figured thered be overlap.
What other services do you think would be applicable?
-
Python Packaging Issue: How to link libnvrtc.so.12 and libnvrtc-b51b459d.so to torch-bin?
discourse.nixos.org Python Packaging Issue: How to link libnvrtc.so.12 and libnvrtc-b51b459d.so to torch-binI’m trying to package a repo I used to use in Windows Subsystem for Linux. I’m about to resort to podman, but I’m so close to getting it to work in Nix. The original repo is here: GitHub - neonbjb/tortoise-tts: A multi-voice TTS system trained with an emphasis on quality My fork uses poetry2nix her...
-
Has someone deployed Kafka on their NixOS system? I could use some help doing it the "nix" way
discourse.nixos.org How to setup Kafka Server on NixosI found some settings on NixOS Search I’ve added these to my configuration.nix: environment.systemPackages = with pkgs; [ apacheKafka ]; services.apache-kafka = { enable = true; settings = { "broker.id" = 0; "log.dirs" = [ "/tmp/kafka_logs" ]; listeners = ["PLAI...
-
Making a development shell for an AI/GPU Accelerated python project with nix flakes, poetry/poetry2nix, and pypi
Went through the pain of packaging a python project on Nixos. Here's some issues I hit, and how I got lucky resolving them. I feel the most reliable way of doing this in the future is to use docker and just imperatively build.
Here's how I got web drivers, AI dependencies, gpu dependencies, and an api dependency bundled together into an ephemeral shell for python development, on NixOS 23.11
-
Start with setting up poetry2nix
-
Get the template flake by running
nix flake init --template github:nix-community/poetry2nix
-
in the flake.nix, sometimes changing
projectDir = self
toprojectDir = ./.
fixed some issues -
in your terminal, run
nix develop .
to build the poetry app with python packages described inpyproject.toml
-
By default, just poetry and python latest should be installed. the dependencies for the project (which gets reflected in the pyproject.toml) are updated with
poetry add
, such aspoetry add numpy selenium scikit-learn
-
Exit out of the ephemeral shell from
nix develop .
, and rerun to have poetry2nix rebuild and link the newly declared packages
Poetry2nix has worked pretty well for the more obscure python packages, but failed in others. For example,
sentence-transformers
would depend onmaturin
, which would fail to linksetuptools
. If poetry doesn't work, you can try and get the package from nixpkgs, or specify sha256s from pypi.orgHere's an example of what I added to my flake.nix to get gpu acceleration, sentence-transfomers, firefox drivers for selenium, and other packages poetry failed to setup:
packages = [ pkgs.poetry pkgs.python311Packages.sentence-transformers pkgs.firefox pkgs.python311Packages.openai pkgs.python311Packages.yt-dlp pkgs.python311Packages.pyopencl ];
was added to this flake.nix, as in,
```nix { description = "Application packaged using poetry2nix";
inputs = { flake-utils.url = "github:numtide/flake-utils"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; poetry2nix = { url = "github:nix-community/poetry2nix"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self, nixpkgs, flake-utils, poetry2nix }: flake-utils.lib.eachDefaultSystem (system: let # see https://github.com/nix-community/poetry2nix/tree/master#api for more functions and examples. pkgs = nixpkgs.legacyPackages.${system}; inherit (poetry2nix.lib.mkPoetry2Nix { inherit pkgs; }) mkPoetryApplication; in { packages = { myapp = mkPoetryApplication { projectDir = ./.; }; default = self.packages.${system}.myapp; }; devShells.default = pkgs.mkShell { inputsFrom = [ self.packages.${system}.myapp ]; packages = [ pkgs.poetry pkgs.python311Packages.sentence-transformers pkgs.firefox pkgs.python311Packages.openai pkgs.python311Packages.yt-dlp pkgs.python311Packages.pyopencl ]; nativeBuildInputs = [( pkgs.python311Packages.buildPythonPackage rec { pname = "serpapi"; version = "0.1.5"; src = pkgs.python311Packages.fetchPypi { inherit pname version; sha256 = "b9707ed54750fdd2f62dc3a17c6a3fb7fa421dc37902fd65b2263c0ac765a1a5"; }; } )]; }; }); } ```
There was one package (serpapi), which was not in nixpkgs, and poetry failed as well. Adding this to native build inputs got serpapi installed
nativeBuildInputs = [( pkgs.python311Packages.buildPythonPackage rec { pname = "serpapi"; version = "0.1.5"; src = pkgs.python311Packages.fetchPypi { inherit pname version; sha256 = "b9707ed54750fdd2f62dc3a17c6a3fb7fa421dc37902fd65b2263c0ac765a1a5"; }; } )];
All in all, it works, and I have no doubt I've made a reproducible environment. What attracts me is I've never had an easier time setting up cuda/cudnn/tensorrt/... system drivers have been near effortless, and much faster to setup than on debian. Tools like sentence-transformers and torch default to packages which leverage the GPU.
What pushes me away, is I've had failures in each of the three methods for specifying package dependencies, even though one of the three eventually was the fix for integrating the dependencies into my shell. For now, I'll stick with it, but it's hard for me to suggest to a team we use this in development
-
How to setup unreal engine 5.3.2 on NixOS, and fix compile failures from Setup.sh: required file not found
discourse.nixos.org UE compile failures on latest nixI’ve got it to at least link appropriately. Here’s what I did, not sure if using steam-run is all I needed to do, but I did all three of the following in this thread https://www.reddit.com/r/NixOS/comments/17kwkgv/switched_from_nobara_to_nixos_my_opinion_so_far/ Unreal Engine and Godot Engine nee...
-
What's that thing with --extra-experimental-features?
So I tried to follow some tutorial about flakes, but it seems these are extra-experimental still.
I am using NixOS 23.11 with Nix 2.18.1 in a VM (those are the most recent stable versions, right?).
Trying around I already found out that instead of eg.
nix flake update
I have to use--extra-experimental-features
two times to get this simple command:nix --extra-experimental-features nix-command --extra-experimental-features flakes flake update
Searching the web I found several different things that people put into their/etc/nixos/configuration.nix
to enable this globally, but none of those worked for me. I assume there is still a way to do this - can someone please tell me the correct syntax for Nix 2.18.1?What makes things worse is that I cannot start playing around with home-manager and flakes, because
home-manager switch flake .
seems to usenix flake
internally, which leads to errors instead of results.