Configure Neovim
This commit is contained in:
parent
72b28d88d2
commit
106f9fb7bf
6 changed files with 691 additions and 483 deletions
600
flake.lock
generated
600
flake.lock
generated
|
|
@ -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"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
21
flake.nix
21
flake.nix
|
|
@ -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; };
|
||||
|
|
|
|||
|
|
@ -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
|
||||
];
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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 ];
|
||||
# });
|
||||
# };
|
||||
# };
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
];
|
||||
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>
|
||||
globals.mapleader = " ";
|
||||
|
||||
"Show hidden files in NERDTree
|
||||
let NERDTreeShowHidden=1
|
||||
opts = {
|
||||
# Keep visual indentation on wrapped lines
|
||||
breakindent = true;
|
||||
|
||||
set number relativenumber
|
||||
set ignorecase
|
||||
# Hide command line unless needed
|
||||
cmdheight = 0;
|
||||
|
||||
vnoremap . :norm.<CR>
|
||||
# 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";
|
||||
}
|
||||
];
|
||||
|
||||
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,
|
||||
},
|
||||
})
|
||||
|
||||
|
||||
require('orgmode').setup({
|
||||
org_agend_files = '~/Nextcloud/Org/**/*',
|
||||
org_default_notes_file = '~/Nextcloud/Org/refile.org',
|
||||
})
|
||||
require('org-roam').setup({
|
||||
directory = '~/Nextcloud/OrgRoam',
|
||||
})
|
||||
|
||||
|
||||
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
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue