diff --git a/flake.lock b/flake.lock index 1c19941..0a6529c 100644 --- a/flake.lock +++ b/flake.lock @@ -1,33 +1,5 @@ { "nodes": { - "cachix": { - "inputs": { - "devenv": [ - "devenv" - ], - "flake-compat": [ - "devenv" - ], - "git-hooks": [ - "devenv" - ], - "nixpkgs": "nixpkgs" - }, - "locked": { - "lastModified": 1728672398, - "narHash": "sha256-KxuGSoVUFnQLB2ZcYODW7AVPAh9JqRlD5BrfsC/Q4qs=", - "owner": "cachix", - "repo": "cachix", - "rev": "aac51f698309fd0f381149214b7eee213c66ef0a", - "type": "github" - }, - "original": { - "owner": "cachix", - "ref": "latest", - "repo": "cachix", - "type": "github" - } - }, "darwin": { "inputs": { "nixpkgs": [ @@ -48,42 +20,40 @@ "type": "github" } }, - "devenv": { + "devshell": { "inputs": { - "cachix": "cachix", - "flake-compat": "flake-compat", - "git-hooks": "git-hooks", - "nix": "nix", - "nixpkgs": "nixpkgs_3" + "nixpkgs": [ + "lixyvim", + "nixvim", + "nixpkgs" + ] }, "locked": { - "lastModified": 1732121232, - "narHash": "sha256-CmJt7aeSCJnJYGtYpyslRI+pC28RPVD43PD/7kkIVuM=", - "owner": "cachix", - "repo": "devenv", - "rev": "6ff1e5f92c0d74bbb12f7454a239ca2f02e05ea1", + "lastModified": 1728330715, + "narHash": "sha256-xRJ2nPOXb//u1jaBnDP56M7v5ldavjbtR6lfGqSvcKg=", + "owner": "numtide", + "repo": "devshell", + "rev": "dd6b80932022cea34a019e2bb32f6fa9e494dfef", "type": "github" }, "original": { - "owner": "cachix", - "repo": "devenv", + "owner": "numtide", + "repo": "devshell", "type": "github" } }, "flake-compat": { - "flake": false, "locked": { "lastModified": 1696426674, "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "owner": "edolstra", - "repo": "flake-compat", "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "type": "github" + "revCount": 57, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz" }, "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" + "type": "tarball", + "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" } }, "flake-compat_2": { @@ -102,20 +72,36 @@ "type": "github" } }, + "flake-compat_3": { + "flake": false, + "locked": { + "lastModified": 1650374568, + "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "b4a34015c698c7793d592d66adbab377907a2be8", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, "flake-parts": { "inputs": { "nixpkgs-lib": [ - "devenv", - "nix", + "lixyvim", + "nixvim", "nixpkgs" ] }, "locked": { - "lastModified": 1712014858, - "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", + "lastModified": 1730504689, + "narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", + "rev": "506278e768c2a08bec68eb62932193e341f55c90", "type": "github" }, "original": { @@ -144,7 +130,26 @@ }, "flake-utils-plus": { "inputs": { - "flake-utils": "flake-utils_2" + "flake-utils": "flake-utils_3" + }, + "locked": { + "lastModified": 1715533576, + "narHash": "sha256-fT4ppWeCJ0uR300EH3i7kmgRZnAVxrH+XtK09jQWihk=", + "owner": "gytis-ivaskevicius", + "repo": "flake-utils-plus", + "rev": "3542fe9126dc492e53ddd252bb0260fe035f2c0f", + "type": "github" + }, + "original": { + "owner": "gytis-ivaskevicius", + "repo": "flake-utils-plus", + "rev": "3542fe9126dc492e53ddd252bb0260fe035f2c0f", + "type": "github" + } + }, + "flake-utils-plus_2": { + "inputs": { + "flake-utils": "flake-utils_4" }, "locked": { "lastModified": 1715533576, @@ -165,6 +170,42 @@ "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" + } + }, + "flake-utils_3": { + "inputs": { + "systems": "systems_3" + }, + "locked": { + "lastModified": 1694529238, + "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_4": { + "inputs": { + "systems": "systems_4" + }, "locked": { "lastModified": 1694529238, "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", @@ -197,23 +238,28 @@ "git-hooks": { "inputs": { "flake-compat": [ - "devenv" + "lixyvim", + "nixvim", + "flake-compat" ], "gitignore": "gitignore", "nixpkgs": [ - "devenv", + "lixyvim", + "nixvim", "nixpkgs" ], "nixpkgs-stable": [ - "devenv" + "lixyvim", + "nixvim", + "nixpkgs" ] }, "locked": { - "lastModified": 1730302582, - "narHash": "sha256-W1MIJpADXQCgosJZT8qBYLRuZls2KSiKdpnTVdKBuvU=", + "lastModified": 1732021966, + "narHash": "sha256-mnTbjpdqF0luOkou8ZFi2asa1N3AA2CchR/RqCNmsGE=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "af8a16fe5c264f5e9e18bcee2859b40a656876cf", + "rev": "3308484d1a443fc5bc92012435d79e80458fe43c", "type": "github" }, "original": { @@ -225,7 +271,8 @@ "gitignore": { "inputs": { "nixpkgs": [ - "devenv", + "lixyvim", + "nixvim", "git-hooks", "nixpkgs" ] @@ -264,19 +311,55 @@ "type": "github" } }, - "libgit2": { - "flake": false, + "home-manager_2": { + "inputs": { + "nixpkgs": [ + "lixyvim", + "nixvim", + "nixpkgs" + ] + }, "locked": { - "lastModified": 1697646580, - "narHash": "sha256-oX4Z3S9WtJlwvj0uH9HlYcWv+x1hqp8mhXl7HsLu2f0=", - "owner": "libgit2", - "repo": "libgit2", - "rev": "45fd9ed7ae1a9b74b957ef4f337bc3c8b3df01b5", + "lastModified": 1732025103, + "narHash": "sha256-qjEI64RKvDxRyEarY0jTzrZMa8ebezh2DEZmJJrpVdo=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "a46e702093a5c46e192243edbd977d5749e7f294", "type": "github" }, "original": { - "owner": "libgit2", - "repo": "libgit2", + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "ixx": { + "inputs": { + "flake-utils": [ + "lixyvim", + "nixvim", + "nuschtosSearch", + "flake-utils" + ], + "nixpkgs": [ + "lixyvim", + "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" } }, @@ -315,88 +398,54 @@ "url": "https://git.lix.systems/lix-project/lix/archive/2.91.1.tar.gz" } }, - "nix": { + "lixyvim": { "inputs": { - "flake-compat": [ - "devenv" + "nixpkgs": [ + "nixpkgs" ], - "flake-parts": "flake-parts", - "libgit2": "libgit2", - "nixpkgs": "nixpkgs_2", - "nixpkgs-23-11": [ - "devenv" - ], - "nixpkgs-regression": [ - "devenv" - ], - "pre-commit-hooks": [ - "devenv" + "nixvim": "nixvim", + "snowfall-lib": "snowfall-lib", + "unstable": [ + "unstable" ] }, "locked": { - "lastModified": 1727438425, - "narHash": "sha256-X8ES7I1cfNhR9oKp06F6ir4Np70WGZU5sfCOuNBEwMg=", - "owner": "domenkozar", - "repo": "nix", - "rev": "f6c5ae4c1b2e411e6b1e6a8181cc84363d6a7546", + "lastModified": 1732251671, + "narHash": "sha256-zgZYnql4I3hESyY20TqsYOpxznmLdzUlzJkvN8NXtW4=", + "ref": "refs/heads/main", + "rev": "4cbe791f22310a1d1970b1aabd430394409477fc", + "revCount": 3, + "type": "git", + "url": "https://codewith.babesonthe.net/punkfairie/lixyvim" + }, + "original": { + "type": "git", + "url": "https://codewith.babesonthe.net/punkfairie/lixyvim" + } + }, + "nix-darwin": { + "inputs": { + "nixpkgs": [ + "lixyvim", + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1732016537, + "narHash": "sha256-XwXUK+meYnlhdQz2TVE4Wv+tsx1CkdGbDPt1tRzCNH4=", + "owner": "lnl7", + "repo": "nix-darwin", + "rev": "61cee20168a3ebb71a9efd70a55adebaadfbe4d4", "type": "github" }, "original": { - "owner": "domenkozar", - "ref": "devenv-2.24", - "repo": "nix", + "owner": "lnl7", + "repo": "nix-darwin", "type": "github" } }, "nixpkgs": { - "locked": { - "lastModified": 1730531603, - "narHash": "sha256-Dqg6si5CqIzm87sp57j5nTaeBbWhHFaVyG7V6L8k3lY=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "7ffd9ae656aec493492b44d0ddfb28e79a1ea25d", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_2": { - "locked": { - "lastModified": 1717432640, - "narHash": "sha256-+f9c4/ZX5MWDOuB1rKoWj+lBNm0z0rs4CK47HBLxy1o=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "88269ab3044128b7c2f4c7d68448b2fb50456870", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "release-24.05", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_3": { - "locked": { - "lastModified": 1716977621, - "narHash": "sha256-Q1UQzYcMJH4RscmpTkjlgqQDX5yi1tZL0O345Ri6vXQ=", - "owner": "cachix", - "repo": "devenv-nixpkgs", - "rev": "4267e705586473d3e5c8d50299e71503f16a6fb6", - "type": "github" - }, - "original": { - "owner": "cachix", - "ref": "rolling", - "repo": "devenv-nixpkgs", - "type": "github" - } - }, - "nixpkgs_4": { "locked": { "lastModified": 1732014248, "narHash": "sha256-y/MEyuJ5oBWrWAic/14LaIr/u5E0wRVzyYsouYY3W6w=", @@ -412,6 +461,59 @@ "type": "github" } }, + "nixvim": { + "inputs": { + "devshell": "devshell", + "flake-compat": "flake-compat", + "flake-parts": "flake-parts", + "git-hooks": "git-hooks", + "home-manager": "home-manager_2", + "nix-darwin": "nix-darwin", + "nixpkgs": [ + "lixyvim", + "unstable" + ], + "nuschtosSearch": "nuschtosSearch", + "treefmt-nix": "treefmt-nix" + }, + "locked": { + "lastModified": 1732143099, + "narHash": "sha256-lh2Qi8gd1SwJVGo7gJjoFvS/djS5Nimaw25j792PJjM=", + "owner": "nix-community", + "repo": "nixvim", + "rev": "2f71c4250bef7a52fe21bd00d1e58c119f62008c", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixvim", + "type": "github" + } + }, + "nuschtosSearch": { + "inputs": { + "flake-utils": "flake-utils_2", + "ixx": "ixx", + "nixpkgs": [ + "lixyvim", + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1731936508, + "narHash": "sha256-z0BSSf78LkxIrrFXZYmCoRRAxAmxMUKpK7CyxQRvkZI=", + "owner": "NuschtOS", + "repo": "search", + "rev": "fe07070f811b717a4626d01fab714a87d422a9e1", + "type": "github" + }, + "original": { + "owner": "NuschtOS", + "repo": "search", + "type": "github" + } + }, "rofi-themes": { "flake": false, "locked": { @@ -431,15 +533,16 @@ "root": { "inputs": { "darwin": "darwin", - "devenv": "devenv", "home-manager": "home-manager", "lix": "lix", - "nixpkgs": "nixpkgs_4", + "lixyvim": "lixyvim", + "nixpkgs": "nixpkgs", "rofi-themes": "rofi-themes", "rose-pine": "rose-pine", "rose-pine-amfora": "rose-pine-amfora", "rose-pine-qt5ct": "rose-pine-qt5ct", - "snowfall-lib": "snowfall-lib" + "snowfall-lib": "snowfall-lib_2", + "unstable": "unstable" } }, "rose-pine": { @@ -493,6 +596,29 @@ "inputs": { "flake-compat": "flake-compat_2", "flake-utils-plus": "flake-utils-plus", + "nixpkgs": [ + "lixyvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1730136121, + "narHash": "sha256-tfVayj13Zw+zzOKrmJhnvBod7Hdb9ixBR6/4GUlyMA0=", + "owner": "snowfallorg", + "repo": "lib", + "rev": "dd348182c1a010993e68004eada86cf0341fe2c4", + "type": "github" + }, + "original": { + "owner": "snowfallorg", + "repo": "lib", + "type": "github" + } + }, + "snowfall-lib_2": { + "inputs": { + "flake-compat": "flake-compat_3", + "flake-utils-plus": "flake-utils-plus_2", "nixpkgs": [ "nixpkgs" ] @@ -540,6 +666,74 @@ "repo": "default", "type": "github" } + }, + "systems_3": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_4": { + "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": [ + "lixyvim", + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1732111664, + "narHash": "sha256-XWHuPWcP59QnHEewdZJXBX1TA2lAP78Vz4daG6tfIr4=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "62003fdad7a5ab7b6af3ea9bd7290e4c220277d0", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, + "unstable": { + "locked": { + "lastModified": 1732014248, + "narHash": "sha256-y/MEyuJ5oBWrWAic/14LaIr/u5E0wRVzyYsouYY3W6w=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "23e89b7da85c3640bbc2173fe04f4bd114342367", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index c0a098f..82e597e 100644 --- a/flake.nix +++ b/flake.nix @@ -39,6 +39,7 @@ inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + unstable.url = "github:nixos/nixpkgs/nixos-unstable"; lix = { url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.1-1.tar.gz"; @@ -60,10 +61,14 @@ inputs.nixpkgs.follows = "nixpkgs"; }; - devenv.url = "github:cachix/devenv"; - rose-pine.url = "git+https://codewith.babesonthe.net/punkfairie/rose-pine-nix"; + lixyvim = { + url = "git+https://codewith.babesonthe.net/punkfairie/lixyvim"; + inputs.nixpkgs.follows = "nixpkgs"; + inputs.unstable.follows = "unstable"; + }; + # Rose pine themes that aren't included in the above flake: # TODO: Integrate these to punkfairie/rose-pine-nix. rose-pine-amfora = { diff --git a/homes/aarch64-darwin/marley@mairley/default.nix b/homes/aarch64-darwin/marley@mairley/default.nix index ef20a35..332c7c3 100644 --- a/homes/aarch64-darwin/marley@mairley/default.nix +++ b/homes/aarch64-darwin/marley@mairley/default.nix @@ -29,6 +29,7 @@ in less = enabled; man = enabled; neo = enabled; + neovim = enabled; nh = enabled; rbw = enabled; ripgrep = enabled; diff --git a/modules/home/programs/neovim/default.nix b/modules/home/programs/neovim/default.nix new file mode 100644 index 0000000..0c859b1 --- /dev/null +++ b/modules/home/programs/neovim/default.nix @@ -0,0 +1,20 @@ +{ + lib, + config, + pkgs, + ... +}: +let + inherit (lib) mkEnableOption mkIf; + + cfg = config.marleyos.programs.neovim; +in +{ + options.marleyos.programs.neovim.enable = mkEnableOption "neovim"; + + config = mkIf cfg.enable { + home.packages = with pkgs; [ + lixyvim + ]; + }; +} diff --git a/overlays/lixyvim/default.nix b/overlays/lixyvim/default.nix new file mode 100644 index 0000000..868ebaf --- /dev/null +++ b/overlays/lixyvim/default.nix @@ -0,0 +1,7 @@ +{ + inputs, + ... +}: +final: prev: { + lixyvim = inputs.lixyvim.packages.${prev.system}.default; +}