diff --git a/src/development_environment.md b/src/development_environment.md index 3f4a651..7448394 100644 --- a/src/development_environment.md +++ b/src/development_environment.md @@ -91,6 +91,63 @@ security.wrappers._dbxroot = { **Please note:** Please fix these paths, they assume you have cloned `dogeboxd` into the users home directory. If you cloned them elsewhere, update the paths. **Please note:** There are multiple instances of `$USER` that need replacing, please update all of them. +#### Additionally, enable these necessary experimental features: + +``` +nix.settings.experimental-features = [ "nix-command" "flakes" ]; +``` + +#### Example modified configuration file (specific to Macos+Orbstack users) + +This is how a configuration.nix file appears for a developer running Orbstack on Macos. + +``` +{ config, pkgs, modulesPath, ... }: + +{ + imports = + [ + # Include the default lxd configuration. + "${modulesPath}/virtualisation/lxc-container.nix" + # Include the container-specific autogenerated configuration. + ./incus.nix + # Include the OrbStack-specific configuration. + ./orbstack.nix + # Include the Dogebox specific configuration + "/home/pat/data/nix/dogebox.nix" + ]; + + # Enable these necessary experimental features + nix.settings.experimental-features = [ "nix-command" "flakes" ]; + + # Add Vim (optional) + environment.systemPackages = [ pkgs.git pkgs.vim ]; + + security.wrappers.dbx = { + source = "/Users/pat/dev/dogeboxd/build/dbx"; + owner = "pat"; + group = "users"; + }; + + security.wrappers.dogeboxd = { + source = "/Users/pat/dev/dogeboxd/build/dogeboxd"; + capabilities = "cap_net_bind_service=+ep"; + owner = "pat"; + group = "users"; + }; + + security.wrappers._dbxroot = { + source = "/Users/pat/dev/dogeboxd/build/_dbxroot"; + owner = "root"; + group = "root"; + setuid = true; + }; + + users.users.pat = { + ... // unchanged + } + ``` + #### Rebuild Once you've added the above, you can rebuild your VM to ensure it's in a proper state to execute everything.