diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..e9c481a --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "modules/features/nvim/config"] + path = modules/features/nvim/config + url = https://git.voidarc.co.uk/voidarc/nvim diff --git a/flake.lock b/flake.lock index 893d3e5..6b21782 100644 --- a/flake.lock +++ b/flake.lock @@ -65,6 +65,22 @@ } }, "nixpkgs_2": { + "locked": { + "lastModified": 1782467914, + "narHash": "sha256-pGvFkM8N0xEkIIXDe5YYfbEAvHrk4IxBrjB/x8OomhE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "e73de5be04e0eff4190a1432b946d469c794e7b4", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { "locked": { "lastModified": 1780336545, "narHash": "sha256-vhVhuXzFrIOfcssC/9hDHx7MHzDKjF3keHuREOQqQiQ=", @@ -80,17 +96,71 @@ "type": "github" } }, + "nixpkgs_4": { + "locked": { + "lastModified": 1780336545, + "narHash": "sha256-vhVhuXzFrIOfcssC/9hDHx7MHzDKjF3keHuREOQqQiQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "4df1b885d76a54e1aa1a318f8d16fd6005b6401f", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nvim": { + "inputs": { + "nixpkgs": "nixpkgs_2", + "wrappers": "wrappers" + }, + "locked": { + "lastModified": 1783103301, + "narHash": "sha256-EJ662Hh+r1AKh1MGFrN2QbrIMYTwu4Jb106BNyeMIZI=", + "ref": "refs/heads/main", + "rev": "7de01201e837d93ad3128719ad49162d4b900d5d", + "revCount": 92, + "type": "git", + "url": "https://git.voidarc.co.uk/voidarc/nvim" + }, + "original": { + "type": "git", + "url": "https://git.voidarc.co.uk/voidarc/nvim" + } + }, "root": { "inputs": { "flake-parts": "flake-parts", "import-tree": "import-tree", "nixpkgs": "nixpkgs", - "wrappers": "wrappers" + "nvim": "nvim", + "wrappers": "wrappers_2" } }, "wrappers": { "inputs": { - "nixpkgs": "nixpkgs_2" + "nixpkgs": "nixpkgs_3" + }, + "locked": { + "lastModified": 1782135443, + "narHash": "sha256-vAmbArdCyjqpVW+37aCy/PMBOLIqukUXLQuEKLwUhA4=", + "owner": "BirdeeHub", + "repo": "nix-wrapper-modules", + "rev": "6e7f66fa2cdf4d63162580b438f7fcf87c28a46f", + "type": "github" + }, + "original": { + "owner": "BirdeeHub", + "repo": "nix-wrapper-modules", + "type": "github" + } + }, + "wrappers_2": { + "inputs": { + "nixpkgs": "nixpkgs_4" }, "locked": { "lastModified": 1782135443, diff --git a/flake.nix b/flake.nix index 22e6d82..1a23d9c 100644 --- a/flake.nix +++ b/flake.nix @@ -5,6 +5,10 @@ # System nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05"; + # Apps + nvim.url = "git+https://git.voidarc.co.uk/voidarc/nvim"; + + # Flake parts flake-parts.url = "github:hercules-ci/flake-parts"; import-tree.url = "github:vic/import-tree"; wrappers.url = "github:BirdeeHub/nix-wrapper-modules"; diff --git a/modules/features/nvim/default.nix b/modules/features/nvim/default.nix new file mode 100644 index 0000000..8824abf --- /dev/null +++ b/modules/features/nvim/default.nix @@ -0,0 +1,24 @@ +{ + self, + inputs, + ... +}: { + flake.nixosModules.nvim = { + pkgs, + lib, + ... + }: { + programs.nvim = { + enable = true; + package = self.packages.${pkgs.stdenv.hostPlatform.system}.nvim; + }; + }; + perSystem = { + pkgs, + lib, + self', + ... + }: { + packages.nvim = inputs.nvim.packages.${pkgs.stdenv.hostPlatform.system}.default; + }; +}