From 879650c4a49330425e0aad1bb79969dc0e11399b Mon Sep 17 00:00:00 2001 From: Mike Vink Date: Sun, 30 Oct 2022 14:38:35 +0100 Subject: update --- .gitignore | 1 + flake.lock | 19 ++++++++++++++++++- flake.nix | 44 +++++++++++++++++++++++++++++++++++++++----- home.nix | 11 ++++++++--- neovim/init.lua | 1 - neovim/lua/vimrc.lua | 7 +++++++ 6 files changed, 73 insertions(+), 10 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..826ecc4 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/Session.vim diff --git a/flake.lock b/flake.lock index 3916ebf..ee5b257 100644 --- a/flake.lock +++ b/flake.lock @@ -37,10 +37,27 @@ "type": "github" } }, + "nixpkgs-stable": { + "locked": { + "lastModified": 1666961615, + "narHash": "sha256-+Sqz6zQA85Q14U/KwsJO386oxd47zDte8dqBGOtRJGg=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "040c6d8374d090f46ab0e99f1f7c27a4529ecffd", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-22.05", + "repo": "nixpkgs", + "type": "github" + } + }, "root": { "inputs": { "home-manager": "home-manager", - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs", + "nixpkgs-stable": "nixpkgs-stable" } }, "utils": { diff --git a/flake.nix b/flake.nix index 0910a40..8409d0f 100644 --- a/flake.nix +++ b/flake.nix @@ -1,23 +1,54 @@ { description = "Home Manager configuration of Jane Doe"; - # Specify the source of Home Manager and Nixpkgs. + # Specify the source of Home Manager and Nixpkgs and vim plugins. inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-22.05"; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; }; - outputs = { nixpkgs, home-manager, ... }: + outputs = { self, nixpkgs, nixpkgs-stable, home-manager, ... }: let system = "x86_64-linux"; - pkgs = nixpkgs.legacyPackages.${system}; + overlay = nixpkgs.lib.composeManyExtensions [ + (final: prev: { + vimPlugins = prev.vimPlugins // { + nvim-treesitter = prev.vimPlugins.nvim-treesitter.overrideAttrs (old: { + version = "2022-10-28"; + src = builtins.fetchGit { + url = "file:///home/mike/projects/nvim-treesitter"; + rev = "2c0ae6e8e81366ba088f1e5be62f467212cda52e"; + }; + passthru.withPlugins = + grammarFn: final.vimPlugins.nvim-treesitter.overrideAttrs (_: { + postPatch = + let + grammars = prev.tree-sitter.withPlugins grammarFn; + in + '' + rm -r parser + ln -s ${grammars} parser + ''; + }); + }); + }; + }) + ]; + + pkgs = import nixpkgs { + overlays = [ + overlay + ]; + inherit system; + }; in { - homeConfigurations.mike = home-manager.lib.homeManagerConfiguration { - inherit pkgs; + homeConfigurations.mike = home-manager.lib.homeManagerConfiguration { + pkgs = pkgs; # Specify your home configuration modules here, for example, # the path to your home.nix. modules = [ @@ -26,6 +57,9 @@ # Optionally use extraSpecialArgs # to pass through arguments to home.nix + extraSpecialArgs = { + flake = self; + }; }; }; } diff --git a/home.nix b/home.nix index f7905f7..48158b5 100644 --- a/home.nix +++ b/home.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ flake, config, pkgs, ... }: { # Found this here: nix-community.github.io configuration example @@ -70,7 +70,10 @@ viAlias = true; vimAlias = true; extraConfig = " - luafile neovim/init.lua +lua <