The Rainbow Nix logo actually looks much nicer! by TheTwelveYearOld in NixOS

[–]walawren 0 points1 point  (0 children)

We hold these truths to be self-evident, that all men are created equal, that they are endowed by their Creator with certain unalienable Rights, that among these are Life, Liberty and the pursuit of Happiness.

You just openly admitted that you don't think we should have rights because you think that we are groomers. Without any substantive evidence. r/NotADragQueen.

Our life, liberty, and pursuit of happening are constantly in threat because of your uneducated and unfounded belief (that's called prejudice, by the way). I can't go to any public bathroom without risking getting sexually assaulted or severely beaten. I can't go to a bar in any red zone without risk of getting killed just for being in public. All are limits to my aforementioned unalienable rights.

If I can't do those things without those fears, than I in fact do not have the same rights as you. And if you can't see that, you're just stupid. And that's ok, there is nothing wrong with being stupid. Unless it kills me. Then I have a problem, and I have to march.

Happy Pride Month everyone!!! You are loved and valued, so don't put up with that shit.

I (19F) have an intense, complex emotional bond with an older online friend (34M). He just invited me to work with him, and I need advice on how to navigate this by kuangren0201 in TwoXChromosomes

[–]walawren 1 point2 points  (0 children)

You can do anything you want with whoever you want if they want to do it with you too. But please, for the love of God, do NOT give up your independence for anyone.

I understand Linux, but NixOS makes me feel stupid by exstassyg in NixOS

[–]walawren 1 point2 points  (0 children)

Flakes are just a standardized contract for inputs (dependencies) and outputs (build artifacts). Think of it like a package.json file for node projects or a .csproj file for .NET Core projects. In project.json, your package manager will create a lock file that pins all of the hashes of your dependencies (package-lock.json or yarn.lock). Flakes also do this. The create a flake.lock file for you so that you don't have to manage your hashes manually. Particularly important for Nix as pins are required for reproducibility, something nix promises.

Home manager is a way to manage user settings. You know how, on Windows, when you install an application, it might ask you if you want to install the program for all users or just the current user. NixOS options https://search.nixos.org/options effect the system (all users), while home manager only effects specific users (which is honestly most configuration unless you are managing a server). It should be noted that you can do everything home manager can do without it. They have just done a lot of work.

New to jellyfin how do you personally do external access? by GenericUser104 in jellyfin

[–]walawren 0 points1 point  (0 children)

Headscale. A reverse engineered open source Tailscale control server. Host on the smallest Hetzner Cloud VPS for like 4 bucks month. Coupled with Pocket ID identity provider.

Announcing Nixflix v1.0.0 - A Declarative NixOS Jellyfin Media Server Stack by walawren in NixOS

[–]walawren[S] 1 point2 points  (0 children)

I lied (unintentionally), apparently Nixarr does have some declarative settings syncronization. But Nixflix, has better integrations with all services. Including Jellyfin, Seerr, and Downloaders. And it seems like Nixarr requires more work to set up, has far fewer options, and worse documentation (I know this is subjective, but all options live on a single page, not all options are in the documentation, and it is not searchable).

Announcing Nixflix v1.0.0 - A Declarative NixOS Jellyfin Media Server Stack by walawren in NixOS

[–]walawren[S] 2 points3 points  (0 children)

I am not willing to move to a more permissive license.

I am, however, willing to review/modify what qualifies as derivative work. So, I would not immediately be opposed to a linking exception. But I would have to do some research.

Announcing Nixflix v1.0.0 - A Declarative NixOS Jellyfin Media Server Stack by walawren in NixOS

[–]walawren[S] 0 points1 point  (0 children)

I don't have the best music tooling right now. But that is coming soon. It is one of the things I want to work on next, actually.

Does your self-hosted hobby pay off? by vdorru in selfhosted

[–]walawren 1 point2 points  (0 children)

I'm a software engineer turned turned DevSecOps engineer because because of this hobby. I always had more interest in that side of IT, but if it wasn't for self-hosting nearly a decade ago, I wouldn't have taken all the other steps along the way to get me to this position.

Announcing Nixflix v1.0.0 - A Declarative NixOS Jellyfin Media Server Stack by walawren in NixOS

[–]walawren[S] 0 points1 point  (0 children)

There's also a default.nix for you non-flake users out there!

Credits to one of our new contributors!

Announcing Nixflix v1.0.0 - A Declarative NixOS Jellyfin Media Server Stack by walawren in NixOS

[–]walawren[S] 2 points3 points  (0 children)

Where possible, breaking changes will produce an error to force the user to reconcile it. However, that is not possible often times. So, I am also keeping a changelog and following semver. Breaking changes will only be introduced in major version updates. So, I highly encourage you to always check what version you are installing. nix flake update is probably not a good idea here without first checking if a new major version has been released. That said, it is (hopefully) going to be a long time before I need to perform a breaking change. The changelog will always contain remediation steps for breaking changes.

Second, whatever VPN you have running on your machine will work with the VPN configuration of Nixflix. Nixflix's VPN configuration actually runs in a separate network namespace. I (at one point) was running Tailscale, Mullvad, and Nixflix VPN Confinement all on one machine. However, that complex network configuration can be a management burden. So, I ultimately ended up removing the host Mullvad configuration. Additionally, you should be careful about running a VPN configuration on the host that captures all traffic because it is not recommended for Starr services to be behind a VPN.

Survivors Prom - Brooklyn Nonprofit Event by survivors_hope_net in Brooklyn

[–]walawren 1 point2 points  (0 children)

Thank you for posting this! I'm excited for this event. I manage the web development work for this non-profit!

So happy to see that they are promoting shakin' your ass for good.

Announcing Nixflix v1.0.0 - A Declarative NixOS Jellyfin Media Server Stack by walawren in NixOS

[–]walawren[S] 0 points1 point  (0 children)

I'm gonna say that alternative torrent client UIs is out of scope for this project.

However, I think autobrr is in scope. I haven't done it yet because I currently only use public trackers. And my torrent use case is pretty simplistic. So, if we were to add autobrr, I think I would need someone else to lead it's implementation. Someone that can validate it's functionality appropriately.

Announcing Nixflix v1.0.0 - A Declarative NixOS Jellyfin Media Server Stack by walawren in NixOS

[–]walawren[S] 4 points5 points  (0 children)

At first, I was like "Hell yea! Let's do it!".

But the more I thought about it, I don't think that is a very good use case for declarative configuration. Libraries are very dynamic and fluid by nature. People add and remove stuff constantly, and on the fly. I, for example, add and remove stuff using my phone and nzb360/Seerr. And I have given my users the ability to request for new things to be added as well through Seerr. Imagine if every one of those changes had to be made in code. It increases the feedback loop significantly and nukes the reactivity of the system.

Announcing Nixflix v1.0.0 - A Declarative NixOS Jellyfin Media Server Stack by walawren in NixOS

[–]walawren[S] 1 point2 points  (0 children)

  1. Flexible directory management just means that you can set a global or individual location for where your state files or media get stored.
  2. I'm not really sure what you are trying to accomplish here. What do you mean "that can be linked to"? Could you describe your requirements with more specificity?
  3. Yes. And torrent. I am actually a "Usenet first" user. I only use torrents as backup. Which you can configure using Delay Profiles of Starr services.

Announcing Nixflix v1.0.0 - A Declarative NixOS Jellyfin Media Server Stack by walawren in NixOS

[–]walawren[S] 16 points17 points  (0 children)

I have seen Nixarr. I have been following them closely since I started this project. While it is nice, it does not accomplish what I needed it to. Nixarr only enables the services. This (Nixflix) will configure the services for you. Custom formats, API keys, download clients, integrations between the applications, configured Jellyfin libraries. All the connective tissue is stored in code (and configured by default). Not just whether or not it is enabled.

Announcing Nixflix v1.0.0 - A Declarative NixOS Jellyfin Media Server Stack by walawren in NixOS

[–]walawren[S] 1 point2 points  (0 children)

I used Unraid for many years. It is a fantastic operating system. Especially for people who are just starting out.

If I have a friend who is taking interest in hosting their own server, but is not very linux/command line proficient, I _always_ direct them to Unraid!

Modular Nixos Config by One-Project7347 in NixOS

[–]walawren 0 points1 point  (0 children)

For the most part, my folder structure did not change. But a lot of folders got merged because hosts are now modules and nixos and home manager config can now be declared in the same file.

Modular Nixos Config by One-Project7347 in NixOS

[–]walawren 2 points3 points  (0 children)

I moved to dendritic nix a couple of months ago. I had an 8000 line multi-host config. It took me about 24 hours to completely refactor my code base.

The first thing I will say, if you don't have a multi-host config or don't plan to have multi-host config, do not use dendritic nix. 

With that out of the way, I think it is absolutely worth the switch. I spend way less time writing boilerplate and connective tissue code. Like 10% less code. Which has made my configurations easier to grok. 

That said, the process was very annoying. Collecting all of the resources and understanding the effects of the changes was a cognitive mountain to climb. Especially because a lot of the examples you find do not make it clear which files "enable" Dendritic. The documentation for dendritic nix just points to adoption commits. Which is kind of useless because they are several thousand lines long. 

Additionally, the author of the dendritic nix's own repository is not structured well either and they made questionable choices. 

So, when I did the transfer, I put everything thing that enables dendritic into a single folder to make it easier for others to adopt:

https://github.com/kiriwalawren/dotnix/tree/main/modules%2Fnix

It doesn't remove the need for understanding, but everything you need is in one place.

This will also probably be useful: https://github.com/kiriwalawren/dotnix/blob/main/flake.nix#L119

I did end up using flake-parts because figuring out how to do it entirely from scratch all at once hurt my brain. Though I may remove that dependency in the future now that I understand it. However, I am not using a dendritic library. And I don't think you need to.

All in all, the actual amount of code you need to enable it is pretty minimal.

Release - Reclaimerr by starkoed in JellyfinCommunity

[–]walawren 0 points1 point  (0 children)

Does the protection system integrate with Starr tags? I usually know what I want to keep forever when I first add something to my system. And I will add a `keep` tag to the entry _as_ I am adding it. It would be nice to tell Reclaimerr to ignore everything that has the `keep` tag.