Compare commits

..

No commits in common. "f19d50407e344f00f071b477a5f132ea8b930fb3" and "cb8597a97ab8fff714b55fccc7cf161376ca22cf" have entirely different histories.

15 changed files with 398 additions and 568 deletions

View file

@ -26,11 +26,11 @@
"systems": "systems" "systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1723293904, "lastModified": 1718371084,
"narHash": "sha256-b+uqzj+Wa6xgMS9aNbX4I+sXeb5biPDi39VgvSFqFvU=", "narHash": "sha256-abpBi61mg0g+lFFU0zY4C6oP6fBwPzbHPKBGw676xsA=",
"owner": "ryantm", "owner": "ryantm",
"repo": "agenix", "repo": "agenix",
"rev": "f6291c5935fdc4e0bef208cfc0dcab7e3f7a1c41", "rev": "3a56735779db467538fb2e577eda28a9daacaca6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -39,47 +39,14 @@
"type": "github" "type": "github"
} }
}, },
"aquamarine": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1723920171,
"narHash": "sha256-dVCMrAe+D/5S91erhwQj2DSzHOVzAanWqoy+vPWB9DY=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "71d49670fe246cdaff4860b0effba0ab9f163b72",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "aquamarine",
"type": "github"
}
},
"arkenfox-userjs": { "arkenfox-userjs": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1722919020, "lastModified": 1719071094,
"narHash": "sha256-tTKGJXg/yicwpCI9WwFmbKYL6cyQ0OOetbvT9i/psUk=", "narHash": "sha256-8mzY85wkUokd1Oau9D95Gp1myCJdGU0Dd47bmCygxnE=",
"owner": "arkenfox", "owner": "arkenfox",
"repo": "user.js", "repo": "user.js",
"rev": "11582f905a21971eb5869b48ef8c3f2d4eac4d89", "rev": "23caf6961483e0e55544cd4f3594734d0aa35cf0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -108,11 +75,11 @@
"cmp-vimtex": { "cmp-vimtex": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1722941837, "lastModified": 1716040164,
"narHash": "sha256-pD2dPdpyn5A/uwonDdAxCX138yBeDqbXDdlG/IKjVTU=", "narHash": "sha256-CO70M+l/9c4vqNm0XloOTzGQTmogHbSwvUFKQxYGsuw=",
"owner": "micangl", "owner": "micangl",
"repo": "cmp-vimtex", "repo": "cmp-vimtex",
"rev": "5283bf9108ef33d41e704027b9ef22437ce7a15b", "rev": "a64b1b5eec0460144c91c4f20a45c74b8ded48ae",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -145,14 +112,15 @@
}, },
"devshell": { "devshell": {
"inputs": { "inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"lastModified": 1722113426, "lastModified": 1717408969,
"narHash": "sha256-Yo/3loq572A8Su6aY5GP56knpuKYRvM2a1meP9oJZCw=", "narHash": "sha256-Q0OEFqe35fZbbRPPRdrjTUUChKVhhWXz3T9ZSKmaoVY=",
"owner": "numtide", "owner": "numtide",
"repo": "devshell", "repo": "devshell",
"rev": "67cce7359e4cd3c45296fb4aaf6a19e2a9c757ae", "rev": "1ebbe68d57457c8cae98145410b164b5477761f4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -166,11 +134,11 @@
"nixpkgs": "nixpkgs_2" "nixpkgs": "nixpkgs_2"
}, },
"locked": { "locked": {
"lastModified": 1723685519, "lastModified": 1719733833,
"narHash": "sha256-GkXQIoZmW2zCPp1YFtAYGg/xHNyFH/Mgm79lcs81rq0=", "narHash": "sha256-6h2EqZU9bL9rHlXE+2LCBgnDImejzbS+4dYsNDDFlkY=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "276a0d055a720691912c6a34abb724e395c8e38a", "rev": "d185770ea261fb5cf81aa5ad1791b93a7834d12c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -214,11 +182,11 @@
"flake-compat_3": { "flake-compat_3": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1696426674, "lastModified": 1673956053,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
"owner": "edolstra", "owner": "edolstra",
"repo": "flake-compat", "repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -248,11 +216,11 @@
"nixpkgs-lib": "nixpkgs-lib" "nixpkgs-lib": "nixpkgs-lib"
}, },
"locked": { "locked": {
"lastModified": 1722555600, "lastModified": 1719745305,
"narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=", "narHash": "sha256-xwgjVUpqSviudEkpQnioeez1Uo2wzrsMaJKJClh+Bls=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "8471fe90ad337a8074e957b69ca4d0089218391d", "rev": "c3c5ecc05edc7dafba779c6c1a61cd08ac6583e9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -269,11 +237,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1722555600, "lastModified": 1717285511,
"narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=", "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "8471fe90ad337a8074e957b69ca4d0089218391d", "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -311,11 +279,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1719994518, "lastModified": 1712014858,
"narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=", "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7", "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -328,6 +296,24 @@
"inputs": { "inputs": {
"systems": "systems_2" "systems": "systems_2"
}, },
"locked": {
"lastModified": 1701680307,
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_2": {
"inputs": {
"systems": "systems_3"
},
"locked": { "locked": {
"lastModified": 1710146030, "lastModified": 1710146030,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
@ -342,14 +328,29 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils_3": {
"locked": {
"lastModified": 1667395993,
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"gen-nvim": { "gen-nvim": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1723301200, "lastModified": 1717706134,
"narHash": "sha256-Yp7HrDMOyR929AfM7IjEz4dP3RhIx9kXZ1Z3zRr5yJg=", "narHash": "sha256-z03a2au40RIcpDUTRSWlWAbo1E+MgEgVaobFWV8hIaI=",
"owner": "David-Kunz", "owner": "David-Kunz",
"repo": "gen.nvim", "repo": "gen.nvim",
"rev": "c9a73d8c0d462333da6d2191806ff98f2884d706", "rev": "b1230ce2993b2be38a1e22606750d05a94307380",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -372,42 +373,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1723803910, "lastModified": 1719259945,
"narHash": "sha256-yezvUuFiEnCFbGuwj/bQcqg7RykIEqudOy/RBrId0pc=", "narHash": "sha256-F1h+XIsGKT9TkGO3omxDLEb/9jOOsI6NnzsXFsZhry4=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "bfef0ada09e2c8ac55bbcd0831bd0c9d42e651ba", "rev": "0ff4381bbb8f7a52ca4a851660fc7a437a4c6e07",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"git-hooks-nix": {
"inputs": {
"flake-compat": [
"nix-super"
],
"gitignore": [
"nix-super"
],
"nixpkgs": [
"nix-super",
"nixpkgs"
],
"nixpkgs-stable": [
"nix-super",
"nixpkgs"
]
},
"locked": {
"lastModified": 1721042469,
"narHash": "sha256-6FPUl7HVtvRHCCBQne7Ylp4p+dpP3P/OYuzjztZ4s70=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "f451c19376071a90d8c58ab1a953c6e9840527fd",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -525,11 +495,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1723399884, "lastModified": 1719677234,
"narHash": "sha256-97wn0ihhGqfMb8WcUgzzkM/TuAxce2Gd20A8oiruju4=", "narHash": "sha256-qO9WZsj/0E6zcK4Ht1y/iJ8XfwbBzq7xdqhBh44OP/M=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "086f619dd991a4d355c07837448244029fc2d9ab", "rev": "36317d4d38887f7629876b0e43c8d9593c5cc48d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -543,11 +513,11 @@
"nixpkgs": "nixpkgs_3" "nixpkgs": "nixpkgs_3"
}, },
"locked": { "locked": {
"lastModified": 1722636442, "lastModified": 1718476555,
"narHash": "sha256-+7IS0n3/F0I5j6ZbrVlLcIIPHY3o+/vLAqg/G48sG+w=", "narHash": "sha256-fuWpgh8KasByIJWE+xVd37Al0LV5YAn6s871T50qVY0=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "contrib", "repo": "contrib",
"rev": "9d67858b437d4a1299be496d371b66fc0d3e01f6", "rev": "29a8374f4b9206d5c4af84aceb7fb5dff441ea60",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -572,11 +542,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1722623071, "lastModified": 1718450675,
"narHash": "sha256-sLADpVgebpCBFXkA1FlCXtvEPu1tdEsTfqK1hfeHySE=", "narHash": "sha256-jpsns6buS4bK+1sF8sL8AaixAiCRjA+nldTKvcwmvUs=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprcursor", "repo": "hyprcursor",
"rev": "912d56025f03d41b1ad29510c423757b4379eb1c", "rev": "66d5b46ff94efbfa6fa3d1d1b66735f1779c34a6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -587,21 +557,20 @@
}, },
"hyprland": { "hyprland": {
"inputs": { "inputs": {
"aquamarine": "aquamarine",
"hyprcursor": "hyprcursor", "hyprcursor": "hyprcursor",
"hyprlang": "hyprlang", "hyprlang": "hyprlang",
"hyprutils": "hyprutils", "hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner", "hyprwayland-scanner": "hyprwayland-scanner",
"nixpkgs": "nixpkgs_4", "nixpkgs": "nixpkgs_4",
"systems": "systems_3", "systems": "systems_4",
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1723969407, "lastModified": 1719746201,
"narHash": "sha256-COChiv/1EsfN0aVQcDBPXqNR/T5sUXtalsuO1RGvwcY=", "narHash": "sha256-8Jp7iSoIupyhD2dLi+obRKyoq6YeKYOXMARm0WSIeO4=",
"ref": "refs/heads/main", "ref": "refs/heads/main",
"rev": "1006663b6eaa55149e9a21aa8a34e41c85eb08ca", "rev": "4d6f96f74f9fa6e7b69790fa569ffe60267f8017",
"revCount": 5103, "revCount": 4899,
"submodules": true, "submodules": true,
"type": "git", "type": "git",
"url": "https://github.com/hyprwm/Hyprland" "url": "https://github.com/hyprwm/Hyprland"
@ -626,11 +595,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1721326555, "lastModified": 1714869498,
"narHash": "sha256-zCu4R0CSHEactW9JqYki26gy8h9f6rHmSwj4XJmlHgg=", "narHash": "sha256-vbLVOWvQqo4n1yvkg/Q70VTlPbMmTiCQfNTgcWDCfJM=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprland-protocols", "repo": "hyprland-protocols",
"rev": "5a11232266bf1a1f5952d5b179c3f4b2facaaa84", "rev": "e06482e0e611130cd1929f75e8c1cf679e57d161",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -655,11 +624,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1721324361, "lastModified": 1717881852,
"narHash": "sha256-BiJKO0IIdnSwHQBSrEJlKlFr753urkLE48wtt0UhNG4=", "narHash": "sha256-XeeVoKHQgfKuXoP6q90sUqKyl7EYy3ol2dVZGM+Jj94=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprlang", "repo": "hyprlang",
"rev": "adbefbf49664a6c2c8bf36b6487fd31e3eb68086", "rev": "ec6938c66253429192274d612912649a0cfe4d28",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -680,11 +649,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1722869141, "lastModified": 1719316102,
"narHash": "sha256-0KU4qhyMp441qfwbirNg3+wbm489KnEjXOz2I/RbeFs=", "narHash": "sha256-dmRz128j/lJmMuTYeCYPfSBRHHQO3VeH4PbmoyAhHzw=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprutils", "repo": "hyprutils",
"rev": "0252fd13e78e60fb0da512a212e56007515a49f7", "rev": "1f6bbec5954f623ff8d68e567bddcce97cd2f085",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -705,11 +674,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1721324119, "lastModified": 1719067853,
"narHash": "sha256-SOOqIT27/X792+vsLSeFdrNTF+OSRp5qXv6Te+fb2Qg=", "narHash": "sha256-mAnZG/eQy72Fp1ImGtqCgUrDumnR1rMZv2E/zgP4U74=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprwayland-scanner", "repo": "hyprwayland-scanner",
"rev": "a048a6cb015340bd82f97c1f40a4b595ca85cc30", "rev": "914f083741e694092ee60a39d31f693d0a6dc734",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -736,27 +705,26 @@
"libgit2": { "libgit2": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1715853528, "lastModified": 1697646580,
"narHash": "sha256-J2rCxTecyLbbDdsyBWn9w7r3pbKRMkI9E7RvRgAqBdY=", "narHash": "sha256-oX4Z3S9WtJlwvj0uH9HlYcWv+x1hqp8mhXl7HsLu2f0=",
"owner": "libgit2", "owner": "libgit2",
"repo": "libgit2", "repo": "libgit2",
"rev": "36f7e21ad757a3dacc58cf7944329da6bc1d6e96", "rev": "45fd9ed7ae1a9b74b957ef4f337bc3c8b3df01b5",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "libgit2", "owner": "libgit2",
"ref": "v1.8.1",
"repo": "libgit2", "repo": "libgit2",
"type": "github" "type": "github"
} }
}, },
"master": { "master": {
"locked": { "locked": {
"lastModified": 1723976400, "lastModified": 1719834384,
"narHash": "sha256-WpKvJffFrcvNMGMR3hNtQIRa/CTAvrWYohPMAFElLJE=", "narHash": "sha256-M6Vr7LbYeesXrG3hjAExzIfYFxrncrs1dpnp7zdeUN4=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "7c87c474f1b4f020b1ab9d2b962fde094c2599cf", "rev": "c08bd9add4732d87fde747e15b8fc053dfd1234b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -814,11 +782,11 @@
"nixpkgs": "nixpkgs_5" "nixpkgs": "nixpkgs_5"
}, },
"locked": { "locked": {
"lastModified": 1723969597, "lastModified": 1719764240,
"narHash": "sha256-nNSmyoR8k2gEw9LZ+nFcBQm+bquflzw2R44BeJ4gmKk=", "narHash": "sha256-bsZDPD08s8FKCGyy1OMMuM+cOjO1M8vPREkhgyqkRQM=",
"owner": "nix-community", "owner": "nix-community",
"repo": "neovim-nightly-overlay", "repo": "neovim-nightly-overlay",
"rev": "ec3ee3674c80882ac54d93b5575426c66e3f430d", "rev": "643ec69ac0cfcc1cd26523c3816fb111e5bb3a41",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -830,11 +798,11 @@
"neovim-src": { "neovim-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1723936741, "lastModified": 1719700831,
"narHash": "sha256-x/0wYCshhLSA9zW4fvPK+W6g3gTqE8fMJQZrIucDyXg=", "narHash": "sha256-d89hDFBBtuQ7rwS/Q3lKYyfE0ekVCwubMN9q1qCZ3m0=",
"owner": "neovim", "owner": "neovim",
"repo": "neovim", "repo": "neovim",
"rev": "d1bdeacb00186ba72fa61f3c7f2951fd018ae21d", "rev": "e7020306a19a5211c834966ec067fff3b981bdb9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -850,11 +818,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1723950649, "lastModified": 1719726405,
"narHash": "sha256-dHMkGjwwCGj0c2MKyCjRXVBXq2Sz3TWbbM23AS7/5Hc=", "narHash": "sha256-DqeKlvYQ5Z1rC02we9ufHr8UTfqBRPhiPrGLqdJ91dQ=",
"owner": "Mic92", "owner": "Mic92",
"repo": "nix-index-database", "repo": "nix-index-database",
"rev": "392828aafbed62a6ea6ccab13728df2e67481805", "rev": "838a910df0f7e542de2327036b2867fd68ded3a2",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -902,18 +870,17 @@
"inputs": { "inputs": {
"flake-compat": "flake-compat_3", "flake-compat": "flake-compat_3",
"flake-parts": "flake-parts_4", "flake-parts": "flake-parts_4",
"git-hooks-nix": "git-hooks-nix",
"libgit2": "libgit2", "libgit2": "libgit2",
"nixpkgs": "nixpkgs_6", "nixpkgs": "nixpkgs_6",
"nixpkgs-23-11": "nixpkgs-23-11", "nixpkgs-regression": "nixpkgs-regression",
"nixpkgs-regression": "nixpkgs-regression" "pre-commit-hooks": "pre-commit-hooks"
}, },
"locked": { "locked": {
"lastModified": 1723852416, "lastModified": 1713821351,
"narHash": "sha256-iEwS5PbPBk433xZ5/Ll5hzOU9K2MAE6iqYh8EYoaIgk=", "narHash": "sha256-JctHGT1oa4pet4PgUKRM7pf0w+qGe0a/ahVij8bee3o=",
"owner": "privatevoid-net", "owner": "privatevoid-net",
"repo": "nix-super", "repo": "nix-super",
"rev": "7bf3b90d4d67b18d4cbfe28fd5d786aab17d009b", "rev": "5ecd820c18b1aaa3c8ee257a7a9a2624c4107031",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -924,11 +891,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1722073938, "lastModified": 1704161960,
"narHash": "sha256-OpX0StkL8vpXyWOGUD6G+MA26wAXK6SpT94kLJXo6B4=", "narHash": "sha256-QGua89Pmq+FBAro8NriTuoO/wNaUtugt29/qqA8zeeM=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "e36e9f57337d0ff0cf77aceb58af4c805472bfae", "rev": "63143ac2c9186be6d9da6035fa22620018c85932",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -938,32 +905,16 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-23-11": {
"locked": {
"lastModified": 1717159533,
"narHash": "sha256-oamiKNfr2MS6yH64rUn99mIZjc45nGJlj9eGth/3Xuw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a62e6edd6d5e1fa0329b8653c801147986f8d446",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a62e6edd6d5e1fa0329b8653c801147986f8d446",
"type": "github"
}
},
"nixpkgs-lib": { "nixpkgs-lib": {
"locked": { "locked": {
"lastModified": 1722555339, "lastModified": 1717284937,
"narHash": "sha256-uFf2QeW7eAHlYXuDktm9c25OxOyCoUOQmh5SZ9amE5Q=", "narHash": "sha256-lIbdfCsf8LMFloheeE6N31+BMIeixqyQWbSr2vk79EQ=",
"type": "tarball", "type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz" "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz" "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz"
} }
}, },
"nixpkgs-regression": { "nixpkgs-regression": {
@ -984,27 +935,27 @@
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1720386169, "lastModified": 1718811006,
"narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=", "narHash": "sha256-0Y8IrGhRmBmT7HHXlxxepg2t8j1X90++qRN3lukGaIk=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "194846768975b7ad2c4988bdb82572c00222c0d7", "rev": "03d771e513ce90147b65fe922d87d3a0356fc125",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-24.05", "ref": "nixos-23.11",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1723603349, "lastModified": 1719379843,
"narHash": "sha256-VMg6N7MryOuvSJ8Sj6YydarnUCkL7cvMdrMcnsJnJCE=", "narHash": "sha256-u+D+IOAMMl70+CJ9NKB+RMrASjInuIWMHzjLWQjPZ6c=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "daf7bb95821b789db24fc1ac21f613db0c1bf2cb", "rev": "b3f3c1b13fb08f3828442ee86630362e81136bbc",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1032,11 +983,11 @@
}, },
"nixpkgs_4": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1723637854, "lastModified": 1719075281,
"narHash": "sha256-med8+5DSWa2UnOqtdICndjDAEjxr5D7zaIiK4pn0Q7c=", "narHash": "sha256-CyyxvOwFf12I91PBWz43iGT1kjsf5oi6ax7CrvaMyAo=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "c3aa7b8938b17aebd2deecf7be0636000d62a2b9", "rev": "a71e967ef3694799d0c418c98332f7ff4cc5f6af",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1048,11 +999,11 @@
}, },
"nixpkgs_5": { "nixpkgs_5": {
"locked": { "locked": {
"lastModified": 1723856861, "lastModified": 1719468428,
"narHash": "sha256-OTDg91+Zzs2SpU3csK4xVdSQFoG8cK1lNUwKmTqERyE=", "narHash": "sha256-vN5xJAZ4UGREEglh3lfbbkIj+MPEYMuqewMn4atZFaQ=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "cd7b95ee3725af7113bacbce91dd6549cee58ca5", "rev": "1e3deb3d8a86a870d925760db1a5adecc64d329d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1064,27 +1015,27 @@
}, },
"nixpkgs_6": { "nixpkgs_6": {
"locked": { "locked": {
"lastModified": 1723688146, "lastModified": 1709083642,
"narHash": "sha256-sqLwJcHYeWLOeP/XoLwAtYjr01TISlkOfz+NG82pbdg=", "narHash": "sha256-7kkJQd4rZ+vFrzWu8sTRtta5D1kBG0LSRYAfhtmMlSo=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "c3d4ac725177c030b1e289015989da2ad9d56af0", "rev": "b550fe4b4776908ac2a861124307045f8e717c8e",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-24.05", "ref": "release-23.11",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs_7": { "nixpkgs_7": {
"locked": { "locked": {
"lastModified": 1723891200, "lastModified": 1719468428,
"narHash": "sha256-uljX21+D/DZgb9uEFFG2dkkQbPZN+ig4Z6+UCLWFVAk=", "narHash": "sha256-vN5xJAZ4UGREEglh3lfbbkIj+MPEYMuqewMn4atZFaQ=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "a0d6390cb3e82062a35d0288979c45756e481f60", "rev": "1e3deb3d8a86a870d925760db1a5adecc64d329d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1144,11 +1095,11 @@
}, },
"nur": { "nur": {
"locked": { "locked": {
"lastModified": 1723976478, "lastModified": 1719762299,
"narHash": "sha256-eF815/buOMQlX2XbtNgN3GtA9bwv4psLbckU9iTBsxs=", "narHash": "sha256-hD+5hNGqPBipDTuZZImSCU36RqacSJadHjQtK/gbaxU=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NUR", "repo": "NUR",
"rev": "575ee4dc4dc7c031663bdcfe2e8779abacc80d0a", "rev": "80b917d886c6554264f71e1fc68e6b17cd5fdfa1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1160,11 +1111,11 @@
"nvim-lspconfig": { "nvim-lspconfig": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1723788573, "lastModified": 1719643735,
"narHash": "sha256-y64E6q6bB0kzJzxHnOYWjCZW5tpBTzhAVs/lvpmOpU0=", "narHash": "sha256-ZFewYwOXG3RtH8plm8Y870WL+BiqvVuzTgdz5H66d/8=",
"owner": "neovim", "owner": "neovim",
"repo": "nvim-lspconfig", "repo": "nvim-lspconfig",
"rev": "a89de2e049b5f89a0ee55029d5a31213bd4de6f8", "rev": "7edfd6692ba17f8d4fe08d84142781898ab0a672",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1174,6 +1125,38 @@
} }
}, },
"pre-commit-hooks": { "pre-commit-hooks": {
"inputs": {
"flake-compat": [
"nix-super"
],
"flake-utils": "flake-utils_3",
"gitignore": [
"nix-super"
],
"nixpkgs": [
"nix-super",
"nixpkgs"
],
"nixpkgs-stable": [
"nix-super",
"nixpkgs"
]
},
"locked": {
"lastModified": 1712897695,
"narHash": "sha256-nMirxrGteNAl9sWiOhoN5tIHyjBbVi5e2tgZUgZlK3Y=",
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"rev": "40e6053ecb65fcbf12863338a6dcefb3f55f1bf8",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"type": "github"
}
},
"pre-commit-hooks_2": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_4", "flake-compat": "flake-compat_4",
"gitignore": "gitignore_2", "gitignore": "gitignore_2",
@ -1181,11 +1164,11 @@
"nixpkgs-stable": "nixpkgs-stable" "nixpkgs-stable": "nixpkgs-stable"
}, },
"locked": { "locked": {
"lastModified": 1723803910, "lastModified": 1719259945,
"narHash": "sha256-yezvUuFiEnCFbGuwj/bQcqg7RykIEqudOy/RBrId0pc=", "narHash": "sha256-F1h+XIsGKT9TkGO3omxDLEb/9jOOsI6NnzsXFsZhry4=",
"owner": "cachix", "owner": "cachix",
"repo": "pre-commit-hooks.nix", "repo": "pre-commit-hooks.nix",
"rev": "bfef0ada09e2c8ac55bbcd0831bd0c9d42e651ba", "rev": "0ff4381bbb8f7a52ca4a851660fc7a437a4c6e07",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1197,11 +1180,11 @@
"river": { "river": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1723715391, "lastModified": 1719742320,
"narHash": "sha256-Tc0FYZJsQ/YDFl7czKfsDxTEUr1a0d41MyRrdyhdcjw=", "narHash": "sha256-KA7bOP66JIbBPBDQiOfNe2M8vgErVMmw/zdr/NHJsZc=",
"ref": "refs/heads/master", "ref": "refs/heads/master",
"rev": "f82b2f58163eb092941d7d2e05e1d0eeaa9f50fe", "rev": "0997fde28e1aad90a983d28061deed9fdcb972f3",
"revCount": 1293, "revCount": 1278,
"submodules": true, "submodules": true,
"type": "git", "type": "git",
"url": "https://github.com/riverwm/river" "url": "https://github.com/riverwm/river"
@ -1222,7 +1205,7 @@
"devshell": "devshell", "devshell": "devshell",
"disko": "disko", "disko": "disko",
"flake-parts": "flake-parts", "flake-parts": "flake-parts",
"flake-utils": "flake-utils", "flake-utils": "flake-utils_2",
"gen-nvim": "gen-nvim", "gen-nvim": "gen-nvim",
"hawtkeys-nvim": "hawtkeys-nvim", "hawtkeys-nvim": "hawtkeys-nvim",
"home-manager": "home-manager_2", "home-manager": "home-manager_2",
@ -1240,7 +1223,7 @@
"none-ls-shellcheck-nvim": "none-ls-shellcheck-nvim", "none-ls-shellcheck-nvim": "none-ls-shellcheck-nvim",
"nur": "nur", "nur": "nur",
"nvim-lspconfig": "nvim-lspconfig", "nvim-lspconfig": "nvim-lspconfig",
"pre-commit-hooks": "pre-commit-hooks", "pre-commit-hooks": "pre-commit-hooks_2",
"river": "river", "river": "river",
"smartcolumn-nvim": "smartcolumn-nvim", "smartcolumn-nvim": "smartcolumn-nvim",
"stable": "stable", "stable": "stable",
@ -1266,11 +1249,11 @@
}, },
"stable": { "stable": {
"locked": { "locked": {
"lastModified": 1723688146, "lastModified": 1719426051,
"narHash": "sha256-sqLwJcHYeWLOeP/XoLwAtYjr01TISlkOfz+NG82pbdg=", "narHash": "sha256-yJL9VYQhaRM7xs0M867ZFxwaONB9T2Q4LnGo1WovuR4=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "c3d4ac725177c030b1e289015989da2ad9d56af0", "rev": "89c49874fb15f4124bf71ca5f42a04f2ee5825fd",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1311,6 +1294,21 @@
} }
}, },
"systems_3": { "systems_3": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_4": {
"locked": { "locked": {
"lastModified": 1689347949, "lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
@ -1325,7 +1323,7 @@
"type": "github" "type": "github"
} }
}, },
"systems_4": { "systems_5": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@ -1378,7 +1376,7 @@
}, },
"utils": { "utils": {
"inputs": { "inputs": {
"systems": "systems_4" "systems": "systems_5"
}, },
"locked": { "locked": {
"lastModified": 1692799911, "lastModified": 1692799911,
@ -1411,11 +1409,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1722365976, "lastModified": 1718619174,
"narHash": "sha256-Khdm+mDzYA//XaU0M+hftod+rKr5q9SSHSEuiQ0/9ow=", "narHash": "sha256-FWW68AVYmB91ZDQnhLMBNCUUTCjb1ZpO2k2KIytHtkA=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland", "repo": "xdg-desktop-portal-hyprland",
"rev": "7f2a77ddf60390248e2a3de2261d7102a13e5341", "rev": "c7894aa54f9a7dbd16df5cd24d420c8af22d5623",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -24,7 +24,6 @@
programs.hyprland.enable = true; programs.hyprland.enable = true;
programs.hyprland.nvidiaSupport = true; programs.hyprland.nvidiaSupport = true;
programs.hyprland.keyboardLayouts = [ "us" "de" ]; programs.hyprland.keyboardLayouts = [ "us" "de" ];
programs.hyprland.monitors."HDMI-A-2" = { scale = 1.2; };
programs.exercism.enable = true; programs.exercism.enable = true;
services.wallpaper.enable = true; services.wallpaper.enable = true;
}; };

View file

@ -60,6 +60,9 @@ in
sub sub
); );
description = "monitor setting"; description = "monitor setting";
default = {
"" = { };
};
}; };
extraConfig = mkOption { extraConfig = mkOption {
type = types.str; type = types.str;
@ -78,7 +81,6 @@ in
kitty.enable = true; kitty.enable = true;
rofi.enable = true; rofi.enable = true;
hyprland.monitors."" = lib.mkDefault { }; hyprland.monitors."" = lib.mkDefault { };
hyprland.monitors."Unknown-1" = { disabled = true; };
}; };
wallpapers.enable = true; wallpapers.enable = true;
services = { services = {

View file

@ -6,16 +6,26 @@
, ... , ...
}: }:
with lib;
let let
inherit (lib) mkEnableOption mkOption types;
cfg = config.my.programs.nix; cfg = config.my.programs.nix;
mkSuper = system: nix:
if cfg.useSuper
then inputs.nix-super.packages.${system}.default
else nix;
mkNom = system: nix: mkNom = system: nix:
if cfg.useNom
then
inputs.nix-monitored.packages.${system}.default.override inputs.nix-monitored.packages.${system}.default.override
{ {
withNotify = false; withNotify = false;
nix = nix; nix = nix;
}; }
else nix;
mkNix = system: nix: mkNom system (mkSuper system nix);
in in
{ {
options.my.programs.nix = { options.my.programs.nix = {
@ -28,6 +38,8 @@ in
}; };
}; };
optimise.enable = mkEnableOption "nix-optimise"; optimise.enable = mkEnableOption "nix-optimise";
useSuper = mkEnableOption "use nix super";
useNom = mkEnableOption "use nix output monitor";
}; };
config = { config = {
@ -47,7 +59,7 @@ in
nix = { nix = {
nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; nixPath = [ "nixpkgs=${inputs.nixpkgs}" ];
package = pkgs.nix; package = mkNix pkgs.system pkgs.nix;
extraOptions = "experimental-features = nix-command flakes"; extraOptions = "experimental-features = nix-command flakes";

View file

@ -42,6 +42,7 @@ in
nixpkgs-fmt nixpkgs-fmt
nodePackages.bash-language-server nodePackages.bash-language-server
python3Packages.python-lsp-server python3Packages.python-lsp-server
python3Packages.ruff-lsp
shellcheck shellcheck
shfmt shfmt
stable.yamlfix stable.yamlfix

View file

@ -38,6 +38,7 @@ in
{ plugin = pkgs.vimPlugins.cmp-cmdline; } { plugin = pkgs.vimPlugins.cmp-cmdline; }
{ plugin = pkgs.vimPlugins.cmp-nvim-lsp-signature-help; } { plugin = pkgs.vimPlugins.cmp-nvim-lsp-signature-help; }
{ plugin = pkgs.vimPlugins.cmp-nvim-lsp; } { plugin = pkgs.vimPlugins.cmp-nvim-lsp; }
{ plugin = pkgs.vimPlugins.cmp-spell; }
{ {
plugin = pkgs.vimUtils.buildVimPlugin { plugin = pkgs.vimUtils.buildVimPlugin {
pname = "cmp-vimtex"; pname = "cmp-vimtex";
@ -46,23 +47,23 @@ in
}; };
} }
{ plugin = pkgs.vimPlugins.cmp_luasnip; } { plugin = pkgs.vimPlugins.cmp_luasnip; }
# { {
# plugin = pkgs.vimPlugins.copilot-cmp; plugin = pkgs.vimPlugins.copilot-cmp;
# opts = { }; opts = { };
# dependencies = [ dependencies = [
# { {
# plugin = pkgs.vimPlugins.copilot-lua; plugin = pkgs.vimPlugins.copilot-lua;
# opts = { opts = {
# suggestion = { enabled = false; }; suggestion = { enabled = false; };
# panel = { enabled = false; }; panel = { enabled = false; };
# }; };
# conf = /* lua */ '' conf = /* lua */ ''
# require("copilot").setup(opts) require("copilot").setup(opts)
# vim.cmd("Copilot disable") vim.cmd("Copilot disable")
# ''; '';
# } }
# ]; ];
# } }
{ plugin = pkgs.vimPlugins.friendly-snippets; } { plugin = pkgs.vimPlugins.friendly-snippets; }
{ plugin = pkgs.vimPlugins.lspkind-nvim; } { plugin = pkgs.vimPlugins.lspkind-nvim; }
{ {

View file

@ -2,7 +2,6 @@ local conform = require("conform")
local formatters_by_ft = { local formatters_by_ft = {
["*"] = { "codespell", "trim_whitespace" }, ["*"] = { "codespell", "trim_whitespace" },
elixir = { "mix" },
gleam = { "gleam" }, gleam = { "gleam" },
go = { "gofmt" }, go = { "gofmt" },
json = { "jq" }, json = { "jq" },

View file

@ -1,13 +1,15 @@
require("gitsigns").setup() require("gitsigns").setup()
require("which-key").add({ require("which-key").register({
{ "<leader>gP", "<cmd>Gitsigns preview_hunk<cr>", desc = "Preview hunk (float)" }, ["[h"] = { "<cmd>Gitsigns prev_hunk<cr>", "Previous hunk" },
{ "<leader>gR", "<cmd>Gitsigns reset_buffer<cr>", desc = "Reset buffer" }, ["]h"] = { "<cmd>Gitsigns next_hunk<cr>", "Next hunk" },
{ "<leader>gS", "<cmd>Gitsigns stage_buffer<cr>", desc = "Stage buffer" }, ["<leader>g"] = {
{ "<leader>gp", "<cmd>Gitsigns preview_hunk_inline<cr>", desc = "Preview hunk (inline)" }, s = { "<cmd>Gitsigns stage_hunk<cr>", "Stage hunk", mode = { "n", "v" } },
{ "<leader>gu", "<cmd>Gitsigns undo_stage_hunk<cr>", desc = "Undo stage hunk" }, r = { "<cmd>Gitsigns reset_hunk<cr>", "Reset hunk", mode = { "n", "v" } },
{ "[h", "<cmd>Gitsigns prev_hunk<cr>", desc = "Previous hunk" }, S = { "<cmd>Gitsigns stage_buffer<cr>", "Stage buffer" },
{ "]h", "<cmd>Gitsigns next_hunk<cr>", desc = "Next hunk" }, R = { "<cmd>Gitsigns reset_buffer<cr>", "Reset buffer" },
{ "<leader>gr", "<cmd>Gitsigns reset_hunk<cr>", desc = "Reset hunk", mode = { "n", "v" } }, u = { "<cmd>Gitsigns undo_stage_hunk<cr>", "Undo stage hunk" },
{ "<leader>gs", "<cmd>Gitsigns stage_hunk<cr>", desc = "Stage hunk", mode = { "n", "v" } }, p = { "<cmd>Gitsigns preview_hunk_inline<cr>", "Preview hunk (inline)" },
{ "ih", ":<C-U>Gitsigns select_hunk<cr>", desc = "gitsigns hunk", mode = { "o", "x" } }, P = { "<cmd>Gitsigns preview_hunk<cr>", "Preview hunk (float)" },
},
["ih"] = { ":<C-U>Gitsigns select_hunk<cr>", "gitsigns hunk", mode = { "o", "x" } },
}) })

View file

@ -9,10 +9,13 @@ cmp.setup({
maxwidth = 50, -- prevent the popup from showing more than provided characters maxwidth = 50, -- prevent the popup from showing more than provided characters
ellipsis_char = "...", -- when popup menu exceed maxwidth, the truncated part would show ellipsis_char instead ellipsis_char = "...", -- when popup menu exceed maxwidth, the truncated part would show ellipsis_char instead
symbol_map = { symbol_map = {
-- Copilot = "", Copilot = "",
}, },
}), }),
}, },
enabled = function()
return not luasnip.jumpable(1)
end,
snippet = { snippet = {
-- REQUIRED - you must specify a snippet engine -- REQUIRED - you must specify a snippet engine
expand = function(args) expand = function(args)
@ -46,8 +49,6 @@ cmp.setup({
["<C-n>"] = cmp.mapping(function(fallback) ["<C-n>"] = cmp.mapping(function(fallback)
if luasnip.choice_active() then if luasnip.choice_active() then
luasnip.change_choice(1) luasnip.change_choice(1)
elseif luasnip.locally_jumpable(1) then
luasnip.jump(1)
else else
fallback() fallback()
end end
@ -55,8 +56,6 @@ cmp.setup({
["<C-p>"] = cmp.mapping(function(fallback) ["<C-p>"] = cmp.mapping(function(fallback)
if luasnip.choice_active() then if luasnip.choice_active() then
luasnip.change_choice(-1) luasnip.change_choice(-1)
elseif luasnip.locally_jumpable(-1) then
luasnip.jump(-1)
else else
fallback() fallback()
end end
@ -67,7 +66,7 @@ cmp.setup({
{ priority = 1, name = "buffer" }, { priority = 1, name = "buffer" },
{ priority = 1, name = "spell" }, { priority = 1, name = "spell" },
{ priority = 2, name = "nvim_lsp" }, { priority = 2, name = "nvim_lsp" },
-- { priority = 3, name = "copilot" }, { priority = 3, name = "copilot" },
{ priority = 3, name = "nvim_lsp_signature_help" }, { priority = 3, name = "nvim_lsp_signature_help" },
{ priority = 4, name = "luasnip" }, { priority = 4, name = "luasnip" },
{ priority = 4, name = "vimtex" }, { priority = 4, name = "vimtex" },

View file

@ -21,80 +21,76 @@ capabilities.didChangeWatchedFiles = {
local lspconfig = require("lspconfig") local lspconfig = require("lspconfig")
local on_attach_def = function(client, bufnr) local on_attach_def = function(client, bufnr)
require("which-key").add({ require("which-key").register({
{ "<leader>c", buffer = bufnr, group = "code" }, K = {
{ vim.lsp.buf.hover,
"<leader>cr", "Hover",
},
["<leader>"] = {
c = {
name = "code",
c = { require("actions-preview").code_actions, "Code action", mode = { "v", "n" } },
r = {
function() function()
return ":IncRename " .. vim.fn.expand("<cword>") return ":IncRename " .. vim.fn.expand("<cword>")
end, end,
buffer = bufnr, "Rename",
desc = "Rename",
expr = true, expr = true,
replace_keycodes = false,
}, },
{ f = {
"<leader>ti",
function()
vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled())
end,
buffer = bufnr,
desc = "LSP inlay hints",
},
{
"<leader>tl",
function()
lsp_lines.toggle()
if vim.diagnostic.is_disabled() then
vim.diagnostic.enable()
else
vim.diagnostic.disable()
end
end,
buffer = bufnr,
desc = "LSP lines",
},
{ "K", vim.lsp.buf.hover, buffer = bufnr, desc = "Hover" },
{ "[d", vim.diagnostic.goto_prev, buffer = bufnr, desc = "Previous diagnostic" },
{ "]d", vim.diagnostic.goto_next, buffer = bufnr, desc = "Next diagnostic" },
{ "gD", vim.lsp.buf.declaration, buffer = bufnr, desc = "Goto declaration" },
{ "gI", "<cmd>Telescope lsp_implementations<cr>", buffer = bufnr, desc = "Goto implementation" },
{ "gK", vim.lsp.buf.signature_help, buffer = bufnr, desc = "Signature help" },
{
"gd",
function()
require("telescope.builtin").lsp_definitions({ reuse_win = true })
end,
buffer = bufnr,
desc = "Goto definition",
},
{ "gr", "<cmd>Telescope lsp_references<cr>", buffer = bufnr, desc = "Goto references" },
{
"gt",
function()
require("telescope.builtin").lsp_type_definitions({ reuse_win = true })
end,
buffer = bufnr,
desc = "Goto type definition",
},
{
"<leader>cc",
require("actions-preview").code_actions,
buffer = bufnr,
desc = "Code action",
mode = { "n", "v" },
},
{
"<leader>cf",
function() function()
vim.lsp.buf.format({ async = true }) vim.lsp.buf.format({ async = true })
end, end,
buffer = bufnr, "Format (lsp)",
desc = "Format (lsp)",
mode = { "n", "v" }, mode = { "n", "v" },
}, },
}) },
t = {
l = {
function()
lsp_lines.toggle()
if vim.diagnostic.is_enabled() then
vim.diagnostic.disable()
else
vim.diagnostic.enable()
end
end,
"LSP lines",
},
i = {
function()
vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled())
end,
"LSP inlay hints",
},
},
},
g = {
d = {
function()
require("telescope.builtin").lsp_definitions({ reuse_win = true })
end,
"Goto definition",
},
t = {
function()
require("telescope.builtin").lsp_type_definitions({ reuse_win = true })
end,
"Goto type definition",
},
r = { "<cmd>Telescope lsp_references<cr>", "Goto references" },
D = { vim.lsp.buf.declaration, "Goto declaration" },
I = { "<cmd>Telescope lsp_implementations<cr>", "Goto implementation" },
K = { vim.lsp.buf.signature_help, "Signature help" },
},
["["] = {
d = { vim.diagnostic.goto_prev, "Previous diagnostic" },
},
["]"] = {
d = { vim.diagnostic.goto_next, "Next diagnostic" },
},
}, { buffer = bufnr, silent = true })
if client.server_capabilities.inlayHintProvider then if client.server_capabilities.inlayHintProvider then
local slow_lsp_servers = { local slow_lsp_servers = {
"rust_analyzer", "rust_analyzer",
@ -128,7 +124,7 @@ local servers = {
"gleam", "gleam",
"gopls", "gopls",
"pylsp", "pylsp",
"ruff", "ruff_lsp",
"templ", "templ",
"typst_lsp", "typst_lsp",
} }
@ -136,10 +132,6 @@ for _, lsp in ipairs(servers) do
lspconfig_setup(lsp, {}) lspconfig_setup(lsp, {})
end end
lspconfig_setup("elixirls", {
cmd = { "elixir-ls" },
})
lspconfig_setup("nil_ls", { lspconfig_setup("nil_ls", {
settings = { settings = {
flake = { flake = {

View file

@ -2,50 +2,60 @@ vim.o.timeout = true
vim.o.timeoutlen = 500 vim.o.timeoutlen = 500
-- Delete -- Delete
require("which-key").add({ require("which-key").register({
{ "<leader>d", group = "delete" }, d = {
{ "<leader>db", "<cmd>bd<cr>", desc = "Delete buffer" }, name = "delete",
{ "<leader>dw", "<C-w>c", desc = "Delete window" }, b = { "<cmd>bd<cr>", "Delete buffer" },
}) w = { "<C-w>c", "Delete window" },
},
}, { prefix = "<leader>" })
-- buffer -- buffer
require("which-key").add({ require("which-key").register({
{ "[b", "<cmd>bprevious<cr>", desc = "Previous buffer" }, ["["] = {
{ "]b", "<cmd>bnext<cr>", desc = "Next buffer" }, b = { "<cmd>bprevious<cr>", "Previous buffer" },
},
["]"] = {
b = { "<cmd>bnext<cr>", "Next buffer" },
},
}) })
-- window -- window
require("which-key").add({ require("which-key").register({
{ "<leader>w", group = "window" }, w = {
{ "<leader>w-", "<C-w>s", desc = "Split window vertically" }, name = "window",
{ "<leader>ww", "<C-w>w", desc = "Switch window" }, ["|"] = { "<C-w>v", "Split window horizontally" },
{ "<leader>w|", "<C-w>v", desc = "Split window horizontally" }, ["-"] = { "<C-w>s", "Split window vertically" },
}) w = { "<C-w>w", "Switch window" },
},
}, { prefix = "<leader>" })
-- better descriptions for navigation -- better descriptions for navigation
require("which-key").add({ require("which-key").register({
{ "<leader>c", group = "code" }, ["<leader>"] = {
{ "<leader>f", group = "file/find" }, f = { name = "file/find" },
{ "<leader>g", group = "git" }, g = { name = "git" },
{ "<leader>s", group = "search" }, c = { name = "code" },
{ "<leader>t", group = "toggle" }, s = { name = "search" },
{ "[", group = "prev" }, t = { name = "toggle" },
{ "]", group = "next" }, },
{ "g", group = "goto" }, ["["] = { name = "prev" },
["]"] = { name = "next" },
g = { name = "goto" },
}) })
-- Clear search with <esc> -- Clear search with <esc>
require("which-key").add({ require("which-key").register({
{ "<esc>", "<cmd>noh<cr><esc>", desc = "Escape and clear hlsearch", mode = { "i", "n" } }, ["<esc>"] = { "<cmd>noh<cr><esc>", "Escape and clear hlsearch", mode = { "n", "i" } },
}) })
-- better indenting -- better indenting
require("which-key").add({ require("which-key").register({
{ "<", "<gv", desc = "Shift left", mode = "v" }, ["<"] = { "<gv", "Shift left" },
{ ">", ">gv", desc = "Shift right", mode = "v" }, [">"] = { ">gv", "Shift right" },
}) }, { mode = "v" })
-- better yank in visual mode -- better yank in visual mode
require("which-key").add({ require("which-key").register({
{ "y", "ygv<esc>", desc = "Yank", mode = "v" }, y = { "ygv<esc>", "Yank" },
}) }, { mode = "v" })

View file

@ -1,46 +0,0 @@
local ls = require("luasnip")
local s = ls.snippet
local sn = ls.snippet_node
local isn = ls.indent_snippet_node
local t = ls.text_node
local i = ls.insert_node
local f = ls.function_node
local c = ls.choice_node
local d = ls.dynamic_node
local r = ls.restore_node
local events = require("luasnip.util.events")
local ai = require("luasnip.nodes.absolute_indexer")
local extras = require("luasnip.extras")
local l = extras.lambda
local rep = extras.rep
local p = extras.partial
local m = extras.match
local n = extras.nonempty
local dl = extras.dynamic_lambda
local fmt = require("luasnip.extras.fmt").fmt
local fmta = require("luasnip.extras.fmt").fmta
local conds = require("luasnip.extras.expand_conditions")
local postfix = require("luasnip.extras.postfix").postfix
local types = require("luasnip.util.types")
local parse = require("luasnip.util.parser").parse_snippet
local ms = ls.multi_snippet
local k = require("luasnip.nodes.key_indexer").new_key
local def_template = [[
def {fname}({args}) do
{final}
end
]]
local def = s(
"def",
fmt(def_template, {
fname = i(1, "fname"),
args = i(2),
final = i(3),
}, { priority = 1001 })
)
return {
def,
}

View file

@ -1,138 +0,0 @@
local ls = require("luasnip")
local s = ls.snippet
local sn = ls.snippet_node
local isn = ls.indent_snippet_node
local t = ls.text_node
local i = ls.insert_node
local f = ls.function_node
local c = ls.choice_node
local d = ls.dynamic_node
local r = ls.restore_node
local events = require("luasnip.util.events")
local ai = require("luasnip.nodes.absolute_indexer")
local extras = require("luasnip.extras")
local l = extras.lambda
local rep = extras.rep
local p = extras.partial
local m = extras.match
local n = extras.nonempty
local dl = extras.dynamic_lambda
local fmt = require("luasnip.extras.fmt").fmt
local fmta = require("luasnip.extras.fmt").fmta
local conds = require("luasnip.extras.expand_conditions")
local postfix = require("luasnip.extras.postfix").postfix
local types = require("luasnip.util.types")
local parse = require("luasnip.util.parser").parse_snippet
local ms = ls.multi_snippet
local k = require("luasnip.nodes.key_indexer").new_key
local pe = s(
"pe",
fmt("<%= {final} %>", {
final = i(1),
}, { priority = 1001 })
)
local ln = s(
"ln",
fmt(
[[
<.link navigate={{~p"{path}"}}">{final}</.link>
]],
{ path = i(1, "/"), final = i(2) },
{ priority = 1001 }
)
)
local lp = s(
"lp",
fmt(
[[
<.link patch={{~p"{path}"}}">{final}</.link>
]],
{ path = i(1, "/"), final = i(2) },
{ priority = 1001 }
)
)
local if_ = s(
"if",
fmt("<%= if {condition} do %>{final}<% end %>", { condition = i(1, "condition"), final = i(2) }, { priority = 1001 })
)
local ife = s(
"ife",
fmt(
[[
<%= if {condition} do %>
{when}
<% else %>
{final}
<% end %>"
]],
{ condition = i(1, "condition"), when = i(2), final = i(3) },
{ priority = 1001 }
)
)
local for_ = s(
"for",
fmt(
[[
<%= for {item} <- {list} do %>
{final}
<% end %>
]],
{ item = i(1, "item"), list = i(2, "items"), final = i(3) },
{ priority = 1001 }
)
)
local lc =
s("lc", fmt("<.live_component module={{{module}}} id={{{id}}} />", { module = i(1), id = i(2) }, { priority = 1001 }))
local slot = s(
"slot",
fmt("<:slot>{final}</:slot>", {
final = i(1),
}, { priority = 1001 })
)
local socketp = s(
"socketp",
fmt(
[[
socket =
socket
|> {final}
]],
{ final = i(1) },
{ priority = 1001 }
)
)
local fl = s(
"fl",
fmt(
[[
<{elem} :for={{{item} <- {list}}} class="{class}">
{final}
</{elem}>
]],
{ elem = i(1, "div"), item = i(2, "item"), list = i(3, "items"), class = i(4), final = i(5) },
{ priority = 1001, repeat_duplicates = true }
)
)
return {
pe,
ln,
lp,
if_,
ife,
for_,
lc,
slot,
socketp,
fl,
}

View file

@ -1,17 +1,16 @@
{ pkgs, inputs, lib, ... }: { pkgs, ... }:
{ {
config.home-manager.users.moritz.programs.neovim.lazy.plugins = [ config.home-manager.users.moritz.programs.neovim.lazy.plugins = [
( (
let let
nvim-treesitter = pkgs.vimPlugins.nvim-treesitter;
parserDir = pkgs.symlinkJoin { parserDir = pkgs.symlinkJoin {
name = "tresitter-grammars-all"; name = "tresitter-grammars-all";
paths = nvim-treesitter.withAllGrammars.dependencies; paths = pkgs.vimPlugins.nvim-treesitter.withAllGrammars.dependencies;
}; };
in in
{ {
plugin = nvim-treesitter; plugin = pkgs.vimPlugins.nvim-treesitter;
event = [ "BufReadPost" "BufNewFile" ]; event = [ "BufReadPost" "BufNewFile" ];
opts = { opts = {
sync_install = false; sync_install = false;
@ -52,11 +51,13 @@
}; };
}; };
conf = conf =
/* lua */ '' ''
vim.opt.runtimepath:append("${parserDir}")
local final_opts = vim.tbl_deep_extend("keep", opts, { parser_install_dir = "${parserDir}" }) local final_opts = vim.tbl_deep_extend("keep", opts, { parser_install_dir = "${parserDir}" })
require('nvim-treesitter.configs').setup(final_opts) require('nvim-treesitter.configs').setup(final_opts)
''; '';
init = ''
vim.opt.runtimepath:prepend("${parserDir}")
'';
priority = 100; priority = 100;
dependencies = [ dependencies = [
{ plugin = pkgs.vimPlugins.nvim-treesitter-textobjects; } { plugin = pkgs.vimPlugins.nvim-treesitter-textobjects; }

View file

@ -1,35 +1,33 @@
{ pkgs, lib, inputs, ... }: { pkgs, lib, inputs, ... }:
let with builtins;
inherit (lib) readFile;
in
{ {
config.home-manager.users.moritz.programs.neovim.lazy.plugins = [ config.home-manager.users.moritz.programs.neovim.lazy.plugins = with pkgs.vimPlugins; [
{ {
plugin = pkgs.vimPlugins.which-key-nvim; plugin = which-key-nvim;
lazy = false; lazy = false;
conf = readFile ./lua/which-key-nvim.lua; conf = readFile ./lua/which-key-nvim.lua;
} }
{ {
plugin = pkgs.vimPlugins.catppuccin-nvim; plugin = catppuccin-nvim;
conf = readFile ./lua/catppuccin-nvim.lua; conf = readFile ./lua/catppuccin-nvim.lua;
lazy = false; lazy = false;
priority = 99; priority = 99;
} }
{ {
plugin = pkgs.vimPlugins.todo-comments-nvim; plugin = todo-comments-nvim;
dependencies = [{ plugin = pkgs.vimPlugins.plenary-nvim; }]; dependencies = [{ plugin = plenary-nvim; }];
opts = { }; opts = { };
} }
{ {
plugin = pkgs.vimPlugins.dressing-nvim; plugin = dressing-nvim;
event = [ "VeryLazy" ]; event = [ "VeryLazy" ];
} }
{ {
plugin = pkgs.vimPlugins.gitsigns-nvim; plugin = gitsigns-nvim;
event = [ "BufReadPost" "BufNewFile" ]; event = [ "BufReadPost" "BufNewFile" ];
conf = readFile ./lua/gitsigns-nvim.lua; conf = readFile ./lua/gitsigns-nvim.lua;
dependencies = [{ plugin = pkgs.vimPlugins.which-key-nvim; }]; dependencies = [{ plugin = which-key-nvim; }];
} }
{ {
plugin = pkgs.vimUtils.buildVimPlugin { plugin = pkgs.vimUtils.buildVimPlugin {
@ -40,8 +38,8 @@ in
cmd = [ "Hawtkeys" "HawtkeysAll" "HawtkeysDupes" ]; cmd = [ "Hawtkeys" "HawtkeysAll" "HawtkeysDupes" ];
opts = { }; opts = { };
dependencies = [ dependencies = [
{ plugin = pkgs.vimPlugins.plenary-nvim; } { plugin = plenary-nvim; }
{ plugin = pkgs.vimPlugins.nvim-treesitter; } { plugin = nvim-treesitter; }
]; ];
} }
]; ];