From f26936704fdcbbb59b1098af08687f448a62a432 Mon Sep 17 00:00:00 2001 From: Alexander Szczepanski Date: Thu, 28 Nov 2024 10:56:04 +0100 Subject: [PATCH] MacBook.local-2024-11-28-10-56-04 --- {machine => backup}/homeserver.nix | 0 {machine => backup}/raspberrypi.nix | 0 {machine => backup}/thinkpad.nix | 0 configs/common.nix | 4 +-- flake.lock | 21 +++++++++++++ flake.nix | 19 ++++++++++++ machine/desktop/configuration.nix | 6 ++-- machine/framework/configuration.nix | 4 +-- machine/macbook/configuration.nix | 30 +++++++++++++++++++ machine/mini/configuration.nix | 4 +-- machine/nixos-virtualbox/configuration.nix | 2 +- machine/nixos-vm/configuration.nix | 8 ++--- machine/vps-arm/configuration.nix | 2 +- .../secrets-desktop.yaml | 0 .../secrets-framework.yaml | 0 .../secrets-mini.yaml | 0 .../secrets-vps-arm.yaml | 0 secrets.yaml => secrets/secrets.yaml | 0 18 files changed, 85 insertions(+), 15 deletions(-) rename {machine => backup}/homeserver.nix (100%) rename {machine => backup}/raspberrypi.nix (100%) rename {machine => backup}/thinkpad.nix (100%) create mode 100644 machine/macbook/configuration.nix rename secrets-desktop.yaml => secrets/secrets-desktop.yaml (100%) rename secrets-framework.yaml => secrets/secrets-framework.yaml (100%) rename secrets-mini.yaml => secrets/secrets-mini.yaml (100%) rename secrets-vps-arm.yaml => secrets/secrets-vps-arm.yaml (100%) rename secrets.yaml => secrets/secrets.yaml (100%) diff --git a/machine/homeserver.nix b/backup/homeserver.nix similarity index 100% rename from machine/homeserver.nix rename to backup/homeserver.nix diff --git a/machine/raspberrypi.nix b/backup/raspberrypi.nix similarity index 100% rename from machine/raspberrypi.nix rename to backup/raspberrypi.nix diff --git a/machine/thinkpad.nix b/backup/thinkpad.nix similarity index 100% rename from machine/thinkpad.nix rename to backup/thinkpad.nix diff --git a/configs/common.nix b/configs/common.nix index 74ab008..dd49bf1 100644 --- a/configs/common.nix +++ b/configs/common.nix @@ -75,7 +75,7 @@ }; sops = { - defaultSopsFile = lib.mkDefault ../secrets.yaml; + defaultSopsFile = lib.mkDefault ../secrets/secrets.yaml; validateSopsFiles = true; age = { sshKeyPaths = ["/persist/etc/ssh/ssh_host_ed25519_key"]; @@ -86,7 +86,7 @@ secrets = { hashedPassword = { neededForUsers = true; - sopsFile = ../secrets.yaml; + sopsFile = ../secrets/secrets.yaml; }; }; }; diff --git a/flake.lock b/flake.lock index 5215eed..815ab94 100644 --- a/flake.lock +++ b/flake.lock @@ -174,6 +174,26 @@ "type": "github" } }, + "nix-darwin": { + "inputs": { + "nixpkgs": [ + "nixpkgs-unstable" + ] + }, + "locked": { + "lastModified": 1732603785, + "narHash": "sha256-AEjWTJwOmSnVYsSJCojKgoguGfFfwel6z/6ud6UFMU8=", + "owner": "LnL7", + "repo": "nix-darwin", + "rev": "6ab87b7c84d4ee873e937108c4ff80c015a40c7a", + "type": "github" + }, + "original": { + "owner": "LnL7", + "repo": "nix-darwin", + "type": "github" + } + }, "nix-github-actions": { "inputs": { "nixpkgs": [ @@ -252,6 +272,7 @@ "home-manager": "home-manager_2", "impermanence": "impermanence", "kwin-effects-forceblur": "kwin-effects-forceblur", + "nix-darwin": "nix-darwin", "nixos-hardware": "nixos-hardware", "nixpkgs-unstable": "nixpkgs-unstable", "sops-nix": "sops-nix" diff --git a/flake.nix b/flake.nix index 29491ff..3aa5afe 100644 --- a/flake.nix +++ b/flake.nix @@ -28,6 +28,11 @@ url = "github:TamtamHero/fw-fanctrl/packaging/nix"; inputs.nixpkgs.follows = "nixpkgs-unstable"; }; + + nix-darwin = { + url = "github:LnL7/nix-darwin"; + inputs.nixpkgs.follows = "nixpkgs-unstable"; + }; }; outputs = { @@ -40,6 +45,7 @@ nixpkgs-unstable, sops-nix, impermanence, + nix-darwin, ... } @ inputs: let inherit (self) outputs; @@ -121,5 +127,18 @@ ]; }; }; + + darwinConfigurations."MacBook" = nix-darwin.lib.darwinSystem { + system = "aarch64-darwin"; + modules = [ + ./machine/macbook/configuration.nix + # home-manager.darwinModules.home-manager + # { + # home-manager.useGlobalPkgs = true; + # home-manager.useUserPackages = true; + # home-manager.users.omerxx = import ./home.nix; + # } + ]; + }; }; } diff --git a/machine/desktop/configuration.nix b/machine/desktop/configuration.nix index aa8f43d..905a30b 100644 --- a/machine/desktop/configuration.nix +++ b/machine/desktop/configuration.nix @@ -22,7 +22,7 @@ in { ]; sops = { - defaultSopsFile = ../../secrets.yaml; + defaultSopsFile = ../../secrets/secrets.yaml; validateSopsFiles = true; age = { sshKeyPaths = ["/persist/etc/ssh/ssh_host_ed25519_key"]; @@ -32,7 +32,7 @@ in { secrets = { borg-key = { - sopsFile = ../../secrets-desktop.yaml; + sopsFile = ../../secrets/secrets-desktop.yaml; owner = config.users.users.alex.name; group = config.users.users.alex.group; }; @@ -158,7 +158,7 @@ in { graphics = { enable = true; enable32Bit = true; - extraPackages = with pkgs; [ rocmPackages.clr.icd ]; + extraPackages = with pkgs; [rocmPackages.clr.icd]; }; # cpu.x86.msr = { diff --git a/machine/framework/configuration.nix b/machine/framework/configuration.nix index 9e23a6b..0a6f6f3 100644 --- a/machine/framework/configuration.nix +++ b/machine/framework/configuration.nix @@ -21,7 +21,7 @@ in { ]; sops = { - defaultSopsFile = ../../secrets.yaml; + defaultSopsFile = ../../secrets/secrets.yaml; validateSopsFiles = true; age = { sshKeyPaths = ["/persist/etc/ssh/ssh_host_ed25519_key"]; @@ -31,7 +31,7 @@ in { secrets = { borg-key = { - sopsFile = ../../secrets-framework.yaml; + sopsFile = ../../secrets/secrets-framework.yaml; owner = config.users.users.alex.name; group = config.users.users.alex.group; }; diff --git a/machine/macbook/configuration.nix b/machine/macbook/configuration.nix new file mode 100644 index 0000000..8baecd2 --- /dev/null +++ b/machine/macbook/configuration.nix @@ -0,0 +1,30 @@ +{ + config, + pkgs, + lib, + outputs, + inputs, + ... +}: { + nixpkgs.hostPlatform = "aarch64-darwin"; + + system.defaults = { + dock.autohide = true; + dock.mru-spaces = false; + # finder.AppleShowAllExtensions = true; + # finder.FXPreferredViewStyle = "clmv"; + screencapture.location = "~/Pictures/screenshots"; + screensaver.askForPasswordDelay = 10; + }; + + services.nix-daemon.enable = true; + nix.settings.experimental-features = "nix-command flakes"; + + nix = { + configureBuildUsers = true; + useDaemon = true; + }; + + homebrew.enable = true; + system.stateVersion = 5; +} diff --git a/machine/mini/configuration.nix b/machine/mini/configuration.nix index 12c9176..7180e78 100644 --- a/machine/mini/configuration.nix +++ b/machine/mini/configuration.nix @@ -13,7 +13,7 @@ ]; sops = { - defaultSopsFile = ../../secrets.yaml; + defaultSopsFile = ../../secrets/secrets.yaml; validateSopsFiles = true; age = { sshKeyPaths = ["/persist/etc/ssh/ssh_host_ed25519_key"]; @@ -23,7 +23,7 @@ secrets = { borg-key = { - sopsFile = ../../secrets-mini.yaml; + sopsFile = ../../secrets/secrets-mini.yaml; owner = config.users.users.alex.name; group = config.users.users.alex.group; }; diff --git a/machine/nixos-virtualbox/configuration.nix b/machine/nixos-virtualbox/configuration.nix index b878248..bac55db 100644 --- a/machine/nixos-virtualbox/configuration.nix +++ b/machine/nixos-virtualbox/configuration.nix @@ -13,7 +13,7 @@ ]; sops = { - defaultSopsFile = ../../secrets.yaml; + defaultSopsFile = ../../secrets/secrets.yaml; validateSopsFiles = true; age = { sshKeyPaths = ["/persist/etc/ssh/ssh_host_ed25519_key"]; diff --git a/machine/nixos-vm/configuration.nix b/machine/nixos-vm/configuration.nix index 70b2496..5db9c11 100755 --- a/machine/nixos-vm/configuration.nix +++ b/machine/nixos-vm/configuration.nix @@ -34,10 +34,10 @@ # replicates the default behaviour. networking.useDHCP = false; -# hardware.parallels = { -# enable = true; - # autoMountShares = true; -# }; + # hardware.parallels = { + # enable = true; + # autoMountShares = true; + # }; services = { k3s = { diff --git a/machine/vps-arm/configuration.nix b/machine/vps-arm/configuration.nix index 8da6cb1..176ad50 100644 --- a/machine/vps-arm/configuration.nix +++ b/machine/vps-arm/configuration.nix @@ -26,7 +26,7 @@ in { ]; sops = { - defaultSopsFile = ../../secrets-vps-arm.yaml; + defaultSopsFile = ../../secrets/secrets-vps-arm.yaml; secrets = { borg-key = { owner = config.users.users.alex.name; diff --git a/secrets-desktop.yaml b/secrets/secrets-desktop.yaml similarity index 100% rename from secrets-desktop.yaml rename to secrets/secrets-desktop.yaml diff --git a/secrets-framework.yaml b/secrets/secrets-framework.yaml similarity index 100% rename from secrets-framework.yaml rename to secrets/secrets-framework.yaml diff --git a/secrets-mini.yaml b/secrets/secrets-mini.yaml similarity index 100% rename from secrets-mini.yaml rename to secrets/secrets-mini.yaml diff --git a/secrets-vps-arm.yaml b/secrets/secrets-vps-arm.yaml similarity index 100% rename from secrets-vps-arm.yaml rename to secrets/secrets-vps-arm.yaml diff --git a/secrets.yaml b/secrets/secrets.yaml similarity index 100% rename from secrets.yaml rename to secrets/secrets.yaml