[!Important]
New Changes Soon.
[!note]
I have written a blog post on setting up Nixos. And for those who are interested in learning about ricing itself, I have a seperate blog post about is. Checkout the Ricing Guide (btw it also got featured in the official unixporn wiki).
The "Textbook" Definition - A Linux distribution based on the Nix package manager and guided by Nix's core principles.
NixOS is a unique distro. Unlike other distros where you store your configurations in ~/.config/
and binaries in ~/.local/bin
, nix takes a different approach. Instead you can declaratively define your configuration in .nix
files. These nix files can be used to install and configure programs, services, setting up things like xresources, etc. This approach provides a modular system that enables users to share, reuse, and modify their configurations easily.
Sounds Confusing right? Dont worry here let me simplify some things for you.
derivs/
phocus.nix
...
home/
namish/
home.nix
...
shared/
...
hosts/
frostbyte/
hardware-configuration.nix
configuration.nix
shared/
default.nix
overlays/
default.nix
patches/
pkgs/
flake.nix
nixpkgs.nix
shell.nix
This is the general structure of my dotfiles. I am using a beta feature called flakes
and thats the reason why you will sea a file called flake.nix
. Let us start with that!
flake.nix
inputs
and outputs
. Inputs are Nix dependencies that a flake needs to be built. Each input in the set can be pulled from various sources, such as github, generic git repositories, and even from your local filesystem. All of these inputs are saved in the flake.lock
file. Flake outputs are what a flake produces as part of its build. In this case it produces a NixOS configuration.hosts/ folder
frostbyte
folder is the main one where my configuration is stored, the shared
one contains configurations that would be same for all machines that I am gonna own.home/ folder
shared
contains configurations that would be same for all users.shared
contains things like bin files, colors, gtkThemesderivations
derivs/program.nix
and call it in overlays/default.nix
overlays
[!Warning]
by no means are the above things I say 100% the truth. I maybe wrong somewhere, if you spot a mistake kindly prompt me to correct it
NO. NixOS is hard.Don't be impatient and jump with the hype train. Nix files are complicated to make and can cause high brain damage. I recommend you to start with the nix package manager or using NixOS in a virtual machine instead of ripping apart your hard disk.
If you that determined, here are some resources to start out
Aura |
---|
Freosan |
---|
Blizzard (Do not use) |
---|
Glacier |
---|
Kawai |
---|
Vercel |
---|
[!NOTE]
For screenshots, go to each rice's respective branch. Also I am aware of the fact that none of the rices are themed like they are named. They are all named like that because the words are related to winter / snow which means nix. To get Basic dotfiles, go to the simplefiles branch.
This is a very minimal dwm rice I made to quit ricing. This build mainly contains useful patches like xrdb, swallow, awesomebar,scratchpads, etc. The way of patching is so shit with nixos because I had to manually modify each patch to not conflict with the other.
focusflake |
---|
Firefox |
---|
Spicetify |
---|
Vencord |
---|
Phocus |
---|
Neofetch |
---|
These are the chads which helped me throughout my short but crazy nix journey!
And of course credits for the guys for their help with my awesome config!
People from who I have stolen taken inspiration for my design.
Feel free to use any code from any branch as long as you will credit me