diff --git a/checks/default.nix b/checks/default.nix new file mode 100644 index 0000000..5b1e51e --- /dev/null +++ b/checks/default.nix @@ -0,0 +1,20 @@ +{ + system, + pre-commit-hooks, + pkgs, +}: +{ + pre-commit-check = pre-commit-hooks.lib.${system}.run { + src = ./.; + hooks = { + nil.enable = true; + nixfmt-rfc-style.enable = true; + prettier = { + enable = true; + settings = { + prose-wrap = "always"; + }; + }; + }; + }; +} diff --git a/darwinConfigurations/default.nix b/darwinConfigurations/default.nix new file mode 100644 index 0000000..b5944ca --- /dev/null +++ b/darwinConfigurations/default.nix @@ -0,0 +1,28 @@ +{ + inputs, + nix-darwin, + home-manager, + ... +}: +{ + "MacBook-Pro-von-Michael" = nix-darwin.lib.darwinSystem { + system = "aarch64-darwin"; + modules = [ + home-manager.darwinModule + hosts/personal-macbook-pro.nix + ]; + specialArgs = { + inherit inputs; + }; + }; + "N7R221P6V5" = nix-darwin.lib.darwinSystem { + system = "aarch64-darwin"; + modules = [ + home-manager.darwinModule + hosts/mozilla-macbook-pro.nix + ]; + specialArgs = { + inherit inputs; + }; + }; +} diff --git a/darwin/hosts/mozilla-macbook-pro.nix b/darwinConfigurations/hosts/mozilla-macbook-pro.nix similarity index 100% rename from darwin/hosts/mozilla-macbook-pro.nix rename to darwinConfigurations/hosts/mozilla-macbook-pro.nix diff --git a/darwin/hosts/personal-macbook-pro.nix b/darwinConfigurations/hosts/personal-macbook-pro.nix similarity index 100% rename from darwin/hosts/personal-macbook-pro.nix rename to darwinConfigurations/hosts/personal-macbook-pro.nix diff --git a/darwin/modules/fonts.nix b/darwinConfigurations/modules/fonts.nix similarity index 100% rename from darwin/modules/fonts.nix rename to darwinConfigurations/modules/fonts.nix diff --git a/darwin/modules/home-manager.nix b/darwinConfigurations/modules/home-manager.nix similarity index 100% rename from darwin/modules/home-manager.nix rename to darwinConfigurations/modules/home-manager.nix diff --git a/darwin/modules/nix.nix b/darwinConfigurations/modules/nix.nix similarity index 100% rename from darwin/modules/nix.nix rename to darwinConfigurations/modules/nix.nix diff --git a/darwin/modules/packages.nix b/darwinConfigurations/modules/packages.nix similarity index 100% rename from darwin/modules/packages.nix rename to darwinConfigurations/modules/packages.nix diff --git a/darwin/modules/shells.nix b/darwinConfigurations/modules/shells.nix similarity index 100% rename from darwin/modules/shells.nix rename to darwinConfigurations/modules/shells.nix diff --git a/flake.nix b/flake.nix index 724872f..d695ff0 100644 --- a/flake.nix +++ b/flake.nix @@ -1,32 +1,41 @@ { inputs = { flake-utils.url = "github:numtide/flake-utils"; + nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; + + pre-commit-hooks.url = "github:cachix/git-hooks.nix"; + nix-darwin = { url = "github:lnl7/nix-darwin"; inputs.nixpkgs.follows = "nixpkgs"; }; + home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; + nixinate = { url = "github:matthewcroughan/nixinate"; inputs.nixpkgs.follows = "nixpkgs"; }; + cyberdream-theme = { url = "github:scottmckendry/cyberdream.nvim"; flake = false; }; + neovim-nightly-overlay = { url = "github:nix-community/neovim-nightly-overlay"; inputs.nixpkgs.follows = "nixpkgs"; }; + nixpkgs-firefox-darwin = { url = "github:bandithedoge/nixpkgs-firefox-darwin"; inputs.nixpkgs.follows = "nixpkgs"; }; - pre-commit-hooks.url = "github:cachix/git-hooks.nix"; + }; outputs = @@ -36,54 +45,14 @@ nixinate, nix-darwin, home-manager, + pre-commit-hooks, self, ... }@inputs: { - darwinConfigurations = { - "MacBook-Pro-von-Michael" = nix-darwin.lib.darwinSystem { - system = "aarch64-darwin"; - modules = [ - home-manager.darwinModule - ./darwin/hosts/personal-macbook-pro.nix - ]; - specialArgs = { - inherit inputs; - }; - }; - "N7R221P6V5" = nix-darwin.lib.darwinSystem { - system = "aarch64-darwin"; - modules = [ - home-manager.darwinModule - ./darwin/hosts/mozilla-macbook-pro.nix - ]; - specialArgs = { - inherit inputs; - }; - }; - }; + darwinConfigurations = import ./darwinConfigurations { inherit inputs nix-darwin home-manager; }; - nixosConfigurations = - let - lib = nixpkgs.lib; - hostConfigurations = lib.filesystem.listFilesRecursive ./nixos/hosts; - in - lib.mergeAttrsList ( - builtins.map ( - hostConfiguration: - let - nixosConfiguration = nixpkgs.lib.nixosSystem { - modules = [ hostConfiguration ]; - specialArgs = { - make-disk-image = import "${nixpkgs}/nixos/lib/make-disk-image.nix"; - }; - }; - in - { - ${nixosConfiguration.config.networking.hostName} = nixosConfiguration; - } - ) hostConfigurations - ); + nixosConfigurations = import ./nixosConfigurations { inherit nixpkgs; }; # apps = nixinate.nixinate.aarch64-linux self; } @@ -93,24 +62,7 @@ pkgs = import nixpkgs { inherit system; }; in rec { - checks = { - pre-commit-check = inputs.pre-commit-hooks.lib.${system}.run { - src = ./.; - hooks = { - nixfmt = { - enable = true; - package = pkgs.nixfmt-rfc-style; - }; - nil.enable = true; - prettier = { - enable = true; - settings = { - prose-wrap = "always"; - }; - }; - }; - }; - }; + checks = import ./checks { inherit system pre-commit-hooks pkgs; }; devShells = { default = pkgs.mkShell { diff --git a/nixosConfigurations/default.nix b/nixosConfigurations/default.nix new file mode 100644 index 0000000..b356155 --- /dev/null +++ b/nixosConfigurations/default.nix @@ -0,0 +1,21 @@ +{ nixpkgs, ... }: +let + lib = nixpkgs.lib; + hostConfigurations = lib.filesystem.listFilesRecursive ./hosts; +in +lib.mergeAttrsList ( + builtins.map ( + hostConfiguration: + let + nixosConfiguration = nixpkgs.lib.nixosSystem { + modules = [ hostConfiguration ]; + specialArgs = { + make-disk-image = import "${nixpkgs}/nixos/lib/make-disk-image.nix"; + }; + }; + in + { + ${nixosConfiguration.config.networking.hostName} = nixosConfiguration; + } + ) hostConfigurations +) diff --git a/nixos/hosts/rack-01/k8s-master-nuc-01.nix b/nixosConfigurations/hosts/rack-01/k8s-master-nuc-01.nix similarity index 100% rename from nixos/hosts/rack-01/k8s-master-nuc-01.nix rename to nixosConfigurations/hosts/rack-01/k8s-master-nuc-01.nix diff --git a/nixos/modules/default.nix b/nixosConfigurations/modules/default.nix similarity index 100% rename from nixos/modules/default.nix rename to nixosConfigurations/modules/default.nix diff --git a/nixos/modules/format/raw-efi.nix b/nixosConfigurations/modules/format/raw-efi.nix similarity index 100% rename from nixos/modules/format/raw-efi.nix rename to nixosConfigurations/modules/format/raw-efi.nix diff --git a/nixos/modules/hardware/intel-nuc.nix b/nixosConfigurations/modules/hardware/intel-nuc.nix similarity index 100% rename from nixos/modules/hardware/intel-nuc.nix rename to nixosConfigurations/modules/hardware/intel-nuc.nix diff --git a/nixos/modules/nix.nix b/nixosConfigurations/modules/nix.nix similarity index 100% rename from nixos/modules/nix.nix rename to nixosConfigurations/modules/nix.nix diff --git a/nixos/modules/roles/k8s-master.nix b/nixosConfigurations/modules/roles/k8s-master.nix similarity index 100% rename from nixos/modules/roles/k8s-master.nix rename to nixosConfigurations/modules/roles/k8s-master.nix diff --git a/nixos/modules/ssh.nix b/nixosConfigurations/modules/ssh.nix similarity index 100% rename from nixos/modules/ssh.nix rename to nixosConfigurations/modules/ssh.nix diff --git a/nixos/modules/users.nix b/nixosConfigurations/modules/users.nix similarity index 100% rename from nixos/modules/users.nix rename to nixosConfigurations/modules/users.nix