Set up nix shell, aniseed

pull/153/head
Barry Moore 2 years ago
parent 6db31714b5
commit 1f6f0c40e8

4
.gitignore vendored

@ -3,3 +3,7 @@ test.sh
.luarc.json
nvim
plugin/packer_compiled.lua
.direnv/
.envrc
result

@ -1,4 +1,5 @@
format:
alejandra --quiet .
lua-format --in-place init.lua
.PHONY: format

@ -1,3 +1,29 @@
### Motivation
This repository is a bit of a meme. The meme is that my neovim is configured by
a Lisp, similar to emacs. The Lisp used is [fennel][Fennel] which transpiles
directly to Lua. I am using a tool called [aniseed][Aniseed] to automatically
convert Fennel to Lua. Lastly, I use [nix][Nix] to bootstrap Aniseed.
The configuration itself is rather close to the original
[kickstart][kickstart.nvim] repository. I added some utility from my original
neovim configuration and added my LSP configuration.
### Installation
```
nix build # builds `init.vim`
ln -s result/init.vim # reads fnl/ converts to lua/
vim -s ":PackerInstall" # bootstrap packer
vim -s ":PackerInstall" # install plugins
```
### TODO:
- [ ] Finish converting `init.lua` to Fennel
**EVERYTHING BELOW THIS LINE WAS ORIGINAL DOCUMENTATION**
### Introduction
A starting point for Neovim that is:
@ -82,3 +108,7 @@ Each PR, especially those which increase the line count, should have a descripti
* You should back it up, then delete all files associated with it.
* This includes your existing init.lua and the neovim files in `.local` which can be deleted with `rm -rf ~/.local/share/nvim/`
[nix]: https://nixos.org/download.html
[fennel]: https://fennel-lang.org
[aniseed]: https://github.com/Olical/aniseed
[kickstart]: https://github.com/nvim-lua/kickstart.nvim

@ -0,0 +1,42 @@
{
"nodes": {
"flake-utils": {
"locked": {
"lastModified": 1667395993,
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1674807565,
"narHash": "sha256-zOLE1YXf2RhYhtNv4n8C0xPaSjduchLlCxZaAeoAvxU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "f80ac848e3d6f0c12c52758c0f25c10c97ca3b62",
"type": "github"
},
"original": {
"id": "nixpkgs",
"ref": "nixpkgs-unstable",
"type": "indirect"
}
},
"root": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs"
}
}
},
"root": "root",
"version": 7
}

@ -0,0 +1,30 @@
{
description = "Setup aniseed";
inputs = {
nixpkgs.url = "nixpkgs/nixpkgs-unstable";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = {
self,
nixpkgs,
flake-utils,
...
}:
flake-utils.lib.eachSystem ["x86_64-linux"] (system: let
pkgs = import nixpkgs {
inherit system;
# config.allowBroken = true;
};
aniseed = pkgs.callPackage ./nix/aniseed.nix {};
in {
devShell = import ./nix/shell.nix {
inherit pkgs;
};
defaultPackage = aniseed;
packages = flake-utils.lib.flattenTree {
inherit aniseed;
};
});
}

@ -0,0 +1,24 @@
{pkgs, ...}: let
aniseed = pkgs.vimUtils.buildVimPluginFrom2Nix {
pname = "aniseed";
version = "v3.32.0";
src = pkgs.fetchFromGitHub {
owner = "Olical";
repo = "aniseed";
rev = "a7445c340fb7a0529f3c413eb99d3f8d29f50ba2";
sha256 = "sha256-KTNImPjifuoj0/ahuYcqMtutGgOR4XnYruv/JVjyrTk=";
};
meta.homepage = "https://github.com/Olical/aniseed";
};
in
pkgs.stdenv.mkDerivation {
name = "init.vim";
phases = ["installPhase" "fixupPhase"];
installPhase = ''
mkdir $out
cat << EOF > $out/init.vim
set runtimepath+=${aniseed}
let g:aniseed#env = v:true
EOF
'';
}

@ -0,0 +1,8 @@
{pkgs, ...}:
pkgs.mkShell {
buildInputs = with pkgs; [
fennel
fnlfmt
alejandra
];
}
Loading…
Cancel
Save