Compare commits
No commits in common. "423e9e13b2bcefede29b8ed70a30ef845c170e86" and "75e3422941a11b6571bcf5d918ce8a7180356492" have entirely different histories.
423e9e13b2
...
75e3422941
23 changed files with 118 additions and 1486 deletions
561
flake.lock
generated
561
flake.lock
generated
|
|
@ -1,38 +1,5 @@
|
||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"aquamarine": {
|
|
||||||
"inputs": {
|
|
||||||
"hyprutils": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprutils"
|
|
||||||
],
|
|
||||||
"hyprwayland-scanner": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprwayland-scanner"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
|
||||||
"hyprland",
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"systems": [
|
|
||||||
"hyprland",
|
|
||||||
"systems"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1771610171,
|
|
||||||
"narHash": "sha256-+DeInuhbm6a6PpHDNUS7pozDouq2+8xSDefoNaZLW0E=",
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "aquamarine",
|
|
||||||
"rev": "7f9eb087703ec4acc6b288d02fa9ea3db803cd3d",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "aquamarine",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"awww": {
|
"awww": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat",
|
"flake-compat": "flake-compat",
|
||||||
|
|
@ -65,13 +32,14 @@
|
||||||
"nt": [
|
"nt": [
|
||||||
"nt"
|
"nt"
|
||||||
],
|
],
|
||||||
|
"sops-nix": "sops-nix",
|
||||||
"systems": [
|
"systems": [
|
||||||
"systems"
|
"systems"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1772102584,
|
"lastModified": 1772148969,
|
||||||
"narHash": "sha256-tGcuWO36uW4+BPs8vP/PrMJM/e84Zcn69r1EhzTr/m4=",
|
"narHash": "sha256-1Rib48xxOv5unR6KyBRs1wRoyC8MGguBno75fFGGbPs=",
|
||||||
"path": "/home/me/cry/mk/cerulean",
|
"path": "/home/me/cry/mk/cerulean",
|
||||||
"type": "path"
|
"type": "path"
|
||||||
},
|
},
|
||||||
|
|
@ -162,22 +130,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-compat_3": {
|
"flake-compat_3": {
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1767039857,
|
|
||||||
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "flake-compat",
|
|
||||||
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "flake-compat",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-compat_4": {
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1733328505,
|
"lastModified": 1733328505,
|
||||||
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
|
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
|
||||||
|
|
@ -249,28 +201,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"gitignore": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"hyprland",
|
|
||||||
"pre-commit-hooks",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1709087332,
|
|
||||||
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "gitignore.nix",
|
|
||||||
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "gitignore.nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"grub2-themes": {
|
"grub2-themes": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
|
@ -312,325 +242,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"hyprcursor": {
|
|
||||||
"inputs": {
|
|
||||||
"hyprlang": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprlang"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
|
||||||
"hyprland",
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"systems": [
|
|
||||||
"hyprland",
|
|
||||||
"systems"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1753964049,
|
|
||||||
"narHash": "sha256-lIqabfBY7z/OANxHoPeIrDJrFyYy9jAM4GQLzZ2feCM=",
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprcursor",
|
|
||||||
"rev": "44e91d467bdad8dcf8bbd2ac7cf49972540980a5",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprcursor",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"hyprgraphics": {
|
|
||||||
"inputs": {
|
|
||||||
"hyprutils": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprutils"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
|
||||||
"hyprland",
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"systems": [
|
|
||||||
"hyprland",
|
|
||||||
"systems"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1770511807,
|
|
||||||
"narHash": "sha256-suKmSbSk34uPOJDTg/GbPrKEJutzK08vj0VoTvAFBCA=",
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprgraphics",
|
|
||||||
"rev": "7c75487edd43a71b61adb01cae8326d277aab683",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprgraphics",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"hyprland": {
|
|
||||||
"inputs": {
|
|
||||||
"aquamarine": "aquamarine",
|
|
||||||
"hyprcursor": "hyprcursor",
|
|
||||||
"hyprgraphics": "hyprgraphics",
|
|
||||||
"hyprland-guiutils": "hyprland-guiutils",
|
|
||||||
"hyprland-protocols": "hyprland-protocols",
|
|
||||||
"hyprlang": "hyprlang",
|
|
||||||
"hyprutils": "hyprutils",
|
|
||||||
"hyprwayland-scanner": "hyprwayland-scanner",
|
|
||||||
"hyprwire": "hyprwire",
|
|
||||||
"nixpkgs": "nixpkgs",
|
|
||||||
"pre-commit-hooks": "pre-commit-hooks",
|
|
||||||
"systems": "systems_2",
|
|
||||||
"xdph": "xdph"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1772129629,
|
|
||||||
"narHash": "sha256-vUCMHuxPNd7PKy1mQsjRUDIHvI4eMbbJxl/iNwzWmGM=",
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "Hyprland",
|
|
||||||
"rev": "70cdd819e4bee3c4dcea6961d32e61e6afe4eeb0",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "Hyprland",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"hyprland-guiutils": {
|
|
||||||
"inputs": {
|
|
||||||
"aquamarine": [
|
|
||||||
"hyprland",
|
|
||||||
"aquamarine"
|
|
||||||
],
|
|
||||||
"hyprgraphics": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprgraphics"
|
|
||||||
],
|
|
||||||
"hyprlang": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprlang"
|
|
||||||
],
|
|
||||||
"hyprtoolkit": "hyprtoolkit",
|
|
||||||
"hyprutils": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprutils"
|
|
||||||
],
|
|
||||||
"hyprwayland-scanner": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprwayland-scanner"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
|
||||||
"hyprland",
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"systems": [
|
|
||||||
"hyprland",
|
|
||||||
"systems"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1767023960,
|
|
||||||
"narHash": "sha256-R2HgtVS1G3KSIKAQ77aOZ+Q0HituOmPgXW9nBNkpp3Q=",
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprland-guiutils",
|
|
||||||
"rev": "c2e906261142f5dd1ee0bfc44abba23e2754c660",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprland-guiutils",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"hyprland-protocols": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"hyprland",
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"systems": [
|
|
||||||
"hyprland",
|
|
||||||
"systems"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1765214753,
|
|
||||||
"narHash": "sha256-P9zdGXOzToJJgu5sVjv7oeOGPIIwrd9hAUAP3PsmBBs=",
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprland-protocols",
|
|
||||||
"rev": "3f3860b869014c00e8b9e0528c7b4ddc335c21ab",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprland-protocols",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"hyprlang": {
|
|
||||||
"inputs": {
|
|
||||||
"hyprutils": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprutils"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
|
||||||
"hyprland",
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"systems": [
|
|
||||||
"hyprland",
|
|
||||||
"systems"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1771866172,
|
|
||||||
"narHash": "sha256-fYFoXhQLrm1rD8vSFKQBOEX4OGCuJdLt1amKfHd5GAw=",
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprlang",
|
|
||||||
"rev": "0b219224910e7642eb0ed49f0db5ec3d008e3e41",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprlang",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"hyprtoolkit": {
|
|
||||||
"inputs": {
|
|
||||||
"aquamarine": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprland-guiutils",
|
|
||||||
"aquamarine"
|
|
||||||
],
|
|
||||||
"hyprgraphics": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprland-guiutils",
|
|
||||||
"hyprgraphics"
|
|
||||||
],
|
|
||||||
"hyprlang": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprland-guiutils",
|
|
||||||
"hyprlang"
|
|
||||||
],
|
|
||||||
"hyprutils": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprland-guiutils",
|
|
||||||
"hyprutils"
|
|
||||||
],
|
|
||||||
"hyprwayland-scanner": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprland-guiutils",
|
|
||||||
"hyprwayland-scanner"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprland-guiutils",
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"systems": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprland-guiutils",
|
|
||||||
"systems"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1764592794,
|
|
||||||
"narHash": "sha256-7CcO+wbTJ1L1NBQHierHzheQGPWwkIQug/w+fhTAVuU=",
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprtoolkit",
|
|
||||||
"rev": "5cfe0743f0e608e1462972303778d8a0859ee63e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprtoolkit",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"hyprutils": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"hyprland",
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"systems": [
|
|
||||||
"hyprland",
|
|
||||||
"systems"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1771271487,
|
|
||||||
"narHash": "sha256-41gEiUS0Pyw3L/ge1l8MXn61cK14VAhgWB/JV8s/oNI=",
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprutils",
|
|
||||||
"rev": "340a792e3b3d482c4ae5f66d27a9096bdee6d76d",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprutils",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"hyprwayland-scanner": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"hyprland",
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"systems": [
|
|
||||||
"hyprland",
|
|
||||||
"systems"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1770501770,
|
|
||||||
"narHash": "sha256-NWRM6+YxTRv+bT9yvlhhJ2iLae1B1pNH3mAL5wi2rlQ=",
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprwayland-scanner",
|
|
||||||
"rev": "0bd8b6cde9ec27d48aad9e5b4deefb3746909d40",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprwayland-scanner",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"hyprwire": {
|
|
||||||
"inputs": {
|
|
||||||
"hyprutils": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprutils"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
|
||||||
"hyprland",
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"systems": [
|
|
||||||
"hyprland",
|
|
||||||
"systems"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1771606233,
|
|
||||||
"narHash": "sha256-F3PLUqQ/TwgR70U+UeOqJnihJZ2EuunzojYC4g5xHr0=",
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprwire",
|
|
||||||
"rev": "06c7f1f8c4194786c8400653c4efc49dc14c0f3a",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprwire",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"mango": {
|
"mango": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": "flake-parts",
|
"flake-parts": "flake-parts",
|
||||||
|
|
@ -754,7 +365,7 @@
|
||||||
},
|
},
|
||||||
"nixcord": {
|
"nixcord": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat_4",
|
"flake-compat": "flake-compat_3",
|
||||||
"flake-parts": "flake-parts_2",
|
"flake-parts": "flake-parts_2",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
|
|
@ -776,16 +387,16 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1771848320,
|
"lastModified": 1771208521,
|
||||||
"narHash": "sha256-0MAd+0mun3K/Ns8JATeHT1sX28faLII5hVLq0L3BdZU=",
|
"narHash": "sha256-X01Q3DgSpjeBpapoGA4rzKOn25qdKxbPnxHeMLNoHTU=",
|
||||||
"owner": "NixOS",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "2fc6539b481e1d2569f25f8799236694180c0993",
|
"rev": "fa56d7d6de78f5a7f997b0ea2bc6efd5868ad9e8",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "nixos",
|
||||||
"ref": "nixos-unstable",
|
"ref": "nixos-25.11",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
|
@ -820,22 +431,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-master": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1772170669,
|
|
||||||
"narHash": "sha256-ClBvX0YzaJOaGZInNi0e3mFknzr/rAdwKbWrjO1j1sg=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "ee234284495a7ff3ecffb062595102fdc4fbe617",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "master",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1771008912,
|
"lastModified": 1771008912,
|
||||||
|
|
@ -853,22 +448,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
|
||||||
"lastModified": 1771903837,
|
|
||||||
"narHash": "sha256-sdaqdnsQCv3iifzxwB22tUwN/fSHoN7j2myFW5EIkGk=",
|
|
||||||
"owner": "nixos",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "e764fc9a405871f1f6ca3d1394fb422e0a0c3951",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nixos",
|
|
||||||
"ref": "nixos-25.11",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_3": {
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1767313136,
|
"lastModified": 1767313136,
|
||||||
"narHash": "sha256-16KkgfdYqjaeRGBaYsNrhPRRENs0qzkQVUooNHtoy2w=",
|
"narHash": "sha256-16KkgfdYqjaeRGBaYsNrhPRRENs0qzkQVUooNHtoy2w=",
|
||||||
|
|
@ -887,8 +466,8 @@
|
||||||
"nt": {
|
"nt": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nix-unit": "nix-unit",
|
"nix-unit": "nix-unit",
|
||||||
"nixpkgs": "nixpkgs_3",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"systems": "systems_3"
|
"systems": "systems_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770975056,
|
"lastModified": 1770975056,
|
||||||
|
|
@ -904,29 +483,6 @@
|
||||||
"url": "https://tearforge.net/cry/nt"
|
"url": "https://tearforge.net/cry/nt"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pre-commit-hooks": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-compat": "flake-compat_3",
|
|
||||||
"gitignore": "gitignore",
|
|
||||||
"nixpkgs": [
|
|
||||||
"hyprland",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1771858127,
|
|
||||||
"narHash": "sha256-Gtre9YoYl3n25tJH2AoSdjuwcqij5CPxL3U3xysYD08=",
|
|
||||||
"owner": "cachix",
|
|
||||||
"repo": "git-hooks.nix",
|
|
||||||
"rev": "49bbbfc218bf3856dfa631cead3b052d78248b83",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "cachix",
|
|
||||||
"repo": "git-hooks.nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"awww": "awww",
|
"awww": "awww",
|
||||||
|
|
@ -934,17 +490,15 @@
|
||||||
"dobutterfliescry-net": "dobutterfliescry-net",
|
"dobutterfliescry-net": "dobutterfliescry-net",
|
||||||
"grub2-themes": "grub2-themes",
|
"grub2-themes": "grub2-themes",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"hyprland": "hyprland",
|
|
||||||
"mango": "mango",
|
"mango": "mango",
|
||||||
"nix-flatpak": "nix-flatpak",
|
"nix-flatpak": "nix-flatpak",
|
||||||
"nixcats": "nixcats",
|
"nixcats": "nixcats",
|
||||||
"nixcord": "nixcord",
|
"nixcord": "nixcord",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs",
|
||||||
"nixpkgs-master": "nixpkgs-master",
|
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||||
"nt": "nt",
|
"nt": "nt",
|
||||||
"sddm-silent": "sddm-silent",
|
"sddm-silent": "sddm-silent",
|
||||||
"systems": "systems_4"
|
"systems": "systems_3"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"rust-overlay": {
|
"rust-overlay": {
|
||||||
|
|
@ -1009,6 +563,27 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"sops-nix": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"cerulean",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1772048434,
|
||||||
|
"narHash": "sha256-/wA0OaH6kZ/pFA+nXR/tvg5oupOmEDmMS5us79JT60o=",
|
||||||
|
"owner": "Mic92",
|
||||||
|
"repo": "sops-nix",
|
||||||
|
"rev": "334daa7c273dd8bf7a0cd370e4e16022b64e55e9",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "Mic92",
|
||||||
|
"repo": "sops-nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"spectrum": {
|
"spectrum": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
|
|
@ -1042,16 +617,16 @@
|
||||||
},
|
},
|
||||||
"systems_2": {
|
"systems_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1689347949,
|
"lastModified": 1681028828,
|
||||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
"owner": "nix-systems",
|
"owner": "nix-systems",
|
||||||
"repo": "default-linux",
|
"repo": "default",
|
||||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-systems",
|
"owner": "nix-systems",
|
||||||
"repo": "default-linux",
|
"repo": "default",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -1070,21 +645,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems_4": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1689347949,
|
|
||||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default-linux",
|
|
||||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default-linux",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"treefmt-nix": {
|
"treefmt-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
|
@ -1124,47 +684,6 @@
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"xdph": {
|
|
||||||
"inputs": {
|
|
||||||
"hyprland-protocols": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprland-protocols"
|
|
||||||
],
|
|
||||||
"hyprlang": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprlang"
|
|
||||||
],
|
|
||||||
"hyprutils": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprutils"
|
|
||||||
],
|
|
||||||
"hyprwayland-scanner": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprwayland-scanner"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
|
||||||
"hyprland",
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"systems": [
|
|
||||||
"hyprland",
|
|
||||||
"systems"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1761431178,
|
|
||||||
"narHash": "sha256-xzjC1CV3+wpUQKNF+GnadnkeGUCJX+vgaWIZsnz9tzI=",
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "xdg-desktop-portal-hyprland",
|
|
||||||
"rev": "4b8801228ff958d028f588f0c2b911dbf32297f9",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "xdg-desktop-portal-hyprland",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": "root",
|
"root": "root",
|
||||||
|
|
|
||||||
11
flake.nix
11
flake.nix
|
|
@ -2,11 +2,10 @@
|
||||||
description = "im gonna cry again ;-;";
|
description = "im gonna cry again ;-;";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
systems.url = "github:nix-systems/default-linux";
|
systems.url = "github:nix-systems/default";
|
||||||
|
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
|
||||||
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
|
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
nixpkgs-master.url = "github:NixOS/nixpkgs/master";
|
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager/release-25.11";
|
url = "github:nix-community/home-manager/release-25.11";
|
||||||
|
|
@ -34,14 +33,6 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
hyprland = {
|
|
||||||
url = "github:hyprwm/Hyprland";
|
|
||||||
inputs = {
|
|
||||||
# nixpkgs.follows = "nixpkgs";
|
|
||||||
# systems.follows = "systems";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
awww = {
|
awww = {
|
||||||
url = "git+https://codeberg.org/LGFae/awww";
|
url = "git+https://codeberg.org/LGFae/awww";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
|
||||||
|
|
@ -54,6 +54,20 @@
|
||||||
|
|
||||||
mango.enable = true;
|
mango.enable = true;
|
||||||
|
|
||||||
|
neovim = {
|
||||||
|
enable = true;
|
||||||
|
defaultEditor = true;
|
||||||
|
viAlias = true;
|
||||||
|
vimAlias = true;
|
||||||
|
configure = {
|
||||||
|
customRC = ''
|
||||||
|
set number
|
||||||
|
set tabstop=4
|
||||||
|
set shiftwidth=4
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
# Thunar also uses: `services.tumbler` & `services.gvfs`
|
# Thunar also uses: `services.tumbler` & `services.gvfs`
|
||||||
thunar = {
|
thunar = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,6 @@
|
||||||
../modules/term/foot.nix
|
../modules/term/foot.nix
|
||||||
|
|
||||||
../modules/editor/helix.nix
|
../modules/editor/helix.nix
|
||||||
../modules/editor/neovim
|
|
||||||
|
|
||||||
../modules/apps/firefox.nix
|
../modules/apps/firefox.nix
|
||||||
../modules/apps/thunderbird.nix
|
../modules/apps/thunderbird.nix
|
||||||
|
|
@ -36,10 +35,8 @@
|
||||||
homeDirectory = "/home/me";
|
homeDirectory = "/home/me";
|
||||||
|
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
# rebuild = "sudo nixos-rebuild switch --flake /home/me/flake --show-trace";
|
rebuild = "sudo nixos-rebuild switch --flake /home/me/flake --show-trace";
|
||||||
# trybuild = "sudo nixos-rebuild test --flake /home/me/flake --show-trace";
|
trybuild = "sudo nixos-rebuild test --flake /home/me/flake --show-trace";
|
||||||
rebuild = "nh os switch ~/flake --show-trace";
|
|
||||||
trybuild = "nh os test ~/flake --show-trace";
|
|
||||||
brip = "batgrep"; # bat + ripgrep
|
brip = "batgrep"; # bat + ripgrep
|
||||||
man = "batman"; # bat + man
|
man = "batman"; # bat + man
|
||||||
};
|
};
|
||||||
|
|
@ -168,7 +165,7 @@
|
||||||
gnome-keyring.enable = true;
|
gnome-keyring.enable = true;
|
||||||
};
|
};
|
||||||
# the ssh-agent won't set this for itself...
|
# the ssh-agent won't set this for itself...
|
||||||
# systemd.user.sessionVariables.SSH_AUTH_SOCK = "$XDG_RUNTIME_DIR/ssh-agent";
|
systemd.user.sessionVariables.SSH_AUTH_SOCK = "$XDG_RUNTIME_DIR/ssh-agent";
|
||||||
# Nicely reload system units when changing configs
|
# Nicely reload system units when changing configs
|
||||||
systemd.user.startServices = "sd-switch";
|
systemd.user.startServices = "sd-switch";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,247 +0,0 @@
|
||||||
# TODO: look into changing to this:
|
|
||||||
# https://github.com/BirdeeHub/nix-wrapper-modules
|
|
||||||
{
|
|
||||||
inputs,
|
|
||||||
pkgs,
|
|
||||||
mpkgs,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
inherit
|
|
||||||
(inputs.nixcats)
|
|
||||||
utils
|
|
||||||
;
|
|
||||||
in {
|
|
||||||
imports = [
|
|
||||||
inputs.nixcats.homeModule
|
|
||||||
];
|
|
||||||
|
|
||||||
config = {
|
|
||||||
# this value, nixCats is the defaultPackageName you pass to mkNixosModules
|
|
||||||
# it will be the namespace for your options.
|
|
||||||
nixCats = {
|
|
||||||
enable = true;
|
|
||||||
nixpkgs_version = inputs.nixpkgs-unstable;
|
|
||||||
# this will add the overlays from ./overlays and also,
|
|
||||||
# add any plugins in inputs named "plugins-pluginName" to pkgs.neovimPlugins
|
|
||||||
# It will not apply to overall system, just nixCats.
|
|
||||||
addOverlays =
|
|
||||||
# (import ./overlays inputs) ++
|
|
||||||
[
|
|
||||||
(utils.standardPluginOverlay inputs)
|
|
||||||
];
|
|
||||||
# see the packageDefinitions below.
|
|
||||||
# This says which of those to install.
|
|
||||||
packageNames = ["cryvim"];
|
|
||||||
|
|
||||||
luaPath = "${./.}";
|
|
||||||
|
|
||||||
# the .replace vs .merge options are for modules based on existing configurations,
|
|
||||||
# they refer to how multiple categoryDefinitions get merged together by the module.
|
|
||||||
# for useage of this section, refer to :h nixCats.flake.outputs.categories
|
|
||||||
categoryDefinitions.replace = {
|
|
||||||
pkgs,
|
|
||||||
settings,
|
|
||||||
categories,
|
|
||||||
extra,
|
|
||||||
name,
|
|
||||||
mkNvimPlugin,
|
|
||||||
...
|
|
||||||
} @ packageDef: {
|
|
||||||
lspsAndRuntimeDeps = with pkgs; {
|
|
||||||
general = [
|
|
||||||
ripgrep
|
|
||||||
fd
|
|
||||||
];
|
|
||||||
treesitter = [
|
|
||||||
tree-sitter
|
|
||||||
];
|
|
||||||
lang = {
|
|
||||||
lua = [
|
|
||||||
lua-language-server
|
|
||||||
stylua
|
|
||||||
];
|
|
||||||
nix = [
|
|
||||||
nil
|
|
||||||
nix-doc # TODO: i forgot what this is for
|
|
||||||
nixfmt
|
|
||||||
];
|
|
||||||
rust = [
|
|
||||||
cargo
|
|
||||||
mpkgs.rust-analyzer
|
|
||||||
rustfmt
|
|
||||||
];
|
|
||||||
zig = [
|
|
||||||
pkgs.zls # FIX: using spkgs version as zls is broken rn ;-;
|
|
||||||
];
|
|
||||||
elixir = [
|
|
||||||
elixir-ls
|
|
||||||
];
|
|
||||||
gleam = [
|
|
||||||
gleam
|
|
||||||
];
|
|
||||||
haskell = [
|
|
||||||
haskell-language-server
|
|
||||||
ormolu
|
|
||||||
];
|
|
||||||
java = [
|
|
||||||
jdt-language-server
|
|
||||||
javaPackages.compiler.openjdk17
|
|
||||||
javaPackages.compiler.openjdk21
|
|
||||||
];
|
|
||||||
protobuf = [
|
|
||||||
protols
|
|
||||||
buf
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
startupPlugins = with pkgs.vimPlugins; {
|
|
||||||
general = [
|
|
||||||
lze
|
|
||||||
plenary-nvim
|
|
||||||
nvim-notify
|
|
||||||
nvim-web-devicons
|
|
||||||
base16-nvim
|
|
||||||
mini-nvim
|
|
||||||
];
|
|
||||||
treesitter = [
|
|
||||||
nvim-treesitter-textobjects
|
|
||||||
nvim-treesitter.withAllGrammars
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
optionalPlugins = with pkgs.vimPlugins; {
|
|
||||||
general = [
|
|
||||||
];
|
|
||||||
ui = [
|
|
||||||
dressing-nvim
|
|
||||||
];
|
|
||||||
qol = [
|
|
||||||
undotree
|
|
||||||
mini-hipatterns
|
|
||||||
];
|
|
||||||
telescope = [
|
|
||||||
telescope-nvim
|
|
||||||
telescope-fzf-native-nvim
|
|
||||||
telescope-ui-select-nvim
|
|
||||||
];
|
|
||||||
fyler = [
|
|
||||||
fyler-nvim
|
|
||||||
];
|
|
||||||
lsp = [
|
|
||||||
nvim-lspconfig
|
|
||||||
];
|
|
||||||
completion = [
|
|
||||||
blink-cmp
|
|
||||||
nvim-cmp
|
|
||||||
luasnip
|
|
||||||
friendly-snippets
|
|
||||||
cmp_luasnip
|
|
||||||
cmp-buffer
|
|
||||||
cmp-path
|
|
||||||
cmp-nvim-lua
|
|
||||||
cmp-nvim-lsp
|
|
||||||
cmp-cmdline
|
|
||||||
cmp-nvim-lsp-signature-help
|
|
||||||
cmp-cmdline-history
|
|
||||||
lspkind-nvim
|
|
||||||
];
|
|
||||||
format = [
|
|
||||||
conform-nvim
|
|
||||||
];
|
|
||||||
comment = [
|
|
||||||
comment-nvim
|
|
||||||
];
|
|
||||||
lang = {
|
|
||||||
java = [
|
|
||||||
nvim-jdtls
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# shared libraries to be added to LD_LIBRARY_PATH
|
|
||||||
# variable available to nvim runtime
|
|
||||||
sharedLibraries = {
|
|
||||||
general = with pkgs; [
|
|
||||||
# libgit2
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
environmentVariables = {
|
|
||||||
lang = {
|
|
||||||
rust.lsp = {
|
|
||||||
# it literally won't see the rust-analyzer provided to it
|
|
||||||
# if you don't use an envrionment variable to tell it
|
|
||||||
RUST_ANALYZER_CMD = "${mpkgs.rust-analyzer}/bin/rust-analyzer";
|
|
||||||
};
|
|
||||||
elixir.lsp = {
|
|
||||||
ELIXIR_LS_CMD = "${pkgs.elixir-ls}/scripts/language_server.sh";
|
|
||||||
};
|
|
||||||
java.lsp = {
|
|
||||||
JAVA_HOME = "${pkgs.javaPackages.compiler.openjdk17}";
|
|
||||||
OPENJDK_17 = "${pkgs.javaPackages.compiler.openjdk17}";
|
|
||||||
OPENJDK_21 = "${pkgs.javaPackages.compiler.openjdk21}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
extraWrapperArgs = {};
|
|
||||||
# lists of the functions you would have passed to
|
|
||||||
# python.withPackages or lua.withPackages
|
|
||||||
|
|
||||||
# get the path to this python environment
|
|
||||||
# in your lua config via
|
|
||||||
# vim.g.python3_host_prog
|
|
||||||
# or run from nvim terminal via :!<packagename>-python3
|
|
||||||
extraPython3Packages = {};
|
|
||||||
# populates $LUA_PATH and $LUA_CPATH
|
|
||||||
extraLuaPackages = {};
|
|
||||||
};
|
|
||||||
|
|
||||||
# see :help nixCats.flake.outputs.packageDefinitions
|
|
||||||
packageDefinitions.replace = {
|
|
||||||
# these are the names of your packages
|
|
||||||
# you can include as many as you wish.
|
|
||||||
cryvim = {pkgs, ...}: {
|
|
||||||
# they contain a settings set defined above
|
|
||||||
# see :help nixCats.flake.outputs.settings
|
|
||||||
settings = {
|
|
||||||
wrapRc = true;
|
|
||||||
# IMPORTANT:
|
|
||||||
# your alias may not conflict with your other packages.
|
|
||||||
aliases = [
|
|
||||||
"cvim"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
# and a set of categories that you want
|
|
||||||
# (and other information to pass to lua)
|
|
||||||
categories = {
|
|
||||||
general = true;
|
|
||||||
|
|
||||||
ui = true;
|
|
||||||
qol = true;
|
|
||||||
telescope = true;
|
|
||||||
fyler = true;
|
|
||||||
lsp = true;
|
|
||||||
completion = true;
|
|
||||||
treesitter = true;
|
|
||||||
format = true;
|
|
||||||
comment = true;
|
|
||||||
|
|
||||||
lang = {
|
|
||||||
lua = true;
|
|
||||||
nix = true;
|
|
||||||
rust = true;
|
|
||||||
zig = true;
|
|
||||||
elixir = true;
|
|
||||||
gleam = true;
|
|
||||||
haskell = true;
|
|
||||||
java = true;
|
|
||||||
protobuf = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
vim.g.mapleader = " "
|
|
||||||
|
|
||||||
vim.opt.termguicolors = true -- use terminal colors
|
|
||||||
vim.opt.relativenumber = true
|
|
||||||
vim.opt.wrap = false
|
|
||||||
vim.opt.colorcolumn = "80"
|
|
||||||
|
|
||||||
require("plugins")
|
|
||||||
require("lsp")
|
|
||||||
|
|
@ -1,66 +0,0 @@
|
||||||
local M = {}
|
|
||||||
|
|
||||||
function M.on_attach(_, bufnr)
|
|
||||||
-- we create a function that lets us more easily define mappings specific
|
|
||||||
-- for LSP related items. It sets the mode, buffer and description for us each time.
|
|
||||||
|
|
||||||
local nmap = function(keys, func, desc)
|
|
||||||
if desc then
|
|
||||||
desc = "LSP: " .. desc
|
|
||||||
end
|
|
||||||
|
|
||||||
vim.keymap.set("n", keys, func, { buffer = bufnr, desc = desc })
|
|
||||||
end
|
|
||||||
|
|
||||||
nmap("<leader>rn", vim.lsp.buf.rename, "[R]e[n]ame")
|
|
||||||
nmap("<leader>ca", vim.lsp.buf.code_action, "[C]ode [A]ction")
|
|
||||||
|
|
||||||
nmap("gd", vim.lsp.buf.definition, "[G]oto [D]efinition")
|
|
||||||
|
|
||||||
-- NOTE: why are these functions that call the telescope builtin?
|
|
||||||
-- because otherwise they would load telescope eagerly when this is defined.
|
|
||||||
-- due to us using the on_require handler to make sure it is available.
|
|
||||||
if nixCats("general.telescope") then
|
|
||||||
nmap("gr", function()
|
|
||||||
require("telescope.builtin").lsp_references()
|
|
||||||
end, "[G]oto [R]eferences")
|
|
||||||
nmap("gI", function()
|
|
||||||
require("telescope.builtin").lsp_implementations()
|
|
||||||
end, "[G]oto [I]mplementation")
|
|
||||||
nmap("<leader>ds", function()
|
|
||||||
require("telescope.builtin").lsp_document_symbols()
|
|
||||||
end, "[D]ocument [S]ymbols")
|
|
||||||
nmap("<leader>ws", function()
|
|
||||||
require("telescope.builtin").lsp_dynamic_workspace_symbols()
|
|
||||||
end, "[W]orkspace [S]ymbols")
|
|
||||||
nmap("<leader>dd", "<cmd>Telescope diagnostics bufnr=0<CR>", "[D]ocument [D]iagnostics")
|
|
||||||
nmap("<leader>wd", "<cmd>Telescope diagnostics<CR>", "[W]orkspace [D]iagnostics")
|
|
||||||
end -- TODO: someone who knows the builtin versions of these to do instead help me out please.
|
|
||||||
|
|
||||||
nmap("<leader>D", vim.lsp.buf.type_definition, "Type [D]efinition")
|
|
||||||
nmap("<leader>e", vim.diagnostic.open_float, "Show [E]rror")
|
|
||||||
|
|
||||||
-- See `:help K` for why this keymap
|
|
||||||
nmap("K", vim.lsp.buf.hover, "Hover Documentation")
|
|
||||||
nmap("<C-k>", vim.lsp.buf.signature_help, "Signature Documentation")
|
|
||||||
|
|
||||||
-- Lesser used LSP functionality
|
|
||||||
nmap("gD", vim.lsp.buf.declaration, "[G]oto [D]eclaration")
|
|
||||||
nmap("<leader>wa", vim.lsp.buf.add_workspace_folder, "[W]orkspace [A]dd Folder")
|
|
||||||
nmap("<leader>wr", vim.lsp.buf.remove_workspace_folder, "[W]orkspace [R]emove Folder")
|
|
||||||
nmap("<leader>wl", function()
|
|
||||||
print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
|
|
||||||
end, "[W]orkspace [L]ist Folders")
|
|
||||||
|
|
||||||
-- Create a command `:Format` local to the LSP buffer
|
|
||||||
vim.api.nvim_buf_create_user_command(bufnr, "Format", function(_)
|
|
||||||
vim.lsp.buf.format()
|
|
||||||
end, { desc = "Format current buffer with LSP" })
|
|
||||||
end
|
|
||||||
|
|
||||||
function M.get(server_name)
|
|
||||||
local capabilities = require("blink.cmp").get_lsp_capabilities()
|
|
||||||
|
|
||||||
return capabilities
|
|
||||||
end
|
|
||||||
return M
|
|
||||||
|
|
@ -1,103 +0,0 @@
|
||||||
return {
|
|
||||||
{
|
|
||||||
"friendly-snippets",
|
|
||||||
dep_of = { "blink.cmp" },
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"blink.cmp",
|
|
||||||
event = { "InsertEnter", "CmdlineEnter" },
|
|
||||||
on_require = "blink",
|
|
||||||
load = function(name)
|
|
||||||
vim.cmd.packadd(name)
|
|
||||||
end,
|
|
||||||
after = function(plugin)
|
|
||||||
local blink = require("blink.cmp")
|
|
||||||
|
|
||||||
blink.setup({
|
|
||||||
keymap = {
|
|
||||||
["<C-space>"] = { "show", "show_documentation", "hide_documentation" },
|
|
||||||
["<C-e>"] = { "hide", "fallback" },
|
|
||||||
["<C-y>"] = { "select_and_accept", "fallback" },
|
|
||||||
|
|
||||||
["<C-k>"] = { "select_prev", "fallback_to_mappings" },
|
|
||||||
["<C-j>"] = { "select_next", "fallback_to_mappings" },
|
|
||||||
["<Up>"] = { "select_prev", "fallback" },
|
|
||||||
["<Down>"] = { "select_next", "fallback" },
|
|
||||||
|
|
||||||
["<C-b>"] = { "scroll_documentation_up", "fallback" },
|
|
||||||
["<C-f>"] = { "scroll_documentation_down", "fallback" },
|
|
||||||
|
|
||||||
["<Tab>"] = { "snippet_forward", "fallback" },
|
|
||||||
["<S-Tab>"] = { "snippet_backward", "fallback" },
|
|
||||||
|
|
||||||
["<C-S-k>"] = { "show_signature", "hide_signature", "fallback" },
|
|
||||||
},
|
|
||||||
|
|
||||||
appearance = {
|
|
||||||
nerd_font_variant = "mono",
|
|
||||||
},
|
|
||||||
|
|
||||||
sources = {
|
|
||||||
default = { "lsp", "path", "snippets", "buffer" },
|
|
||||||
providers = {
|
|
||||||
lsp = {
|
|
||||||
name = "LSP",
|
|
||||||
module = "blink.cmp.sources.lsp",
|
|
||||||
enabled = true,
|
|
||||||
},
|
|
||||||
path = {
|
|
||||||
name = "Path",
|
|
||||||
module = "blink.cmp.sources.path",
|
|
||||||
enabled = true,
|
|
||||||
},
|
|
||||||
snippets = {
|
|
||||||
name = "Snippets",
|
|
||||||
module = "blink.cmp.sources.snippets",
|
|
||||||
enabled = true,
|
|
||||||
},
|
|
||||||
buffer = {
|
|
||||||
name = "Buffer",
|
|
||||||
module = "blink.cmp.sources.buffer",
|
|
||||||
enabled = true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
completion = {
|
|
||||||
accept = {
|
|
||||||
auto_brackets = {
|
|
||||||
enabled = true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
menu = {
|
|
||||||
border = "rounded",
|
|
||||||
max_height = 12,
|
|
||||||
scrolloff = 2,
|
|
||||||
|
|
||||||
draw = {
|
|
||||||
columns = {
|
|
||||||
{ "kind_icon", gap = 1 },
|
|
||||||
{ "label", "label_description", gap = 1 },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
documentation = {
|
|
||||||
auto_show = false,
|
|
||||||
window = {
|
|
||||||
border = "rounded",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
signature = {
|
|
||||||
enabled = true,
|
|
||||||
window = {
|
|
||||||
border = "rounded",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
vim.api.nvim_create_autocmd("FileType", {
|
|
||||||
pattern = { "lua", "nix", "gleam" },
|
|
||||||
callback = function()
|
|
||||||
vim.opt_local.shiftwidth = 2
|
|
||||||
vim.opt_local.tabstop = 2
|
|
||||||
vim.opt_local.expandtab = true
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd("User", {
|
|
||||||
pattern = "TelescopePreviewerLoaded",
|
|
||||||
callback = function(args)
|
|
||||||
local ft = args.data.filetype
|
|
||||||
if vim.tbl_contains({ "lua", "nix", "gleam", "rust" }, ft) then
|
|
||||||
vim.bo.shiftwidth = 2
|
|
||||||
vim.bo.tabstop = 2
|
|
||||||
vim.bo.expandtab = true
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
require("lze").load({
|
|
||||||
{ import = "lsp.completion" },
|
|
||||||
})
|
|
||||||
|
|
||||||
require("lsp.indentation")
|
|
||||||
require("lsp.lsp")
|
|
||||||
|
|
@ -1,134 +0,0 @@
|
||||||
local servers = {}
|
|
||||||
|
|
||||||
servers.lua_ls = {
|
|
||||||
settings = {
|
|
||||||
Lua = {
|
|
||||||
formatters = {
|
|
||||||
ignoreComments = false,
|
|
||||||
},
|
|
||||||
signatureHelp = { enable = true },
|
|
||||||
diagnostics = {
|
|
||||||
globals = { "nixCats", "vim" },
|
|
||||||
-- disable = { 'missing-fields' },
|
|
||||||
},
|
|
||||||
workspace = {
|
|
||||||
-- make the server aware of the neovim runtime files
|
|
||||||
library = vim.api.nvim_get_runtime_file("", true),
|
|
||||||
checkThirdParty = false,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
telemetry = { enabled = false },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
servers.nil_ls = {
|
|
||||||
settings = {},
|
|
||||||
}
|
|
||||||
|
|
||||||
local rust_analyzer_cmd = os.getenv("RUST_ANALYZER_CMD")
|
|
||||||
servers.rust_analyzer = {
|
|
||||||
cmd = { rust_analyzer_cmd },
|
|
||||||
settings = {
|
|
||||||
server = {
|
|
||||||
-- For debugging rust-analyzer, to see log location do :LspInfo in neovim
|
|
||||||
-- extraEnv = { {["RA_LOG"]="project_model=debug"} },
|
|
||||||
},
|
|
||||||
cargo = {
|
|
||||||
allFeatures = false,
|
|
||||||
allTargets = false,
|
|
||||||
buildScripts = { enable = true },
|
|
||||||
target = "x86_64-unknown-linux-gnu",
|
|
||||||
},
|
|
||||||
diagnostics = {
|
|
||||||
enable = true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
servers.zls = {
|
|
||||||
settings = {},
|
|
||||||
}
|
|
||||||
|
|
||||||
local elixir_ls_cmd = os.getenv("ELIXIR_LS_CMD")
|
|
||||||
servers.elixirls = {
|
|
||||||
cmd = { elixir_ls_cmd },
|
|
||||||
settings = {},
|
|
||||||
}
|
|
||||||
|
|
||||||
servers.gleam = {
|
|
||||||
settings = {},
|
|
||||||
}
|
|
||||||
|
|
||||||
servers.hls = {
|
|
||||||
settings = {},
|
|
||||||
}
|
|
||||||
|
|
||||||
local java_home = os.getenv("JAVA_HOME")
|
|
||||||
servers.jdtls = {
|
|
||||||
settings = {
|
|
||||||
java = {
|
|
||||||
contentProvider = { preferred = "fernflower" },
|
|
||||||
configuration = {
|
|
||||||
runtimes = {
|
|
||||||
{
|
|
||||||
name = "OpenJDK 17",
|
|
||||||
path = os.getenv("OPENJDK_17"),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name = "OpenJDK 21",
|
|
||||||
path = os.getenv("OPENJDK_21"),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
servers.protols = {
|
|
||||||
settings = {},
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Taken from nixCats example:
|
|
||||||
-- If you were to comment out this autocommand
|
|
||||||
-- and instead pass the on attach function directly to
|
|
||||||
-- nvim-lspconfig, it would do the same thing.
|
|
||||||
-- come to think of it, it might be better because then lspconfig doesnt have to be called before lsp attach?
|
|
||||||
-- but you would still end up triggering on a FileType event anyway, so, it makes little difference.
|
|
||||||
vim.api.nvim_create_autocmd("LspAttach", {
|
|
||||||
group = vim.api.nvim_create_augroup("nixCats-lsp-attach", { clear = true }),
|
|
||||||
callback = function(event)
|
|
||||||
require("lsp.capabilities").on_attach(vim.lsp.get_client_by_id(event.data.client_id), event.buf)
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
|
|
||||||
require("lze").load({
|
|
||||||
{
|
|
||||||
"nvim-lspconfig",
|
|
||||||
event = "FileType",
|
|
||||||
after = function(plugin)
|
|
||||||
-- Just register configs, don't enable yet
|
|
||||||
for server_name, cfg in pairs(servers) do
|
|
||||||
vim.lsp.config(server_name, {
|
|
||||||
capabilities = require("lsp.capabilities").get(server_name),
|
|
||||||
settings = (cfg or {}).settings,
|
|
||||||
filetypes = (cfg or {}).filetypes,
|
|
||||||
cmd = (cfg or {}).cmd,
|
|
||||||
root_pattern = (cfg or {}).root_pattern,
|
|
||||||
})
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Enable on-demand per filetype
|
|
||||||
for server_name, cfg in pairs(servers) do
|
|
||||||
local filetypes = cfg.filetypes or vim.lsp.config[server_name].filetypes
|
|
||||||
if filetypes then
|
|
||||||
vim.api.nvim_create_autocmd("FileType", {
|
|
||||||
pattern = filetypes,
|
|
||||||
callback = function()
|
|
||||||
vim.lsp.enable(server_name)
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
@ -1,23 +0,0 @@
|
||||||
return {
|
|
||||||
{
|
|
||||||
"comment.nvim",
|
|
||||||
event = { "BufReadPost", "BufNewFile" },
|
|
||||||
after = function(plugin)
|
|
||||||
require("Comment").setup({
|
|
||||||
toggler = {
|
|
||||||
line = "<leader>cc",
|
|
||||||
block = "<leader>bc",
|
|
||||||
},
|
|
||||||
opleader = {
|
|
||||||
line = "<leader>c",
|
|
||||||
block = "<leader>b",
|
|
||||||
},
|
|
||||||
extra = {
|
|
||||||
above = "<leader>c<S-o>",
|
|
||||||
below = "<leader>co",
|
|
||||||
eol = "<leader>cA",
|
|
||||||
},
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
return {
|
|
||||||
{
|
|
||||||
"dressing.nvim",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
||||||
-- docs -> https://github.com/stevearc/conform.nvim
|
|
||||||
return {
|
|
||||||
{
|
|
||||||
"conform.nvim",
|
|
||||||
enabled = nixCats("format") or false,
|
|
||||||
keys = {
|
|
||||||
{ "<leader>p", desc = "Format File (pretty :3)" },
|
|
||||||
},
|
|
||||||
after = function(plugin)
|
|
||||||
local conform = require("conform")
|
|
||||||
|
|
||||||
conform.setup({
|
|
||||||
formatters_by_ft = {
|
|
||||||
lua = nixCats("lang.lua") and { "stylua" } or nil,
|
|
||||||
nix = nixCats("lang.nix") and { "nixfmt" } or nil,
|
|
||||||
rust = nixCats("lang.rust") and { "rustfmt", lsp_format = "fallback" } or nil,
|
|
||||||
haskell = nixCats("lang.haskell") and { "ormolu" } or nil,
|
|
||||||
proto = nixCats("lang.protobuf") and { "buf" } or nil,
|
|
||||||
},
|
|
||||||
format_on_save = {
|
|
||||||
timeout_ms = 500,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
vim.keymap.set({ "n", "v" }, "<leader>p", function()
|
|
||||||
conform.format({
|
|
||||||
lsp_fallback = false,
|
|
||||||
async = false,
|
|
||||||
timeout_ms = 1000,
|
|
||||||
})
|
|
||||||
end, { desc = "Format File (pretty :3)" })
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
return {
|
|
||||||
{
|
|
||||||
"fyler.nvim",
|
|
||||||
cmd = { "Fyler" },
|
|
||||||
keys = {
|
|
||||||
{
|
|
||||||
"<leader>tf",
|
|
||||||
function()
|
|
||||||
return require("fyler").toggle({ kind = "split_right" })
|
|
||||||
end,
|
|
||||||
mode = { "n" },
|
|
||||||
desc = "Open [F]yler",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
load = function(name)
|
|
||||||
vim.cmd.packadd(name)
|
|
||||||
end,
|
|
||||||
after = function(plugin)
|
|
||||||
local fyler = require("fyler").setup()
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
require("lze").load({
|
|
||||||
{ import = "plugins.dressing" },
|
|
||||||
{ import = "plugins.telescope" },
|
|
||||||
{ import = "plugins.treesitter" },
|
|
||||||
{ import = "plugins.fyler" },
|
|
||||||
{ import = "plugins.mini-hipatterns" },
|
|
||||||
{ import = "plugins.format" },
|
|
||||||
{ import = "plugins.comment" },
|
|
||||||
})
|
|
||||||
|
|
@ -1,76 +0,0 @@
|
||||||
return {
|
|
||||||
{
|
|
||||||
"mini.hipatterns",
|
|
||||||
after = function(plugin)
|
|
||||||
local hipatterns = require("mini.hipatterns")
|
|
||||||
|
|
||||||
-- Returns hex color group for matching short hex color.
|
|
||||||
--
|
|
||||||
---@param match string
|
|
||||||
---@return string
|
|
||||||
local hex_color_short = function(_, match)
|
|
||||||
local style = "fg" -- 'fg' or 'bg', for extmark_opts_inline use 'fg'
|
|
||||||
local r, g, b = match:sub(2, 2), match:sub(3, 3), match:sub(4, 4)
|
|
||||||
local hex = string.format("#%s%s%s%s%s%s", r, r, g, g, b, b)
|
|
||||||
return hipatterns.compute_hex_color_group(hex, style)
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Returns hex color group for matching alpha hex color.
|
|
||||||
--
|
|
||||||
---@param match string
|
|
||||||
---@return string
|
|
||||||
local hex_color_alpha = function(_, match)
|
|
||||||
local style = "fg" -- 'fg' or 'bg', for extmark_opts_inline use 'fg'
|
|
||||||
local r, g, b = match:sub(2, 3), match:sub(4, 5), match:sub(6, 7)
|
|
||||||
local hex = string.format("#%s%s%s", r, g, b)
|
|
||||||
return hipatterns.compute_hex_color_group(hex, style)
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Returns extmark opts for highlights with virtual inline text.
|
|
||||||
--
|
|
||||||
---@param data table Includes `hl_group`, `full_match` and more.
|
|
||||||
---@return table
|
|
||||||
local extmark_opts_inline = function(_, _, data)
|
|
||||||
return {
|
|
||||||
virt_text = { { "", data.hl_group } },
|
|
||||||
virt_text_pos = "inline",
|
|
||||||
right_gravity = false,
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Returns extmark opts for highlights with virtual inline text.
|
|
||||||
--
|
|
||||||
---@param data table Includes `hl_group`, `full_match` and more.
|
|
||||||
---@return table
|
|
||||||
local extmark_opts_inline_alpha = function(_, _, data)
|
|
||||||
return {
|
|
||||||
virt_text = { { "", data.hl_group } },
|
|
||||||
virt_text_pos = "inline",
|
|
||||||
right_gravity = false,
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
hipatterns.setup({
|
|
||||||
highlighters = {
|
|
||||||
-- #rrggbb
|
|
||||||
hex_color = hipatterns.gen_highlighter.hex_color({
|
|
||||||
style = "inline",
|
|
||||||
inline_text = "",
|
|
||||||
}),
|
|
||||||
-- #rgb
|
|
||||||
hex_color_short = {
|
|
||||||
pattern = "#%x%x%x%f[%X]",
|
|
||||||
group = hex_color_short,
|
|
||||||
extmark_opts = extmark_opts_inline,
|
|
||||||
},
|
|
||||||
-- #rrggbbaa
|
|
||||||
hex_color_alpha = {
|
|
||||||
pattern = "#%x%x%x%x%x%x%x%x%f[%X]",
|
|
||||||
group = hex_color_alpha,
|
|
||||||
extmark_opts = extmark_opts_inline_alpha,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,78 +0,0 @@
|
||||||
return {
|
|
||||||
{
|
|
||||||
"telescope.nvim",
|
|
||||||
cmd = { "Telescope" },
|
|
||||||
keys = {
|
|
||||||
{
|
|
||||||
"<leader>f",
|
|
||||||
function()
|
|
||||||
return require("telescope.builtin").find_files()
|
|
||||||
end,
|
|
||||||
mode = { "n" },
|
|
||||||
desc = "Telescope search [F]iles",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>tr",
|
|
||||||
function()
|
|
||||||
return require("telescope.builtin").oldfiles()
|
|
||||||
end,
|
|
||||||
mode = { "n" },
|
|
||||||
desc = "[T]elescope search [R]ecent files",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>ts",
|
|
||||||
function()
|
|
||||||
return require("telescope.builtin").live_grep()
|
|
||||||
end,
|
|
||||||
mode = { "n" },
|
|
||||||
desc = "[T]elescope [S]earch cwd with grep",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>tw",
|
|
||||||
function()
|
|
||||||
return require("telescope.builtin").grep_string()
|
|
||||||
end,
|
|
||||||
mode = { "n" },
|
|
||||||
desc = "[T]elescope search current [W]ord",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>tk",
|
|
||||||
function()
|
|
||||||
return require("telescope.builtin").keymaps()
|
|
||||||
end,
|
|
||||||
mode = { "n" },
|
|
||||||
desc = "[T]elescope search [K]eymaps",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>tb",
|
|
||||||
function()
|
|
||||||
return require("telescope.builtin").buffers()
|
|
||||||
end,
|
|
||||||
mode = { "n" },
|
|
||||||
desc = "[T]elescope search [B]uffers",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
load = function(name)
|
|
||||||
vim.cmd.packadd(name)
|
|
||||||
vim.cmd.packadd("telescope-fzf-native.nvim")
|
|
||||||
end,
|
|
||||||
after = function(plugin)
|
|
||||||
local telescope = require("telescope")
|
|
||||||
local actions = require("telescope.actions")
|
|
||||||
|
|
||||||
telescope.setup({
|
|
||||||
defaults = {
|
|
||||||
mappings = {
|
|
||||||
i = {
|
|
||||||
["<C-k>"] = actions.move_selection_previous, -- move to prev result
|
|
||||||
["<C-j>"] = actions.move_selection_next, -- move to next result
|
|
||||||
["<C-q>"] = actions.send_selected_to_qflist + actions.open_qflist,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
pcall(telescope.load_extension, "fzf")
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,95 +0,0 @@
|
||||||
-- to help me write this after nvim-treesitter updated, i used:
|
|
||||||
-- https://github.com/BirdeeHub/nixCats-nvim/blob/3c9bc4d7123e1b48d92f25ba505b889af541e897/templates/example/lua/myLuaConf/plugins/treesitter.lua
|
|
||||||
|
|
||||||
return {
|
|
||||||
{
|
|
||||||
"nvim-treesitter",
|
|
||||||
lazy = false,
|
|
||||||
after = function(plugin)
|
|
||||||
--@param buf integer
|
|
||||||
--@param language string
|
|
||||||
local function treesitter_try_attach(buf, language)
|
|
||||||
--check if parser exists and load it
|
|
||||||
if not vim.treesitter.language.add(language) then
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
-- enables syntax highlight and other treesitter features
|
|
||||||
vim.treesitter.start(buf, language)
|
|
||||||
|
|
||||||
-- enables treesitter based folds
|
|
||||||
vim.wo.foldexpr = "v:lua.vim.treesitter.foldexpr()"
|
|
||||||
|
|
||||||
-- enables treesiter based indentation
|
|
||||||
vim.bo.indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()"
|
|
||||||
end
|
|
||||||
|
|
||||||
local available_parsers = require("nvim-treesitter").get_available()
|
|
||||||
vim.api.nvim_create_autocmd("FileType", {
|
|
||||||
callback = function(args)
|
|
||||||
local buf, filetype = args.buf, args.match
|
|
||||||
local language = vim.treesitter.language.get_lang(filetype)
|
|
||||||
if not language then
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
local installed_parsers = require("nvim-treesitter").get_installed("parsers")
|
|
||||||
|
|
||||||
if vim.tbl_contains(installed_parsers, language) then
|
|
||||||
-- enable the parser if it is installed
|
|
||||||
treesitter_try_attach(buf, language)
|
|
||||||
elseif vim.tbl_contains(available_parsers, language) then
|
|
||||||
-- if a parser is available in `nvim-treesitter` enable it after ensuring it is installed
|
|
||||||
require("nvim-treesitter").install(language):await(function()
|
|
||||||
treesitter_try_attach(buf, language)
|
|
||||||
end)
|
|
||||||
else
|
|
||||||
-- try to enable treesitter features in case the parser exists but is not available from `nvim-treesitter`
|
|
||||||
treesitter_try_attach(buf, language)
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"nvim-treesitter-textobjects",
|
|
||||||
lazy = false,
|
|
||||||
before = function(plugin)
|
|
||||||
vim.g.no_plugin_maps = true
|
|
||||||
end,
|
|
||||||
after = function(plugin)
|
|
||||||
require("nvim-treesitter-textobjects").setup({
|
|
||||||
select = {
|
|
||||||
lookahead = true,
|
|
||||||
selection_modes = {
|
|
||||||
["@parameter.outer"] = "v", -- charwise
|
|
||||||
["@function.outer"] = "V", -- linewise
|
|
||||||
},
|
|
||||||
include_surrounding_whitespace = false,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
-- keymaps
|
|
||||||
vim.keymap.set({ "x", "o" }, "am", function()
|
|
||||||
require("nvim-treesitter-textobjects.select").select_textobject("@function.outer", "textobjects")
|
|
||||||
end)
|
|
||||||
vim.keymap.set({ "x", "o" }, "im", function()
|
|
||||||
require("nvim-treesitter-textobjects.select").select_textobject("@function.inner", "textobjects")
|
|
||||||
end)
|
|
||||||
vim.keymap.set({ "x", "o" }, "ac", function()
|
|
||||||
require("nvim-treesitter-textobjects.select").select_textobject("@class.outer", "textobjects")
|
|
||||||
end)
|
|
||||||
vim.keymap.set({ "x", "o" }, "ic", function()
|
|
||||||
require("nvim-treesitter-textobjects.select").select_textobject("@class.inner", "textobjects")
|
|
||||||
end)
|
|
||||||
-- You can also use captures from other query groups like `locals.scm`
|
|
||||||
vim.keymap.set({ "x", "o" }, "as", function()
|
|
||||||
require("nvim-treesitter-textobjects.select").select_textobject("@local.scope", "locals")
|
|
||||||
end)
|
|
||||||
|
|
||||||
-- NOTE: for more textobjects options, see the following link.
|
|
||||||
-- This template is using the new `main` branch of the repo.
|
|
||||||
-- https://github.com/nvim-treesitter/nvim-treesitter-textobjects/tree/main
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
24
homes/modules/editor/nixvim.nix
Executable file
24
homes/modules/editor/nixvim.nix
Executable file
|
|
@ -0,0 +1,24 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
programs.nixvim = {
|
||||||
|
enable = true;
|
||||||
|
# TODO: allow clipboard to be configurable based on system clipboard
|
||||||
|
colorschemes.dracula.enable = true;
|
||||||
|
plugins = {
|
||||||
|
lualine.enable = true;
|
||||||
|
treesitter.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
opts = {
|
||||||
|
number = true;
|
||||||
|
tabstop = 4;
|
||||||
|
softtabstop = 4;
|
||||||
|
shiftwidth = 4;
|
||||||
|
};
|
||||||
|
|
||||||
|
clipboard.providers.wl-copy.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
33
hosts/modules/hyprland/default.nix
Executable file
33
hosts/modules/hyprland/default.nix
Executable file
|
|
@ -0,0 +1,33 @@
|
||||||
|
# NOTE: hyprland must be enabled in BOTH your host config (for running hyprland)
|
||||||
|
# and your home-manager config (for managing hyprland's config files)
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
options.hyprland = {
|
||||||
|
enable = lib.mkEnableOption "Hyprland";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf config.hyprland.enable {
|
||||||
|
programs.hyprland = {
|
||||||
|
enable = true;
|
||||||
|
portalPackage = pkgs.xdg-desktop-portal-hyprland;
|
||||||
|
#package = inputs.hyprland.packages.${pkgs.system}.hyprland;
|
||||||
|
xwayland.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg.portal = {
|
||||||
|
enable = true;
|
||||||
|
wlr.enable = true;
|
||||||
|
|
||||||
|
# extraPortals = with pkgs; [
|
||||||
|
# xdg-desktop-portal-hyprland
|
||||||
|
# # xdg-desktop-portal-gtk
|
||||||
|
# ];
|
||||||
|
};
|
||||||
|
|
||||||
|
# TODO: finish this (I didn't like the dotfiles I was getting inspo from and stopped)
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,11 +1,4 @@
|
||||||
{
|
{pkgs, ...}: {
|
||||||
inputs,
|
|
||||||
pkgs,
|
|
||||||
system,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
# hyprpkgs = inputs.hyprland.packages.${system}
|
|
||||||
in {
|
|
||||||
environment.defaultPackages = with pkgs; [
|
environment.defaultPackages = with pkgs; [
|
||||||
hyprsunset
|
hyprsunset
|
||||||
];
|
];
|
||||||
|
|
@ -24,11 +17,9 @@ in {
|
||||||
programs = {
|
programs = {
|
||||||
hyprland = {
|
hyprland = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = inputs.hyprland.packages.${system}.hyprland;
|
|
||||||
portalPackage = inputs.hyprland.packages.${system}.xdg-desktop-portal-hyprland;
|
|
||||||
|
|
||||||
# withUWSM = true; # Universal Wayland Session Manager
|
# withUWSM = true; # Universal Wayland Session Manager
|
||||||
xwayland.enable = true;
|
xwayland.enable = true;
|
||||||
|
portalPackage = pkgs.xdg-desktop-portal-hyprland;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
12
nixpkgs.nix
12
nixpkgs.nix
|
|
@ -11,6 +11,7 @@
|
||||||
(import ./overlays args)
|
(import ./overlays args)
|
||||||
];
|
];
|
||||||
config = {
|
config = {
|
||||||
|
# allowUnfree = false;
|
||||||
allowBroken = false;
|
allowBroken = false;
|
||||||
allowUnfreePredicate = pkg:
|
allowUnfreePredicate = pkg:
|
||||||
builtins.elem (lib.getName pkg) [
|
builtins.elem (lib.getName pkg) [
|
||||||
|
|
@ -39,16 +40,5 @@
|
||||||
allowBroken = false;
|
allowBroken = false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# nixpkgs-master
|
|
||||||
mpkgs = {
|
|
||||||
inherit system;
|
|
||||||
source = inputs.nixpkgs-master;
|
|
||||||
overlays = [];
|
|
||||||
config = {
|
|
||||||
allowUnfree = false;
|
|
||||||
allowBroken = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue