Preview of my MacOS host "snowmalus"
.
├── hm
│ ├── shiverthorn
│ └── snowmalus
├── hosts
│ ├── shiverthorn
│ ├── snowmalus
│ └── winterberry
└── modules
├── shiverthorn
├── snowmalus
└── winterberryI always build my systems starting with the hosts folder first. This is where I define systems just to get them deployable so I can configure them at a greater level later.
I define the rest of the system in the modules folder, such as the environment and programs.
For any user-level configurations, I use the hm folder to define Home Manager options.
Additionally, I configure my sops secrets in a private repo.
This configuration is not static and will change. Generally, I try to separate the configurations of each system as much as possible for simplicity, but I do want to have some shared module in the future.
This is mostly instructions just for my future self. Instructions remain largely incomplete as of now.
Caution
Running these will most definitely NOT work for you. My configurations are specifically designed to work on my systems.
-
Install lix
-
Clone repo to /etc/nix-darwin
nix shell --extra-experimental-features 'nix-command flakes' nixpkgs#git nixpkgs#helix git clone git@github.com:Soikr/flakedots.git /etc/nix-darwin cd /etc/nix-darwin
-
Set up nix-darwin and apply configuration
sudo nix run nix-darwin/master#darwin-rebuild -- switch .#snowmalus
-
Intended to be deployable through nixos-anywhere
-
Must passthrough disk-encryption-key to /tmp/secret.key
-
Define --extra-files to push ssh keys to /persist/etc/ssh/
-
- Configuration halted for now
I am trying to move to citing where I found what in some of my more complicated configurations, this resource list is somewhat outdated now that it encompasses NixOS systems as well.
Code formatted with Alejandra
Thanks for all the public github repos and software (I couldn't list every resource here) <3
