Note
NixOS is not like any other Linux distributive. Declarative, Reproducible, Immutable and Atomic - this OS is another whole world, world full of wonders. ✨
- I've started using NixOS from January of 2024, and since then I've had itch to make something usefull for Nix community and NixOS in general. After 3 months I've came to idea of creating somehow not-private but yet usable NixOS configuration, that will be more readable and easier to understand for noobs (or newbiets xd).
- With this I've started dive into Nix, read more and more, find wonderful peoples inside this awesome community, learn more from them and with them. I've bringed few new users, I've helped some newbiets, and I proud of myself.
- But we don't end here! I'm polishing my configuration as much as I can, and hope that it's will help you start your journey in NixOS ❄️.
Warning
This is NixOS only repository and does not suitable for non-NixOS systems with Nix package manager, even tho flake.nix
have nixGL
and nix-darwin
!
In case you'll need only flake, home-manager stuff, or disko - wget
/ curl
it!
With 1st installation:
- Enter
nix-shell
with your desire text editor and git. - Clone this repo!
cd
into repo directory.- Edit
disko.nix
, more about disko here. 🪩 - Run
nix --experimental-features "nix-command flakes" run github:nix-community/disko -- --mode disko disk.nix
to partition your disks! - Mount disks, I hope this isn't hard part for you.
- Now
nixos-generate-config --root /mnt
- Open new terminal / tty session or use tmux, you'll need to copy some info from
hw-conf.nix
that nixos generates. - Paste 'em inside new configuration's modules.
- Configure existing modules according to your needs.
- Add new modulse in case you'll find them necessary.
- Edit
flake.nix
,home.nix
and deletedisko.nix
, with unused modules. - Triple-check everything.
- And now we roll! Remove files inside generated
/mnt/etc/nixos
, not the directory itself. - Move new configuration inside
/mnt/etc/nixos
. - And you did it! After
nixos-install --flake /mnt/etc/nixos/.#hostname
and debugging some rookie mistakes you'll find youself with fresh shiny NixOS ❄️!
..or you can migrate from existing NixOS configuration:
- Enter
nix-shell
with your desire text editor and git. - Clone this repo!
cd
into repo directory.- Open new terminal, we need to copy your existing configuration from
/etc/nixos
. - But before transition, backup existing configuration,
mkdir /etc/nixbackup
andcp -r /etc/nixos /etc/nixbackup
. - Open your existing configuration.
- Paste needed options inside new configuration's modules.
- Configure existing modules according to your needs.
- Add new modulse in case you'll find them necessary.
- Edit
flake.nix
,home.nix
and deletedisko.nix
, with unused modules. - Triple-check everything.
- Delete existing files inside
/etc/nixos
. - Move new configuration inside
/etc/nixos
. - Use
nixos-rebuild test --flake /etc/nixos/.#
for debbugging! - After that -
nixos-rebuild boot --flake /etc/nixos/.# --upgrade-all
and reboot into your new NixOS ❄️!
Actual Wiki, as nixos.wiki isn't as useful as new one.
MyNixOS and NixOS Search basically same, but inside MyNixOS exist options like home-manger
.
Community page. REALLY nice ppls exist there.
TheMaxMur. This is funny how I bringed him in NixOS, and he became nixpkgs contributor, created actually good config. And he helps me alot, not only with NixOS config.
Askhat. Dude still listen to my schizo rave and tests my crazy ideas. Even forked me. XD
Kotudemo. He's like "i ain't do this" and creating own way. Also he's tested my first attemps, and now kotu is owning he's own repo with he's own config. And I'm helping him. :D
.. and to you. If you use my NixOS config - that means that I've spent time not in vain. You can fork it and gimme a star ⭐ in case you find yourself grateful.