Configure Neovim

This commit is contained in:
Paul-Henri Froidmont 2024-07-12 04:12:20 +02:00
parent 72b28d88d2
commit 106f9fb7bf
Signed by: phfroidmont
GPG key ID: BE948AFD7E7873BE
6 changed files with 691 additions and 483 deletions

600
flake.lock generated
View file

@ -1,35 +1,24 @@
{
"nodes": {
"doom-emacs": {
"flake": false,
"devshell": {
"inputs": {
"flake-utils": "flake-utils_2",
"nixpkgs": [
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1662497747,
"narHash": "sha256-4n7E1fqda7cn5/F2jTkOnKw1juG6XMS/FI9gqODL3aU=",
"owner": "doomemacs",
"repo": "doomemacs",
"rev": "3853dff5e11655e858d0bfae64b70cb12ef685ac",
"lastModified": 1717408969,
"narHash": "sha256-Q0OEFqe35fZbbRPPRdrjTUUChKVhhWXz3T9ZSKmaoVY=",
"owner": "numtide",
"repo": "devshell",
"rev": "1ebbe68d57457c8cae98145410b164b5477761f4",
"type": "github"
},
"original": {
"owner": "doomemacs",
"repo": "doomemacs",
"rev": "3853dff5e11655e858d0bfae64b70cb12ef685ac",
"type": "github"
}
},
"doom-snippets": {
"flake": false,
"locked": {
"lastModified": 1694887483,
"narHash": "sha256-KlKhruPSLPSKqUnr5/U65arm16VrY9ORzm+XKNZhpTQ=",
"owner": "doomemacs",
"repo": "snippets",
"rev": "f022984ee1318a4015d5d081b3c3dab5a60dc6ff",
"type": "github"
},
"original": {
"owner": "doomemacs",
"repo": "snippets",
"owner": "numtide",
"repo": "devshell",
"type": "github"
}
},
@ -40,11 +29,11 @@
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1719106959,
"narHash": "sha256-dxrEcXldbG9pw2f+BCgu5lv7nUeHphQHhGZupaaDmGg=",
"lastModified": 1720602715,
"narHash": "sha256-fjFdTtP0K94y6lsmUukyLh2VMqDme//+goDsTal+CrU=",
"owner": "nix-community",
"repo": "emacs-overlay",
"rev": "b5e4ae0a33bb011e9515181ff1634471a975539f",
"rev": "77ddb4021ae40a3a6aac74d7730f36cdb3dde4ba",
"type": "github"
},
"original": {
@ -53,127 +42,28 @@
"type": "github"
}
},
"emacs-overlay_2": {
"flake": false,
"locked": {
"lastModified": 1676366521,
"narHash": "sha256-i4UAY8t9Au9SJtsgYppa3NHSVf1YkV6yqnNIQd+Km4g=",
"owner": "nix-community",
"repo": "emacs-overlay",
"rev": "c16be6de78ea878aedd0292aa5d4a1ee0a5da501",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "emacs-overlay",
"rev": "c16be6de78ea878aedd0292aa5d4a1ee0a5da501",
"type": "github"
}
},
"emacs-so-long": {
"flake": false,
"locked": {
"lastModified": 1575031854,
"narHash": "sha256-xIa5zO0ZaToDrec1OFjBK6l39AbA4l/CE4LInVu2hi0=",
"owner": "hlissner",
"repo": "emacs-so-long",
"rev": "ed666b0716f60e8988c455804de24b55919e71ca",
"type": "github"
},
"original": {
"owner": "hlissner",
"repo": "emacs-so-long",
"type": "github"
}
},
"evil-escape": {
"flake": false,
"locked": {
"lastModified": 1588439096,
"narHash": "sha256-aB2Ge5o/93B18tPf4fN1c+O46CNh/nOqwLJbox4c8Gw=",
"owner": "hlissner",
"repo": "evil-escape",
"rev": "819f1ee1cf3f69a1ae920e6004f2c0baeebbe077",
"type": "github"
},
"original": {
"owner": "hlissner",
"repo": "evil-escape",
"type": "github"
}
},
"evil-markdown": {
"flake": false,
"locked": {
"lastModified": 1626852210,
"narHash": "sha256-HBBuZ1VWIn6kwK5CtGIvHM1+9eiNiKPH0GUsyvpUVN8=",
"owner": "Somelauw",
"repo": "evil-markdown",
"rev": "8e6cc68af83914b2fa9fd3a3b8472573dbcef477",
"type": "github"
},
"original": {
"owner": "Somelauw",
"repo": "evil-markdown",
"type": "github"
}
},
"evil-org-mode": {
"flake": false,
"locked": {
"lastModified": 1607203864,
"narHash": "sha256-JxwqVYDN6OIJEH15MVI6XOZAPtUWUhJQWHyzcrUvrFg=",
"owner": "hlissner",
"repo": "evil-org-mode",
"rev": "a9706da260c45b98601bcd72b1d2c0a24a017700",
"type": "github"
},
"original": {
"owner": "hlissner",
"repo": "evil-org-mode",
"type": "github"
}
},
"evil-quick-diff": {
"flake": false,
"locked": {
"lastModified": 1575189609,
"narHash": "sha256-oGzl1ayW9rIuq0haoiFS7RZsS8NFMdEA7K1BSozgnJU=",
"owner": "rgrinberg",
"repo": "evil-quick-diff",
"rev": "69c883720b30a892c63bc89f49d4f0e8b8028908",
"type": "github"
},
"original": {
"owner": "rgrinberg",
"repo": "evil-quick-diff",
"type": "github"
}
},
"explain-pause-mode": {
"flake": false,
"locked": {
"lastModified": 1595842060,
"narHash": "sha256-++znrjiDSx+cy4okFBBXUBkRFdtnE2x+trkmqjB3Njs=",
"owner": "lastquestion",
"repo": "explain-pause-mode",
"rev": "2356c8c3639cbeeb9751744dbe737267849b4b51",
"type": "github"
},
"original": {
"owner": "lastquestion",
"repo": "explain-pause-mode",
"type": "github"
}
},
"flake-compat": {
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"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": {
"type": "tarball",
"url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"
}
},
"flake-compat_2": {
"flake": false,
"locked": {
"lastModified": 1673956053,
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
@ -182,6 +72,27 @@
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1719994518,
"narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-utils": {
"inputs": {
"systems": "systems"
@ -205,11 +116,11 @@
"systems": "systems_2"
},
"locked": {
"lastModified": 1694529238,
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
"lastModified": 1701680307,
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
"type": "github"
},
"original": {
@ -234,52 +145,52 @@
"type": "github"
}
},
"format-all": {
"flake": false,
"git-hooks": {
"inputs": {
"flake-compat": "flake-compat_2",
"gitignore": "gitignore",
"nixpkgs": [
"nixvim",
"nixpkgs"
],
"nixpkgs-stable": [
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1581716637,
"narHash": "sha256-ul7LCe60W8TIvUmUtZtZRo8489TK9iTPDsLHmzxY57M=",
"owner": "lassik",
"repo": "emacs-format-all-the-code",
"rev": "47d862d40a088ca089c92cd393c6dca4628f87d3",
"lastModified": 1720450253,
"narHash": "sha256-1in42htN3g3MnE3/AO5Qgs6pMWUzmtPQ7s675brO8uw=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "2b6bd3c87d3a66fb0b8f2f06c985995e04b4fb96",
"type": "github"
},
"original": {
"owner": "lassik",
"repo": "emacs-format-all-the-code",
"rev": "47d862d40a088ca089c92cd393c6dca4628f87d3",
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"gruvbox-gtk-theme": {
"flake": false,
"gitignore": {
"inputs": {
"nixpkgs": [
"nixvim",
"git-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1718658865,
"narHash": "sha256-wUBOR9CjjD2MwT3PdLw/mccVLYhwVCaTJ+fe2V2HhnE=",
"owner": "Fausto-Korpsvart",
"repo": "Gruvbox-GTK-Theme",
"rev": "5e99fc6c2b30b0489065254240f15cd6d401eb0b",
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "Fausto-Korpsvart",
"repo": "Gruvbox-GTK-Theme",
"type": "github"
}
},
"gruvbox-kvantum-theme": {
"flake": false,
"locked": {
"lastModified": 1696096968,
"narHash": "sha256-u2J4Zf9HuMjNCt3qVpgEffkytl/t277FzOvWL8Nm8os=",
"owner": "sachnr",
"repo": "gruvbox-kvantum-themes",
"rev": "f47670be407c1f07c64890ad53884ee9977a7db1",
"type": "github"
},
"original": {
"owner": "sachnr",
"repo": "gruvbox-kvantum-themes",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
@ -304,71 +215,56 @@
"type": "github"
}
},
"nix-doom-emacs": {
"home-manager_2": {
"inputs": {
"doom-emacs": "doom-emacs",
"doom-snippets": "doom-snippets",
"emacs-overlay": "emacs-overlay_2",
"emacs-so-long": "emacs-so-long",
"evil-escape": "evil-escape",
"evil-markdown": "evil-markdown",
"evil-org-mode": "evil-org-mode",
"evil-quick-diff": "evil-quick-diff",
"explain-pause-mode": "explain-pause-mode",
"flake-compat": "flake-compat",
"flake-utils": "flake-utils_2",
"format-all": "format-all",
"nix-straight": "nix-straight",
"nixpkgs": "nixpkgs_2",
"nose": "nose",
"ob-racket": "ob-racket",
"org": "org",
"org-contrib": "org-contrib",
"org-yt": "org-yt",
"php-extras": "php-extras",
"revealjs": "revealjs",
"rotate-text": "rotate-text",
"sln-mode": "sln-mode",
"ts-fold": "ts-fold",
"ws-butler": "ws-butler"
"nixpkgs": [
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1701264882,
"narHash": "sha256-MBXR7x7Ua8qystlGr+lenwjQd7dsFNFpEFmtHhh10zM=",
"lastModified": 1720042825,
"narHash": "sha256-A0vrUB6x82/jvf17qPCpxaM+ulJnD8YZwH9Ci0BsAzE=",
"owner": "nix-community",
"repo": "nix-doom-emacs",
"rev": "f7413022370f24bb53cb450bfb2803233510113e",
"repo": "home-manager",
"rev": "e1391fb22e18a36f57e6999c7a9f966dc80ac073",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nix-doom-emacs",
"ref": "release-24.05",
"repo": "home-manager",
"type": "github"
}
},
"nix-straight": {
"flake": false,
"nix-darwin": {
"inputs": {
"nixpkgs": [
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1694361489,
"narHash": "sha256-kjDp+j6OtrmqbtjQB5uuOtjS08+kgJQuxFqhWE1Y9Rw=",
"owner": "nix-community",
"repo": "nix-straight.el",
"rev": "748be99b84be0b130e946288099806a0f16d6e57",
"lastModified": 1720337362,
"narHash": "sha256-9TNQtlwu97NPaJYsKkdObOsy0MLN4NAOBz0pqwH3KnA=",
"owner": "lnl7",
"repo": "nix-darwin",
"rev": "0f89b73f41eaa1dde67b291452c181d9a75f10dd",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nix-straight.el",
"owner": "lnl7",
"repo": "nix-darwin",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1718895438,
"narHash": "sha256-k3JqJrkdoYwE3fHE6xGDY676AYmyh4U2Zw+0Bwe5DLU=",
"lastModified": 1720418205,
"narHash": "sha256-cPJoFPXU44GlhWg4pUk9oUPqurPlCFZ11ZQPk21GTPU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "d603719ec6e294f034936c0d0dc06f689d91b6c3",
"rev": "655a58a72a6601292512670343087c2d75d859c1",
"type": "github"
},
"original": {
@ -380,27 +276,27 @@
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1718811006,
"narHash": "sha256-0Y8IrGhRmBmT7HHXlxxepg2t8j1X90++qRN3lukGaIk=",
"lastModified": 1720386169,
"narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "03d771e513ce90147b65fe922d87d3a0356fc125",
"rev": "194846768975b7ad2c4988bdb82572c00222c0d7",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-23.11",
"ref": "nixos-24.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1718895438,
"narHash": "sha256-k3JqJrkdoYwE3fHE6xGDY676AYmyh4U2Zw+0Bwe5DLU=",
"lastModified": 1720418205,
"narHash": "sha256-cPJoFPXU44GlhWg4pUk9oUPqurPlCFZ11ZQPk21GTPU=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "d603719ec6e294f034936c0d0dc06f689d91b6c3",
"rev": "655a58a72a6601292512670343087c2d75d859c1",
"type": "github"
},
"original": {
@ -411,21 +307,6 @@
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1695806987,
"narHash": "sha256-fX5kGs66NZIxCMcpAGIpxuftajHL8Hil1vjHmjjl118=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "f3dab3509afca932f3f4fd0908957709bb1c1f57",
"type": "github"
},
"original": {
"id": "nixpkgs",
"ref": "nixpkgs-unstable",
"type": "indirect"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1718835956,
"narHash": "sha256-wM9v2yIxClRYsGHut5vHICZTK7xdrUGfrLkXvSuv6s4=",
@ -441,115 +322,31 @@
"type": "github"
}
},
"nose": {
"flake": false,
"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": [
"nixpkgs"
],
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1400604510,
"narHash": "sha256-daEi8Kta1oGaDEmUUDDQMahTTPOpvNpDKk22rlr7cB0=",
"owner": "emacsattic",
"repo": "nose",
"rev": "f8528297519eba911696c4e68fa88892de9a7b72",
"lastModified": 1720472744,
"narHash": "sha256-BJf06/uE8XgjSqXB6ftabinqK+qaAmWA0dLxAfLrAjw=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "2c52164a4f1b863f5eda842b4b9423b7f2677ddc",
"type": "github"
},
"original": {
"owner": "emacsattic",
"repo": "nose",
"type": "github"
}
},
"ob-racket": {
"flake": false,
"locked": {
"lastModified": 1584656173,
"narHash": "sha256-rBUYDDCXb+3D4xTPQo9UocbTPZ32kWV1Uya/1DmZknU=",
"owner": "xchrishawk",
"repo": "ob-racket",
"rev": "83457ec9e1e96a29fd2086ed19432b9d75787673",
"type": "github"
},
"original": {
"owner": "xchrishawk",
"repo": "ob-racket",
"type": "github"
}
},
"org": {
"flake": false,
"locked": {
"lastModified": 1695726851,
"narHash": "sha256-qgbjspklSoI8M3cbCJOcUdjuijRgsL/+PSyEOW9VX4I=",
"owner": "emacs-straight",
"repo": "org-mode",
"rev": "aa9177e1a8b039c357d369c1c9aaab710bb247a9",
"type": "github"
},
"original": {
"owner": "emacs-straight",
"repo": "org-mode",
"type": "github"
}
},
"org-contrib": {
"flake": false,
"locked": {
"lastModified": 1694946041,
"narHash": "sha256-X/HFG6NZe5BY00KvGbcsIuf9R6Lg8x7Uhd0Y5+Q3qZU=",
"owner": "emacsmirror",
"repo": "org-contrib",
"rev": "5eabbf22bdd4523c922a30787e98ee66c24221aa",
"type": "github"
},
"original": {
"owner": "emacsmirror",
"repo": "org-contrib",
"type": "github"
}
},
"org-yt": {
"flake": false,
"locked": {
"lastModified": 1527381913,
"narHash": "sha256-dzQ6B7ryzatHCTLyEnRSbWO0VUiX/FHYnpHTs74aVUs=",
"owner": "TobiasZawada",
"repo": "org-yt",
"rev": "40cc1ac76d741055cbefa13860d9f070a7ade001",
"type": "github"
},
"original": {
"owner": "TobiasZawada",
"repo": "org-yt",
"type": "github"
}
},
"php-extras": {
"flake": false,
"locked": {
"lastModified": 1573312690,
"narHash": "sha256-r4WyVbzvT0ra4Z6JywNBOw5RxOEYd6Qe2IpebHXkj1U=",
"owner": "arnested",
"repo": "php-extras",
"rev": "d410c5af663c30c01d461ac476d1cbfbacb49367",
"type": "github"
},
"original": {
"owner": "arnested",
"repo": "php-extras",
"type": "github"
}
},
"revealjs": {
"flake": false,
"locked": {
"lastModified": 1695738029,
"narHash": "sha256-Z9c9Q41jMkj/DyXOiZYyIa7Gmn8VB8yauTyWrSsT+ps=",
"owner": "hakimel",
"repo": "reveal.js",
"rev": "88fbfc5751ad01e3f6adee5819eabeb9e73c3757",
"type": "github"
},
"original": {
"owner": "hakimel",
"repo": "reveal.js",
"owner": "nix-community",
"ref": "nixos-24.05",
"repo": "nixvim",
"type": "github"
}
},
@ -557,44 +354,12 @@
"inputs": {
"emacs-overlay": "emacs-overlay",
"flameshot-git": "flameshot-git",
"gruvbox-gtk-theme": "gruvbox-gtk-theme",
"gruvbox-kvantum-theme": "gruvbox-kvantum-theme",
"home-manager": "home-manager",
"nix-doom-emacs": "nix-doom-emacs",
"nixpkgs": "nixpkgs_3",
"nixpkgs-unstable": "nixpkgs-unstable"
}
},
"rotate-text": {
"flake": false,
"locked": {
"lastModified": 1322962747,
"narHash": "sha256-SOeOgSlcEIsKhUiYDJv0p+mLUb420s9E2BmvZQvZ0wk=",
"owner": "debug-ito",
"repo": "rotate-text.el",
"rev": "48f193697db996855aee1ad2bc99b38c6646fe76",
"type": "github"
},
"original": {
"owner": "debug-ito",
"repo": "rotate-text.el",
"type": "github"
}
},
"sln-mode": {
"flake": false,
"locked": {
"lastModified": 1423727528,
"narHash": "sha256-XqkqPyEJuTtFslOz1fpTf/Klbd/zA7IGpzpmum/MGao=",
"owner": "sensorflo",
"repo": "sln-mode",
"rev": "0f91d1b957c7d2a7bab9278ec57b54d57f1dbd9c",
"type": "github"
},
"original": {
"owner": "sensorflo",
"repo": "sln-mode",
"type": "github"
"nixpkgs": "nixpkgs_2",
"nixpkgs-unstable": "nixpkgs-unstable",
"nixvim": "nixvim",
"vim-org-roam": "vim-org-roam",
"vim-yazi": "vim-yazi"
}
},
"systems": {
@ -627,35 +392,56 @@
"type": "github"
}
},
"ts-fold": {
"flake": false,
"treefmt-nix": {
"inputs": {
"nixpkgs": [
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1695278494,
"narHash": "sha256-O4NcUC1u08W8ZslqoA/i+iTaLotKwheURXQWBxLLMFc=",
"owner": "jcs-elpa",
"repo": "ts-fold",
"rev": "70b2c79ff4daa7351d4e2917b0343b9a18d4d4f2",
"lastModified": 1720436211,
"narHash": "sha256-/cKXod0oGLl+vH4bKBZnTV3qxrw4jgOLnyQ8KXey5J8=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "6fc8bded78715cdd43a3278a14ded226eb3a239e",
"type": "github"
},
"original": {
"owner": "jcs-elpa",
"repo": "ts-fold",
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
},
"ws-butler": {
"vim-org-roam": {
"flake": false,
"locked": {
"lastModified": 1634511126,
"narHash": "sha256-c0y0ZPtxxICPk+eaNbbQf6t+FRCliNY54CCz9QHQ8ZI=",
"owner": "hlissner",
"repo": "ws-butler",
"rev": "572a10c11b6cb88293de48acbb59a059d36f9ba5",
"lastModified": 1719134875,
"narHash": "sha256-7s7nePlg/lF/JplR3qvY+ZT1B/wUG6TymCis4OMBBQ8=",
"owner": "chipsenkbeil",
"repo": "org-roam.nvim",
"rev": "45153562e7bfe806d84747d6518cad714c63ca2e",
"type": "github"
},
"original": {
"owner": "hlissner",
"repo": "ws-butler",
"owner": "chipsenkbeil",
"repo": "org-roam.nvim",
"type": "github"
}
},
"vim-yazi": {
"flake": false,
"locked": {
"lastModified": 1720634904,
"narHash": "sha256-HrNNrLAewzyebKZ2m1wBJxcVn2w2UjapeHRAZQDN/5U=",
"owner": "mikavilpas",
"repo": "yazi.nvim",
"rev": "c0841f4902204844db7def936b6702fa73b8cff0",
"type": "github"
},
"original": {
"owner": "mikavilpas",
"repo": "yazi.nvim",
"type": "github"
}
}

View file

@ -2,19 +2,21 @@
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager/release-24.05";
inputs.nixpkgs.follows = "nixpkgs";
};
emacs-overlay.url = "github:nix-community/emacs-overlay";
nix-doom-emacs.url = "github:nix-community/nix-doom-emacs";
gruvbox-gtk-theme = {
url = "github:Fausto-Korpsvart/Gruvbox-GTK-Theme";
nixvim = {
url = "github:nix-community/nixvim/nixos-24.05";
inputs.nixpkgs.follows = "nixpkgs";
};
vim-yazi = {
url = "github:mikavilpas/yazi.nvim";
flake = false;
};
gruvbox-kvantum-theme = {
url = "github:sachnr/gruvbox-kvantum-themes";
vim-org-roam = {
url = "github:chipsenkbeil/org-roam.nvim";
flake = false;
};
flameshot-git = {
@ -23,9 +25,9 @@
};
};
outputs = inputs@{ self, home-manager, nixpkgs, nixpkgs-unstable, ... }:
outputs = inputs@{ self, nixpkgs, nixpkgs-unstable, ... }:
let
inherit (lib.my) mapModules mapModulesRec mkHost mapHosts;
inherit (lib.my) mapHosts;
system = "x86_64-linux";
@ -50,7 +52,8 @@
lib = self;
};
});
in {
in
{
lib = lib.my;
overlay = final: prev: { unstable = pkgs-unstable; };

View file

@ -1,9 +1,6 @@
{ inputs, config, options, lib, pkgs, ... }:
{ config, lib, pkgs, ... }:
with lib;
with lib.my;
let
cfg = config.modules.desktop;
wallpaper = pkgs.fetchurl {
url =
"https://raw.githubusercontent.com/AngelJumbo/gruvbox-wallpapers/main/wallpapers/irl/houseonthesideofalake.jpg";
@ -13,13 +10,13 @@ in
{
options.modules.desktop = {
wallpaper = mkOption {
type = types.path;
wallpaper = lib.mkOption {
type = lib.types.path;
default = wallpaper;
};
};
config = mkIf config.modules.desktop.wm.enable {
config = lib.mkIf config.modules.desktop.wm.enable {
fonts = {
packages = with pkgs.unstable; [
@ -142,7 +139,7 @@ in
sessionVariables.EDITOR = "vim";
packages = with pkgs.unstable; [
packages = (with pkgs.unstable; [
brave
ungoogled-chromium
mullvad-browser
@ -151,7 +148,6 @@ in
element-desktop
swayimg
mpv
jellyfin-mpv-shim
mumble
libreoffice-fresh
onlyoffice-bin
@ -169,9 +165,10 @@ in
zsh-syntax-highlighting
R
tldr
thefuck
ark
linuxPackages.perf
]) ++ [
pkgs.jellyfin-mpv-shim
];
};

View file

@ -1,11 +1,9 @@
{ config, lib, pkgs, ... }:
with lib;
with lib.my;
let cfg = config.modules.desktop.zsh;
in {
options.modules.desktop.zsh = { enable = mkBoolOpt false; };
config = mkIf cfg.enable {
options.modules.desktop.zsh = { enable = lib.my.mkBoolOpt false; };
config = lib.mkIf cfg.enable {
environment.pathsToLink = [ "/share/zsh" ];
@ -30,8 +28,6 @@ in {
[[ -n "$key[Up]" ]] && bindkey -- "$key[Up]" up-line-or-beginning-search
[[ -n "$key[Down]" ]] && bindkey -- "$key[Down]" down-line-or-beginning-search
eval $(${pkgs.thefuck}/bin/thefuck --alias)
'';
oh-my-zsh = {
enable = true;
@ -48,6 +44,10 @@ in {
}
];
};
programs.thefuck = {
enable = true;
enableZshIntegration = true;
};
programs.starship = {
enable = true;
enableZshIntegration = true;

View file

@ -42,7 +42,7 @@ in {
# Nix
nil
phpactor # PHP
pkgs.phpactor # PHP
#OCaml
ocaml
dune_3
@ -74,7 +74,6 @@ in {
client.enable = true;
};
# Use either this or nix-doom-emacs
programs.emacs = {
enable = true;
package = pkgs.unstable.emacs29.override {
@ -108,25 +107,6 @@ in {
fi
'';
};
# imports = [ inputs.nix-doom-emacs.hmModule ];
# programs.doom-emacs = {
# enable = true;
# doomPrivateDir = ./doom.d;
# emacsPackagesOverlay = final: prev: {
# ob-ammonite = with final;
# (trivialBuild {
# src = pkgs.fetchFromGitHub {
# owner = "zwild";
# repo = "ob-ammonite";
# rev = "39937dff395e70aff76a4224fa49cf2ec6c57cca";
# sha256 = pkgs.lib.fakeSha256;
# };
# pname = "ob-ammonite";
# packageRequires = [ s dash editorconfig ];
# });
# };
# };
};
};
}

View file

@ -1,46 +1,488 @@
{ config, lib, pkgs, ... }:
with lib;
with lib.my;
{ config, lib, pkgs, inputs, ... }:
let cfg = config.modules.editor.vim;
in {
options.modules.editor.vim = { enable = mkBoolOpt false; };
options.modules.editor.vim = { enable = lib.my.mkBoolOpt false; };
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
home-manager.users.${config.user.name} = {
programs.neovim = {
imports = [ inputs.nixvim.homeManagerModules.nixvim ];
programs.nixvim = {
enable = true;
package = pkgs.unstable.neovim-unwrapped;
vimAlias = true;
plugins = with pkgs; [
vimPlugins.gruvbox-community
vimPlugins.vim-airline
vimPlugins.vim-airline-themes
vimPlugins.vim-gitgutter
vimPlugins.nerdtree
vimPlugins.nerdtree-git-plugin
vimPlugins.ctrlp-vim
vimPlugins.tabular
globals.mapleader = " ";
opts = {
# Keep visual indentation on wrapped lines
breakindent = true;
# Hide command line unless needed
cmdheight = 0;
# Insert mode completion options
completeopt = [ "menu" "menuone" "noselect" ];
# Raise a dialog asking if you wish to save the current file(s)
confirm = true;
# Copy previous indentation on autoindenting
copyindent = true;
# Highlight current line
cursorline = true;
# Enable linematch diff algorithm
diffopt.__raw = ''
vim.list_extend(vim.opt.diffopt:get(), { "algorithm:histogram", "linematch:60" })
'';
# Expand <Tab> to spaces
expandtab = false;
# Disable `~` on nonexistent lines
fillchars = { eob = " "; };
# Enable fold with all code unfolded
foldcolumn = "1";
foldenable = true;
foldlevel = 99;
foldlevelstart = 99;
# Ignore case in search patterns
ignorecase = true;
# Show substitution preview in split window
inccommand = "split";
# Infer casing on word completion
infercase = true;
# Global statusline
laststatus = 3;
# Wrap lines at 'breakat'
linebreak = true;
# Enable list mode
list = true;
# Set custom strings for list mode
# - tabulations are shown as ‒▶
# - trailing spaces are shown as ·
# - multiple non-leading consecutive spaces are shown as bullets (·)
# - non-breakable spaces are shown as ⎕
listchars = "tab:» ,trail:·,multispace:·,lead: ,nbsp:";
# Enable mouse support
mouse = "a";
# Show line numbers
number = true;
# Preserve indentation as much as possible
preserveindent = true;
# Height of the popup menu
pumheight = 10;
# Display line numbers relative to current line
relativenumber = false;
# Number of spaces to use for indentation
shiftwidth = 2;
# Disable search count wrap and startup messages
shortmess.__raw = ''
vim.tbl_deep_extend("force", vim.opt.shortmess:get(), { s = true, I = true })
'';
# Disable showing modes in command line
showmode = false;
# Show tabline when needed
showtabline = 1;
# Show signs column
signcolumn = "yes";
# Override ignorecase if search pattern contains uppercase characters
smartcase = true;
# Number of spaces input on <Tab>
softtabstop = 2;
# Open horizontal split below (:split)
splitbelow = true;
# Open vertical split to the right (:vsplit)
splitright = true;
# Number of spaces to represent a <Tab>
tabstop = 2;
# Enables 24-bit RGB color
termguicolors = true;
# Shorter timeout duration
timeoutlen = 500;
# Set window title to the filename
title = true;
# Save undo history to undo file (in $XDG_STATE_HOME/nvim/undo)
undofile = true;
viewoptions.__raw = ''
vim.tbl_filter(function(val) return val ~= "curdir" end, vim.opt.viewoptions:get())
'';
# Enable virtual edit in visual block mode
# This has the effect of selecting empty cells beyond lines boundaries
virtualedit = "block";
# Disable line wrapping
wrap = false;
# Disable making a backup before overwriting a file
writebackup = false;
# Sync clipboard between OS and Neovim.
clipboard = "unnamedplus";
};
keymaps = [
{
key = "<leader>sh";
action = "<CMD>Telescope help_tags<CR>";
options.desc = "[S]earch [H]elp";
}
{
key = "<leader>sk";
action = "<CMD>Telescope keymaps<CR>";
options.desc = "[S]earch [K]eymaps";
}
{
key = "<leader>ss";
action = "<CMD>Telescope<CR>";
options.desc = "[S]earch [S]elect Telescope";
}
{
key = "<leader>/";
action = "<CMD>Telescope live_grep<CR>";
options.desc = "[S]earch by [G]rep";
}
{
key = "<leader>sr";
action = "<CMD>Telescope resume<CR>";
options.desc = "[S]earch [R]esume";
}
{
key = "<leader>.";
action.__raw = ''
function()
require("yazi").yazi()
end
'';
options.desc = "Open file manager";
}
{
key = "<leader>cx";
action = "<CMD>Telescope diagnostics<CR>";
options.desc = "Search diagnostics";
}
{
key = "<leader>fs";
action.__raw = ''
function()
vim.lsp.buf.format()
vim.cmd.write()
end
'';
options.desc = "Format and save buffer";
}
{
key = "<leader>ps";
action = "<CMD>wa<CR>";
options.desc = "Save all buffers";
}
{
key = "<leader>gg";
action = "<CMD>Neogit<CR>";
}
{
key = "<leader><leader>";
action = "<CMD>Telescope fd<CR>";
}
{
key = "<leader>bb";
action = "<CMD>Telescope buffers<CR>";
}
{
key = "<leader>bn";
action = "<CMD>bnext<CR>";
options.desc = "Next buffer";
}
{
key = "<leader>bp";
action = "<CMD>bprev<CR>";
options.desc = "Previous buffer";
}
{
key = "<leader>bl";
action = "<CMD>e #<CR>";
options.desc = "Other buffer";
}
{
key = "<leader>bk";
action = "<CMD>bdel<CR>";
options.desc = "Delete buffer";
}
{
key = "<leader>bd";
action = "<CMD>bdel<CR>";
options.desc = "Delete buffer";
}
];
extraConfig = ''
let g:gruvbox_italic=1
colorscheme gruvbox
set background=dark
let g:airline_powerline_fonts = 1
autocmd VimEnter * hi Normal ctermbg=NONE guibg=NONE
"Toggle NERDTree with Ctrl-N
map <C-n> :NERDTreeToggle<CR>
plugins = {
lualine = {
enable = true;
};
cmp = {
enable = true;
settings = {
sources =
[
{ name = "nvim_lsp"; }
{ name = "path"; }
{ name = "buffer"; }
{ name = "cmdline"; }
];
mapping = {
"<CR>" = "cmp.mapping.confirm({ select = true })";
"<C-Space>" = "cmp.mapping.complete()";
"<C-u>" = "cmp.mapping.scroll_docs(-4)";
"<C-e>" = "cmp.mapping.close()";
"<C-d>" = "cmp.mapping.scroll_docs(4)";
"<S-Tab>" = "cmp.mapping(cmp.mapping.select_prev_item(), {'i', 's'})";
"<Tab>" = "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})";
};
};
};
gitgutter.enable = true;
leap.enable = true;
fidget.enable = true;
neogit = {
enable = true;
package = pkgs.unstable.vimPlugins.neogit;
};
sleuth.enable = true;
comment.enable = true;
direnv.enable = true;
nix.enable = true;
treesitter = {
enable = true;
indent = true;
incrementalSelection.enable = true;
ignoreInstall = [ "org" ];
};
telescope = {
enable = true;
extensions.fzf-native.enable = true;
extensions.ui-select.enable = true;
};
which-key = {
enable = true;
registrations = {
"<leader>b".name = "[B]uffer";
"<leader>c".name = "[C]ode";
"<leader>d".name = "[D]ocument";
"<leader>f".name = "[F]ile";
"<leader>g".name = "[G]it";
"<leader>r".name = "[R]ename";
"<leader>s".name = "[S]earch";
"<leader>w".name = "[W]orkspace";
"<leader>t".name = "[T]oggle";
"<leader>h".name = "Git [H]unk";
};
};
lsp = {
enable = true;
servers = {
ansiblels.enable = true;
bashls.enable = true;
cssls.enable = true;
docker-compose-language-service.enable = true;
dockerls.enable = true;
eslint.enable = true;
nixd.enable = true;
html.enable = true;
lua-ls.enable = true;
marksman.enable = true;
sqls.enable = true;
terraformls.enable = true;
tsserver.enable = true;
jsonls.enable = true;
yamlls.enable = true;
typos-lsp = {
enable = true;
extraOptions.init_options.diagnosticSeverity = "Hint";
};
};
keymaps = {
silent = true;
lspBuf = {
gd = {
action = "definition";
desc = "Goto Definition";
};
gr = {
action = "references";
desc = "Goto References";
};
gD = {
action = "declaration";
desc = "Goto Declaration";
};
gI = {
action = "implementation";
desc = "Goto Implementation";
};
gT = {
action = "type_definition";
desc = "Type Definition";
};
K = {
action = "hover";
desc = "Hover";
};
"<leader>cw" = {
action = "workspace_symbol";
desc = "Workspace Symbol";
};
"<leader>cr" = {
action = "rename";
desc = "Rename";
};
};
diagnostic = {
"<leader>cd" = {
action = "open_float";
desc = "Line Diagnostics";
};
"[d" = {
action = "goto_next";
desc = "Next Diagnostic";
};
"]d" = {
action = "goto_prev";
desc = "Previous Diagnostic";
};
};
};
};
};
extraPlugins = [
pkgs.unstable.vimPlugins.vim-airline-themes
pkgs.unstable.vimPlugins.nvim-metals
(pkgs.vimUtils.buildVimPlugin {
name = "yazi.nvim";
src = inputs.vim-yazi;
})
pkgs.unstable.vimPlugins.orgmode
(pkgs.vimUtils.buildVimPlugin {
name = "org-roam.nvim";
src = inputs.vim-org-roam;
})
];
extraConfigLua =
''
require('yazi').setup({
opts = {
open_for_directories = true,
},
})
"Show hidden files in NERDTree
let NERDTreeShowHidden=1
set number relativenumber
set ignorecase
require('orgmode').setup({
org_agend_files = '~/Nextcloud/Org/**/*',
org_default_notes_file = '~/Nextcloud/Org/refile.org',
})
require('org-roam').setup({
directory = '~/Nextcloud/OrgRoam',
})
vnoremap . :norm.<CR>
'';
local metals_config = require("metals").bare_config()
metals_config.init_options.statusBarProvider = "off"
metals_config.settings = {
showImplicitArguments = true,
}
metals_config.on_attach = function(client, bufnr)
vim.keymap.set(
"n",
"<leader>me",
function() require("telescope").extensions.metals.commands() end,
{ noremap=true, silent=true, buffer = bufn, desc = "Metals commands"}
)
vim.keymap.set(
"n",
"<leader>co",
"<CMD>MetalsOrganizeImports<CR>",
{ noremap=true, silent=true, buffer = bufn, desc = "Organize imports"}
)
end
local nvim_metals_group = vim.api.nvim_create_augroup("nvim-metals", { clear = true })
vim.api.nvim_create_autocmd("FileType", {
pattern = { "scala", "sbt", "java" },
callback = function()
require("metals").initialize_or_attach(metals_config)
end,
group = nvim_metals_group,
})
'';
colorschemes.gruvbox = {
enable = true;
package = pkgs.unstable.vimPlugins.gruvbox-nvim;
settings = {
overrides = {
Include = { link = "GruvboxRed"; };
"@constructor" = { link = "GruvboxYellow"; };
"@function.builtin" = { link = "GruvboxFg1"; };
"@function.call" = { link = "GruvboxFg1"; };
"@function.macro" = { link = "GruvboxFg1"; };
"@function.method.call.scala" = { link = "GruvboxFg1"; };
"@method.call" = { link = "GruvboxFg1"; };
"@variable.member.scala" = { link = "GruvboxFg1"; };
"@lsp.type.type.scala" = { link = ""; };
"@lsp.type.method.scala" = { link = ""; };
"@lsp.type.modifier.scala" = { link = "GruvboxOrange"; };
"@lsp.type.typeParameter.scala" = { link = "GruvboxAqua"; };
"@lsp.type.type.nix" = { link = ""; };
"@lsp.type.method.nix" = { link = ""; };
"@lsp.type.macro.nix" = { link = ""; };
"@lsp.type.interface.nix" = { link = ""; };
};
};
};
};
home.packages = with pkgs.unstable; [
ripgrep
fd
nodejs
opentofu
nixfmt-rfc-style
nixpkgs-fmt
coursier
nil
];
};
};
}