❄️ 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:
nixosConfigurations
packages
devShells
-
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-features
enabled 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-select
to present TUI to select fromdiskoConfigurations
to pass to installer. -
packages.${system}.bootstrap-new-system
to build new system config from existingnixosConfigurations
and runtime data. -
packages.${system}.bootstrap-secrets
to transform existingnixosConfigurations
to use combination of newly-generated and inherited secret values.
- Nix
Other types of Nix-based configurations to define.
-
nixOnDroidConfigurations
-nix-on-droid
configurations for custom Nix-based environment in Android / Termux.
-
openwrtConfigurations
- OpenWRT custom router OS configurations (See:./docs/configs/openwrt.md
) -
robotnixConfigurations
-robotnix
configurations for custom Android OS images.
-
diskoConfigurations
-disko
configurations for hard disk layouts.
-
nixvimConfigurations
-nixvim
configurations for Neovim configs.- Modularized to exist as:
- Standalone Neovim wrapper
- NixOS profile
- home-manager profile.
- Modularized to exist as:
-
codiumConfigurations
akin tonixvimConfigurations, but for VSCodium.
-
helixConfigurations
akin tonixvimConfigurations, but for Helix.
-
editorConfigurations
akin 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
homeConfigurations
as a composition ofdevShells