and this is why i switched to nixos. i sometimes need to have stuff synced up with multiple machines, and then i saw nixos. i thought "no way it can just sync up my settings and apps with a single command", i was wrong. i like it here in nix land.
Would love a vid where you step through your config at a high level and explain some of the key parts. Some of the very high level concepts you already have vids on, but it would be nice to tie it all together and give beginners a better idea of how they can fork your config and maybe make it more customized to them.
This is awesome. The one hangup for me on doing something similar is I need to get the Nix-SOPS key copied to the right place. iirc you don't have any kind of secret management in your config currently, but if you do, would love to see a video on which approach you chose.
The point of this one-liner is that it installs a fully configured system in one step. Everything is already personalized and setup, with settings, themes, etc. pulled from the repository. There is not another OS that does this.
@@abbcc555 no ,it works 99%. I already have reinstalled remotely three times today. just make sure to use flakes to ensure reproducibility. I even made a script to automatically generate initrd ssh keys,secure boot keys. Only thing I know that can't be configured declaratively is firefox extensions config. Everything else works. You can even make it automatically pirate games, if that's your thing
It all worked just as this shows. The only problem for me was the screen size. So weird, just the edges of the screen are not visible. I tried adjusting this on monitor code set up on hyprland but still it remains. Great work!
This is really nice! But because I am pretty new to NixOS I do not understand how your command installs specific stuff depending on the system? In your flake.nix there is a hard coded systemSettings.profile var. Do you change this variable in git before installing a system with this one command or is there a way to do this dynamically, e.g. based on the hostname? Like when the hostname is nixos take this path and if it is e.g. desktop do that things?
Sir i ran this command on fresh nixos no desktop installation and got an error in the end cant remember what it was but after reboot i got sddm and after login itw as fresh hyprland and cont open kiyty or any other keybinds only working keybind was to logout am i misisng somrthing? I just wnat a completely working system and want to learn it as i use it 😅
@@librephoenix It can be achieved using a tool from the nix-community called disko I have already made a small install script that I curl pipe and when run it asks for my nix flake and disk device, it will partition everything, install nixos, generate hardware-configuration and install everything according to the flake
your tutorials are so amazing! Did you ever encounter any issues with steam? I'm pretty new to nixos and I have this weird thing that in every game I play I have very heavy game freezes for the first couple of minutes I play a new game. Feels like there is something not running async that should be. It gets better over time because I think it caches the stuff that makes it lag but I didn't have this issues on any other distro so far and I was wondering if I'm missing something or if I have to apply any kernel modules or stuff like that. Maybe you are willing to make a gaming related video to show some tweaks for that?
As far as I can remember, this might be due to the option "Allow background processing of Vulkan shaders" being active. Instead, you should disable that and activate "Enable Shader Pre-caching". The options can be found in the Steam Settings under "Downloads". AFAIK, this will sometimes even just download "ready shaders" from the Steam Servers, however it should be noted that the first time starting a game after updating it, starting up might take a bit longer than usual.
I was trying to install Doom-Emacs and didn't see a video on it. If you haven't done it, can you make one to show how to install it, if you have, can you please direct me to it?! Thanks for getting me this far!!
Glad you've found the videos helpful! I unfortunately haven't done a Nix Doom Emacs video yet, mainly because the way I have my Doom Emacs setup is slightly convoluted. I definitely want to make a video about it soon though! In any case, I use nix-doom-emacs (github.com/nix-community/nix-doom-emacs) and here's my full config if you want to see how I get mine setup; the Nix Integration part is probably most important (github.com/librephoenix/nixos-config/blob/main/user/app/doom-emacs/doom.org). Though, tldr about the convoluted part: it won't work with emacs29-pgtk (which is what works best on wayland) unless you patch nixpkgs (github.com/librephoenix/nixos-config/tree/main/patches; github.com/librephoenix/nixos-config/blob/main/flake.nix#L47) and override nix-straight with another patch (github.com/librephoenix/nixos-config/blob/main/flake.nix#L156).
It essentially just calls install.sh, which in turn also calls harden.sh (for some slight improved security on system files stationed inside the home directory). More on how that works in a future video though!
quick tip for anyone trying this. this is not end all be all script, this will not make your system look like his. in my test after running this it freezes in "Reached target Multi-User System." so for demonstration purposes this is cool and all, but by no means usable.
Just as a heads up if anyone wants to copy the command that's over github, the command has a typo. It's supposed to be "nix run", not "nix-run" Idk if there is any other typo or fix cause I'm just trying to test it myself, please tell me if it worked for you!
@@librephoenix the command is broken in multiple ways. "nixos you must set the option boot.loader.grub.devices or boot.loader.grub.mirroredBoots to make system bootable" also it doesn't accept nix-command, it says it wants it exactly the way it's already set there.. nice OS indeed
That's a known limitation. Currently only works on UEFI (as stated in the repo). I'll add legacy support for VMs eventually, but I don't like using grub that much so it's not my default bootloader (and I dont' think I'm ever going to actually install this to 15+ year old hardware anyways)
@@librephoenix How about that nix-command. It simply does not work the way it's shown in the video. At least not with 23.11. It complains that "use "--extra-experimental-features nix-command" to override. but that command already includes that.
and this is why i switched to nixos. i sometimes need to have stuff synced up with multiple machines, and then i saw nixos. i thought "no way it can just sync up my settings and apps with a single command", i was wrong. i like it here in nix land.
Would love a vid where you step through your config at a high level and explain some of the key parts. Some of the very high level concepts you already have vids on, but it would be nice to tie it all together and give beginners a better idea of how they can fork your config and maybe make it more customized to them.
Awesome! Could you make a video on how to manage the configs with GitHub?
This is awesome. The one hangup for me on doing something similar is I need to get the Nix-SOPS key copied to the right place. iirc you don't have any kind of secret management in your config currently, but if you do, would love to see a video on which approach you chose.
I've been eyeing agenix for a while, but haven't tried setting it up yet. I'll definitely check out sops-nix as well though!
yep, this is definitely my end goal with nixos. cool video
Incredible! NixOS truly is something
it can be overwhelming though
This oneliner doesn't work though. You can install many other OSs with single command as well that actually work
The point of this one-liner is that it installs a fully configured system in one step. Everything is already personalized and setup, with settings, themes, etc. pulled from the repository. There is not another OS that does this.
@@koye4427 Yes, but only in theory. In practise it does not work.
@@abbcc555 no ,it works 99%. I already have reinstalled remotely three times today. just make sure to use flakes to ensure reproducibility. I even made a script to automatically generate initrd ssh keys,secure boot keys. Only thing I know that can't be configured declaratively is firefox extensions config. Everything else works. You can even make it automatically pirate games, if that's your thing
How is home manager bootsrapped to the system?
A video on getting this setup with an Nvidia card would be great!
It all worked just as this shows. The only problem for me was the screen size. So weird, just the edges of the screen are not visible. I tried adjusting this on monitor code set up on hyprland but still it remains. Great work!
The most waited vid !! thanks
This is really nice! But because I am pretty new to NixOS I do not understand how your command installs specific stuff depending on the system? In your flake.nix there is a hard coded systemSettings.profile var. Do you change this variable in git before installing a system with this one command or is there a way to do this dynamically, e.g. based on the hostname? Like when the hostname is nixos take this path and if it is e.g. desktop do that things?
wow.. cool... i never installed nixos again after i switched over first time.. i am bookmarking this for the future..
btw, You should blur the bar...
Sir i ran this command on fresh nixos no desktop installation and got an error in the end cant remember what it was but after reboot i got sddm and after login itw as fresh hyprland and cont open kiyty or any other keybinds only working keybind was to logout am i misisng somrthing? I just wnat a completely working system and want to learn it as i use it 😅
Could you pass your git url into nix install to get this installed straight from the live ISO? Instead of doing a minimal install and then running it?
Haven't figured that out yet, but I'd definitely like to figure that out in the future!
@@librephoenix It can be achieved using a tool from the nix-community called disko
I have already made a small install script that I curl pipe and when run it asks for my nix flake and disk device,
it will partition everything, install nixos, generate hardware-configuration and install everything according to the flake
Good morning world
your tutorials are so amazing! Did you ever encounter any issues with steam? I'm pretty new to nixos and I have this weird thing that in every game I play I have very heavy game freezes for the first couple of minutes I play a new game. Feels like there is something not running async that should be. It gets better over time because I think it caches the stuff that makes it lag but I didn't have this issues on any other distro so far and I was wondering if I'm missing something or if I have to apply any kernel modules or stuff like that. Maybe you are willing to make a gaming related video to show some tweaks for that?
As far as I can remember, this might be due to the option "Allow background processing of Vulkan shaders" being active. Instead, you should disable that and activate "Enable Shader Pre-caching". The options can be found in the Steam Settings under "Downloads". AFAIK, this will sometimes even just download "ready shaders" from the Steam Servers, however it should be noted that the first time starting a game after updating it, starting up might take a bit longer than usual.
+10 Respect.
I was trying to install Doom-Emacs and didn't see a video on it. If you haven't done it, can you make one to show how to install it, if you have, can you please direct me to it?! Thanks for getting me this far!!
Glad you've found the videos helpful!
I unfortunately haven't done a Nix Doom Emacs video yet, mainly because the way I have my Doom Emacs setup is slightly convoluted. I definitely want to make a video about it soon though!
In any case, I use nix-doom-emacs (github.com/nix-community/nix-doom-emacs) and here's my full config if you want to see how I get mine setup; the Nix Integration part is probably most important (github.com/librephoenix/nixos-config/blob/main/user/app/doom-emacs/doom.org). Though, tldr about the convoluted part: it won't work with emacs29-pgtk (which is what works best on wayland) unless you patch nixpkgs (github.com/librephoenix/nixos-config/tree/main/patches; github.com/librephoenix/nixos-config/blob/main/flake.nix#L47) and override nix-straight with another patch (github.com/librephoenix/nixos-config/blob/main/flake.nix#L156).
so that command trigger install.sh or every .sh in root directory?
It essentially just calls install.sh, which in turn also calls harden.sh (for some slight improved security on system files stationed inside the home directory). More on how that works in a future video though!
@@librephoenix i check your repo and implement your concept. its work in my flake. thanks 😊
quick tip for anyone trying this. this is not end all be all script, this will not make your system look like his. in my test after running this it freezes in "Reached target Multi-User System." so for demonstration purposes this is cool and all, but by no means usable.
Just as a heads up if anyone wants to copy the command that's over github, the command has a typo. It's supposed to be "nix run", not "nix-run"
Idk if there is any other typo or fix cause I'm just trying to test it myself, please tell me if it worked for you!
Thanks for catching the typo(s)!
@@librephoenix the command is broken in multiple ways. "nixos you must set the option boot.loader.grub.devices or boot.loader.grub.mirroredBoots to make system bootable" also it doesn't accept nix-command, it says it wants it exactly the way it's already set there.. nice OS indeed
That's a known limitation. Currently only works on UEFI (as stated in the repo). I'll add legacy support for VMs eventually, but I don't like using grub that much so it's not my default bootloader (and I dont' think I'm ever going to actually install this to 15+ year old hardware anyways)
@@librephoenix How about that nix-command. It simply does not work the way it's shown in the video. At least not with 23.11. It complains that "use "--extra-experimental-features nix-command" to override. but that command already includes that.
@@abbcc555 yes I'm confused about that part as well since the "--extra-experimental-features" is already set, not sure why the shell is complaining.
I've done something similar too!
Mine uses "curl [domain]/install_nix | sh" to remain very short!
oh thats sound interesting do u mind sharing a repo :D?