“YouTube delenda est”
“YouTube delenda est”
Ah, good find, I just skimmed Ark and didn’t see anything before Q1 '10.
i7 just marked their top of the line consumer products until they introduced the i9 in 2017. First models were introduced 2008, but I think the mobile versions came in 2010.
So yeah 15 years is pretty close.
Technically correct, but the settings in there are not service specific. However, if there’s something worthy of reworking it’s probably the Authelia part
Well, a lot of it is just trying stuff out, but let’s say you want to setup Navidrome because you read about it somewhere. My first step is always to go to https://search.nixos.org/options? and search for it, it’ll show you the options available. If you want to know how it’s implemented under the hood, press the “Declared in” link where it shows you the source code of the module, this can sometimes be helpful.
Other than that, read the wiki for examples, and remember that nix is a full language and not just a configuration, so you can keep it flexible.
Thanks for the answer; I do have at least one module in my config, but usually, I don’t enable or disable services like that, it was more of an example of how the configuration is split up and what the advantage of that is. In the end, if the only option is to enable the module, you’re not gaining that much if you need to import and enable it instead of just importing the configuration straight is my opinion.
Even when using in a basic way, I think it has one very tangible advantage: the fact that you can “compartmentalize” different aspects of your configuration.
Let’s say I set up a specific web service that I want to put behind a reverse proxy, and it uses a specific folder that doesn’t exist yet, like Navidrome which is a web-based audio player. It requires a set of adjustments of different system parts. My nix file for it looks like this:
{ config, ... }:
let
domain = "music." + toString config.networking.domain;
in
{
services.navidrome = {
enable = true;
settings = {
Address = "127.0.0.1";
Port = 4533;
MusicFolder = "/srv/music";
BaseUrl = "https://" + domain;
EnableSharing = true;
Prometheus.Enabled = true;
LogLevel = "debug";
ReverseProxyWhitelist = "127.0.0.1/32";
};
};
services.nginx = {
upstreams = {
navidrome = {
servers = {
"127.0.0.1:${toString config.services.navidrome.settings.Port}" = {};
};
};
};
};
services.nginx.virtualHosts."${domain}" = {
onlySSL = true;
useACMEHost = config.networking.domain;
extraConfig = ''
include ${./authelia/server.conf};
'';
locations."/" = {
proxyPass = "http://navidrome";
recommendedProxySettings = false;
extraConfig = ''
include ${./authelia/proxy.conf};
include ${./authelia/location.conf};
'';
};
};
systemd.tmpfiles.settings."navidrome-music-dir"."${toString config.services.navidrome.settings.MusicFolder}" = {
d = {
user = "laser";
mode = "0755";
};
};
systemd.services.navidrome.serviceConfig.BindReadOnlyPaths = ["/run/systemd/resolve/stub-resolv.conf"];
security.acme.certs."${config.networking.domain}".extraDomainNames = [ "${domain}" ];
}
All settings related to the service are contained in a single file. Don’t want it anymore? Comment it out from my main configuration (or whereever it’s imported from) and most traces of it are gone, the exception being the folder that was created using systemd.tmpfiles
. No manually deleting the link from sites-available or editing the list of domains for my certificate. The next generation will look like the service never existed.
And in my configuration, at least the port could be changed and everything would still work – I guess there is room for improvement, but this does what I want pretty well.
Just to clarify, I wouldn’t recommend putting everything in a single file, but rather modularize the configuration.
I also came from Arch, but have since abandoned it, and I don’t think I want to use distributions for myself that use the the classic imperative concept. One you get a better understanding of it, it makes so much more sense.
Encryption? Also you’re assuming there’s only one block device…
assuming the person before did not just mean partitioning, but also all other storage-related tasks
This is the opposite of me. I always get nervous when I don’t have precise control over how the disk layout looks. I explicitly decided for the non-graphical installer when I first downloaded NixOS
Does it? I have two VMs on remote VPS servers that use GRUB because of no UEFI and I had no issues
This is not how NixOS works. Programs directly link against libraries in the store. There is no sandbox by default when running the binaries.
we already had XMPP available and well developed.
XMPP as defined where?
For privacy, I guess OMEMO is the current gold standard regarding XMPP; however, agreeing on a feature set between clients apart from the most basic stuff wasn’t always easy (and I guess it still isn’t).
Also, I guess XML has fallen out of style for this kind of use case. Matrix is just JSON over REST, which I guess is kind of nice nowadays?
XML kind of suffers the jack of all trades curse. If you just have two sides exchanging messages using a well-defined protocol, why go for something that offers schema definition, DTD, XSL transformation? These come with costs, and if you don’t use them, why XML in the first place?
All of this combined with the fact that the communication model of XMPP and Matrix is different - XMPP closer to email where a server relays messages between clients while in Matrix, everything is a synchronized (?) room, even direct messages between two participants - would have required bending or extending the spec so much that it wouldn’t have been XMPP in the original spirit anyways. So instead, a new protocol was designed that incorporated a lot of lessons learned in the decade before it.
You’re free to continue using XMPP, after all, bridges exist.
Which is dumb. Secure Boot does make sense (if handled correctly, unlike here).
The news is about Core i9 CPUs, which are the enthusiast / possibly workstation offering by Intel with high single core clock speeds. Amazon, Google and Microsoft use server CPUs which usually don’t feature such high speeds, but rather focus on more cores and more possible RAM.
However, if a vendor sells a product with the main feature of high clock speeds and the product fails when I’m using that exact feature for prolonged periods of time, I’d say it’s faulty.
XMPP is a protocol, the GPL covers software implementing these protocols. They could use their own proprietary XMPP client and server without any legal issues.
Grey market chips usually include chips that failed quality assurance to prop up numbers.
50%?
HOLY FUCKING SHIT
These are absolutely disastrous numbers. This is worse than I would expect from illegally sources parts.
The mark of good satire