Skip to content

Ladas552/Flake-Ocean

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nix

What is this?

This is my multi host, modular Nix config. It declares configs for different programs using Nix language, such as:

I also declare configuration as packages that you can try with nix run github:Ladas552/Flake-Ocean#app, replace app with:

Overview of things to note

Hosts

  • 2 NixOS hosts with Nvidia and Intel, and AMD APU on laptops. Both on ZFS and NixPort is using Impermanence
  • Nix-On-Droid on phone, even if unmantained, it still works
  • NixOS-WSL for Windows partition
  • NixVM for testing, you shouldn't use it unless testing breaking changes
  • NixIso for my portable NixOS image

Modular

I adopted Dendritic layout for my config. Making all files their own modules that I can import, and if module isn't imported, it doesn't exist. This way most of my config is fairy atomic and you can pop in and out modules as you wish.

Also I made custom.meta options on every host, and depending on host, different variables are used. Options defined in modules/flake-parts/options. And host variables are defined at imports.nix of every host.

I am still working on adding modularity to pkgs, probably make them all flake modules too

Docs

I write comments on things, that might explain certain ways of doing things, or leave not working options in comments for people to find. This is to not look up one thing twice, and just look at the nix file itself.

Also, I have Norg document, containing notes and TODO for the config, and folder /docs for containing more specific instructions.

I also plan on writing some blog posts about Nix, so stay tuned!

Name

Yes, it is a JoJo's reference

Credits

I take a lot of things from the internet and different configs too. So I credit people in comments to snippets that I stole.

If you want to check every person that I stole things from, go to my List of configs

Also for that one guy who switched to codeberg

Also this post from drupol was huge help in migrating my config to dendritic

Also, thanks to everyone in nix-community for being so awesome, wouldn't be there without ya