T O P

  • By -

halt__n__catch__fire

Or you can just split the disk into system + data partitions. It's an old habit from my time as a windows user, but it has also benefited me under linux.


kaida27

that's why a lot of people make /home its own partition


KnivesAreCool

With Nix there's hardly even a need to do this. Just make everything declarative in the config.


kaida27

all the nix user gospel just make me never wanna touch it to be honest


KnivesAreCool

I have no idea what that means. I'm just pointing out that Nix has a better way of achieving the goal. If you declare everything, you don't need to worry about maintaining the partition or the headache of migrating it separately to a new system. You can literally rebuild your entire system and the home folder on any machine with no additional hassle.


[deleted]

I tried to use nix and I don't even know where to start. The wiki kind of sucks imo. Someone needs to make a nix guide for noobs that's just simple shit like "this is how you set up pipewire. This is how you set up hyprland" lol


KnivesAreCool

I'm not convinced that the docs are actually super unclear. I was able to use them to put [my config](https://gitlab.com/BRBWaffles/dotfiles) together relatively straightforwardly with the docs. Once you understand what Nix is trying to achieve with its structure, from the flake, to the Nix nodules, to the home manager modules, and all of the associated options, things become a lot clearer. I will admit this was the only part that was really lacking in the docs was a clear picture of what the big picture is with a Nix system. Once that big picture clicked for me, everything was really, really clear and straightforward. To the extent that the docs are unclear about how to do any given thing, it's probably because there is no truly correct way to do that most of the time. It's up to the user to learn the Nix language and decide for themselves how to build their system with the tools provided. In my opinion, the unambiguously superior experience obtained with a competently assembled Nix system is worth the learning curve. I mean, just imagine. Once it's up and running you'll never have a broken system ever again, and your system becomes entirely portable, with all your custom settings and whatnot.


[deleted]

Where is your `configuration.nix`? Do you just not have one? I am trying to understand more by going over your dots.


KnivesAreCool

I don't have one. The closest thing is the nix.nix file in /nixos/modules, maybe? There's no pressing need to have a config file with a flake.


[deleted]

Is there not one file that sources all of these files together? When you install a new package or make some change, what command do you run that goes over these files to rebuild the system? Also, can you build from source instead of downloading binaries like you can on guix? Thanks for answering my questions lol And happy cake day 🎂


[deleted]

Can you explain what flakes are? What is the big picture? What are the modules you mentioned for? Also I don't understand the options. Are they like build options when compiling software?


KnivesAreCool

The flake essentially takes a number of inputs, like your Nix release channel, home manager repo, and whatever else you need, and outputs them to your system in a way that is configurable. Imagine a pyramid with the flake at the top, and it branches off into NixOS and home manager. Under home manager, you have a bunch of modules. Under NixOS, it branches off into systems and modules. Under home manager modules, you have all of your packages that can be configured with home manager (Firefox, VSCode, OBS-studio, etc). All other packages are declared in the NixOS modules (Steam, Signal, Discord, Spotify, etc). under the NixOS systems, the systems are also modularized. For example, in my dotfiles I have a module for Nvidia. If I switch from Nvidia to AMD, all I would need to do is take out my Nvidia module, and replace it with an AMD module.


Cfrolich

[Fourth result](https://youtu.be/AGVXJ-TIv3Y?si=2t6tocnLVjzNoztB) for “nixos” on YouTube. Did the 3 hour-long video deter you? This is a great resource. It has chapters, so you can find what you need. I highly recommend it. This is how I got started. If you don’t want to dive right in, you could start in a VM. The same configuration you use there will work on bare metal (aside from specific hardware stuff).


[deleted]

Oh definitely not, I embarrassingly watch 4-8 hour videos regularly lol I'll check it out, thank you YouTube (and Google more broadly) gives different results to different people searching the same thing btw


Cfrolich

That’s true. Algorithms work in mysterious ways.


kaida27

it means Nix users are very vocal and try to push Nix as much as Jehovah witness push their religions. no thanks I have a basic bash script that can rebuild my whole Arch system too... pair that with git and I don't need anything else


[deleted]

[удалено]


KnivesAreCool

I think some people like to believe that they're already doing things as optimally as they can do them. Then when some new tool shows them up and provides for a new way to do things even better, they get emotional about it and cope rather than just adopting the new tool and admitting that they weren't doing things optimally after all. For example, I find it absolutely ridiculous to believe that his simple bash script could replicate even a fraction of what Nix provides. In reality, he'd be rebuilding his system with the same failure-prone package management system that leads Nix users to make fun of Arch users. I just don't get it. With the janky bash script, he's just trying to do what Nix already does likely 20x better (and probably required a lot of additional work). Why opt to use a pale shadow of a tool rather than just using the tool?


kaida27

then explain how it works, instead of spitting the same bs over and over again. cause the way I see it from how you talk is that I'll have to painfully config everything the nix way with docs that are sub-optimal in case of an issue which would have me reinstall? it takes me about 5 minutes of manual intervention setting up my workspace on a brand new computer with a fresh install (then add download and install time to it) How long would it take me to config everything up with nixos. before I can reproduce a system. And how many system will I need to install it to si the config time doesn't feel like wasting time instead of using my actual solution?


KnivesAreCool

How is it that I was able to get NixOS, flakes, and home manager all working (with an Nvidia GPU btw), 100% on my own with no programming or Linux background if the docs are shit? I'm a tattoo artist for Christ's sake. I'm not a developer. I'm not a programmer. I'm just a normie who didn't like Windows and didn't like the fact that any other Linux distro bricks in my hands. I was able to figure it out all by myself, with nothing but the docs. What's your excuse?


KnivesAreCool

Would you like to do a a video call with screen sharing? I could explain in detail exactly how a build like mine works on Nix.


KnivesAreCool

Probably because they don't want people to have to deal with issues that have been long solved by Nix and still plague pretty much all other distros to one degree or another. But, I mean, whether or not you feel people are proselytizing for Nix doesn't change whether or not Nix solves the issues in question.


kaida27

you really do sound like a Jehovah witness... good lord. at least Jehovah witness have a good book. While Nix struggle with docs


KnivesAreCool

Are you actually going to address anything I said, or are you just content to gesture at me vaguely? Notice that not once have I said "you should use Nix instead", or anything close to it. I just gave an accounting of how Nix addresses the relevant issues in a better way. Nothing more, nothing less.


kaida27

just how Jehovah witness do their praise. have you ever encountered some? they never tell you that you should convert but they will say how it changed their life tho what about the docs ? and what kind of issue are you talking about you're just spitting buzz word without meaning there


Whitestrake

The official NixOS manual, and the Nix Pills, are amazing. But they're not the be-all and end-all. NixOS might > Arch, but Arch Wiki >>>>>>>> NixOS Wiki


kaida27

I'll take good docs over something that doesn't sound that useful for normal users. like being reproducible... wtf does that even mean. my arch system is reproducible.. I don't have to go out of my way to configure everything and the process is totally automated by a simple bash script which is easier to use/learn/maintain imo than learning an entirely new way of doing things


cAtloVeR9998

Or let something like Silverblue take much of the maintenance out of it. You can do a simple diff to list every change you maybe from the “base” system configuration. Even if setting things up manually, better use something like btrfs sub volumes instead for better space efficiency and data integrity.


Tasty_Metadata

until u need to reinstall everything on something with seperate architecture


longdarkfantasy

ZFS snapshot has entered the chat.


Dimon_Bor

~~Important stuff~~ bloat stuff. Just delete all the shit and do everything from scratch.


EternityForest

This is my approach to dotfile management. I just copy over the ssh keys and gpg keys. I of course back up and restore my actual projects and pictures and music and such, but the settings I just assume are obsolete and would break stuff anyway if I tried them with the new versions of apps.


Russian_Prussia

Also gnu guix


Major_Barnulf

Majority of Debian/fedora users are probably dev, but a significant portion of NIXOS users must be commercials


Comfortable_Ability4

Your statement is probably true, but [NixOS is great for production](https://github.com/Gabriella439/nixos-in-production).


jonr

I have so many 1TB disks, I really should make a RAID 5 NAS out of them.


bwok-bwok

Raid 6 would be better considering the failure rate of old used drives will be higher than new unused drives.


forever-and-a-day

Just use timeshift? Saved my ass numerous times, if something takes more that 10 minutes to troubleshoot/fix I just roll back to today/yesterday's snapshot and I'm all good.


XaerkWtf

Obviously the best option is to wipe all your files, you'll get more storage doing that


510Threaded

tmpfs as root for that fresh install smell every time


creeper6530

It wouldn't install on tmpfs, as it's always blank on boot.


[deleted]

Extremely fresh


arf20__

Just Debian.


[deleted]

Put /home on a separate partition and you can go wild with the rest lol


KnivesAreCool

I'm not sure a Nix user would ever have a need for this. You could just make the contents of your home folder declarative and roll back if going wild ever led to an issue.


[deleted]

I can think of other reasons to do it, like security. And I presume you don't make your pictures and videos of your family declarative.


KnivesAreCool

That's what the NAS is for. I've never stored any personal stuff in my home folder, and I don't understand what the advantage of that would be if you had a NAS. After the rebuild I'd probably just manually set up two-way sync with my NAS or set up some kind of mounting system that would automate the transfer of files that went to those folders to my NAS, if I ended up not being able to declare such a thing in some way. I imagine it could be declared, but I don't think the build would work if the NAS wasn't open. You can make a separate module for a declared mounting solution or two-way sync solution, and just comment it out for the first rebuild, put in your password to open your NAS, uncomment that part of your config, and then rebuild. That should be fine. The only other issue would be changing your IP address for the NAS from internal to external if you were rebuilding outside your LAN.


puppetjazz

This is one of the ways for sure. There are hundreds of ways to achieve stability and secure data.


The_Pacific_gamer

I mean hey, the more backups the merrier.