diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..c57f52d --- /dev/null +++ b/.env.example @@ -0,0 +1,4 @@ +TARGET_USER=firstlast +SYSTEM_STATE_VERSION=6 +SYSTEM_PRIMARY_USER=admin +SYSTEM_ARCH=aarch64-darwin \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2eea525 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.env \ No newline at end of file diff --git a/configuration.nix b/configuration.nix index 5694a33..70732cb 100644 --- a/configuration.nix +++ b/configuration.nix @@ -1,18 +1,23 @@ { config, pkgs, ... }: +let + system = builtins.getEnv "SYSTEM_ARCH"; + stateVersion = builtins.getEnv "SYSTEM_STATE_VERSION"; + primaryUser = builtins.getEnv "SYSTEM_PRIMARY_USER"; +in { imports = [ ./cli-tools.nix ]; - nixpkgs.hostPlatform = "aarch64-darwin"; + nixpkgs.hostPlatform = system; nix.enable = false; nix.settings.experimental-features = "nix-command flakes"; - system.stateVersion = 6; - system.primaryUser = "briannelson"; + system.stateVersion = stateVersion; + system.primaryUser = primaryUser; environment.systemPackages = with pkgs; [ ffmpeg diff --git a/flake.nix b/flake.nix index a6889ba..4dbcfc2 100644 --- a/flake.nix +++ b/flake.nix @@ -8,20 +8,24 @@ nix-homebrew.url = "github:zhaofengli/nix-homebrew"; }; - outputs = inputs@{ self, nix-darwin, nixpkgs, nix-homebrew, ... }: { - darwinConfigurations."briannelson" = nix-darwin.lib.darwinSystem { - modules = [ - ./configuration.nix - nix-homebrew.darwinModules.nix-homebrew - { - nix-homebrew = { - enable = true; - enableRosetta = true; - user = "briannelson"; - autoMigrate = true; - }; - } - ]; + outputs = inputs@{ self, nix-darwin, nixpkgs, nix-homebrew, ... }: + let + primaryUser = builtins.getEnv "SYSTEM_PRIMARY_USER"; + in + { + darwinConfigurations.primaryUser = nix-darwin.lib.darwinSystem { + modules = [ + ./configuration.nix + nix-homebrew.darwinModules.nix-homebrew + { + nix-homebrew = { + enable = true; + enableRosetta = true; + user = "briannelson"; + autoMigrate = true; + }; + } + ]; + }; }; - }; } \ No newline at end of file