nix isn't perfect, but right now i can't imagine using anything else for either desktop or server. using "traditional" linux distributions genuinely feels like legacy tech in comparison.
>Even Arch doesn't seems much different anyway
I use Arch, and a couple days ago I wanted to compile mpv from source to mess with libsixel support that isn't included in the version that ships in Arch repos. The latest version of mpv requires libplacebo 6.292, but the Arch repos only provide 5.264.1. I found v6.292 in the AUR, but when I tried to install it, it wanted to replace v5.264, which broke dependencies for multiple applications I have installed, such as Jellyfin.
This is what happens when distros use retard-tier package management instead of Nix-like package management. I cannot for the life of me, understand why 99% of distros are still living in the stone ages.
The AUR has always been a crutch carrying Arch and alot of the Arch repo packaging work is being done by one guy while the other devs do fuck knows what.
Just stop typing like a reddit nagger. It's unnatural.
3 weeks ago
Anonymous
I don't even know what you're talking about, now.
3 weeks ago
Anonymous
The way you form your sentences, and your overall demeanor reeks of reddit.
3 weeks ago
Anonymous
Assuming I wanted to change my behavior to please you, and you specifically; do you have any idea how unclear that is?
3 weeks ago
Anonymous
Use your brain. Stylometry of LULZ posts are very different to reddit posts.
3 weeks ago
Anonymous
Thank God, I don't care.
3 weeks ago
Anonymous
Well, as I read your posts, they are subconsciously rubbing in my face the fact that you're a big fat nagger homosexual. I believe it's really rather rude to subject people to that. Have some courtesy.
NixOS: >Create the following folder and file: ~/.nixpkgs/config.nix. We can define multiple groups of packages that can be installed all at once with just one command. Put the following in to this new file:
{ pkgs }:
let
inherit (pkgs) lib buildEnv;
in {
allowUnfree = true; # allow non-free, non-open source packages to install
# if you are using Chromium, this is likely something you want to enable an option for
chromium = {
enableWideVine = true; # enable the DRM to allow things like Netflix to work
};
packageOverrides = pkgs: {
desktopDev = lib.lowPrio (buildEnv {
name = "devEnvApps";
paths = with pkgs; [
curl
git
unzip
];
});
kdeApplications = lib.lowPrio (buildEnv {
name = "kdeApps";
paths = with pkgs; [
kate
];
});
};
} >In order to install one of these groups of applications, you just need to install using the name = "" one, for example, to install the KDE group, nix-env -i kdeApps. The other part that is unique like the kdeApplications doesn’t matter as much, just has to be unique in this instance.
it's a mystery why more people don't wish to try NixOS.
it definitely is nice to not have to keep track of which packages are installed for what, you can just write a little script to keep track of that though
right. Then you modify that file on the go and save it somewhere. Next time you want to know what exactly runs on your system, you simply read that file. Next time you get a new machine, you simply copy that file to that machine, and it runs indistinguishable from your previous one.
I am so fucking tired from ssh'ing into a server/docker container only to find out they renamed php-fpm to something like php8.1-fpm, or php-fpm-8.1 and you ALSO can't get that file from their repo because it says >has no installation candidate
and especially it's Ubuntu that moves shelves around all the fucking time. Do you know what they did with new release? They moved ssh to a SYSTEMD SOCKET. I spent 2 hours tinkering around ssh trying to find out why my config does not work only to find out it's because my ssh has been replaced by a fucking SYSTEMD, and it IGNORES all the ssh configs completely.
>Next time you want to know what exactly runs on your system, you simply read that file. Next time you get a new machine, you simply copy that file to that machine, and it runs indistinguishable from your previous one.
Tell me when Nix gets versioned packages or content-addressed hashing and maybe this will be true. The other machine is probably running a completely different software stack, different kernel, libc, etc. It's declarative system configuration and environments, not a reproducible operating system.
>Tell me when Nix gets versioned packages or content-addressed hashing and maybe this will be true.
https://nixos.wiki/wiki/Flakes >The other machine is probably running a completely different software stack, different kernel, libc, etc. It's declarative system configuration and environments, not a reproducible operating system.
Different hardware is handled with a separate generated config file.
flakes only lock to a specific git commit, nothing guarantees that the source files are available or that the packages haven't be garbage collected. It's not versioning or content addressing, but a snapshot in time of the git repository. Versioning is where I can install a specific version of a package, and content addressing is where the hash of the dependency is derived by its content rather than its inputs. Nix does not support either of these.
What do you mean by gets versioned packages? You could always pin a package to whatever revision you wanted.
And how is content-addressability going to help reproducibility? It's only going to help avoid thousands of cascading rebuilds when something like glibc updates. Unless you meant to say content-addressable storage, but even then I don't understand how that'd help.
Yep, declarative configuration is top tier and I'm surprised that more people on this supposedly technical board aren't doing it. Once you start, you never go back, at least if you have multiple computers. I'm comfy with Debian and Puppet though, so I haven't switched to NixOS or GuixSD.
nixos is nice and all, really interesting, fun to play with, but i just have to be realistic, i dont need that at home.
i dont run arch because its technically superior or something, i run it because it has the packages i need and up to date mesa drivers.
i dont run kde because its superior to gnome or hyprland or whatever shit is new and hip, i run it because it give me a stutter free experience with no configuration.
people should know what they actually need and run that.
when i get home i need to relax and play some baldurs gate, that is what my linux distro choice boils down to after 20 years.
Don't get your point of being a whiny bitch. Nix has no official support for anything besides systemd from what I can see. The Guix Distro uses GNU Shepherd as it's init system. https://www.gnu.org/software/shepherd/
>Don't get your point
The point is the poster you're replying to obviously talks about installing the distro, not the package manager. >Nix has no official support for anything besides systemd from what I can see
What's "official support"?
Nix daemon doesn't depend on systemd in any capacity, it works with any init AND on MacOS, which you would've noticed had you actually done some research instead of going straight to marketing.
The GUIX System (aka OS) uses GNU Shepherd as it's init system. It is written in Guile which is based on the Scheme language. If you install the GUIX package manager standalone, the installer script checks if you your init system is systemd, sysv-init, or openrc.
The ability to deploy and replicate stuff is great but whats even better is just having one organised place for your entire system config rather than having to remember a million random different things
>whats even better is just having one organised place for your entire system config
Declaratively and reproducibility is pretty sweet. But if you don't like fucking with configs and shit, i can see it sucking for newfags.
heard this a lot
can you give a specific example that a simple script cannot do?
3 weeks ago
Anonymous
I can edit my config files and the system changes live. I dont need to undo changes that I revert in the config. It's all sorted out by the nix package managment system like a normal package manager does with dependencies and unused packages
3 weeks ago
Anonymous
shouldn't nix let you do that already?
why use nixos if your goal is to rollback?
3 weeks ago
Anonymous
the point is i just say what i want and the system does the work of putting those things together in the right order etc.
Your script would need to install a daemon, then edit the config files for it. Nix handles this for you. You just say "i want to enable this daemon and i want these settings please"
the goal is not to rollback so much as to have the control to change your system at any time based on a series of config files that can include logical operators.
3 weeks ago
Anonymous
make sense
I'm looking into nixos but I would like something without systemd and more minimal
my requirements are >minimal >the ability to rollback (e.g. nvidia driver update fucked you up) >one config run everywhere
not sure if it exists but void + nix comes into my mind
3 weeks ago
Anonymous
if you dont want systemd i would recommend alpine just because its selection of low level software + built on musl is just a great fucking setups
i personally am happy with systemd on nix because i dont have to touch it (thanks to config files) and by default with wayland nix doesnt use pulseaudio but instead uses pipewire. so its pretty good, although its no OpenRC
NixOS configuration file is dedicated to configuring the entire operating system in a declarative and "atomic" super fast manner, while Linux scripts are more general-purpose and focus on automating specific tasks within the user space using imperative scripting.
simple script cannot do?
it's that it's (imperative) dude
3 weeks ago
Anonymous
I don't get that imperative/declarative thing either
I wrote the script once and never touch it just like a dockerfile
What's the point of the made up imperative/declarative concept?
3 weeks ago
Anonymous
>I don't get that imperative/declarative
Forgive me cause i've been up all night so if it comes off like i'm being a arsehole..ya know.
Arch is imperative, eg. You change your system packages bit by bit till you get it the way you like.
Nixos being declarative, system files can not be changed, they have been declared. Meaning you have greater stability but are no longer FHS-compliant, as a con but there are ways around this.
>I never get the idea of this single config thing >How is it different from writing your own os installation script?
heard this a lot
can you give a specific example that a simple script cannot do?
>heard this a lot >can you give a specific example that a simple script cannot do?
Updating.
Normal system with script: >some author renames his package, changes dependencies or configuration >your script breaks
Nixos: >some author renames his package, changes dependencies or configuration >nix config states "package" should be installed >it will work no matter what
I don't see how it benefits me in any way over gentoo.
I have different computers, and on each computer I have different USE flags and packages. If I wanted everything to be the same computer I'd have bought the same parts for each one and just copied over my @world set and make.conf
I am actually thinking of switching back to arch, debian, gentoo or literally anything else after using NixOS. It just uses too much disk space, too long rebuild times, linking with libraries can be a pain and you can't run random binaries easily. NixOS sounds nice because it is reproducible until you realize that you don't give a shit whether your system is reproducible, just that it works.
>until you realize that you don't give a shit whether your system is reproducible, just that it works.
How can one be so short-sighted? It's like you have an old and broken flimsy plastic chair that's only held together by a bunch of duct tape. Somehow you don't care if it will fall apart the next time you sit down on it, all you consider is whether it can stand on its own in this moment, bearing no load. And what if it does break on the next upgrade? Will you be staring at the tty for 6 hours as you perform the required manual interventions to unbreak your system? Only for it to break in a new and unpredictable way the next time?
I never had a system completely break on me. I only had some trivial problems to fix on a rolling release distro. I have been using debian stable for quite a while on computers and servers and never had a issue. The extra work NixOS takes and just being overall very clunky to use makes it not worth the 0.0000001% chance something catastrophic happens.
I would call NixOS the exact opposite of clunky. It's way more flexible than Debian. It's understandable that you'd have no use for such features if you don't do much on your computer. Still, I will never understand how someone could ever accept a package manager that can't clean up after itself.
It's not like I can replace apt with Nix and still have Debian. It's also more than the package manager. The configuration system of NixOS is easily centuries ahead of any other distro.
Honestly the greatest thing about declarative system is that you cannot forget any obscure config options you've done for your OS, because all of the custom config is in the single declarative definition of the whole system.
This has been a big deal for me. In imperative systems I was often inclined to stick to the defaults, even if they were shitty defaults, because I knew I'd not be able to recreate my custom config easily. Now I can have the most complex and esoteric configs and the certainty that I'll never have to remake them from scratch.
This has been a big deal for me. In imperative systems I was often inclined to stick to the defaults, even if they were shitty defaults, because I knew I'd not be able to recreate my custom config easily. Now I can have the most complex and esoteric configs and the certainty that I'll never have to remake them from scratch.
Exactly. Years ago, I set up a game/web/e-mail server manually. It ran well, so I left it alone for about 2 years. Then I wanted to make significant changes, but I had forgotten how it was set up. I had to spend several days doing basically digital forensics and reverse engineering my own server. After that experience, I configure every single thing on my servers with Puppet and most things on my desktop/laptop too.
If they come back to arch, all it'll take them is 30min to switch back to nixOS and have their previous setup reinstated. Leaving nixOS isn't a commitment because they can always come back in a second.
On the contrary, it probably takes a whole day to set up arch the way you want to from scratch with all your packages and system settings
Can I be productive on NixOS?
I have a laptop with ryzen apu and nvidia gpu and I'm currently running linux mint
Can I do stable diffusion with NixOS?
What benefits do I get from switching to NixOS?
You can do anything on nix that you can do on mint. It will require more set-up because it's a non-opinionated Linux distro. The difference between it and other non-opinionated distros is that you can reproduce that whole system configuration on another machine, meaning once you set it up the way you want it you only need to do it once.
As for stable diffusion you can run it in the container or there are online guides on how to get it working on nix.
If there are Nix wizards on here I'd like a couple of opinions:
1. How feasible is it to use Nix for CI/CD for other distributions. The reproducibility of Nix is very cool and Docker testing doesn't have that. However the best you can do is approximate another distro using nix packages. Is there some sort of tool to dump the current state of, say, Ubuntu 22.04 as a flake file?
2. How feasible is it to use Nix package manager to compile something with a cutting-edge compiler, and then use the binary, but outside of a nix shell? Of course it causes a bunch of issues with glibc versions, and I wonder if there's some sort of workflow to achieve that.
> How feasible is it to use Nix for CI/CD for other distributions
I use nix on both macos and ubuntu CI machines to build the same pure nix-shell, and run some cross-platform stuff written in go, python and bash. Works so well I can't believe it
> How feasible is it to use Nix package manager to compile
never did this myself but I guess you can use buildFHSEnv to emulate classic distro and build your stuff in there
I just looked at setting up munin and monit and there is literally ZERO documentation. Yeah think I'll stick to a normal distro and just use notepad to save instructions in order to setup a service I use.
>use notepad to save instructions in order to setup a service I use.
Like a caveman? If you find NixOS and Puppet too complicated, at least script it with Ansible.
unless you're using home-manager, you'd have to set it to the specific user's env vars. You obviously have to have emacs installed by declaring it in the systemPackages array.
>install a container/VM oriented distro like trueNAS or unRAID >write a Dockerfile for your desired daily driver distro >spin up the container and connect to it >any distro/DE you want at the flip of a switch
NIXTARDS BTFO
> install NixOS or Guix System > create specialisations with completely different setups that you can switch between on boot > create different profiles within those specialisations that you can also switch between at runtime > create different envrionments within those profiles that you can also switch between in different shells > create declarative configurations of containers or VMs that you can still switch between with all that power still available > still not even 1% of their full power
nix isn't perfect, but right now i can't imagine using anything else for either desktop or server. using "traditional" linux distributions genuinely feels like legacy tech in comparison.
What make this (and guix) different to other distro anyway? Even Arch doesn't seems much different anyway
>Even Arch doesn't seems much different anyway
I use Arch, and a couple days ago I wanted to compile mpv from source to mess with libsixel support that isn't included in the version that ships in Arch repos. The latest version of mpv requires libplacebo 6.292, but the Arch repos only provide 5.264.1. I found v6.292 in the AUR, but when I tried to install it, it wanted to replace v5.264, which broke dependencies for multiple applications I have installed, such as Jellyfin.
This is what happens when distros use retard-tier package management instead of Nix-like package management. I cannot for the life of me, understand why 99% of distros are still living in the stone ages.
The AUR has always been a crutch carrying Arch and alot of the Arch repo packaging work is being done by one guy while the other devs do fuck knows what.
Fun fact: Nix packages are coming to SteamOS despite SteamOS being based on Arch.
Nix users are the new arch users. God I hate them with passion. It's a cult.
Ex-Arch user here. I use Nix now. Nix is comfy and great.
>Nix users are the new arch users.
So... people with good technical taste?
filtered
You can use Nix/Guix on any GNU distribution. I've been running Guix on Debian because it sandbox every program, for instance.
You can install nix packages on an arch based system
I know. I have nix packages on my mac.
how're those docs treating you, op?
Not well.
Drove Arch for 18 months. Drove NixOS for 14 months. Suffice to say, I'm back on Arch
Fuck you.
welcome back home, white man
welcome back king
Nice self-portrait as a desktop background.
Yeah, his background looks pretty cool.
Read that again. Slowly.
Holy reddit...
Reddit would also happen to be pictured in OP's image.
Your attempts to fit in aren't working
Since you mistook not trying for an attempt, I'll take that as a compliment.
Just stop typing like a reddit nagger. It's unnatural.
I don't even know what you're talking about, now.
The way you form your sentences, and your overall demeanor reeks of reddit.
Assuming I wanted to change my behavior to please you, and you specifically; do you have any idea how unclear that is?
Use your brain. Stylometry of LULZ posts are very different to reddit posts.
Thank God, I don't care.
Well, as I read your posts, they are subconsciously rubbing in my face the fact that you're a big fat nagger homosexual. I believe it's really rather rude to subject people to that. Have some courtesy.
You're not sounding cool. You're not sounding mature. Just go back to where you came from, we don't want retards like you here.
>You're not sounding cool
Good thing I'm not trying to, then.
>Just go back to where you came from
I'm in my house right now.
Debian:
apt-get install curl unsip kate
Void:
xbps-install -Su curl unzip kate
NixOS:
>Create the following folder and file: ~/.nixpkgs/config.nix. We can define multiple groups of packages that can be installed all at once with just one command. Put the following in to this new file:
{ pkgs }:
let
inherit (pkgs) lib buildEnv;
in {
allowUnfree = true; # allow non-free, non-open source packages to install
# if you are using Chromium, this is likely something you want to enable an option for
chromium = {
enableWideVine = true; # enable the DRM to allow things like Netflix to work
};
packageOverrides = pkgs: {
desktopDev = lib.lowPrio (buildEnv {
name = "devEnvApps";
paths = with pkgs; [
curl
git
unzip
];
});
kdeApplications = lib.lowPrio (buildEnv {
name = "kdeApps";
paths = with pkgs; [
kate
];
});
};
}
>In order to install one of these groups of applications, you just need to install using the name = "" one, for example, to install the KDE group, nix-env -i kdeApps. The other part that is unique like the kdeApplications doesn’t matter as much, just has to be unique in this instance.
it's a mystery why more people don't wish to try NixOS.
a retard admires complexity, a genius admires simplicity
it definitely is nice to not have to keep track of which packages are installed for what, you can just write a little script to keep track of that though
right. Then you modify that file on the go and save it somewhere. Next time you want to know what exactly runs on your system, you simply read that file. Next time you get a new machine, you simply copy that file to that machine, and it runs indistinguishable from your previous one.
I am so fucking tired from ssh'ing into a server/docker container only to find out they renamed php-fpm to something like php8.1-fpm, or php-fpm-8.1 and you ALSO can't get that file from their repo because it says
>has no installation candidate
and especially it's Ubuntu that moves shelves around all the fucking time. Do you know what they did with new release? They moved ssh to a SYSTEMD SOCKET. I spent 2 hours tinkering around ssh trying to find out why my config does not work only to find out it's because my ssh has been replaced by a fucking SYSTEMD, and it IGNORES all the ssh configs completely.
Anyway, good luck on your wasting time journey.
>Next time you want to know what exactly runs on your system, you simply read that file. Next time you get a new machine, you simply copy that file to that machine, and it runs indistinguishable from your previous one.
Tell me when Nix gets versioned packages or content-addressed hashing and maybe this will be true. The other machine is probably running a completely different software stack, different kernel, libc, etc. It's declarative system configuration and environments, not a reproducible operating system.
>Tell me when Nix gets versioned packages or content-addressed hashing and maybe this will be true.
https://nixos.wiki/wiki/Flakes
>The other machine is probably running a completely different software stack, different kernel, libc, etc. It's declarative system configuration and environments, not a reproducible operating system.
Different hardware is handled with a separate generated config file.
flakes only lock to a specific git commit, nothing guarantees that the source files are available or that the packages haven't be garbage collected. It's not versioning or content addressing, but a snapshot in time of the git repository. Versioning is where I can install a specific version of a package, and content addressing is where the hash of the dependency is derived by its content rather than its inputs. Nix does not support either of these.
What do you mean by gets versioned packages? You could always pin a package to whatever revision you wanted.
And how is content-addressability going to help reproducibility? It's only going to help avoid thousands of cascading rebuilds when something like glibc updates. Unless you meant to say content-addressable storage, but even then I don't understand how that'd help.
??? what are you doing that necessitates all that instead just installing libsForQt5.kate
Is this a troll or are you really this stupid?
environment.systemPackages = with pkgs; [
curl unzip libsForQt5.kate
];
Yep, declarative configuration is top tier and I'm surprised that more people on this supposedly technical board aren't doing it. Once you start, you never go back, at least if you have multiple computers. I'm comfy with Debian and Puppet though, so I haven't switched to NixOS or GuixSD.
nixos is nice and all, really interesting, fun to play with, but i just have to be realistic, i dont need that at home.
i dont run arch because its technically superior or something, i run it because it has the packages i need and up to date mesa drivers.
i dont run kde because its superior to gnome or hyprland or whatever shit is new and hip, i run it because it give me a stutter free experience with no configuration.
people should know what they actually need and run that.
when i get home i need to relax and play some baldurs gate, that is what my linux distro choice boils down to after 20 years.
its all just so tiresome
I wish it comes without systemd
Something like void+nix but set up in a large configuration file
Why don't you want systemd?
>I wish it comes without systemd
Guix doesn't use systemd though?
Guix supports openrc, sysv, and upstart.
https://systemcrafters.net/craft-your-system-with-guix/installing-the-package-manager/
This article is about the package manager, retard, not the distro.
Don't get your point of being a whiny bitch. Nix has no official support for anything besides systemd from what I can see. The Guix Distro uses GNU Shepherd as it's init system. https://www.gnu.org/software/shepherd/
>Don't get your point
The point is the poster you're replying to obviously talks about installing the distro, not the package manager.
>Nix has no official support for anything besides systemd from what I can see
What's "official support"?
Nix daemon doesn't depend on systemd in any capacity, it works with any init AND on MacOS, which you would've noticed had you actually done some research instead of going straight to marketing.
nixos users don't actually know what they are doing
that's basically it and the entire thread
>womb logo
no thanks
what are you? gay and prefer the goatse nix logo?
>goatse
Homosexual Guix user projecting his fetishes again? How could you possibly see goatse in that?
I thought that Guix uses its own init system written in Lisp?
The GUIX System (aka OS) uses GNU Shepherd as it's init system. It is written in Guile which is based on the Scheme language. If you install the GUIX package manager standalone, the installer script checks if you your init system is systemd, sysv-init, or openrc.
>Maybe when you're my age you Arch users will understand.
Kek. the day you actually really use it then you'll understand larping troll fag.
i cant go back it hurts so much to use any other package management system now
we truly live in the future
>i cant go back it hurts so much
Moar!!! i don't feel your passion.
i cant go back
The ability to deploy and replicate stuff is great but whats even better is just having one organised place for your entire system config rather than having to remember a million random different things
>whats even better is just having one organised place for your entire system config
Declaratively and reproducibility is pretty sweet. But if you don't like fucking with configs and shit, i can see it sucking for newfags.
*declarative
my bad
I never get the idea of this single config thing
How is it different from writing your own os installation script?
its live and its much more consistent in how it is modified and used
its essentially an os installation script on steroids
heard this a lot
can you give a specific example that a simple script cannot do?
I can edit my config files and the system changes live. I dont need to undo changes that I revert in the config. It's all sorted out by the nix package managment system like a normal package manager does with dependencies and unused packages
shouldn't nix let you do that already?
why use nixos if your goal is to rollback?
the point is i just say what i want and the system does the work of putting those things together in the right order etc.
Your script would need to install a daemon, then edit the config files for it. Nix handles this for you. You just say "i want to enable this daemon and i want these settings please"
the goal is not to rollback so much as to have the control to change your system at any time based on a series of config files that can include logical operators.
make sense
I'm looking into nixos but I would like something without systemd and more minimal
my requirements are
>minimal
>the ability to rollback (e.g. nvidia driver update fucked you up)
>one config run everywhere
not sure if it exists but void + nix comes into my mind
if you dont want systemd i would recommend alpine just because its selection of low level software + built on musl is just a great fucking setups
i personally am happy with systemd on nix because i dont have to touch it (thanks to config files) and by default with wayland nix doesnt use pulseaudio but instead uses pipewire. so its pretty good, although its no OpenRC
NixOS configuration file is dedicated to configuring the entire operating system in a declarative and "atomic" super fast manner, while Linux scripts are more general-purpose and focus on automating specific tasks within the user space using imperative scripting.
simple script cannot do?
it's that it's (imperative) dude
I don't get that imperative/declarative thing either
I wrote the script once and never touch it just like a dockerfile
What's the point of the made up imperative/declarative concept?
>I don't get that imperative/declarative
Forgive me cause i've been up all night so if it comes off like i'm being a arsehole..ya know.
Arch is imperative, eg. You change your system packages bit by bit till you get it the way you like.
Nixos being declarative, system files can not be changed, they have been declared. Meaning you have greater stability but are no longer FHS-compliant, as a con but there are ways around this.
there is more, i would suggest the nix wiki
>I never get the idea of this single config thing
>How is it different from writing your own os installation script?
>heard this a lot
>can you give a specific example that a simple script cannot do?
Updating.
Normal system with script:
>some author renames his package, changes dependencies or configuration
>your script breaks
Nixos:
>some author renames his package, changes dependencies or configuration
>nix config states "package" should be installed
>it will work no matter what
I'm sorry that you got filtered by Gentoo again. Better luck next time, op.
I don't see how it benefits me in any way over gentoo.
I have different computers, and on each computer I have different USE flags and packages. If I wanted everything to be the same computer I'd have bought the same parts for each one and just copied over my @world set and make.conf
I am actually thinking of switching back to arch, debian, gentoo or literally anything else after using NixOS. It just uses too much disk space, too long rebuild times, linking with libraries can be a pain and you can't run random binaries easily. NixOS sounds nice because it is reproducible until you realize that you don't give a shit whether your system is reproducible, just that it works.
>until you realize that you don't give a shit whether your system is reproducible, just that it works.
How can one be so short-sighted? It's like you have an old and broken flimsy plastic chair that's only held together by a bunch of duct tape. Somehow you don't care if it will fall apart the next time you sit down on it, all you consider is whether it can stand on its own in this moment, bearing no load. And what if it does break on the next upgrade? Will you be staring at the tty for 6 hours as you perform the required manual interventions to unbreak your system? Only for it to break in a new and unpredictable way the next time?
I never had a system completely break on me. I only had some trivial problems to fix on a rolling release distro. I have been using debian stable for quite a while on computers and servers and never had a issue. The extra work NixOS takes and just being overall very clunky to use makes it not worth the 0.0000001% chance something catastrophic happens.
I would call NixOS the exact opposite of clunky. It's way more flexible than Debian. It's understandable that you'd have no use for such features if you don't do much on your computer. Still, I will never understand how someone could ever accept a package manager that can't clean up after itself.
Not him but if package manager is really the issue, isn't you should just use nix package manager instead of switching the distro?
It's not like I can replace apt with Nix and still have Debian. It's also more than the package manager. The configuration system of NixOS is easily centuries ahead of any other distro.
sorry, im employed
I will transition to Nix when maintainers will standardize Gentoo-like USE flags.
'Member when Sab-sama dropped GU?X for Alpine
Once you use Nix effectively you realize there's no reason to use anything else but NixOS
fuck Nix
Tried to use NIX but It's way too autistic in terms of the way the file structure is and running binaries for obscure programs
Also for some reason opening file manager on KDE was slower on NIX with my hardware vs arch.
based other than the fact that it uses systemd god when will they fork nixos and make it use a proper init system like openrc or sysvinit
>you Arch users
You are right it's Arch board, get used to it.
Honestly the greatest thing about declarative system is that you cannot forget any obscure config options you've done for your OS, because all of the custom config is in the single declarative definition of the whole system.
This has been a big deal for me. In imperative systems I was often inclined to stick to the defaults, even if they were shitty defaults, because I knew I'd not be able to recreate my custom config easily. Now I can have the most complex and esoteric configs and the certainty that I'll never have to remake them from scratch.
Exactly. Years ago, I set up a game/web/e-mail server manually. It ran well, so I left it alone for about 2 years. Then I wanted to make significant changes, but I had forgotten how it was set up. I had to spend several days doing basically digital forensics and reverse engineering my own server. After that experience, I configure every single thing on my servers with Puppet and most things on my desktop/laptop too.
Precisely
NixOS is cancer
Should we make a /dcg/ - Declarative Configuration General, for sharing our NixOS/GuixSD/Ansible/Chef/Puppet configs?
Didn't work last time it was tried
fedora silverblue is superior btw
You will be back on Arch as soon as the honeymoon period is over.
If they come back to arch, all it'll take them is 30min to switch back to nixOS and have their previous setup reinstated. Leaving nixOS isn't a commitment because they can always come back in a second.
On the contrary, it probably takes a whole day to set up arch the way you want to from scratch with all your packages and system settings
what's the point of nix?
isn't the only purpose to deploy an identical software system on each PC/server?
like what are you actually accomplishing using this over gentoo or slack
Can I be productive on NixOS?
I have a laptop with ryzen apu and nvidia gpu and I'm currently running linux mint
Can I do stable diffusion with NixOS?
What benefits do I get from switching to NixOS?
Bumping for these questions.
You can do anything on nix that you can do on mint. It will require more set-up because it's a non-opinionated Linux distro. The difference between it and other non-opinionated distros is that you can reproduce that whole system configuration on another machine, meaning once you set it up the way you want it you only need to do it once.
As for stable diffusion you can run it in the container or there are online guides on how to get it working on nix.
But who cares?
Antagonizing them only delays them from seeing the truth
If there are Nix wizards on here I'd like a couple of opinions:
1. How feasible is it to use Nix for CI/CD for other distributions. The reproducibility of Nix is very cool and Docker testing doesn't have that. However the best you can do is approximate another distro using nix packages. Is there some sort of tool to dump the current state of, say, Ubuntu 22.04 as a flake file?
2. How feasible is it to use Nix package manager to compile something with a cutting-edge compiler, and then use the binary, but outside of a nix shell? Of course it causes a bunch of issues with glibc versions, and I wonder if there's some sort of workflow to achieve that.
> How feasible is it to use Nix for CI/CD for other distributions
I use nix on both macos and ubuntu CI machines to build the same pure nix-shell, and run some cross-platform stuff written in go, python and bash. Works so well I can't believe it
> How feasible is it to use Nix package manager to compile
never did this myself but I guess you can use buildFHSEnv to emulate classic distro and build your stuff in there
>Works so well I can't believe it
For sure for sure. Unfortunately I have to distribute to non-nix users.
>buildFHSenv
Yeah, worth a try.
$ guix pack does some of what you want. https://guix.gnu.org/manual/en/html_node/Invoking-guix-pack.html
Oooooh that's amazing
Yeah feels great to just hand over a tarball that has everything included.
you can build dockerfiles using nix.
just a demo. ignore the shivering whinging thing doing the presenting.
Mh yeah that looks pretty much like what I was looking for.
>shivering whinging thing
That's a bit harsh... He just sounds Scottish.
This is LULZ. Fuck you.
>this is LULZ, it is le place for le epic anonz who say bad words excksdee
Hello plebbit
Why so angry anon? You on your period?
At least he's not a tranny
nice video
I just looked at setting up munin and monit and there is literally ZERO documentation. Yeah think I'll stick to a normal distro and just use notepad to save instructions in order to setup a service I use.
>use notepad to save instructions in order to setup a service I use.
Like a caveman? If you find NixOS and Puppet too complicated, at least script it with Ansible.
Both have module option docs, you're just retarded.
My god, I want to cumul on your imbus you cloudy fuck.
hello nix shill thread. i am too retarded to set emacs as my $EDITOR pls halp.
environment.variables.EDITOR = "emacs";
This
unless you're using home-manager, you'd have to set it to the specific user's env vars. You obviously have to have emacs installed by declaring it in the systemPackages array.
"install nixos" is going to become this board's new "install gentoo" meme. I can feel it.
not really, nixos has a nice graphical installer that does all the work. The real meme is _using_ nixos.
I installed it with the minimal ISO because I came from Arch, fuck GUIs
https://github.com/oddlama/gentoo-install
well two things on this
1. It's unofficial, so fags can't find it
2. It's TUI, that automatically scares fags away
neat
Are there any declarative config distros other than Nix and Guix?
Not that I know. The Enterprise™ alternative is to use Ansible with some regular distro.
>install a container/VM oriented distro like trueNAS or unRAID
>write a Dockerfile for your desired daily driver distro
>spin up the container and connect to it
>any distro/DE you want at the flip of a switch
NIXTARDS BTFO
>and none of the other Nix features
Proxmox?
> install NixOS or Guix System
> create specialisations with completely different setups that you can switch between on boot
> create different profiles within those specialisations that you can also switch between at runtime
> create different envrionments within those profiles that you can also switch between in different shells
> create declarative configurations of containers or VMs that you can still switch between with all that power still available
> still not even 1% of their full power
>6891
how do i learn thsi
cool
what do you specialized in?
Are they trannies?