❄️ Welcome! ❄️
What do we have here?
- Work-in-progress set of NixOS configs.
- Catalog of bad decisions I have made throughout my Nix journey (refactor in progress).
- Collection of personal NixOS & home-manager profiles (each with varying degrees of maintainence).
- My personal NixOS configurations.
- Living document of my learning process with Nix & the many tragedies I have overcome.
If you are an end-user, you may find some stuff here that you find useful. You'll have to dig through the rest to find it.
As of now, this repo is only intended for personal use. Exported outputs are not intended to be consumed by other flakes. This may change eventually.
More documentation & information can be found in: ./docs
I have been going back-and-forth between using several Nix libs to organize my stuff. Still haven't settled on which I'd ultimately prefer to use, so there exists a lot of unused boilerplate specific to each framework I have messed around with.
These include:
divnix/std- Software development lifecycle framework for Nix.divnix/hive- Likestd, but for NixOS-related flake outputs.divnix/flops- POP libs for flake outputs.tao3k/omnibus- POP definitions for common flake outputs.numtide/flake-parts- Module system for flake outputs.nix-community/haumea- Loaders for Nix configurations.
Previously including:
nixosConfigurationspackagesdevShells
-
Start adding secrets encrypted with
sops-nix. -
Disko-ify my existing machines.
-
fw -
wyse -
fajita(possible to do withmobile-nixos?systemd-repart?)
-
-
Secure Boot on everything via
lanzaboote. -
Ephemeral configs via
impermanence. -
Custom NixOS installer image with:
- Nix
experimental-featuresenabled by default:nix-command,flakes,recursive-nix,ca-derivations. - Ready for full-disk-encryption & secure boot with resume from hibernate out of the box.
- Disko package pre-loaded.
-
packages.${system}.bootstrap-disko-selectto present TUI to select fromdiskoConfigurationsto pass to installer. -
packages.${system}.bootstrap-new-systemto build new system config from existingnixosConfigurationsand runtime data. -
packages.${system}.bootstrap-secretsto transform existingnixosConfigurationsto use combination of newly-generated and inherited secret values.
- Nix
Other types of Nix-based configurations to define.
-
nixOnDroidConfigurations-nix-on-droidconfigurations for custom Nix-based environment in Android / Termux.
-
openwrtConfigurations- OpenWRT custom router OS configurations (See:./docs/configs/openwrt.md) -
robotnixConfigurations-robotnixconfigurations for custom Android OS images.
-
diskoConfigurations-diskoconfigurations for hard disk layouts.
-
nixvimConfigurations-nixvimconfigurations for Neovim configs.- Modularized to exist as:
- Standalone Neovim wrapper
- NixOS profile
- home-manager profile.
- Modularized to exist as:
-
codiumConfigurationsakin tonixvimConfigurations, but for VSCodium. -
helixConfigurationsakin tonixvimConfigurations, but for Helix. -
editorConfigurationsakin tonixvimConfigurations, but abstracted to many editors.- Possible conversion util / lib.
- Kubernetes cluster from various machines.
- Migration of my Kubernetes manifests & Helm charts to Nix
- Netboot server & config images
- Binary cache & remote builders
- NUR repo & overlays
- Terranix configs
- Flakify
mobile-nixos/mobile-nixos - Genericize configuration options between Chromium & Firefox.
- LDAP directory trees as Nix config.
- GNOME apps missing from
nixpkgs
homeConfigurationsas a composition ofdevShells