commit 8fe3fe26fe7f20572b61a37dae1c774116a8ec5e
parent 2645dfced03467e32b440888abef9c28150a4c66
Author: benjamin paul <bpaul@bpaul.xyz>
Date: Sun, 20 Jun 2021 16:50:37 +1000
i did some stuff oh wait i forgot to do profiles ill do that later
Diffstat:
19 files changed, 1431 insertions(+), 48 deletions(-)
diff --git a/flake.lock b/flake.lock
@@ -1,12 +1,44 @@
{
"nodes": {
+ "LuaSnip": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1624036110,
+ "narHash": "sha256-LeM5FguQHglggAm7BNcxD8mRYBR+H8p7+/muF9VGFBc=",
+ "owner": "L3MON4D3",
+ "repo": "LuaSnip",
+ "rev": "6aed450e36b4f7d818097d048706ecd35cfa8ed3",
+ "type": "github"
+ },
+ "original": {
+ "owner": "L3MON4D3",
+ "repo": "LuaSnip",
+ "type": "github"
+ }
+ },
+ "barbar-nvim": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1623539462,
+ "narHash": "sha256-KRt/gKibN9w0UcJqmTu2fZRJprBJlGMUugq2ZYEkDH8=",
+ "owner": "romgrk",
+ "repo": "barbar.nvim",
+ "rev": "33639e53d0bf69444275ed048c5bfd7e29396634",
+ "type": "github"
+ },
+ "original": {
+ "owner": "romgrk",
+ "repo": "barbar.nvim",
+ "type": "github"
+ }
+ },
"flake-utils": {
"locked": {
- "lastModified": 1619345332,
- "narHash": "sha256-qHnQkEp1uklKTpx3MvKtY6xzgcqXDsz5nLilbbuL+3A=",
+ "lastModified": 1623875721,
+ "narHash": "sha256-A8BU7bjS5GirpAUv4QA+QnJ4CceLHkcXdRp4xITDB0s=",
"owner": "numtide",
"repo": "flake-utils",
- "rev": "2ebf2558e5bf978c7fb8ea927dfaed8fefab2e28",
+ "rev": "f7e004a55b120c02ecb6219596820fcd32ca8772",
"type": "github"
},
"original": {
@@ -15,6 +47,119 @@
"type": "github"
}
},
+ "focus-vim": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1489833244,
+ "narHash": "sha256-Xg6Qq9QLmWDKQfY1k9cft8XXgyy9PkywoTJUYecTizc=",
+ "owner": "merlinrebrovic",
+ "repo": "focus.vim",
+ "rev": "7dd8f832e4e24d8b9f503af33287781fc57be404",
+ "type": "github"
+ },
+ "original": {
+ "owner": "merlinrebrovic",
+ "repo": "focus.vim",
+ "type": "github"
+ }
+ },
+ "formatter-nvim": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1623101090,
+ "narHash": "sha256-1aDR1HsRHlwGWKNVg3Lecjb/IGiUMpRW7JN9jk9jFJw=",
+ "owner": "mhartington",
+ "repo": "formatter.nvim",
+ "rev": "fc5757d6c9099125edba64b86cb5c9afac9b833b",
+ "type": "github"
+ },
+ "original": {
+ "owner": "mhartington",
+ "repo": "formatter.nvim",
+ "type": "github"
+ }
+ },
+ "fzf-lsp-nvim": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1621935170,
+ "narHash": "sha256-awBSkN1jSLUWDlamVdVnYkMiaqz+3C01Zufv3BuBz2c=",
+ "owner": "gfanto",
+ "repo": "fzf-lsp.nvim",
+ "rev": "fdbe8e8f447870c8693d81045031fc1d5812e38e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "gfanto",
+ "repo": "fzf-lsp.nvim",
+ "type": "github"
+ }
+ },
+ "galaxyline-nvim": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1619341455,
+ "narHash": "sha256-q4YgDomTkVrNp/sAf61D97QYasbFG/sTwkGyhjWmII0=",
+ "owner": "glepnir",
+ "repo": "galaxyline.nvim",
+ "rev": "d544cb9d0b56f6ef271db3b4c3cf19ef665940d5",
+ "type": "github"
+ },
+ "original": {
+ "owner": "glepnir",
+ "ref": "main",
+ "repo": "galaxyline.nvim",
+ "type": "github"
+ }
+ },
+ "gitsigns-nvim": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1624004414,
+ "narHash": "sha256-zpt41euLuHovuIUPPCaapZjg/O+hcVR33dJAedILbXE=",
+ "owner": "lewis6991",
+ "repo": "gitsigns.nvim",
+ "rev": "0ae26de8e74e3f783595d4a04b9ea140909ebdef",
+ "type": "github"
+ },
+ "original": {
+ "owner": "lewis6991",
+ "repo": "gitsigns.nvim",
+ "type": "github"
+ }
+ },
+ "goyo-vim": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1598665353,
+ "narHash": "sha256-FRJ4E0iwE0XJncyLvYG6EQgmCWJcXLBrYYy3dD6ruCY=",
+ "owner": "junegunn",
+ "repo": "goyo.vim",
+ "rev": "a865dec7ca7616dbbd69315ad1417b84d0c411f8",
+ "type": "github"
+ },
+ "original": {
+ "owner": "junegunn",
+ "repo": "goyo.vim",
+ "type": "github"
+ }
+ },
+ "gruvbox": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1621265750,
+ "narHash": "sha256-EP83AqHUHyD9SlAmKtET6/++RPx23s3zse68fzFp+zU=",
+ "owner": "gruvbox-community",
+ "repo": "gruvbox",
+ "rev": "51ae4557e8941943d70da36320cc80a521e2d99e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "gruvbox-community",
+ "repo": "gruvbox",
+ "type": "github"
+ }
+ },
"home-manager": {
"inputs": {
"nixpkgs": [
@@ -22,11 +167,11 @@
]
},
"locked": {
- "lastModified": 1620337456,
- "narHash": "sha256-w4Z6NYNYI3v++Pmqs4j1pPGdWJEyjGQat5rYxkhncMI=",
+ "lastModified": 1623967045,
+ "narHash": "sha256-D8tZULncqU2Drn4vmG1vgMdhnZ5ONV5aEuHIxaA/kyE=",
"owner": "nix-community",
"repo": "home-manager",
- "rev": "86944b0fb15f89bc1173efabbce556260a410154",
+ "rev": "2f6d5c90f4497dc3cfc043c0fd1b77272ebaeeaa",
"type": "github"
},
"original": {
@@ -35,6 +180,55 @@
"type": "github"
}
},
+ "indent-blankline-nvim": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1623902117,
+ "narHash": "sha256-wN4reeKfzbD82gFFlEDIshP58FWxC+vpnZ84xbSb0Dw=",
+ "owner": "lukas-reineke",
+ "repo": "indent-blankline.nvim",
+ "rev": "1b7a974ddf95fb88c3c450888369d492bdb99a53",
+ "type": "github"
+ },
+ "original": {
+ "owner": "lukas-reineke",
+ "ref": "lua",
+ "repo": "indent-blankline.nvim",
+ "type": "github"
+ }
+ },
+ "lsp_signature-nvim": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1623972953,
+ "narHash": "sha256-Zc/SdfznE26a+h8cYkm/cEt2bA7ogx/eKtaDD2TdeM0=",
+ "owner": "ray-x",
+ "repo": "lsp_signature.nvim",
+ "rev": "9945aeec348b756c6f9bd1c97a8870ece8a72b7a",
+ "type": "github"
+ },
+ "original": {
+ "owner": "ray-x",
+ "repo": "lsp_signature.nvim",
+ "type": "github"
+ }
+ },
+ "lspkind-nvim": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1621679905,
+ "narHash": "sha256-B9Csb3Pih31B3C9GEOpfi7XmzUsgMCKsGXbMmaqJwbk=",
+ "owner": "onsails",
+ "repo": "lspkind-nvim",
+ "rev": "3469f0c9a6767625d532a74a167f5d6ba2b8c5bf",
+ "type": "github"
+ },
+ "original": {
+ "owner": "onsails",
+ "repo": "lspkind-nvim",
+ "type": "github"
+ }
+ },
"neovim": {
"inputs": {
"flake-utils": [
@@ -46,11 +240,11 @@
},
"locked": {
"dir": "contrib",
- "lastModified": 1620378427,
- "narHash": "sha256-xjXUlGsbqI2fp5ZfYNCwUBD4DZtw2zI/Bi82A4AV+hs=",
+ "lastModified": 1624085315,
+ "narHash": "sha256-bjsZh9R/edLA8Cbuoda/1IrjvI/dVlbugAxJciftAfo=",
"owner": "neovim",
"repo": "neovim",
- "rev": "17434b88b4892218386b49b400e7eb6d265000ff",
+ "rev": "7da86f55a7ab08fee8479b219b2fbaf2eb424724",
"type": "github"
},
"original": {
@@ -62,11 +256,11 @@
},
"nixpkgs": {
"locked": {
- "lastModified": 1620278081,
- "narHash": "sha256-KcCxMcUFIqpZArUqHcLTdBXKJ1bsHnFdPALyB9auV7M=",
+ "lastModified": 1623862044,
+ "narHash": "sha256-mY7nldu9Wl/Yb0qMPihZrWw0bRWXNsk6iyYztw/6F6Y=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "123db833485edf8df83f95ef2888113390768686",
+ "rev": "0747387223edf1aa5beaedf48983471315d95e16",
"type": "github"
},
"original": {
@@ -75,12 +269,861 @@
"type": "indirect"
}
},
+ "nvcode-color-schemes-vim": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1623864081,
+ "narHash": "sha256-eJEOpmf/A42WSl1ZHkcKLNG02iVFYC6Rmo1AzRnn8Kk=",
+ "owner": "ChristianChiarulli",
+ "repo": "nvcode-color-schemes.vim",
+ "rev": "2afb852177a28e579c1348033dbc043a99ca6dc7",
+ "type": "github"
+ },
+ "original": {
+ "owner": "ChristianChiarulli",
+ "repo": "nvcode-color-schemes.vim",
+ "type": "github"
+ }
+ },
+ "nvim-blame-line": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1608949849,
+ "narHash": "sha256-6a8Wptz3Sp4fP/7ouS9nP8KJwWE8MngGDpUEMDprbhs=",
+ "owner": "tveskag",
+ "repo": "nvim-blame-line",
+ "rev": "52258a958eee02194da5a1e59db7a4d8903754be",
+ "type": "github"
+ },
+ "original": {
+ "owner": "tveskag",
+ "repo": "nvim-blame-line",
+ "type": "github"
+ }
+ },
+ "nvim-bufferline-lua": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1623779249,
+ "narHash": "sha256-BD1svb0e9xvGaQL97AwjN1J0FB1VmkJLyVkyA4mF4is=",
+ "owner": "akinsho",
+ "repo": "nvim-bufferline.lua",
+ "rev": "2db4a3c2c42816a31db391f30a708d976a8c679c",
+ "type": "github"
+ },
+ "original": {
+ "owner": "akinsho",
+ "repo": "nvim-bufferline.lua",
+ "type": "github"
+ }
+ },
+ "nvim-colorizer-lua": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1591879145,
+ "narHash": "sha256-6YrnItxExL2C8pNIdLd+hXCjsB2MbZANwWkah6dreD8=",
+ "owner": "norcalli",
+ "repo": "nvim-colorizer.lua",
+ "rev": "36c610a9717cc9ec426a07c8e6bf3b3abcb139d6",
+ "type": "github"
+ },
+ "original": {
+ "owner": "norcalli",
+ "repo": "nvim-colorizer.lua",
+ "type": "github"
+ }
+ },
+ "nvim-compe": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1623923075,
+ "narHash": "sha256-FPb74JB98kD+3r/oUZxulaEhQ3Pul1zqbsCZeD3tuCE=",
+ "owner": "hrsh7th",
+ "repo": "nvim-compe",
+ "rev": "d0934e7b335283879fd3e4ca68adaee6a92688b0",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hrsh7th",
+ "repo": "nvim-compe",
+ "type": "github"
+ }
+ },
+ "nvim-dap": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1623780040,
+ "narHash": "sha256-FseSsjaZrbQNj2Qfx8eZPWgLLiZzwxz3W50K9ha98gk=",
+ "owner": "mfussenegger",
+ "repo": "nvim-dap",
+ "rev": "d5e57dc263ab14ec5d99049f66f5a069b63837dc",
+ "type": "github"
+ },
+ "original": {
+ "owner": "mfussenegger",
+ "repo": "nvim-dap",
+ "type": "github"
+ }
+ },
+ "nvim-dap-virtual-text": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1623534339,
+ "narHash": "sha256-P1ROpJS+zDAH1jP2pFxg/z7Qv8baIootPd4WaK7sQV0=",
+ "owner": "theHamsta",
+ "repo": "nvim-dap-virtual-text",
+ "rev": "c07c23f52e1019b237927f9520c691e57adb9e6a",
+ "type": "github"
+ },
+ "original": {
+ "owner": "theHamsta",
+ "repo": "nvim-dap-virtual-text",
+ "type": "github"
+ }
+ },
+ "nvim-jdtls": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1623784260,
+ "narHash": "sha256-y0o2O6MzdZ+buEm7cPAlKACGnijgRb7dTLF/h2+ThgM=",
+ "owner": "mfussenegger",
+ "repo": "nvim-jdtls",
+ "rev": "a26e1818fa62cfbcbd9728ad11bc3fc312d6e50e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "mfussenegger",
+ "repo": "nvim-jdtls",
+ "type": "github"
+ }
+ },
+ "nvim-lspconfig": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1623824159,
+ "narHash": "sha256-D3gMx5bwD1Kx1GJB2IXw88z76sYCNXIjf2C/wHMoUpg=",
+ "owner": "neovim",
+ "repo": "nvim-lspconfig",
+ "rev": "f81570d1288fd974098e0f311f728469ca919155",
+ "type": "github"
+ },
+ "original": {
+ "owner": "neovim",
+ "repo": "nvim-lspconfig",
+ "type": "github"
+ }
+ },
+ "nvim-tree-lua": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1623786580,
+ "narHash": "sha256-ZyozHY3Zos85XwxqSIYUFGiWc/Jn6rNC4h9nybZsHms=",
+ "owner": "kyazdani42",
+ "repo": "nvim-tree.lua",
+ "rev": "bfeaf4c8ef5ff24e93005da2561407a13ba69d4d",
+ "type": "github"
+ },
+ "original": {
+ "owner": "kyazdani42",
+ "repo": "nvim-tree.lua",
+ "type": "github"
+ }
+ },
+ "nvim-treesitter": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1623938000,
+ "narHash": "sha256-TEjRies4cwMYqT0VVHI2LzxJ/2TgwbbNWHHs4zeauI8=",
+ "owner": "nvim-treesitter",
+ "repo": "nvim-treesitter",
+ "rev": "d1f6a2a3d8372725e777e96740bfdf0cde7eb2c8",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nvim-treesitter",
+ "repo": "nvim-treesitter",
+ "type": "github"
+ }
+ },
+ "nvim-ts-autotag": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1623909121,
+ "narHash": "sha256-ADmtOPGzGhPaiGD7DBsWdswOaHix0hmYK7CYwTqQhvg=",
+ "owner": "windwp",
+ "repo": "nvim-ts-autotag",
+ "rev": "b88545a3b5109e1f75e99c2868c73a8bd5688308",
+ "type": "github"
+ },
+ "original": {
+ "owner": "windwp",
+ "repo": "nvim-ts-autotag",
+ "type": "github"
+ }
+ },
+ "nvim-ts-context-commentstring": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1623674990,
+ "narHash": "sha256-13HXLWP6xedz6pS1TEnNOhyzg6z2Zc/yaS9/bPjOyLI=",
+ "owner": "JoosepAlviste",
+ "repo": "nvim-ts-context-commentstring",
+ "rev": "203935f2a37d5762945bf86f6c0660609da2336e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "JoosepAlviste",
+ "repo": "nvim-ts-context-commentstring",
+ "type": "github"
+ }
+ },
+ "nvim-ts-rainbow": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1623945160,
+ "narHash": "sha256-tDM/nPS8hSkaqQVSOx33Pk2dWwQ2cTHrmQi6mF77Gh8=",
+ "owner": "p00f",
+ "repo": "nvim-ts-rainbow",
+ "rev": "faecf6c5b848fc2b3ee51d29b4db609abe90f239",
+ "type": "github"
+ },
+ "original": {
+ "owner": "p00f",
+ "repo": "nvim-ts-rainbow",
+ "type": "github"
+ }
+ },
+ "nvim-web-devicons": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1621457141,
+ "narHash": "sha256-3LLgix89Q+U2QwVhcrCLPBP0LJ4w1vY2B5C91teVe0s=",
+ "owner": "kyazdani42",
+ "repo": "nvim-web-devicons",
+ "rev": "da717e19678bd6ec33008cf92da05da1b8ceb87d",
+ "type": "github"
+ },
+ "original": {
+ "owner": "kyazdani42",
+ "repo": "nvim-web-devicons",
+ "type": "github"
+ }
+ },
+ "packer-nvim": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1623613031,
+ "narHash": "sha256-kETm6r5K6eu2U3bzdTPog0/kJqMK19EBnO5Ufsqlb3A=",
+ "owner": "wbthomason",
+ "repo": "packer.nvim",
+ "rev": "4012bd40af350a38696a6ba92a5df9bd99b48527",
+ "type": "github"
+ },
+ "original": {
+ "owner": "wbthomason",
+ "repo": "packer.nvim",
+ "type": "github"
+ }
+ },
+ "plenary-nvim": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1623955260,
+ "narHash": "sha256-vX6TiFZWmSccGEaT5v31/Qw1Hm/hMFkVsiyl08OCq5s=",
+ "owner": "nvim-lua",
+ "repo": "plenary.nvim",
+ "rev": "baf7f0f3bf32a3c7c16fb7ff27d3c4cb54b8f59b",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nvim-lua",
+ "repo": "plenary.nvim",
+ "type": "github"
+ }
+ },
+ "popup-nvim": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1620472364,
+ "narHash": "sha256-D/ZMou2fa0yUVyQDfGm26urotqEgS4qahH9KJ4r52cw=",
+ "owner": "nvim-lua",
+ "repo": "popup.nvim",
+ "rev": "5e3bece7b4b4905f4ec89bee74c09cfd8172a16a",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nvim-lua",
+ "repo": "popup.nvim",
+ "type": "github"
+ }
+ },
"root": {
"inputs": {
"flake-utils": "flake-utils",
"home-manager": "home-manager",
"neovim": "neovim",
- "nixpkgs": "nixpkgs"
+ "nixpkgs": "nixpkgs",
+ "vim-plugins-overlay": "vim-plugins-overlay"
+ }
+ },
+ "scrollbar-nvim": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1622784548,
+ "narHash": "sha256-HGr7vb5ILEcH8q1gVnocG7xqlpQ3fk26gXCyh2Ruf/M=",
+ "owner": "Xuyuanp",
+ "repo": "scrollbar.nvim",
+ "rev": "c338467dd6ef141fa8ce3172097a1f5be6c43779",
+ "type": "github"
+ },
+ "original": {
+ "owner": "Xuyuanp",
+ "repo": "scrollbar.nvim",
+ "type": "github"
+ }
+ },
+ "snippets-nvim": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1599694947,
+ "narHash": "sha256-APFz6zknNpBDLI1nM5B4BZEm40EDvhY5nRB6W9rpurk=",
+ "owner": "norcalli",
+ "repo": "snippets.nvim",
+ "rev": "7b5fd8071d4fb6fa981a899aae56b55897c079fd",
+ "type": "github"
+ },
+ "original": {
+ "owner": "norcalli",
+ "repo": "snippets.nvim",
+ "type": "github"
+ }
+ },
+ "telescope-bibtex-nvim": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1614071010,
+ "narHash": "sha256-tu2OdlRVtpLMs4z3CfsNDt6F/gA1sOadV6zLqoK0w3c=",
+ "owner": "nvim-telescope",
+ "repo": "telescope-bibtex.nvim",
+ "rev": "f1ec374c2bd6e595327dc1b9b837c571e5182ed2",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nvim-telescope",
+ "repo": "telescope-bibtex.nvim",
+ "type": "github"
+ }
+ },
+ "telescope-cheat-nvim": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1614013445,
+ "narHash": "sha256-v9bKibji5ICs2Qp6u6eBbas6HYVdldOafEo9JCC5lzc=",
+ "owner": "nvim-telescope",
+ "repo": "telescope-cheat.nvim",
+ "rev": "7322a732f7e950415c06d29c550309b54f314aa0",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nvim-telescope",
+ "repo": "telescope-cheat.nvim",
+ "type": "github"
+ }
+ },
+ "telescope-dap-nvim": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1616786019,
+ "narHash": "sha256-aGiBknPDjYL4Vlp0DKbJpsKiEaA5dzgg87FQvgThl7k=",
+ "owner": "nvim-telescope",
+ "repo": "telescope-dap.nvim",
+ "rev": "b4134fff5cbaf3b876e6011212ed60646e56f060",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nvim-telescope",
+ "repo": "telescope-dap.nvim",
+ "type": "github"
+ }
+ },
+ "telescope-frecency-nvim": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1618658215,
+ "narHash": "sha256-s5OcVztZrp0JFOUR9D8eOiweUVnZWlilcHuyfqajAaU=",
+ "owner": "nvim-telescope",
+ "repo": "telescope-frecency.nvim",
+ "rev": "721300e3d6f4a7157a781014d3d69bb1c7b702a3",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nvim-telescope",
+ "repo": "telescope-frecency.nvim",
+ "type": "github"
+ }
+ },
+ "telescope-fzf-writer-nvim": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1618585879,
+ "narHash": "sha256-pyir3SyJmUsYhjY7nRj67mbd0M+Z7t+TqSzE8zqOs7A=",
+ "owner": "nvim-telescope",
+ "repo": "telescope-fzf-writer.nvim",
+ "rev": "00a1ab1b0aeaa4ad9da238861325ea1ee6d90a44",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nvim-telescope",
+ "repo": "telescope-fzf-writer.nvim",
+ "type": "github"
+ }
+ },
+ "telescope-fzy-native-nvim": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1617877633,
+ "narHash": "sha256-ntSc/Z2KGwAPwBSgQ2m+Q9HgpGUwGbd+4fA/dtzOXY4=",
+ "owner": "nvim-telescope",
+ "repo": "telescope-fzy-native.nvim",
+ "rev": "7b3d2528102f858036627a68821ccf5fc1d78ce4",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nvim-telescope",
+ "repo": "telescope-fzy-native.nvim",
+ "type": "github"
+ }
+ },
+ "telescope-ghq-nvim": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1614048768,
+ "narHash": "sha256-AikRQarQWpRr8NS1SpDvmO073tEQbI/bshQnfzYOLdo=",
+ "owner": "nvim-telescope",
+ "repo": "telescope-ghq.nvim",
+ "rev": "810a80e479ecf4a7a1fc0a8a1835ad75f465667e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nvim-telescope",
+ "repo": "telescope-ghq.nvim",
+ "type": "github"
+ }
+ },
+ "telescope-github-nvim": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1622809307,
+ "narHash": "sha256-3lp84Q6QOwFurYmNiNcDKger78HR36UwP+yylcW96Xg=",
+ "owner": "nvim-telescope",
+ "repo": "telescope-github.nvim",
+ "rev": "479ca5fdc5e2bceb2549808518995a68d9e5cc94",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nvim-telescope",
+ "repo": "telescope-github.nvim",
+ "type": "github"
+ }
+ },
+ "telescope-media-files-nvim": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1615476531,
+ "narHash": "sha256-Kg0zpRgEWiAribesj6UxMG9nDlf1d2zDFb6DJZgPHpg=",
+ "owner": "nvim-telescope",
+ "repo": "telescope-media-files.nvim",
+ "rev": "85f6cf21ae49cc8291a07728498a64ae67fef503",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nvim-telescope",
+ "repo": "telescope-media-files.nvim",
+ "type": "github"
+ }
+ },
+ "telescope-menu-nvim": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1612494467,
+ "narHash": "sha256-Q8mP9LPdwd3x/62BZFX5zVvZiYkLwlhEbXcrqanX5gY=",
+ "owner": "nvim-telescope",
+ "repo": "telescope-menu.nvim",
+ "rev": "945f907bc77853232ed76fb5ff06af8fdcd8a2ea",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nvim-telescope",
+ "repo": "telescope-menu.nvim",
+ "type": "github"
+ }
+ },
+ "telescope-node-modules-nvim": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1614049843,
+ "narHash": "sha256-KNq7UUnY33IGXs1R/c+V0zcxMo++yCNpQ2qXLrIywoI=",
+ "owner": "nvim-telescope",
+ "repo": "telescope-node-modules.nvim",
+ "rev": "bbc7c8e0eb9df0c6d40e52ccff1598f5cb8a59ba",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nvim-telescope",
+ "repo": "telescope-node-modules.nvim",
+ "type": "github"
+ }
+ },
+ "telescope-nvim": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1623700246,
+ "narHash": "sha256-N9S+zn/Wk+rg93zmLWbAbGPmkouu9O3+BAA0hpSnT8w=",
+ "owner": "nvim-telescope",
+ "repo": "telescope.nvim",
+ "rev": "6ac5ee0854fe02d651cadf2fc97a2463ff92f322",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nvim-telescope",
+ "repo": "telescope.nvim",
+ "type": "github"
+ }
+ },
+ "telescope-packer-nvim": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1621256006,
+ "narHash": "sha256-GsFWx9UjnoCnoGkXUjz+NOfP8rMYtzjJH+lhd9e/Df8=",
+ "owner": "nvim-telescope",
+ "repo": "telescope-packer.nvim",
+ "rev": "2c9a0ff6f285526af519b3f953473eca14badafa",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nvim-telescope",
+ "repo": "telescope-packer.nvim",
+ "type": "github"
+ }
+ },
+ "telescope-project-nvim": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1623780342,
+ "narHash": "sha256-wNoV0A0V2GSfezbLf8tJ4FIW1xxg2TbmGq+eC8Z4G54=",
+ "owner": "nvim-telescope",
+ "repo": "telescope-project.nvim",
+ "rev": "d5bd0f016ce081e786164dce973fe6ca7aba7c60",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nvim-telescope",
+ "repo": "telescope-project.nvim",
+ "type": "github"
+ }
+ },
+ "telescope-snippets-nvim": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1614011958,
+ "narHash": "sha256-MRP/iqAmNkwLuxjYeghmJPYnIqSD/gDLqtSTGjVCVpw=",
+ "owner": "nvim-telescope",
+ "repo": "telescope-snippets.nvim",
+ "rev": "e5c34379ea667b7f8d5d8fc999b5f4fbc4a997dd",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nvim-telescope",
+ "repo": "telescope-snippets.nvim",
+ "type": "github"
+ }
+ },
+ "telescope-symbols-nvim": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1623776787,
+ "narHash": "sha256-fE/HPCi9TzQuMPuonY32cF3C/u0GRlzRtqzaAqcSoFk=",
+ "owner": "nvim-telescope",
+ "repo": "telescope-symbols.nvim",
+ "rev": "e211b6aeed1f94ca660c407f3052f83ab8f4b2a9",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nvim-telescope",
+ "repo": "telescope-symbols.nvim",
+ "type": "github"
+ }
+ },
+ "telescope-vimspector-nvim": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1606172131,
+ "narHash": "sha256-nYtVrWwjx1KyrkWFnqEc4gMcnS4YBK7upkkxBCvUUqQ=",
+ "owner": "nvim-telescope",
+ "repo": "telescope-vimspector.nvim",
+ "rev": "f7cc44dcb0749dc8e0ffaf4f7ff283621ed62281",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nvim-telescope",
+ "repo": "telescope-vimspector.nvim",
+ "type": "github"
+ }
+ },
+ "telescope-z-nvim": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1615333025,
+ "narHash": "sha256-8MhDiKPAiwar12kAKmFhLRTU7Dg+3xAeiRgA5wJZwwc=",
+ "owner": "nvim-telescope",
+ "repo": "telescope-z.nvim",
+ "rev": "c14b6335f42bdda5100f135f18632bf6421c5f0e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nvim-telescope",
+ "repo": "telescope-z.nvim",
+ "type": "github"
+ }
+ },
+ "vim-closer": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1578015863,
+ "narHash": "sha256-ciTud2dZaoT8D+KTQ6ycVTQNVhSQnkhFii2V4DSXGFQ=",
+ "owner": "9mm",
+ "repo": "vim-closer",
+ "rev": "0cb91a7a61c16247dee1eaa4b0a7c72b985311f1",
+ "type": "github"
+ },
+ "original": {
+ "owner": "9mm",
+ "repo": "vim-closer",
+ "type": "github"
+ }
+ },
+ "vim-dadbod-ui": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1620826349,
+ "narHash": "sha256-XulANLV6EC9VEb+T1fp1aMTchT9GO2o6V7onRWlEXq8=",
+ "owner": "kristijanhusak",
+ "repo": "vim-dadbod-ui",
+ "rev": "09fb2f51dcd022a6be20b48a730df493f4b3ca2d",
+ "type": "github"
+ },
+ "original": {
+ "owner": "kristijanhusak",
+ "repo": "vim-dadbod-ui",
+ "type": "github"
+ }
+ },
+ "vim-devicons": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1620920880,
+ "narHash": "sha256-UGyjvGZE/AiojmBT6oz9uA1A/fhvNJyc4MBHTgF1104=",
+ "owner": "ryanoasis",
+ "repo": "vim-devicons",
+ "rev": "4c2df59e37b6680e0ec17b543b11a405dc40262c",
+ "type": "github"
+ },
+ "original": {
+ "owner": "ryanoasis",
+ "repo": "vim-devicons",
+ "type": "github"
+ }
+ },
+ "vim-import-cost": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1594311199,
+ "narHash": "sha256-b6fRvruxCYyAi6vwPO95LyZdEWCsS2VuqxQOco1o6iU=",
+ "owner": "yardnsm",
+ "repo": "vim-import-cost",
+ "rev": "5bd9f5104ab5960c6e1a7e502c024041aab154d8",
+ "type": "github"
+ },
+ "original": {
+ "owner": "yardnsm",
+ "repo": "vim-import-cost",
+ "type": "github"
+ }
+ },
+ "vim-plugins-overlay": {
+ "inputs": {
+ "LuaSnip": "LuaSnip",
+ "barbar-nvim": "barbar-nvim",
+ "focus-vim": "focus-vim",
+ "formatter-nvim": "formatter-nvim",
+ "fzf-lsp-nvim": "fzf-lsp-nvim",
+ "galaxyline-nvim": "galaxyline-nvim",
+ "gitsigns-nvim": "gitsigns-nvim",
+ "goyo-vim": "goyo-vim",
+ "gruvbox": "gruvbox",
+ "indent-blankline-nvim": "indent-blankline-nvim",
+ "lsp_signature-nvim": "lsp_signature-nvim",
+ "lspkind-nvim": "lspkind-nvim",
+ "nixpkgs": [
+ "nixpkgs"
+ ],
+ "nvcode-color-schemes-vim": "nvcode-color-schemes-vim",
+ "nvim-blame-line": "nvim-blame-line",
+ "nvim-bufferline-lua": "nvim-bufferline-lua",
+ "nvim-colorizer-lua": "nvim-colorizer-lua",
+ "nvim-compe": "nvim-compe",
+ "nvim-dap": "nvim-dap",
+ "nvim-dap-virtual-text": "nvim-dap-virtual-text",
+ "nvim-jdtls": "nvim-jdtls",
+ "nvim-lspconfig": "nvim-lspconfig",
+ "nvim-tree-lua": "nvim-tree-lua",
+ "nvim-treesitter": "nvim-treesitter",
+ "nvim-ts-autotag": "nvim-ts-autotag",
+ "nvim-ts-context-commentstring": "nvim-ts-context-commentstring",
+ "nvim-ts-rainbow": "nvim-ts-rainbow",
+ "nvim-web-devicons": "nvim-web-devicons",
+ "packer-nvim": "packer-nvim",
+ "plenary-nvim": "plenary-nvim",
+ "popup-nvim": "popup-nvim",
+ "scrollbar-nvim": "scrollbar-nvim",
+ "snippets-nvim": "snippets-nvim",
+ "telescope-bibtex-nvim": "telescope-bibtex-nvim",
+ "telescope-cheat-nvim": "telescope-cheat-nvim",
+ "telescope-dap-nvim": "telescope-dap-nvim",
+ "telescope-frecency-nvim": "telescope-frecency-nvim",
+ "telescope-fzf-writer-nvim": "telescope-fzf-writer-nvim",
+ "telescope-fzy-native-nvim": "telescope-fzy-native-nvim",
+ "telescope-ghq-nvim": "telescope-ghq-nvim",
+ "telescope-github-nvim": "telescope-github-nvim",
+ "telescope-media-files-nvim": "telescope-media-files-nvim",
+ "telescope-menu-nvim": "telescope-menu-nvim",
+ "telescope-node-modules-nvim": "telescope-node-modules-nvim",
+ "telescope-nvim": "telescope-nvim",
+ "telescope-packer-nvim": "telescope-packer-nvim",
+ "telescope-project-nvim": "telescope-project-nvim",
+ "telescope-snippets-nvim": "telescope-snippets-nvim",
+ "telescope-symbols-nvim": "telescope-symbols-nvim",
+ "telescope-vimspector-nvim": "telescope-vimspector-nvim",
+ "telescope-z-nvim": "telescope-z-nvim",
+ "vim-closer": "vim-closer",
+ "vim-dadbod-ui": "vim-dadbod-ui",
+ "vim-devicons": "vim-devicons",
+ "vim-import-cost": "vim-import-cost",
+ "vim-prisma": "vim-prisma",
+ "vim-repl": "vim-repl",
+ "vim-vsnip": "vim-vsnip",
+ "vim-vsnip-integ": "vim-vsnip-integ",
+ "vim-which-key": "vim-which-key",
+ "which-key-nvim": "which-key-nvim"
+ },
+ "locked": {
+ "lastModified": 1624063925,
+ "narHash": "sha256-+wlSpnl4vaqgfmTKS1P5Vcqt01Ggti2h20EkdCV6Q4Y=",
+ "owner": "vi-tality",
+ "repo": "vim-plugins-overlay",
+ "rev": "ac2a4225a4f3959f1f30c0b397b7a87b807ba6b4",
+ "type": "github"
+ },
+ "original": {
+ "owner": "vi-tality",
+ "repo": "vim-plugins-overlay",
+ "type": "github"
+ }
+ },
+ "vim-prisma": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1586020114,
+ "narHash": "sha256-BsV+7Vwx137fpUmTI7j7KW/xui7R2bwdBis8cOwAgl0=",
+ "owner": "pantharshit00",
+ "repo": "vim-prisma",
+ "rev": "e91ac5011232e1bd8ea53204db8d01203d5d0f3c",
+ "type": "github"
+ },
+ "original": {
+ "owner": "pantharshit00",
+ "repo": "vim-prisma",
+ "type": "github"
+ }
+ },
+ "vim-repl": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1622625970,
+ "narHash": "sha256-8Rt0zYcr7cmgyAR+KVpWcqtw1zt9yq3JJvFeZje3dm0=",
+ "owner": "sillybun",
+ "repo": "vim-repl",
+ "rev": "46a295d440ea2d705f168afd194d570e76161557",
+ "type": "github"
+ },
+ "original": {
+ "owner": "sillybun",
+ "repo": "vim-repl",
+ "type": "github"
+ }
+ },
+ "vim-vsnip": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1622557096,
+ "narHash": "sha256-yh9K0q0PtNfAawM9/5oBUJvVGOuBjhGXqH/ZKrb2c94=",
+ "owner": "hrsh7th",
+ "repo": "vim-vsnip",
+ "rev": "552403842b992efde3816a89b20055f7d66d9a0d",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hrsh7th",
+ "repo": "vim-vsnip",
+ "type": "github"
+ }
+ },
+ "vim-vsnip-integ": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1609387265,
+ "narHash": "sha256-w7dxQQHhOrHr28jjKo11YQdGz6qFDSve/qXeT2mNaFs=",
+ "owner": "hrsh7th",
+ "repo": "vim-vsnip-integ",
+ "rev": "60dfbb0dc73cfc4828e9328251a46ccbd7e9b5fe",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hrsh7th",
+ "repo": "vim-vsnip-integ",
+ "type": "github"
+ }
+ },
+ "vim-which-key": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1620138021,
+ "narHash": "sha256-JOx0Oa56ldYMxnV7bN15TcGROGlEZPHkMU7L+TiuxaI=",
+ "owner": "liuchengxu",
+ "repo": "vim-which-key",
+ "rev": "da2934fcd36350b871ed8ccd54c8eae3a0dfc8ae",
+ "type": "github"
+ },
+ "original": {
+ "owner": "liuchengxu",
+ "repo": "vim-which-key",
+ "type": "github"
+ }
+ },
+ "which-key-nvim": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1623929737,
+ "narHash": "sha256-JO+rGR/B8ajSYvaVROng6ub0RVkY4wSwpCYB8BE0j7U=",
+ "owner": "folke",
+ "repo": "which-key.nvim",
+ "rev": "78821de0b633275d6934660e67989639bc7a784c",
+ "type": "github"
+ },
+ "original": {
+ "owner": "folke",
+ "repo": "which-key.nvim",
+ "type": "github"
}
}
},
diff --git a/flake.nix b/flake.nix
@@ -15,13 +15,20 @@
inputs.nixpkgs.follows = "nixpkgs";
inputs.flake-utils.follows = "flake-utils";
};
+
+ vim-plugins-overlay = {
+ url = github:vi-tality/vim-plugins-overlay;
+ inputs.nixpkgs.follows = "nixpkgs";
+ };
};
- outputs = { self, nixpkgs, home-manager, neovim, ... }@inputs:
+ outputs = { self, nixpkgs, home-manager, neovim, vim-plugins-overlay, ... }@inputs:
let
overlays = [
neovim.overlay
+ vim-plugins-overlay.overlay
];
+ libExtra = import ./lib;
in
{
nixosConfigurations.laptop = nixpkgs.lib.nixosSystem {
@@ -38,9 +45,11 @@
];
};
- packages.x86_64-linux.customize =
- with import nixpkgs { system = "x86_64-linux"; };
- pkgs.callPackage ./customize.nix { };
+ packages.x86_64-linux = {
+ customize =
+ with import nixpkgs { system = "x86_64-linux"; };
+ pkgs.callPackage ./customize.nix { };
+ };
defaultApp.x86_64-linux = {
type = "app";
diff --git a/home/home.nix b/home/home.nix
@@ -1,6 +1,12 @@
-{ pkgs, ... }:
+{ pkgs, lib, ... }:
-{
+with lib;
+let
+ libExtra = import ../lib { inherit lib; };
+ scripts = libExtra.mapOnDir ./scripts (name: a:
+ libExtra.createScriptFile name "${toString ./scripts}/${name}"
+ );
+in {
home.stateVersion = "20.09";
imports = [
@@ -8,11 +14,15 @@
./themes/gruvbox
];
+ home.file = scripts;
+
alacritty.enable = true;
+ dunst.enable = true;
neovim.enable = true;
polybar.enable = true;
starship.enable = true;
zathura.enable = true;
+ xbindkeys.enable = true;
xinit = {
enable = true;
config = ''
@@ -30,10 +40,14 @@
home.packages = [
# packages
+ pkgs.bc
pkgs.ccls
pkgs.fzf
pkgs.gcc
+ pkgs.haskell-language-server
pkgs.i3lock-color
+ pkgs.manpages
+ pkgs.texlab
pkgs.tree-sitter
];
}
diff --git a/home/modules/default.nix b/home/modules/default.nix
@@ -1,11 +1,6 @@
-{
- imports = [
- ./alacritty.nix
- ./starship.nix
- ./xinit.nix
- ./zathura.nix
- ./zsh.nix
- ./neovim
- ./polybar
- ];
+{ lib, ... }:
+let
+ libExtra = import ../../lib { inherit lib; };
+in {
+ imports = libExtra.importDir ./.;
}
diff --git a/home/modules/dunst.nix b/home/modules/dunst.nix
@@ -0,0 +1,19 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+{
+ options.dunst = {
+ enable = mkEnableOption "dunst";
+ };
+
+ config = mkIf config.dunst.enable {
+ home.packages = [ pkgs.dunst pkgs.libnotify ];
+ services.dunst = {
+ enable = true;
+ settings = {
+ global.font = "Hack";
+ };
+ };
+ };
+}
diff --git a/home/modules/latex.nix b/home/modules/latex.nix
@@ -0,0 +1,17 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+{
+ options.latex = {
+ enable = mkEnableOption "Latex";
+ };
+
+ config = mkIf config.latex.enable {
+ home.packages = with pkgs; [
+ pgfplots
+ texlab
+ texlive.combined.scheme-full
+ ]
+ };
+}
diff --git a/home/modules/neovim/compe.lua b/home/modules/neovim/compe.lua
@@ -0,0 +1,11 @@
+require'compe'.setup{
+ enabled = true;
+ autocomplete = true;
+ preselect = 'enable';
+ source = {
+ buffer = true;
+ luasnip = true;
+ nvim_lsp = true;
+ nvim_lua = true;
+ };
+}
diff --git a/home/modules/neovim/default.nix b/home/modules/neovim/default.nix
@@ -1,7 +1,15 @@
{ config, pkgs, lib, ... }:
+with builtins;
with lib;
+let
+ luaConfig = file: ''
+ lua << EOF
+ ${readFile file}
+ EOF
+ '';
+in
{
options.neovim = {
enable = mkEnableOption "Neovim";
@@ -26,20 +34,22 @@ with lib;
enable = true;
package = pkgs.neovim;
extraConfig = ''
+ ${readFile ./syntax.vim}
+
lua << EOF
- ${builtins.readFile ./init.lua}
+ ${readFile ./init.lua}
function c()
- ${builtins.readFile ./c.lua}
+ ${readFile ./c.lua}
end
function cpp()
- ${builtins.readFile ./cpp.lua}
+ ${readFile ./cpp.lua}
end
function lua()
- ${builtins.readFile ./lua.lua}
+ ${readFile ./lua.lua}
end
function tex()
- ${builtins.readFile ./tex.lua}
+ ${readFile ./tex.lua}
end
EOF
au BufEnter *.c lua c()
@@ -51,9 +61,21 @@ with lib;
{ plugin = pkgs.vimPlugins.vim-nix; }
{ plugin = pkgs.vimPlugins.fzfWrapper; }
{ plugin = pkgs.vimPlugins.idris2-vim; }
+ { plugin = pkgs.vimPlugins.haskell-vim; }
+ { plugin = pkgs.vitalityVimPlugins.LuaSnip; }
{ plugin = config.neovim.colourSchemePackage; config = "colorscheme ${config.neovim.colourScheme}"; }
+ #{ plugin = pkgs.vimPlugins.nvim-compe; config = "lua require'compe'.setup{ enabled=true; autocomplete=true; source={ path=true; nvim_lsp=true; }; }"; }
+ { plugin = pkgs.vimPlugins.nvim-compe; config = luaConfig ./compe.lua; }
{ plugin = pkgs.vimPlugins.nvim-lspconfig; }
{ plugin = pkgs.vimPlugins.nvim-treesitter; config = "lua require'nvim-treesitter.configs'.setup{highlight={enable=true}}"; }
+ { plugin = pkgs.vimPlugins.vimwiki; }
+ { plugin = pkgs.vimPlugins.vimtex; }
+ { plugin = pkgs.vimPlugins.fugitive; }
+ { plugin = pkgs.vimPlugins.vim-startify; }
+ { plugin = pkgs.vimPlugins.vim-dispatch; }
+ { plugin = pkgs.vimPlugins.vim-surround; }
+ { plugin = pkgs.vimPlugins.vim-polyglot; }
+ { plugin = pkgs.vimPlugins.mattn-calendar-vim; }
];
};
};
diff --git a/home/modules/neovim/init.lua b/home/modules/neovim/init.lua
@@ -66,6 +66,7 @@ vim.wo.colorcolumn = vim.wo.colorcolumn .. '+' .. 1
for i = 2,255 do vim.wo.colorcolumn = vim.wo.colorcolumn .. ',+' .. i end
-- Funky commands
+vim.api.nvim_command('command! W w')
-- Command that opens fzf for colour schemes
function colourscheme()
@@ -74,7 +75,71 @@ end
-- LSP
-require('lspconfig').ccls.setup{}
+require'lspconfig'.ccls.setup{}
+require'lspconfig'.hls.setup{}
+require'lspconfig'.texlab.setup{}
-- Always have the sign column so that code doesnt move around on error
vim.wo.signcolumn = "yes"
+
+-- nvim-compe
+
+function t(str)
+ return vim.api.nvim_replace_termcodes(str, true, true, true)
+end
+
+function check_back_space()
+ local col = vim.fn.col('.') - 1
+ if col == 0 or vim.fn.getline('.'):sub(col, col):match('%s') then
+ return true
+ else
+ return false
+ end
+end
+
+_G.tab_complete = function()
+ if vim.fn.pumvisible() == 1 then
+ return t "<C-n>"
+ elseif require'luasnip'.expand_or_jumpable() then
+ return t "<Plug>luasnip-expand-or-jump"
+ elseif check_back_space() then
+ return t "<Tab>"
+ else
+ return vim.fn['compe#complete']()
+ end
+end
+_G.s_tab_complete = function()
+ if vim.fn.pumvisible() == 1 then
+ return t "<C-p>"
+ elseif require'luasnip'.expand_or_jumpable() then
+ return t "<Plug>luasnip-expand-or-jump"
+ else
+ return t "<S-Tab>"
+ end
+end
+
+vim.api.nvim_set_keymap("i", "<Tab>", "v:lua.tab_complete()", {expr = true})
+vim.api.nvim_set_keymap("s", "<Tab>", "v:lua.tab_complete()", {expr = true})
+vim.api.nvim_set_keymap("i", "<S-Tab>", "v:lua.s_tab_complete()", {expr = true})
+vim.api.nvim_set_keymap("s", "<S-Tab>", "v:lua.s_tab_complete()", {expr = true})
+
+-- Vimwiki
+vim.g.vimwiki_list = {{
+ path = "~/.local/share/vimwiki/",
+ path_html = "~/.local/share/vimwiki-html/",
+ auto_toc = 1,
+ index = "main"
+}}
+
+vim.g.calendar_open = 0
+
+_G.open_calendar = function()
+ if vim.g.calendar_open == 1 then
+ vim.g.calendar_open = 0
+ return t "<Plug>CalendarVq"
+ end
+ vim.g.calendar_open = 1
+ return t "<Plug>CalendarV"
+end
+
+vim.api.nvim_set_keymap("n", "<leader>wc", "v:lua.open_calendar()", {expr = true})
diff --git a/home/modules/neovim/syntax.vim b/home/modules/neovim/syntax.vim
@@ -0,0 +1,21 @@
+" https://en.wikipedia.org/wiki/Mathematical_operators_and_symbols_in_Unicode
+syntax keyword Normal alpha conceal cchar=α
+syntax keyword Normal beta conceal cchar=β
+syntax keyword Normal delta conceal cchar=δ
+syntax keyword Normal lambda conceal cchar=λ
+syntax keyword Normal mu conceal cchar=μ
+syntax keyword Normal pi conceal cchar=π
+syntax keyword Normal theta conceal cchar=θ
+
+syntax keyword Normal sum conceal cchar=∑
+syntax keyword Normal product conceal cchar=∏
+
+syntax keyword Normal Int conceal cchar=ℤ
+syntax keyword Normal Nat conceal cchar=ℕ
+
+syntax match Normal "<=" conceal cchar=≤
+syntax match Normal ">=" conceal cchar=≥
+syntax match Normal "!=" conceal cchar=≠
+
+set concealcursor=nv
+set conceallevel=1
diff --git a/home/modules/neovim/tex.lua b/home/modules/neovim/tex.lua
@@ -14,3 +14,14 @@ vim.api.nvim_set_keymap('n', '<leader>c', '$bci{',
-- Bind <leader>+d to duplicate the current line down
vim.api.nvim_set_keymap('n', '<leader>d', 'yyp',
{ noremap = true, silent = true })
+
+--vim.api.nvim_eval("TexNewMathZone('E','align',1)")
+--vim.api.nvim_eval("TexNewMathZone('E','multline',1)")
+
+-- Vimtex stuff
+vim.g.vimtex_format_enabled = 1
+vim.g.vimtex_syntax_nospell_comments = 1
+
+-- Get rid of calendar bindings so that <leader>c is usable
+vim.api.nvim_del_keymap("n", "<leader>cal")
+vim.api.nvim_del_keymap("n", "<leader>caL")
diff --git a/home/modules/xbindkeys.nix b/home/modules/xbindkeys.nix
@@ -0,0 +1,62 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+{
+ options.xbindkeys = {
+ enable = mkEnableOption "xbindkeys";
+ };
+
+ config = mkIf config.xbindkeys.enable {
+ home.packages = [ pkgs.xbindkeys ];
+
+ home.file.".xbindkeysrc".text = ''
+ # super + shift + Return
+ "alacritty"
+ m:0x41 + c:36
+
+ # super + shift + l
+ "xbindkeys"
+ m:0x41 + c:46
+
+ # super + ;
+ "dmenu_run"
+ m:0x40 + c:47
+
+ # super + shift + alt + q
+ "bspc quit"
+ m:0x49 + c:29
+
+ # super + alt + q
+ "bspc wm -r"
+ m:0x48 + c:29
+
+ "bspc node -c"
+ m:0x40 + c:54
+
+ "bspc node -k"
+ m:0x41 + c:54
+
+ "lock"
+ m:0x40 + c:53
+
+ "browser"
+ m:0x40 + c:56
+
+ "scratchpad"
+ m:0x40 + c:31
+
+ "calculate"
+ m:0x44 + c:54
+
+ "amixer set Master 5%+"
+ XF86AudioRaiseVolume
+
+ "amixer set Master 5%-"
+ XF86AudioLowerVolume
+
+ "amixer set Master toggle"
+ XF86AudioMute
+ '';
+ };
+}
diff --git a/home/modules/zsh.nix b/home/modules/zsh.nix
@@ -17,11 +17,12 @@ in
};
config = mkIf config.zsh.enable {
+ home.packages = [ pkgs.any-nix-shell ];
programs.zsh = {
enable = true;
history = {
- path = ".cache/zsh/history";
+ path = "/home/benjamin/.cache/zsh/history";
};
# bind keys properly for backword or switch to vi mode??
@@ -50,6 +51,8 @@ in
initExtra = ''
#. ~/.nix-profile/etc/profile.d/nix.sh
+ any-nix-shell zsh --info-right | source /dev/stdin
+
# From the fzf wiki
fd() {
local dir
@@ -77,18 +80,18 @@ in
}
'';
- plugins = [
- {
- name = "zsh-nix-shell";
- file = "nix-shell.plugin.zsh";
- src = pkgs.fetchFromGitHub {
- owner = "chisui";
- repo = "zsh-nix-shell";
- rev = "v0.1.0";
- sha256 = "0snhch9hfy83d4amkyxx33izvkhbwmindy0zjjk28hih1a9l2jmx";
- };
- }
- ];
+ # plugins = [
+ # {
+ # name = "zsh-nix-shell";
+ # file = "nix-shell.plugin.zsh";
+ # src = pkgs.fetchFromGitHub {
+ # owner = "chisui";
+ # repo = "zsh-nix-shell";
+ # rev = "v0.1.0";
+ # sha256 = "0snhch9hfy83d4amkyxx33izvkhbwmindy0zjjk28hih1a9l2jmx";
+ # };
+ # }
+ # ];
};
};
}
diff --git a/home/profiles/laptop.nix b/home/profiles/laptop.nix
@@ -0,0 +1,45 @@
+{ pkgs, ... }:
+
+{
+ home.stateVersion = "20.09";
+
+ imports = [
+ ../modules
+ ../themes/gruvbox
+ ];
+
+ alacritty.enable = true;
+ dunst.enable = true;
+ neovim.enable = true;
+ polybar.enable = true;
+ starship.enable = true;
+ zathura.enable = true;
+ xbindkeys.enable = true;
+ xinit = {
+ enable = true;
+ config = ''
+ [[ -f ~/.Xresources ]] && xrdb -merge -I$HOME .Xresources
+
+ . ~/.xprofile
+
+ exec bspwm
+ '';
+ };
+ zsh = {
+ enable = true;
+ editor = "nvim";
+ };
+
+ home.packages = [
+ # packages
+ pkgs.bc
+ pkgs.ccls
+ pkgs.fzf
+ pkgs.gcc
+ pkgs.haskell-language-server
+ pkgs.i3lock-color
+ pkgs.manpages
+ pkgs.texlab
+ pkgs.tree-sitter
+ ];
+}
diff --git a/home/scripts/hello b/home/scripts/hello
@@ -0,0 +1,2 @@
+#!/bin/sh
+echo hello
diff --git a/lib/default.nix b/lib/default.nix
@@ -0,0 +1,16 @@
+{ lib, ... }:
+# Directory library functions
+
+with lib;
+
+let
+ dirs = import ./dirs.nix { inherit lib; };
+
+ files = filterAttrs (name: value: name != "default.nix") (dirs.mapOnDir ./.
+ # a will be "regular" on a file and "directory" on a directory
+ (name: a:
+ let path = "${toString ./.}/${name}"; in
+ import path { inherit lib; }
+ ));
+in
+foldAttrs (n: a: n) [] (attrValues files)
diff --git a/lib/dirs.nix b/lib/dirs.nix
@@ -0,0 +1,16 @@
+{ lib, ... }:
+
+with lib;
+
+rec {
+ /*
+ * Map the function fn to every file in dir
+ */
+ mapOnDir = dir: fn:
+ let d = builtins.readDir dir; in
+ builtins.mapAttrs (fn) d;
+
+ importDir = dir:
+ map (file: "${toString dir}/${file}") (filter (f: f != "default.nix") (attrValues (mapOnDir dir (name: a:
+ name))));
+}
diff --git a/lib/scripts.nix b/lib/scripts.nix
@@ -0,0 +1,11 @@
+{ lib, ... }:
+
+# Library functions for writing scripts
+
+{
+ createScriptFile = name: source: {
+ target = ".local/scripts/${name}";
+ text = builtins.readFile source;
+ executable = true;
+ };
+}
diff --git a/nixos/laptop/configuration.nix b/nixos/laptop/configuration.nix
@@ -21,6 +21,7 @@
# Use the GRUB 2 boot loader.
boot.loader.grub.enable = true;
boot.loader.grub.version = 2;
+ boot.loader.grub.configurationLimit = 100;
# boot.loader.grub.efiSupport = true;
# boot.loader.grub.efiInstallAsRemovable = true;
# boot.loader.efi.efiSysMountPoint = "/boot/efi";