diff --git a/flake.lock b/flake.lock index 70dfcf5..5232ce3 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,23 @@ { "nodes": { + "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" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -20,7 +38,39 @@ "type": "github" } }, + "neovim": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1737307637, + "narHash": "sha256-lfx4/4SEtpybaHj5iIFl05XEuFyem7zTReE5pK5F8Bo=", + "path": "/home/nixos/dev/git/neovim-flake", + "type": "path" + }, + "original": { + "path": "/home/nixos/dev/git/neovim-flake", + "type": "path" + } + }, "nixpkgs": { + "locked": { + "lastModified": 1737110817, + "narHash": "sha256-DSenga8XjPaUV5KUFW/i3rNkN7jm9XmguW+qQ1ZJTR4=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "041c867bad68dfe34b78b2813028a2e2ea70a23c", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { "locked": { "lastModified": 1736883708, "narHash": "sha256-uQ+NQ0/xYU0N1CnXsa2zghgNaOPxWpMJXSUJJ9W7140=", @@ -39,7 +89,23 @@ "root": { "inputs": { "home-manager": "home-manager", - "nixpkgs": "nixpkgs" + "neovim": "neovim", + "nixpkgs": "nixpkgs_2" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" } } }, diff --git a/flake.nix b/flake.nix index dfc9638..c7e1ec4 100644 --- a/flake.nix +++ b/flake.nix @@ -8,18 +8,16 @@ url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; + + neovim = { + url = "path:/home/nixos/dev/git/neovim-flake"; + }; }; - outputs = { nixpkgs, home-manager, ... }: + outputs = { nixpkgs, home-manager, neovim, ... }: let lib = nixpkgs.lib; - # supportedSystems = [ - # "x86_64-linux" - # "aarch64-linux" - # "aarch64-darwin" - # ]; - makeHomeConfig = { name, system, @@ -29,11 +27,16 @@ pkgs = import nixpkgs { inherit system; }; modules = [ ./nix/home.nix - ./nix/local_machine.nix + ./nix/local_machine.nix ] ++ extraModules ++ lib.optional (builtins.match ".*-darwin$" system != null) ./nix/darwin.nix ++ lib.optional (builtins.match ".*-linux$" system != null) ./nix/linux.nix; + + # Pass neovim-flake to all modules + extraSpecialArgs = { + neovim-flake = neovim; + }; }; in { homeConfigurations = { diff --git a/nix/home.nix b/nix/home.nix index 47b143c..f0edd57 100644 --- a/nix/home.nix +++ b/nix/home.nix @@ -1,13 +1,14 @@ -{ pkgs, ... }: { +{ pkgs, neovim-flake, ... }: { programs = { zsh = { enable = true; }; }; + home = { - stateVersion = "24.05"; + stateVersion = "24.05"; packages = with pkgs; [ - neovim + neovim-flake.packages.${system}.neovim fzf bat git @@ -21,6 +22,28 @@ jq starship fastfetch + clang + clang-tools + nixfmt-rfc-style + luajit + zoxide + rustup + zig + zls + nil + lldb + gopls + delve + golangci-lint + cmake + cmake-language-server + cmake-format + cmake-lint + python313Packages.debugpy + pyright + lua-language-server + gnumake + ninja ]; file = { ".zshrc".source = ../zsh/.zshrc;