From 849197142780954de9eca83ec2bce78a29c15297 Mon Sep 17 00:00:00 2001 From: lsoriano-mcm Date: Thu, 3 Jul 2025 20:45:15 -0500 Subject: [PATCH] FIX: darwin version now works! --- config.nix | 2 +- flake.lock | 495 +++++++++++++++++++++++++++++++++++++ flake.nix | 53 ++-- hosts/macos/darwin.nix | 10 +- modules/default/darwin.nix | 4 + modules/home/terminal.nix | 3 +- packages/kitty/home.nix | 9 +- 7 files changed, 548 insertions(+), 28 deletions(-) create mode 100644 flake.lock diff --git a/config.nix b/config.nix index e4e6252..ac2ed9b 100644 --- a/config.nix +++ b/config.nix @@ -2,7 +2,7 @@ myConfig = { essentials = { # !!! replace it with your own, else system might malfunction. - Username = "kenji"; + Username = "lsoriano"; }; general = { Terminal = { diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..463ef82 --- /dev/null +++ b/flake.lock @@ -0,0 +1,495 @@ +{ + "nodes": { + "darwin": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1751313918, + "narHash": "sha256-HsJM3XLa43WpG+665aGEh8iS8AfEwOIQWk3Mke3e7nk=", + "owner": "lnl7", + "repo": "nix-darwin", + "rev": "e04a388232d9a6ba56967ce5b53a8a6f713cdfcf", + "type": "github" + }, + "original": { + "owner": "lnl7", + "repo": "nix-darwin", + "type": "github" + } + }, + "devshell": { + "inputs": { + "nixpkgs": [ + "nixovim", + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1735644329, + "narHash": "sha256-tO3HrHriyLvipc4xr+Ewtdlo7wM1OjXNjlWRgmM7peY=", + "owner": "numtide", + "repo": "devshell", + "rev": "f7795ede5b02664b57035b3b757876703e2c3eac", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "devshell", + "type": "github" + } + }, + "flake-compat": { + "locked": { + "lastModified": 1733328505, + "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", + "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", + "revCount": 69, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" + } + }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1738453229, + "narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_2": { + "inputs": { + "nixpkgs-lib": [ + "nixovim", + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1738453229, + "narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_2": { + "inputs": { + "systems": "systems_2" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "git-hooks": { + "inputs": { + "flake-compat": [ + "nixovim", + "nixvim", + "flake-compat" + ], + "gitignore": "gitignore", + "nixpkgs": [ + "nixovim", + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1737465171, + "narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, + "gitignore": { + "inputs": { + "nixpkgs": [ + "nixovim", + "nixvim", + "git-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "home-manager": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1751578154, + "narHash": "sha256-7zfDzmaidDESMZpdmzK/+APeKN432CJuphHHETX88Ls=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "7044c3eced5319148c09fe9612659765b9297d4a", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "home-manager_2": { + "inputs": { + "nixpkgs": [ + "nixovim", + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1738878603, + "narHash": "sha256-fmhq8B3MvQLawLbMO+LWLcdC2ftLMmwSk+P29icJ3tE=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "433799271274c9f2ab520a49527ebfe2992dcfbd", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "ixx": { + "inputs": { + "flake-utils": [ + "nixovim", + "nixvim", + "nuschtosSearch", + "flake-utils" + ], + "nixpkgs": [ + "nixovim", + "nixvim", + "nuschtosSearch", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1729958008, + "narHash": "sha256-EiOq8jF4Z/zQe0QYVc3+qSKxRK//CFHMB84aYrYGwEs=", + "owner": "NuschtOS", + "repo": "ixx", + "rev": "9fd01aad037f345350eab2cd45e1946cc66da4eb", + "type": "github" + }, + "original": { + "owner": "NuschtOS", + "ref": "v0.0.6", + "repo": "ixx", + "type": "github" + } + }, + "nix-darwin": { + "inputs": { + "nixpkgs": [ + "nixovim", + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1738743987, + "narHash": "sha256-O3bnAfsObto6l2tQOmQlrO6Z2kD6yKwOWfs7pA0CpOc=", + "owner": "lnl7", + "repo": "nix-darwin", + "rev": "ae406c04577ff9a64087018c79b4fdc02468c87c", + "type": "github" + }, + "original": { + "owner": "lnl7", + "repo": "nix-darwin", + "type": "github" + } + }, + "nixovim": { + "inputs": { + "flake-parts": "flake-parts", + "nixpkgs": [ + "nixpkgs" + ], + "nixvim": "nixvim", + "rust-overlay": "rust-overlay" + }, + "locked": { + "lastModified": 1749068064, + "narHash": "sha256-pxszYA1LsrW89Z++jMshDqRpNx99QcvfpFIK5mdmneA=", + "ref": "refs/heads/master", + "rev": "be2e51f4ddec2389d282280871ca484f3f1f0892", + "revCount": 60, + "type": "git", + "url": "https://git.sakamoto.dev/kenji/nixovim.git" + }, + "original": { + "type": "git", + "url": "https://git.sakamoto.dev/kenji/nixovim.git" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1738797219, + "narHash": "sha256-KRwX9Z1XavpgeSDVM/THdFd6uH8rNm/6R+7kIbGa+2s=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1da52dd49a127ad74486b135898da2cef8c62665", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-lib": { + "locked": { + "lastModified": 1738452942, + "narHash": "sha256-vJzFZGaCpnmo7I6i416HaBLpC+hvcURh/BQwROcGIp8=", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1736320768, + "narHash": "sha256-nIYdTAiKIGnFNugbomgBJR+Xv5F1ZQU+HfaBqJKroC0=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "4bc9c909d9ac828a039f288cf872d16d38185db8", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1751271578, + "narHash": "sha256-P/SQmKDu06x8yv7i0s8bvnnuJYkxVGBWLWHaU+tt4YY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "3016b4b15d13f3089db8a41ef937b13a9e33a8df", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixvim": { + "inputs": { + "devshell": "devshell", + "flake-compat": "flake-compat", + "flake-parts": "flake-parts_2", + "git-hooks": "git-hooks", + "home-manager": "home-manager_2", + "nix-darwin": "nix-darwin", + "nixpkgs": "nixpkgs", + "nuschtosSearch": "nuschtosSearch", + "treefmt-nix": "treefmt-nix" + }, + "locked": { + "lastModified": 1739353096, + "narHash": "sha256-w/T2uYCoq4k6K46GX2CMGWsKfMvcqnxC41LIgnvGifE=", + "owner": "nix-community", + "repo": "nixvim", + "rev": "78b6f8e1e5b37a7789216e17a96ebc117660f0e7", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixvim", + "type": "github" + } + }, + "nuschtosSearch": { + "inputs": { + "flake-utils": "flake-utils_2", + "ixx": "ixx", + "nixpkgs": [ + "nixovim", + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1738508923, + "narHash": "sha256-4DaDrQDAIxlWhTjH6h/+xfG05jt3qDZrZE/7zDLQaS4=", + "owner": "NuschtOS", + "repo": "search", + "rev": "86e2038290859006e05ca7201425ea5b5de4aecb", + "type": "github" + }, + "original": { + "owner": "NuschtOS", + "repo": "search", + "type": "github" + } + }, + "root": { + "inputs": { + "darwin": "darwin", + "flake-utils": "flake-utils", + "home-manager": "home-manager", + "nixovim": "nixovim", + "nixpkgs": "nixpkgs_3" + } + }, + "rust-overlay": { + "inputs": { + "nixpkgs": "nixpkgs_2" + }, + "locked": { + "lastModified": 1739327257, + "narHash": "sha256-rlGK8wxz/e50Z+PQRzuP+m03IrGkhcPGmgkBnkEZ9C8=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "e01f2c035b7b8a428c119b183f4cbc55f2eef07c", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "treefmt-nix": { + "inputs": { + "nixpkgs": [ + "nixovim", + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1738680491, + "narHash": "sha256-8X7tR3kFGkE7WEF5EXVkt4apgaN85oHZdoTGutCFs6I=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "64dbb922d51a42c0ced6a7668ca008dded61c483", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix index 0c4f603..ddaeb66 100644 --- a/flake.nix +++ b/flake.nix @@ -17,6 +17,10 @@ url = "github:lnl7/nix-darwin"; inputs.nixpkgs.follows = "nixpkgs"; }; + nixovim = { + url = "git+https://git.sakamoto.dev/kenji/nixovim.git"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = { @@ -26,45 +30,52 @@ home-manager, darwin, ... - } @ inputs: + } @ inputs: let + # Define common arguments or functions here if needed + config = import ./config.nix; + # A helper function to create arguments for modules + mkArgs = system: + { + inherit inputs system; + } + // config; + in flake-utils.lib.eachDefaultSystem ( system: let - config = import ./config.nix; lib = nixpkgs.lib; pkgs = nixpkgs.legacyPackages.${system}; - args = {inherit inputs system;} // config; + args = mkArgs system; # Use the helper for common args in { nixosConfigurations = { desktop = lib.nixosSystem { inherit system; specialArgs = args; - modules = []; + modules = []; # Add your NixOS modules here }; }; homeConfigurations = { + # Assuming you want home-manager configurations for all default systems desktop = home-manager.lib.homeManagerConfiguration { pkgs = import nixpkgs { inherit system; extraSpecialArgs = args; - modules = []; }; - }; - }; - darwinConfigurations = { - macos = darwin.lib.darwinSystem { - inherit system; - specialArgs = args; - modules = [ - ./hosts/macos/darwin.nix - home-manager.darwinModules.home-manager - { - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.extraSpecialArgs = args; - } - ]; + modules = []; # Add your Home Manager modules here }; }; } - ); + ) + // { + darwinConfigurations = { + macos = darwin.lib.darwinSystem { + system = "aarch64-darwin"; + # *** CRITICAL CHANGE HERE *** + # Pass the result of mkArgs, AND the mkArgs function itself + specialArgs = (mkArgs "aarch64-darwin") // {inherit mkArgs;}; + modules = [ + ./hosts/macos/darwin.nix + ]; + }; + }; + }; } diff --git a/hosts/macos/darwin.nix b/hosts/macos/darwin.nix index c6aab97..5b066a1 100644 --- a/hosts/macos/darwin.nix +++ b/hosts/macos/darwin.nix @@ -2,10 +2,13 @@ pkgs, myConfig, inputs, + system, + mkArgs, ... }: { imports = [ ../../modules/default/darwin.nix + inputs.home-manager.darwinModules.home-manager ]; # List packages installed in system profile. To search by name, run: # $ nix-env -qaP | grep wget @@ -31,11 +34,14 @@ nixpkgs.hostPlatform = "aarch64-darwin"; security.pam.services.sudo_local.touchIdAuth = true; - users.users.${myConfig.esssentials.Username} = { + users.users.${myConfig.essentials.Username} = { name = "${myConfig.essentials.Username}"; home = "/Users/${myConfig.essentials.Username}"; # shell = pkgs.${myConfig.general.terminal.Shell}; # no support for nix-darwin, but can be changed via chsh. }; - home-manager.users.${myConfig.essentials.Username} = import ../../home/macos.nix; + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.extraSpecialArgs = mkArgs system; + home-manager.users.${myConfig.essentials.Username} = import ../../home/darwin.nix; } diff --git a/modules/default/darwin.nix b/modules/default/darwin.nix index e69de29..f7e9be4 100644 --- a/modules/default/darwin.nix +++ b/modules/default/darwin.nix @@ -0,0 +1,4 @@ +{ + imports = [ + ]; +} diff --git a/modules/home/terminal.nix b/modules/home/terminal.nix index 92ed183..348d4e1 100644 --- a/modules/home/terminal.nix +++ b/modules/home/terminal.nix @@ -1,9 +1,10 @@ { imports = [ - ../../packages/zsh/home.nix ../../packages/fish/home.nix ../../packages/kitty/home.nix ../../packages/neovim/home.nix ../../packages/starship/home.nix + ../../packages/fastfetch/home.nix + ../../packages/zsh/home.nix ]; } diff --git a/packages/kitty/home.nix b/packages/kitty/home.nix index 3af1966..5d40e2a 100644 --- a/packages/kitty/home.nix +++ b/packages/kitty/home.nix @@ -1,4 +1,8 @@ -{myConfig, ...}: { +{ + myConfig, + pkgs, + ... +}: { programs.kitty = { enable = true; @@ -12,8 +16,7 @@ bold_font = "auto"; italic_font = "auto"; bold_italic_font = "auto"; - - shell = myConfig.general.Terminal.shell; + shell = "${pkgs.${myConfig.general.Terminal.shell}}/bin/${myConfig.general.Terminal.shell}"; # optimization input_delay = 0;