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": {
|
"nodes": {
|
||||||
"doom-emacs": {
|
"devshell": {
|
||||||
"flake": false,
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils_2",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixvim",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1662497747,
|
"lastModified": 1717408969,
|
||||||
"narHash": "sha256-4n7E1fqda7cn5/F2jTkOnKw1juG6XMS/FI9gqODL3aU=",
|
"narHash": "sha256-Q0OEFqe35fZbbRPPRdrjTUUChKVhhWXz3T9ZSKmaoVY=",
|
||||||
"owner": "doomemacs",
|
"owner": "numtide",
|
||||||
"repo": "doomemacs",
|
"repo": "devshell",
|
||||||
"rev": "3853dff5e11655e858d0bfae64b70cb12ef685ac",
|
"rev": "1ebbe68d57457c8cae98145410b164b5477761f4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "doomemacs",
|
"owner": "numtide",
|
||||||
"repo": "doomemacs",
|
"repo": "devshell",
|
||||||
"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",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -40,11 +29,11 @@
|
||||||
"nixpkgs-stable": "nixpkgs-stable"
|
"nixpkgs-stable": "nixpkgs-stable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1719106959,
|
"lastModified": 1720602715,
|
||||||
"narHash": "sha256-dxrEcXldbG9pw2f+BCgu5lv7nUeHphQHhGZupaaDmGg=",
|
"narHash": "sha256-fjFdTtP0K94y6lsmUukyLh2VMqDme//+goDsTal+CrU=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "emacs-overlay",
|
"repo": "emacs-overlay",
|
||||||
"rev": "b5e4ae0a33bb011e9515181ff1634471a975539f",
|
"rev": "77ddb4021ae40a3a6aac74d7730f36cdb3dde4ba",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -53,127 +42,28 @@
|
||||||
"type": "github"
|
"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": {
|
"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,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1673956053,
|
"lastModified": 1696426674,
|
||||||
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
|
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||||
"owner": "edolstra",
|
"owner": "edolstra",
|
||||||
"repo": "flake-compat",
|
"repo": "flake-compat",
|
||||||
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
|
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -182,6 +72,27 @@
|
||||||
"type": "github"
|
"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": {
|
"flake-utils": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems"
|
"systems": "systems"
|
||||||
|
|
@ -205,11 +116,11 @@
|
||||||
"systems": "systems_2"
|
"systems": "systems_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1694529238,
|
"lastModified": 1701680307,
|
||||||
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
|
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
|
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -234,52 +145,52 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"format-all": {
|
"git-hooks": {
|
||||||
"flake": false,
|
"inputs": {
|
||||||
|
"flake-compat": "flake-compat_2",
|
||||||
|
"gitignore": "gitignore",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixvim",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"nixpkgs-stable": [
|
||||||
|
"nixvim",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1581716637,
|
"lastModified": 1720450253,
|
||||||
"narHash": "sha256-ul7LCe60W8TIvUmUtZtZRo8489TK9iTPDsLHmzxY57M=",
|
"narHash": "sha256-1in42htN3g3MnE3/AO5Qgs6pMWUzmtPQ7s675brO8uw=",
|
||||||
"owner": "lassik",
|
"owner": "cachix",
|
||||||
"repo": "emacs-format-all-the-code",
|
"repo": "git-hooks.nix",
|
||||||
"rev": "47d862d40a088ca089c92cd393c6dca4628f87d3",
|
"rev": "2b6bd3c87d3a66fb0b8f2f06c985995e04b4fb96",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "lassik",
|
"owner": "cachix",
|
||||||
"repo": "emacs-format-all-the-code",
|
"repo": "git-hooks.nix",
|
||||||
"rev": "47d862d40a088ca089c92cd393c6dca4628f87d3",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"gruvbox-gtk-theme": {
|
"gitignore": {
|
||||||
"flake": false,
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixvim",
|
||||||
|
"git-hooks",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1718658865,
|
"lastModified": 1709087332,
|
||||||
"narHash": "sha256-wUBOR9CjjD2MwT3PdLw/mccVLYhwVCaTJ+fe2V2HhnE=",
|
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
||||||
"owner": "Fausto-Korpsvart",
|
"owner": "hercules-ci",
|
||||||
"repo": "Gruvbox-GTK-Theme",
|
"repo": "gitignore.nix",
|
||||||
"rev": "5e99fc6c2b30b0489065254240f15cd6d401eb0b",
|
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "Fausto-Korpsvart",
|
"owner": "hercules-ci",
|
||||||
"repo": "Gruvbox-GTK-Theme",
|
"repo": "gitignore.nix",
|
||||||
"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",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -304,71 +215,56 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nix-doom-emacs": {
|
"home-manager_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"doom-emacs": "doom-emacs",
|
"nixpkgs": [
|
||||||
"doom-snippets": "doom-snippets",
|
"nixvim",
|
||||||
"emacs-overlay": "emacs-overlay_2",
|
"nixpkgs"
|
||||||
"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"
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1701264882,
|
"lastModified": 1720042825,
|
||||||
"narHash": "sha256-MBXR7x7Ua8qystlGr+lenwjQd7dsFNFpEFmtHhh10zM=",
|
"narHash": "sha256-A0vrUB6x82/jvf17qPCpxaM+ulJnD8YZwH9Ci0BsAzE=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nix-doom-emacs",
|
"repo": "home-manager",
|
||||||
"rev": "f7413022370f24bb53cb450bfb2803233510113e",
|
"rev": "e1391fb22e18a36f57e6999c7a9f966dc80ac073",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nix-doom-emacs",
|
"ref": "release-24.05",
|
||||||
|
"repo": "home-manager",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nix-straight": {
|
"nix-darwin": {
|
||||||
"flake": false,
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixvim",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1694361489,
|
"lastModified": 1720337362,
|
||||||
"narHash": "sha256-kjDp+j6OtrmqbtjQB5uuOtjS08+kgJQuxFqhWE1Y9Rw=",
|
"narHash": "sha256-9TNQtlwu97NPaJYsKkdObOsy0MLN4NAOBz0pqwH3KnA=",
|
||||||
"owner": "nix-community",
|
"owner": "lnl7",
|
||||||
"repo": "nix-straight.el",
|
"repo": "nix-darwin",
|
||||||
"rev": "748be99b84be0b130e946288099806a0f16d6e57",
|
"rev": "0f89b73f41eaa1dde67b291452c181d9a75f10dd",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "lnl7",
|
||||||
"repo": "nix-straight.el",
|
"repo": "nix-darwin",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1718895438,
|
"lastModified": 1720418205,
|
||||||
"narHash": "sha256-k3JqJrkdoYwE3fHE6xGDY676AYmyh4U2Zw+0Bwe5DLU=",
|
"narHash": "sha256-cPJoFPXU44GlhWg4pUk9oUPqurPlCFZ11ZQPk21GTPU=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "d603719ec6e294f034936c0d0dc06f689d91b6c3",
|
"rev": "655a58a72a6601292512670343087c2d75d859c1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -380,27 +276,27 @@
|
||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1718811006,
|
"lastModified": 1720386169,
|
||||||
"narHash": "sha256-0Y8IrGhRmBmT7HHXlxxepg2t8j1X90++qRN3lukGaIk=",
|
"narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "03d771e513ce90147b65fe922d87d3a0356fc125",
|
"rev": "194846768975b7ad2c4988bdb82572c00222c0d7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"ref": "nixos-23.11",
|
"ref": "nixos-24.05",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1718895438,
|
"lastModified": 1720418205,
|
||||||
"narHash": "sha256-k3JqJrkdoYwE3fHE6xGDY676AYmyh4U2Zw+0Bwe5DLU=",
|
"narHash": "sha256-cPJoFPXU44GlhWg4pUk9oUPqurPlCFZ11ZQPk21GTPU=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "d603719ec6e294f034936c0d0dc06f689d91b6c3",
|
"rev": "655a58a72a6601292512670343087c2d75d859c1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -411,21 +307,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"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": {
|
"locked": {
|
||||||
"lastModified": 1718835956,
|
"lastModified": 1718835956,
|
||||||
"narHash": "sha256-wM9v2yIxClRYsGHut5vHICZTK7xdrUGfrLkXvSuv6s4=",
|
"narHash": "sha256-wM9v2yIxClRYsGHut5vHICZTK7xdrUGfrLkXvSuv6s4=",
|
||||||
|
|
@ -441,115 +322,31 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nose": {
|
"nixvim": {
|
||||||
"flake": false,
|
"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": {
|
"locked": {
|
||||||
"lastModified": 1400604510,
|
"lastModified": 1720472744,
|
||||||
"narHash": "sha256-daEi8Kta1oGaDEmUUDDQMahTTPOpvNpDKk22rlr7cB0=",
|
"narHash": "sha256-BJf06/uE8XgjSqXB6ftabinqK+qaAmWA0dLxAfLrAjw=",
|
||||||
"owner": "emacsattic",
|
"owner": "nix-community",
|
||||||
"repo": "nose",
|
"repo": "nixvim",
|
||||||
"rev": "f8528297519eba911696c4e68fa88892de9a7b72",
|
"rev": "2c52164a4f1b863f5eda842b4b9423b7f2677ddc",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "emacsattic",
|
"owner": "nix-community",
|
||||||
"repo": "nose",
|
"ref": "nixos-24.05",
|
||||||
"type": "github"
|
"repo": "nixvim",
|
||||||
}
|
|
||||||
},
|
|
||||||
"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",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -557,44 +354,12 @@
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"emacs-overlay": "emacs-overlay",
|
"emacs-overlay": "emacs-overlay",
|
||||||
"flameshot-git": "flameshot-git",
|
"flameshot-git": "flameshot-git",
|
||||||
"gruvbox-gtk-theme": "gruvbox-gtk-theme",
|
|
||||||
"gruvbox-kvantum-theme": "gruvbox-kvantum-theme",
|
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nix-doom-emacs": "nix-doom-emacs",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"nixpkgs": "nixpkgs_3",
|
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable"
|
"nixvim": "nixvim",
|
||||||
}
|
"vim-org-roam": "vim-org-roam",
|
||||||
},
|
"vim-yazi": "vim-yazi"
|
||||||
"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"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems": {
|
"systems": {
|
||||||
|
|
@ -627,35 +392,56 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ts-fold": {
|
"treefmt-nix": {
|
||||||
"flake": false,
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixvim",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1695278494,
|
"lastModified": 1720436211,
|
||||||
"narHash": "sha256-O4NcUC1u08W8ZslqoA/i+iTaLotKwheURXQWBxLLMFc=",
|
"narHash": "sha256-/cKXod0oGLl+vH4bKBZnTV3qxrw4jgOLnyQ8KXey5J8=",
|
||||||
"owner": "jcs-elpa",
|
"owner": "numtide",
|
||||||
"repo": "ts-fold",
|
"repo": "treefmt-nix",
|
||||||
"rev": "70b2c79ff4daa7351d4e2917b0343b9a18d4d4f2",
|
"rev": "6fc8bded78715cdd43a3278a14ded226eb3a239e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "jcs-elpa",
|
"owner": "numtide",
|
||||||
"repo": "ts-fold",
|
"repo": "treefmt-nix",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ws-butler": {
|
"vim-org-roam": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1634511126,
|
"lastModified": 1719134875,
|
||||||
"narHash": "sha256-c0y0ZPtxxICPk+eaNbbQf6t+FRCliNY54CCz9QHQ8ZI=",
|
"narHash": "sha256-7s7nePlg/lF/JplR3qvY+ZT1B/wUG6TymCis4OMBBQ8=",
|
||||||
"owner": "hlissner",
|
"owner": "chipsenkbeil",
|
||||||
"repo": "ws-butler",
|
"repo": "org-roam.nvim",
|
||||||
"rev": "572a10c11b6cb88293de48acbb59a059d36f9ba5",
|
"rev": "45153562e7bfe806d84747d6518cad714c63ca2e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "hlissner",
|
"owner": "chipsenkbeil",
|
||||||
"repo": "ws-butler",
|
"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"
|
"type": "github"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
21
flake.nix
21
flake.nix
|
|
@ -2,19 +2,21 @@
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
|
||||||
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager/release-24.05";
|
url = "github:nix-community/home-manager/release-24.05";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
emacs-overlay.url = "github:nix-community/emacs-overlay";
|
emacs-overlay.url = "github:nix-community/emacs-overlay";
|
||||||
nix-doom-emacs.url = "github:nix-community/nix-doom-emacs";
|
nixvim = {
|
||||||
gruvbox-gtk-theme = {
|
url = "github:nix-community/nixvim/nixos-24.05";
|
||||||
url = "github:Fausto-Korpsvart/Gruvbox-GTK-Theme";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
vim-yazi = {
|
||||||
|
url = "github:mikavilpas/yazi.nvim";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
gruvbox-kvantum-theme = {
|
vim-org-roam = {
|
||||||
url = "github:sachnr/gruvbox-kvantum-themes";
|
url = "github:chipsenkbeil/org-roam.nvim";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
flameshot-git = {
|
flameshot-git = {
|
||||||
|
|
@ -23,9 +25,9 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs@{ self, home-manager, nixpkgs, nixpkgs-unstable, ... }:
|
outputs = inputs@{ self, nixpkgs, nixpkgs-unstable, ... }:
|
||||||
let
|
let
|
||||||
inherit (lib.my) mapModules mapModulesRec mkHost mapHosts;
|
inherit (lib.my) mapHosts;
|
||||||
|
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
|
|
||||||
|
|
@ -50,7 +52,8 @@
|
||||||
lib = self;
|
lib = self;
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
lib = lib.my;
|
lib = lib.my;
|
||||||
|
|
||||||
overlay = final: prev: { unstable = pkgs-unstable; };
|
overlay = final: prev: { unstable = pkgs-unstable; };
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,6 @@
|
||||||
{ inputs, config, options, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
with lib;
|
|
||||||
with lib.my;
|
|
||||||
let
|
let
|
||||||
cfg = config.modules.desktop;
|
|
||||||
wallpaper = pkgs.fetchurl {
|
wallpaper = pkgs.fetchurl {
|
||||||
url =
|
url =
|
||||||
"https://raw.githubusercontent.com/AngelJumbo/gruvbox-wallpapers/main/wallpapers/irl/houseonthesideofalake.jpg";
|
"https://raw.githubusercontent.com/AngelJumbo/gruvbox-wallpapers/main/wallpapers/irl/houseonthesideofalake.jpg";
|
||||||
|
|
@ -13,13 +10,13 @@ in
|
||||||
{
|
{
|
||||||
|
|
||||||
options.modules.desktop = {
|
options.modules.desktop = {
|
||||||
wallpaper = mkOption {
|
wallpaper = lib.mkOption {
|
||||||
type = types.path;
|
type = lib.types.path;
|
||||||
default = wallpaper;
|
default = wallpaper;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf config.modules.desktop.wm.enable {
|
config = lib.mkIf config.modules.desktop.wm.enable {
|
||||||
|
|
||||||
fonts = {
|
fonts = {
|
||||||
packages = with pkgs.unstable; [
|
packages = with pkgs.unstable; [
|
||||||
|
|
@ -142,7 +139,7 @@ in
|
||||||
|
|
||||||
sessionVariables.EDITOR = "vim";
|
sessionVariables.EDITOR = "vim";
|
||||||
|
|
||||||
packages = with pkgs.unstable; [
|
packages = (with pkgs.unstable; [
|
||||||
brave
|
brave
|
||||||
ungoogled-chromium
|
ungoogled-chromium
|
||||||
mullvad-browser
|
mullvad-browser
|
||||||
|
|
@ -151,7 +148,6 @@ in
|
||||||
element-desktop
|
element-desktop
|
||||||
swayimg
|
swayimg
|
||||||
mpv
|
mpv
|
||||||
jellyfin-mpv-shim
|
|
||||||
mumble
|
mumble
|
||||||
libreoffice-fresh
|
libreoffice-fresh
|
||||||
onlyoffice-bin
|
onlyoffice-bin
|
||||||
|
|
@ -169,9 +165,10 @@ in
|
||||||
zsh-syntax-highlighting
|
zsh-syntax-highlighting
|
||||||
R
|
R
|
||||||
tldr
|
tldr
|
||||||
thefuck
|
|
||||||
ark
|
ark
|
||||||
linuxPackages.perf
|
linuxPackages.perf
|
||||||
|
]) ++ [
|
||||||
|
pkgs.jellyfin-mpv-shim
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,9 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
with lib;
|
|
||||||
with lib.my;
|
|
||||||
let cfg = config.modules.desktop.zsh;
|
let cfg = config.modules.desktop.zsh;
|
||||||
in {
|
in {
|
||||||
options.modules.desktop.zsh = { enable = mkBoolOpt false; };
|
options.modules.desktop.zsh = { enable = lib.my.mkBoolOpt false; };
|
||||||
config = mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
|
|
||||||
environment.pathsToLink = [ "/share/zsh" ];
|
environment.pathsToLink = [ "/share/zsh" ];
|
||||||
|
|
||||||
|
|
@ -30,8 +28,6 @@ in {
|
||||||
|
|
||||||
[[ -n "$key[Up]" ]] && bindkey -- "$key[Up]" up-line-or-beginning-search
|
[[ -n "$key[Up]" ]] && bindkey -- "$key[Up]" up-line-or-beginning-search
|
||||||
[[ -n "$key[Down]" ]] && bindkey -- "$key[Down]" down-line-or-beginning-search
|
[[ -n "$key[Down]" ]] && bindkey -- "$key[Down]" down-line-or-beginning-search
|
||||||
|
|
||||||
eval $(${pkgs.thefuck}/bin/thefuck --alias)
|
|
||||||
'';
|
'';
|
||||||
oh-my-zsh = {
|
oh-my-zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -48,6 +44,10 @@ in {
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
programs.thefuck = {
|
||||||
|
enable = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
};
|
||||||
programs.starship = {
|
programs.starship = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableZshIntegration = true;
|
enableZshIntegration = true;
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@ in {
|
||||||
# Nix
|
# Nix
|
||||||
nil
|
nil
|
||||||
|
|
||||||
phpactor # PHP
|
pkgs.phpactor # PHP
|
||||||
#OCaml
|
#OCaml
|
||||||
ocaml
|
ocaml
|
||||||
dune_3
|
dune_3
|
||||||
|
|
@ -74,7 +74,6 @@ in {
|
||||||
client.enable = true;
|
client.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Use either this or nix-doom-emacs
|
|
||||||
programs.emacs = {
|
programs.emacs = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.unstable.emacs29.override {
|
package = pkgs.unstable.emacs29.override {
|
||||||
|
|
@ -108,25 +107,6 @@ in {
|
||||||
fi
|
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, ... }:
|
{ config, lib, pkgs, inputs, ... }:
|
||||||
|
|
||||||
with lib;
|
|
||||||
with lib.my;
|
|
||||||
|
|
||||||
let cfg = config.modules.editor.vim;
|
let cfg = config.modules.editor.vim;
|
||||||
in {
|
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} = {
|
home-manager.users.${config.user.name} = {
|
||||||
programs.neovim = {
|
imports = [ inputs.nixvim.homeManagerModules.nixvim ];
|
||||||
|
programs.nixvim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
package = pkgs.unstable.neovim-unwrapped;
|
||||||
vimAlias = true;
|
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
|
globals.mapleader = " ";
|
||||||
map <C-n> :NERDTreeToggle<CR>
|
|
||||||
|
|
||||||
"Show hidden files in NERDTree
|
opts = {
|
||||||
let NERDTreeShowHidden=1
|
# Keep visual indentation on wrapped lines
|
||||||
|
breakindent = true;
|
||||||
|
|
||||||
set number relativenumber
|
# Hide command line unless needed
|
||||||
set ignorecase
|
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