diff --git a/flake.lock b/flake.lock index 052e768..2b17533 100644 --- a/flake.lock +++ b/flake.lock @@ -10,11 +10,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1718371084, - "narHash": "sha256-abpBi61mg0g+lFFU0zY4C6oP6fBwPzbHPKBGw676xsA=", + "lastModified": 1722339003, + "narHash": "sha256-ZeS51uJI30ehNkcZ4uKqT4ZDARPyqrHADSKAwv5vVCU=", "owner": "ryantm", "repo": "agenix", - "rev": "3a56735779db467538fb2e577eda28a9daacaca6", + "rev": "3f1dae074a12feb7327b4bf43cbac0d124488bb7", "type": "github" }, "original": { @@ -25,14 +25,15 @@ }, "ags": { "inputs": { - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs", + "systems": "systems_2" }, "locked": { - "lastModified": 1718921313, - "narHash": "sha256-TFJah1RW5qnYW7kajjAFPAS5j/0q0R3vz9zPjrRA0Mc=", + "lastModified": 1721306136, + "narHash": "sha256-VKPsIGf3/a+RONBipx4lEE4LXG2sdMNkWQu22LNQItg=", "owner": "Aylur", "repo": "ags", - "rev": "646d5ad073ff7f8b1d50cfbd40f5b8a250fcd59d", + "rev": "344ea72cd3b8d4911f362fec34bce7d8fb37028c", "type": "github" }, "original": { @@ -70,11 +71,11 @@ ] }, "locked": { - "lastModified": 1719128254, - "narHash": "sha256-I7jMpq0CAOZA/i70+HDQO/ulLttyQu/K70cSESiMX7A=", + "lastModified": 1722609272, + "narHash": "sha256-Kkb+ULEHVmk07AX+OhwyofFxBDpw+2WvsXguUS2m6e4=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "50581970f37f06a4719001735828519925ef8310", + "rev": "f7142b8024d6b70c66fd646e1d099d3aa5bfec49", "type": "github" }, "original": { @@ -86,18 +87,17 @@ }, "devshell": { "inputs": { - "flake-utils": "flake-utils_2", "nixpkgs": [ "nixvim", "nixpkgs" ] }, "locked": { - "lastModified": 1717408969, - "narHash": "sha256-Q0OEFqe35fZbbRPPRdrjTUUChKVhhWXz3T9ZSKmaoVY=", + "lastModified": 1722113426, + "narHash": "sha256-Yo/3loq572A8Su6aY5GP56knpuKYRvM2a1meP9oJZCw=", "owner": "numtide", "repo": "devshell", - "rev": "1ebbe68d57457c8cae98145410b164b5477761f4", + "rev": "67cce7359e4cd3c45296fb4aaf6a19e2a9c757ae", "type": "github" }, "original": { @@ -136,32 +136,16 @@ "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" } }, - "flake-compat_3": { - "flake": false, - "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, "flake-parts": { "inputs": { "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1719994518, - "narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=", + "lastModified": 1722555600, + "narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7", + "rev": "8471fe90ad337a8074e957b69ca4d0089218391d", "type": "github" }, "original": { @@ -178,11 +162,11 @@ ] }, "locked": { - "lastModified": 1717285511, - "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=", + "lastModified": 1722555600, + "narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8", + "rev": "8471fe90ad337a8074e957b69ca4d0089218391d", "type": "github" }, "original": { @@ -214,11 +198,11 @@ "systems": "systems_4" }, "locked": { - "lastModified": 1701680307, - "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "type": "github" }, "original": { @@ -229,7 +213,10 @@ }, "git-hooks": { "inputs": { - "flake-compat": "flake-compat_3", + "flake-compat": [ + "nixvim", + "flake-compat" + ], "gitignore": "gitignore", "nixpkgs": [ "nixvim", @@ -241,11 +228,11 @@ ] }, "locked": { - "lastModified": 1719259945, - "narHash": "sha256-F1h+XIsGKT9TkGO3omxDLEb/9jOOsI6NnzsXFsZhry4=", + "lastModified": 1721042469, + "narHash": "sha256-6FPUl7HVtvRHCCBQne7Ylp4p+dpP3P/OYuzjztZ4s70=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "0ff4381bbb8f7a52ca4a851660fc7a437a4c6e07", + "rev": "f451c19376071a90d8c58ab1a953c6e9840527fd", "type": "github" }, "original": { @@ -304,11 +291,11 @@ ] }, "locked": { - "lastModified": 1718530513, - "narHash": "sha256-BmO8d0r+BVlwWtMLQEYnwmngqdXIuyFzMwvmTcLMee8=", + "lastModified": 1720042825, + "narHash": "sha256-A0vrUB6x82/jvf17qPCpxaM+ulJnD8YZwH9Ci0BsAzE=", "owner": "rycee", "repo": "home-manager", - "rev": "a1fddf0967c33754271761d91a3d921772b30d0e", + "rev": "e1391fb22e18a36f57e6999c7a9f966dc80ac073", "type": "github" }, "original": { @@ -326,178 +313,31 @@ ] }, "locked": { - "lastModified": 1718530513, - "narHash": "sha256-BmO8d0r+BVlwWtMLQEYnwmngqdXIuyFzMwvmTcLMee8=", + "lastModified": 1722630065, + "narHash": "sha256-QfM/9BMRkCmgWzrPDK+KbgJOUlSJnfX4OvsUupEUZvA=", "owner": "nix-community", "repo": "home-manager", - "rev": "a1fddf0967c33754271761d91a3d921772b30d0e", + "rev": "afc892db74d65042031a093adb6010c4c3378422", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-24.05", "repo": "home-manager", "type": "github" } }, - "hyprcursor": { - "inputs": { - "hyprlang": [ - "hyprland", - "hyprlang" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, + "master": { "locked": { - "lastModified": 1718450675, - "narHash": "sha256-jpsns6buS4bK+1sF8sL8AaixAiCRjA+nldTKvcwmvUs=", - "owner": "hyprwm", - "repo": "hyprcursor", - "rev": "66d5b46ff94efbfa6fa3d1d1b66735f1779c34a6", + "lastModified": 1722891568, + "narHash": "sha256-tm6Nl2v3zqD8uqWA6b0xCLv85KtAWk8/CgrhRAwOIRA=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "feff2a407c08aafeffc6b653f665b891c4751ed2", "type": "github" }, "original": { - "owner": "hyprwm", - "repo": "hyprcursor", - "type": "github" - } - }, - "hyprland": { - "inputs": { - "hyprcursor": "hyprcursor", - "hyprlang": "hyprlang", - "hyprutils": "hyprutils", - "hyprwayland-scanner": "hyprwayland-scanner", - "nixpkgs": "nixpkgs_2", - "systems": "systems_2", - "xdph": "xdph" - }, - "locked": { - "lastModified": 1719493676, - "narHash": "sha256-EClgfHBU8jLOQxRrkmEgkHHL22nrvNkPjhABtsOEscE=", - "ref": "refs/heads/main", - "rev": "f2dc48d92f340efe6d4264b92d38378c18a3e1ea", - "revCount": 4892, - "submodules": true, - "type": "git", - "url": "https://github.com/hyprwm/Hyprland" - }, - "original": { - "submodules": true, - "type": "git", - "url": "https://github.com/hyprwm/Hyprland" - } - }, - "hyprland-protocols": { - "inputs": { - "nixpkgs": [ - "hyprland", - "xdph", - "nixpkgs" - ], - "systems": [ - "hyprland", - "xdph", - "systems" - ] - }, - "locked": { - "lastModified": 1714869498, - "narHash": "sha256-vbLVOWvQqo4n1yvkg/Q70VTlPbMmTiCQfNTgcWDCfJM=", - "owner": "hyprwm", - "repo": "hyprland-protocols", - "rev": "e06482e0e611130cd1929f75e8c1cf679e57d161", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprland-protocols", - "type": "github" - } - }, - "hyprlang": { - "inputs": { - "hyprutils": [ - "hyprland", - "hyprutils" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1717881852, - "narHash": "sha256-XeeVoKHQgfKuXoP6q90sUqKyl7EYy3ol2dVZGM+Jj94=", - "owner": "hyprwm", - "repo": "hyprlang", - "rev": "ec6938c66253429192274d612912649a0cfe4d28", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprlang", - "type": "github" - } - }, - "hyprutils": { - "inputs": { - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1719316102, - "narHash": "sha256-dmRz128j/lJmMuTYeCYPfSBRHHQO3VeH4PbmoyAhHzw=", - "owner": "hyprwm", - "repo": "hyprutils", - "rev": "1f6bbec5954f623ff8d68e567bddcce97cd2f085", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprutils", - "type": "github" - } - }, - "hyprwayland-scanner": { - "inputs": { - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1719067853, - "narHash": "sha256-mAnZG/eQy72Fp1ImGtqCgUrDumnR1rMZv2E/zgP4U74=", - "owner": "hyprwm", - "repo": "hyprwayland-scanner", - "rev": "914f083741e694092ee60a39d31f693d0a6dc734", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprwayland-scanner", + "owner": "NixOS", + "repo": "nixpkgs", "type": "github" } }, @@ -509,11 +349,11 @@ ] }, "locked": { - "lastModified": 1719128254, - "narHash": "sha256-I7jMpq0CAOZA/i70+HDQO/ulLttyQu/K70cSESiMX7A=", + "lastModified": 1722609272, + "narHash": "sha256-Kkb+ULEHVmk07AX+OhwyofFxBDpw+2WvsXguUS2m6e4=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "50581970f37f06a4719001735828519925ef8310", + "rev": "f7142b8024d6b70c66fd646e1d099d3aa5bfec49", "type": "github" }, "original": { @@ -526,14 +366,14 @@ "inputs": { "flake-compat": "flake-compat", "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs_3" + "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1719451583, - "narHash": "sha256-2FHGp9cH5q42yVdYAfLjMCYJgr+VYfMW4LYmCOptlpg=", + "lastModified": 1722821408, + "narHash": "sha256-FMCo35ZmMfvAcae+9neKfu6QzXjU3WL6vW2OFMXx6wI=", "owner": "nix-community", "repo": "nix-vscode-extensions", - "rev": "4157bcc67488e09407f5edc130ebf62c1a1a1433", + "rev": "f25962fbd632afea744dc7e6868f24d2e73ccedb", "type": "github" }, "original": { @@ -560,33 +400,17 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1719876945, - "narHash": "sha256-Fm2rDDs86sHy0/1jxTOKB1118Q0O3Uc7EC0iXvXKpbI=", + "lastModified": 1722555339, + "narHash": "sha256-uFf2QeW7eAHlYXuDktm9c25OxOyCoUOQmh5SZ9amE5Q=", "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/5daf0514482af3f97abaefc78a6606365c9108e2.tar.gz" + "url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz" }, "original": { "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/5daf0514482af3f97abaefc78a6606365c9108e2.tar.gz" + "url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz" } }, "nixpkgs_2": { - "locked": { - "lastModified": 1719075281, - "narHash": "sha256-CyyxvOwFf12I91PBWz43iGT1kjsf5oi6ax7CrvaMyAo=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "a71e967ef3694799d0c418c98332f7ff4cc5f6af", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_3": { "locked": { "lastModified": 1713805509, "narHash": "sha256-YgSEan4CcrjivCNO5ZNzhg7/8ViLkZ4CB/GrGBVSudo=", @@ -602,13 +426,13 @@ "type": "github" } }, - "nixpkgs_4": { + "nixpkgs_3": { "locked": { - "lastModified": 1719426051, - "narHash": "sha256-yJL9VYQhaRM7xs0M867ZFxwaONB9T2Q4LnGo1WovuR4=", + "lastModified": 1722791413, + "narHash": "sha256-rCTrlCWvHzMCNcKxPE3Z/mMK2gDZ+BvvpEVyRM4tKmU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "89c49874fb15f4124bf71ca5f42a04f2ee5825fd", + "rev": "8b5b6723aca5a51edf075936439d9cd3947b7b2c", "type": "github" }, "original": { @@ -617,7 +441,7 @@ "type": "indirect" } }, - "nixpkgs_5": { + "nixpkgs_4": { "locked": { "lastModified": 1718428119, "narHash": "sha256-WdWDpNaq6u1IPtxtYHHWpl5BmabtpmLnMAx0RdJ/vo8=", @@ -633,13 +457,13 @@ "type": "github" } }, - "nixpkgs_6": { + "nixpkgs_5": { "locked": { - "lastModified": 1719690277, - "narHash": "sha256-0xSej1g7eP2kaUF+JQp8jdyNmpmCJKRpO12mKl/36Kc=", + "lastModified": 1720957393, + "narHash": "sha256-oedh2RwpjEa+TNxhg5Je9Ch6d3W1NKi7DbRO1ziHemA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2741b4b489b55df32afac57bc4bfd220e8bf617e", + "rev": "693bc46d169f5af9c992095736e82c3488bf7dbb", "type": "github" }, "original": { @@ -658,32 +482,32 @@ "home-manager": "home-manager_3", "nix-darwin": "nix-darwin", "nixpkgs": [ - "nixpkgs" + "unstable" ], + "nuschtosSearch": "nuschtosSearch", "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1719469291, - "narHash": "sha256-Efir01r7ThPabDBFOygX1UDyerJFHelbRGdMo/VNw14=", + "lastModified": 1722857280, + "narHash": "sha256-b5Bal3cElLrS9UtDN81ljQpOsbqBe/7CdWlTKhlswus=", "owner": "nix-community", "repo": "nixvim", - "rev": "8f52e4d1e34039937efb0ee05825b9963ef29739", + "rev": "5922a48008e5759acb63a12b2de8348ec512760f", "type": "github" }, "original": { "owner": "nix-community", - "ref": "nixos-24.05", "repo": "nixvim", "type": "github" } }, "nur": { "locked": { - "lastModified": 1719488730, - "narHash": "sha256-4LTpvjM/S6DMxl9Kb35tQ5Y70XVTULMTM5UprsngFMg=", + "lastModified": 1722883188, + "narHash": "sha256-IahHa5WnNaiY7UANpVPgEWhQ9Yha9AWVBzckEs4twFw=", "owner": "nix-community", "repo": "NUR", - "rev": "c2667e57412f53b38d19386ebf7f6f564e28febe", + "rev": "f80e85e5a4f92e6aee6fd09c1c704425b48e9f8b", "type": "github" }, "original": { @@ -692,6 +516,28 @@ "type": "github" } }, + "nuschtosSearch": { + "inputs": { + "flake-utils": "flake-utils_2", + "nixpkgs": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1722493084, + "narHash": "sha256-ktjl908zZKWcGdMyz6kX1kHSg7LFFGPYBvTi9FgQleM=", + "owner": "NuschtOS", + "repo": "search", + "rev": "3f5abffa5f28b4ac3c9212c81c5e8d2d22876071", + "type": "github" + }, + "original": { + "owner": "NuschtOS", + "repo": "search", + "type": "github" + } + }, "root": { "inputs": { "agenix": "agenix", @@ -699,9 +545,9 @@ "darwin": "darwin_2", "flake-parts": "flake-parts", "home-manager": "home-manager_2", - "hyprland": "hyprland", + "master": "master", "nix-vscode-extensions": "nix-vscode-extensions", - "nixpkgs": "nixpkgs_4", + "nixpkgs": "nixpkgs_3", "nixvim": "nixvim", "nur": "nur", "rust-overlay": "rust-overlay", @@ -712,14 +558,14 @@ }, "rust-overlay": { "inputs": { - "nixpkgs": "nixpkgs_5" + "nixpkgs": "nixpkgs_4" }, "locked": { - "lastModified": 1719454714, - "narHash": "sha256-MojqG0lyUINkEk0b3kM2drsU5vyaF8DFZe/FAlZVOGs=", + "lastModified": 1722824458, + "narHash": "sha256-2k3/geD5Yh8JT1nrGaRycje5kB0DkvQA/OUZoel1bIU=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "d1c527659cf076ecc4b96a91c702d080b213801e", + "rev": "a8a937c304e62a5098c6276c9cdf65c19a43b1a5", "type": "github" }, "original": { @@ -811,11 +657,11 @@ ] }, "locked": { - "lastModified": 1719243788, - "narHash": "sha256-9T9mSY35EZSM1KAwb7K9zwQ78qTlLjosZgtUGnw4rn4=", + "lastModified": 1722330636, + "narHash": "sha256-uru7JzOa33YlSRwf9sfXpJG+UAV+bnBEYMjrzKrQZFw=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "065a23edceff48f948816b795ea8cc6c0dee7cdf", + "rev": "768acdb06968e53aa1ee8de207fd955335c754b7", "type": "github" }, "original": { @@ -826,14 +672,14 @@ }, "treefmt-nix_2": { "inputs": { - "nixpkgs": "nixpkgs_6" + "nixpkgs": "nixpkgs_5" }, "locked": { - "lastModified": 1719887753, - "narHash": "sha256-p0B2r98UtZzRDM5miGRafL4h7TwGRC4DII+XXHDHqek=", + "lastModified": 1722330636, + "narHash": "sha256-uru7JzOa33YlSRwf9sfXpJG+UAV+bnBEYMjrzKrQZFw=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "bdb6355009562d8f9313d9460c0d3860f525bc6c", + "rev": "768acdb06968e53aa1ee8de207fd955335c754b7", "type": "github" }, "original": { @@ -844,11 +690,11 @@ }, "unstable": { "locked": { - "lastModified": 1719254875, - "narHash": "sha256-ECni+IkwXjusHsm9Sexdtq8weAq/yUyt1TWIemXt3Ko=", + "lastModified": 1722630782, + "narHash": "sha256-hMyG9/WlUi0Ho9VkRrrez7SeNlDzLxalm9FwY7n/Noo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2893f56de08021cffd9b6b6dfc70fd9ccd51eb60", + "rev": "d04953086551086b44b6f3c6b7eeb26294f207da", "type": "github" }, "original": { @@ -874,36 +720,6 @@ "repo": "flake-utils", "type": "github" } - }, - "xdph": { - "inputs": { - "hyprland-protocols": "hyprland-protocols", - "hyprlang": [ - "hyprland", - "hyprlang" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1718619174, - "narHash": "sha256-FWW68AVYmB91ZDQnhLMBNCUUTCjb1ZpO2k2KIytHtkA=", - "owner": "hyprwm", - "repo": "xdg-desktop-portal-hyprland", - "rev": "c7894aa54f9a7dbd16df5cd24d420c8af22d5623", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "xdg-desktop-portal-hyprland", - "type": "github" - } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 3e2cb28..9e243a2 100644 --- a/flake.nix +++ b/flake.nix @@ -4,6 +4,7 @@ inputs = { nixpkgs.url = "nixpkgs/nixos-24.05"; unstable.url = "nixpkgs/nixos-unstable"; + master.url = "github:NixOS/nixpkgs"; nur.url = "github:nix-community/NUR"; home-manager = { @@ -21,12 +22,11 @@ flake-parts.url = "github:hercules-ci/flake-parts"; treefmt-nix.url = "github:numtide/treefmt-nix"; nixvim = { - url = "github:nix-community/nixvim/nixos-24.05"; - inputs.nixpkgs.follows = "nixpkgs"; + url = "github:nix-community/nixvim"; + inputs.nixpkgs.follows = "unstable"; }; rust-overlay.url = "github:oxalica/rust-overlay"; nix-vscode-extensions.url = "github:nix-community/nix-vscode-extensions"; - hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; ags.url = "github:Aylur/ags"; agenix = { url = "github:ryantm/agenix"; diff --git a/machines/mac/configuration.nix b/machines/mac/configuration.nix index 47514eb..f56efff 100644 --- a/machines/mac/configuration.nix +++ b/machines/mac/configuration.nix @@ -27,7 +27,7 @@ # Video ffmpeg # Spotify - unstable.spicetify-cli + master.spicetify-cli # Java checkstyle # XCode diff --git a/machines/terra/configuration.nix b/machines/terra/configuration.nix index 6b4a2ed..ccbfe75 100644 --- a/machines/terra/configuration.nix +++ b/machines/terra/configuration.nix @@ -71,10 +71,18 @@ environment.systemPackages = with pkgs; [ obs-studio + kdenlive + virt-manager + virtiofsd + # GTK Discord Client unstable.dissent - kdenlive + + prismlauncher + lutris + + android-studio ]; # This value determines the NixOS release from which the default diff --git a/machines/terra/hardware-configuration.nix b/machines/terra/hardware-configuration.nix index 9563486..a2bf321 100644 --- a/machines/terra/hardware-configuration.nix +++ b/machines/terra/hardware-configuration.nix @@ -20,7 +20,7 @@ hardware.opengl.driSupport = true; hardware.opengl.driSupport32Bit = true; - services.xserver.videoDrivers = ["nvidia"]; + services.xserver.videoDrivers = ["amdgpu"]; fileSystems."/" = { device = "/dev/disk/by-uuid/fa11ad2d-97d9-4e87-8fe9-f2cae0d9894e"; diff --git a/nixos/hyprland/default.nix b/nixos/hyprland/default.nix index 268c4c0..9b7e2c2 100644 --- a/nixos/hyprland/default.nix +++ b/nixos/hyprland/default.nix @@ -1,12 +1,10 @@ { pkgs, - inputs, lib, config, ... }: let inherit (lib) mkEnableOption mkIf; - pkgs-hyprland = inputs.hyprland.inputs.nixpkgs.legacyPackages.${pkgs.stdenv.hostPlatform.system}; cfg = config.my.hyprland; in { options.my.hyprland = { @@ -18,14 +16,10 @@ in { programs.hyprland = { enable = true; - package = inputs.hyprland.packages.${pkgs.system}.hyprland; }; - hardware.opengl = { - package = pkgs-hyprland.mesa.drivers; - driSupport32Bit = true; - package32 = pkgs-hyprland.pkgsi686Linux.mesa.drivers; - }; + # Hint electron apps to use wayland + environment.sessionVariables.NIXOS_OZONE_WL = "1"; services.gnome.gnome-keyring.enable = true; security.pam.services.greetd.enableGnomeKeyring = true; diff --git a/nixos/hyprland/home.nix b/nixos/hyprland/home.nix index d8620d5..316e316 100644 --- a/nixos/hyprland/home.nix +++ b/nixos/hyprland/home.nix @@ -1,6 +1,5 @@ { pkgs, - inputs, lib, config, ... @@ -8,17 +7,14 @@ inherit (lib) mkEnableOption mkIf; cfg = config.my.hyprland; in { - imports = [ - inputs.hyprland.homeManagerModules.default - ]; - options.my.hyprland = { enable = mkEnableOption "hyprland"; }; config = mkIf cfg.enable { my.ags.enable = true; - my.wofi.enable = true; + + programs.fuzzel.enable = true; home.packages = with pkgs; [ pavucontrol @@ -27,7 +23,6 @@ in { wayland.windowManager.hyprland = { enable = true; - package = inputs.hyprland.packages.${pkgs.system}.hyprland; settings = let # No gaps or border when only one window no_gaps_when_only = 1; @@ -55,7 +50,7 @@ in { bind = [ # Program launcher - "$mod, SPACE, exec, wofi --show drun" + "$mod, SPACE, exec, fuzzel" # Program shortcuts "$mod, F, exec, firefox" "$mod, Q, killactive" @@ -112,6 +107,10 @@ in { # will reset the submap, meaning end the current one and return to the global one submap=reset + + # mouse bindings + bindm=ALT,mouse:272,movewindow + bindm=ALT,mouse:273,resizewindow ''; }; diff --git a/nixos/wofi/home.nix b/nixos/wofi/home.nix deleted file mode 100644 index 17f0709..0000000 --- a/nixos/wofi/home.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ - lib, - config, - ... -}: let - inherit (lib) mkEnableOption mkIf; - cfg = config.my.wofi; -in { - options.my.wofi = { - enable = mkEnableOption "wofi"; - }; - - config = mkIf cfg.enable { - programs.wofi = { - enable = true; - }; - }; -} diff --git a/overlays/default.nix b/overlays/default.nix index b9cb445..b0c50b4 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -5,7 +5,7 @@ # This one brings our custom packages from the 'pkgs' directory additions = final: _prev: import ../pkgs { - pkgs = final.pkgs; + inherit (final) pkgs; inherit inputs; }; @@ -22,7 +22,12 @@ # be accessible through 'pkgs.unstable' unstable-packages = final: _prev: { unstable = import inputs.unstable { - system = final.system; + inherit (final) system; + config.allowUnfree = true; + }; + + master = import inputs.master { + inherit (final) system; config.allowUnfree = true; }; }; diff --git a/pkgs/nvim/config/bufferlines/bufferline.nix b/pkgs/nvim/config/bufferlines/bufferline.nix index 02ebb83..d4d9780 100644 --- a/pkgs/nvim/config/bufferlines/bufferline.nix +++ b/pkgs/nvim/config/bufferlines/bufferline.nix @@ -1,4 +1,5 @@ { + pkgs, helpers, icons, ... @@ -25,8 +26,10 @@ text_align = "left"; } ]; + closeCommand = "Bdelete! %d"; }; }; + extraPlugins = with pkgs.vimPlugins; [bufdelete-nvim]; keymaps = [ { mode = "n"; @@ -67,7 +70,7 @@ { mode = "n"; key = "bd"; - action = "bdelete"; + action = "Bdelete"; options = { desc = "Delete buffer"; }; diff --git a/pkgs/nvim/config/completion/cmp.nix b/pkgs/nvim/config/completion/cmp.nix index 7b45ef2..c6824e5 100644 --- a/pkgs/nvim/config/completion/cmp.nix +++ b/pkgs/nvim/config/completion/cmp.nix @@ -28,12 +28,16 @@ }) ''; }; + snippet = { + expand = "function(args) require('luasnip').lsp_expand(args.body) end"; + }; sources = { __raw = '' cmp.config.sources({ {name = 'nvim_lsp'}, {name = 'copilot'}, {name = 'path'}, + {name = 'luasnip'}, {name = 'cmdline'}, }, { {name = 'buffer'}, @@ -69,6 +73,7 @@ cmp-path.enable = true; }; extraConfigLua = '' + luasnip = require("luasnip") kind_icons = { Text = "󰊄", Method = "", diff --git a/pkgs/nvim/config/default.nix b/pkgs/nvim/config/default.nix index 59a39ca..822da56 100644 --- a/pkgs/nvim/config/default.nix +++ b/pkgs/nvim/config/default.nix @@ -25,6 +25,7 @@ ./languages/nvim-lint.nix ./languages/typescript-tools-nvim.nix ./languages/treesitter/treesitter.nix + ./languages/treesitter/mdx.nix ./languages/treesitter/treesitter-context.nix ./languages/treesitter/treesitter-textobjects.nix ./languages/treesitter/ts-autotag.nix @@ -38,7 +39,7 @@ ./none-ls/none-ls.nix - # ./snippets/luasnip.nix + ./snippets/luasnip.nix ./statusline/lualine.nix @@ -59,6 +60,7 @@ ./utils/illuminate.nix # highlight other uses of current word ./utils/markdown-preview.nix ./utils/mini.nix # lots of utilities + ./utils/neoconf.nix # ./utils/neodev.nix # lua development ./utils/neotest.nix # test runner ./utils/nvim-colorizer.nix diff --git a/pkgs/nvim/config/git/lazygit.nix b/pkgs/nvim/config/git/lazygit.nix index 4ad017a..85da883 100644 --- a/pkgs/nvim/config/git/lazygit.nix +++ b/pkgs/nvim/config/git/lazygit.nix @@ -3,6 +3,8 @@ lazygit-nvim ]; + extraPackages = with pkgs; [lazygit]; + extraConfigLua = '' require("telescope").load_extension("lazygit") ''; diff --git a/pkgs/nvim/config/helpers.lua b/pkgs/nvim/config/helpers.lua new file mode 100644 index 0000000..39141ca --- /dev/null +++ b/pkgs/nvim/config/helpers.lua @@ -0,0 +1,26 @@ +if MVim then return end -- avoid loading twice the same module +MVim = {} + +---@return {fg?:string}? +function MVim.fg(name) + local color = MVim.color(name) + return color and { fg = color } or nil +end + +---@param name string +---@param bg? boolean +---@return string? +function MVim.color(name, bg) + ---@type {fg?:number, bg?:number}? + local hl = vim.api.nvim_get_hl(0, { name = name, link = false }) + ---@type number? + local color = nil + if hl then + if bg then + color = hl.bg + else + color = hl.fg + end + end + return color and string.format("#%06x", color) or nil +end diff --git a/pkgs/nvim/config/keymaps.nix b/pkgs/nvim/config/keymaps.nix index 5e5490d..779aa66 100644 --- a/pkgs/nvim/config/keymaps.nix +++ b/pkgs/nvim/config/keymaps.nix @@ -1,8 +1,6 @@ -# Thanks for the keybinds primeagen and folke! { globals.mapleader = " "; - # TODO: Move general mappings to which-key keymaps = [ # better up/down { @@ -46,6 +44,33 @@ }; } + # Clear search with + { + mode = ["i" "n"]; + key = ""; + action = "noh"; + options = { + desc = "Escape and Clear hlsearch"; + }; + } + + # Add undo break-points + { + mode = "i"; + key = ","; + action = ",u"; + } + { + mode = "i"; + key = "."; + action = ".u"; + } + { + mode = "i"; + key = ";"; + action = ";u"; + } + # Move to window using the hjkl keys { mode = "n"; @@ -109,47 +134,6 @@ action = "vertical resize +2"; options = {desc = "Increase Window Width";}; } - # Disable arrow keys - { - mode = ["n" "i"]; - key = ""; - action = ""; - options = { - silent = true; - noremap = true; - desc = "Disable Up arrow key"; - }; - } - { - mode = ["n" "i"]; - key = ""; - action = ""; - options = { - silent = true; - noremap = true; - desc = "Disable Down arrow key"; - }; - } - { - mode = ["n" "i"]; - key = ""; - action = ""; - options = { - silent = true; - noremap = true; - desc = "Disable Right arrow key"; - }; - } - { - mode = ["n" "i"]; - key = ""; - action = ""; - options = { - silent = true; - noremap = true; - desc = "Disable Left arrow key"; - }; - } # General maps { @@ -445,6 +429,7 @@ }; } + # better indenting { mode = "v"; key = "<"; diff --git a/pkgs/nvim/config/languages/nvim-lint.nix b/pkgs/nvim/config/languages/nvim-lint.nix index f256d17..b0077a9 100644 --- a/pkgs/nvim/config/languages/nvim-lint.nix +++ b/pkgs/nvim/config/languages/nvim-lint.nix @@ -1,4 +1,8 @@ -{pkgs, ...}: { +{ + pkgs, + pkgsMaster, + ... +}: { plugins.lint = { enable = true; lintersByFt = { @@ -16,5 +20,6 @@ extraPackages = with pkgs; [ statix + pkgsMaster.eslint_d ]; } diff --git a/pkgs/nvim/config/languages/treesitter/mdx.nix b/pkgs/nvim/config/languages/treesitter/mdx.nix new file mode 100644 index 0000000..81c6a9e --- /dev/null +++ b/pkgs/nvim/config/languages/treesitter/mdx.nix @@ -0,0 +1,16 @@ +{ + filetype.extension.mdx = "mdx"; + + plugins.treesitter.languageRegister.markdown = ["mdx"]; + + # Tree Sitter Grammar + extraFiles."queries/markdown/injections.scm" = '' + ; extends + ((inline) @injection.content + (#lua-match? @injection.content "^%s*import") + (#set! injection.language "typescript")) + ((inline) @injection.content + (#lua-match? @injection.content "^%s*export") + (#set! injection.language "typescript")) + ''; +} diff --git a/pkgs/nvim/config/languages/treesitter/treesitter.nix b/pkgs/nvim/config/languages/treesitter/treesitter.nix index 8ff420f..d35a9c7 100644 --- a/pkgs/nvim/config/languages/treesitter/treesitter.nix +++ b/pkgs/nvim/config/languages/treesitter/treesitter.nix @@ -1,8 +1,11 @@ { plugins.treesitter = { enable = true; - indent = true; folding = true; nixvimInjections = true; + settings = { + highlight.enable = true; + indent.enable = true; + }; }; } diff --git a/pkgs/nvim/config/languages/typescript-tools-nvim.nix b/pkgs/nvim/config/languages/typescript-tools-nvim.nix index 8134073..809cae4 100644 --- a/pkgs/nvim/config/languages/typescript-tools-nvim.nix +++ b/pkgs/nvim/config/languages/typescript-tools-nvim.nix @@ -1,6 +1,6 @@ { plugins.typescript-tools = { - enable = true; + enable = false; onAttach = '' function(client, bufnr) client.server_capabilities.documentFormattingProvider = false @@ -23,6 +23,9 @@ includeInlayFunctionLikeReturnTypeHints = true; includeInlayEnumMemberValueHints = true; }; + tsserverPlugins = [ + "@vue/typescript-plugin" + ]; }; }; diff --git a/pkgs/nvim/config/lsp/lsp.nix b/pkgs/nvim/config/lsp/lsp.nix index 59fc267..b89c90f 100644 --- a/pkgs/nvim/config/lsp/lsp.nix +++ b/pkgs/nvim/config/lsp/lsp.nix @@ -1,4 +1,8 @@ -{icons, ...}: { +{ + pkgs, + icons, + ... +}: { plugins = { lsp-format = { enable = false; # Enable it if you want lsp-format integration for none-ls @@ -26,8 +30,8 @@ }; nil-ls = {enable = true;}; tsserver = { - enable = false; - filetypes = ["javascript" "javascriptreact" "typescript" "typescriptreact"]; + enable = true; + filetypes = ["javascript" "javascriptreact" "typescript" "typescriptreact" "vue"]; extraOptions = { settings = { javascript = { @@ -53,10 +57,23 @@ }; }; }; + init_options = { + plugins = [ + { + name = "@vue/typescript-plugin"; + location = "${pkgs.vue-language-server}/lib/node_modules/@vue/language-server"; + languages = ["javascript" "typescript" "vue"]; + } + ]; + }; }; }; astro = {enable = true;}; - volar = {enable = true;}; + volar = { + enable = true; + package = pkgs.vue-language-server; + rootDir = ''require("lspconfig.util").root_pattern("src/App.vue")''; + }; svelte = {enable = true;}; eslint = {enable = true;}; pyright = {enable = true;}; diff --git a/pkgs/nvim/config/none-ls/none-ls.nix b/pkgs/nvim/config/none-ls/none-ls.nix index 5eaaf6d..1565a15 100644 --- a/pkgs/nvim/config/none-ls/none-ls.nix +++ b/pkgs/nvim/config/none-ls/none-ls.nix @@ -2,21 +2,23 @@ plugins.none-ls = { enable = false; enableLspFormat = false; - updateInInsert = false; - onAttach = '' - function(client, bufnr) - if client.supports_method "textDocument/formatting" then - vim.api.nvim_clear_autocmds { group = augroup, buffer = bufnr } - vim.api.nvim_create_autocmd("BufWritePre", { - group = augroup, - buffer = bufnr, - callback = function() - vim.lsp.buf.format { bufnr = bufnr } - end, - }) + settings = { + update_in_insert = false; + on_attach = '' + function(client, bufnr) + if client.supports_method "textDocument/formatting" then + vim.api.nvim_clear_autocmds { group = augroup, buffer = bufnr } + vim.api.nvim_create_autocmd("BufWritePre", { + group = augroup, + buffer = bufnr, + callback = function() + vim.lsp.buf.format { bufnr = bufnr } + end, + }) + end end - end - ''; + ''; + }; sources = { code_actions = { gitsigns.enable = true; @@ -36,11 +38,7 @@ }; prettier = { enable = true; - withArgs = '' - { - extra_args = { "--no-semi", "--single-quote" }, - } - ''; + disableTsServerFormatter = true; }; google_java_format = { enable = true; @@ -50,7 +48,7 @@ }; black = { enable = true; - withArgs = '' + settings = '' { extra_args = { "--fast" }, } diff --git a/pkgs/nvim/config/sets.nix b/pkgs/nvim/config/sets.nix index 219298e..096b8a7 100644 --- a/pkgs/nvim/config/sets.nix +++ b/pkgs/nvim/config/sets.nix @@ -117,7 +117,6 @@ # We don't need to see things like INSERT anymore showmode = false; - showcmd = false; # Maximum number of items to show in the popup menu (0 means "use available screen space") pumheight = 0; @@ -128,6 +127,14 @@ laststatus = 3; # (https://neovim.io/doc/user/options.html#'laststatus') }; + extraFiles = { + "lua/helpers.lua".source = ./helpers.lua; + }; + + extraConfigLuaPre = '' + require "helpers" + ''; + extraConfigLua = '' local opt = vim.opt local g = vim.g diff --git a/pkgs/nvim/config/snippets/luasnip.nix b/pkgs/nvim/config/snippets/luasnip.nix index 02d9ee0..2efb62d 100644 --- a/pkgs/nvim/config/snippets/luasnip.nix +++ b/pkgs/nvim/config/snippets/luasnip.nix @@ -1,11 +1,7 @@ -{ - pkgs, - config, - ... -}: { +{pkgs, ...}: { plugins.luasnip = { enable = true; - extraConfig = { + settings = { enable_autosnippets = true; store_selection_keys = ""; }; diff --git a/pkgs/nvim/config/statusline/lualine.nix b/pkgs/nvim/config/statusline/lualine.nix index 6cb1293..6a6d434 100644 --- a/pkgs/nvim/config/statusline/lualine.nix +++ b/pkgs/nvim/config/statusline/lualine.nix @@ -17,7 +17,11 @@ left = ""; #  right = ""; #  }; - sections = { + sections = let + mkColor = color: { + __raw = ''function() return MVim.fg("${color}") end''; + }; + in { lualine_a = ["mode"]; lualine_b = ["branch"]; lualine_c = [ @@ -45,7 +49,24 @@ "filename" ]; - lualine_x = []; + lualine_x = [ + # Command + { + name.__raw = ''function() return require("noice").api.status.command.get() end''; + color = mkColor "Statement"; + extraConfig = { + cond.__raw = ''function() return package.loaded["noice"] and require("noice").api.status.command.has() end''; + }; + } + # Mode + { + name.__raw = ''function() return require("noice").api.status.mode.get() end''; + color = mkColor "Constant"; + extraConfig = { + cond.__raw = ''function() return package.loaded["noice"] and require("noice").api.status.mode.has() end''; + }; + } + ]; lualine_y = [ { name = "progress"; diff --git a/pkgs/nvim/config/utils/flash.nix b/pkgs/nvim/config/utils/flash.nix index b531743..b53f057 100644 --- a/pkgs/nvim/config/utils/flash.nix +++ b/pkgs/nvim/config/utils/flash.nix @@ -1,18 +1,20 @@ { plugins.flash = { enable = false; - labels = "asdfghjklqwertyuiopzxcvbnm"; - search = { - mode = "fuzzy"; - }; - jump = { - autojump = true; - }; - label = { - uppercase = false; - rainbow = { - enabled = false; - shade = 5; + settings = { + labels = "asdfghjklqwertyuiopzxcvbnm"; + search = { + mode = "fuzzy"; + }; + jump = { + autojump = true; + }; + label = { + uppercase = false; + rainbow = { + enabled = false; + shade = 5; + }; }; }; }; diff --git a/pkgs/nvim/config/utils/neoconf.nix b/pkgs/nvim/config/utils/neoconf.nix new file mode 100644 index 0000000..0011880 --- /dev/null +++ b/pkgs/nvim/config/utils/neoconf.nix @@ -0,0 +1,7 @@ +{pkgs, ...}: { + extraPlugins = with pkgs.vimPlugins; [neoconf-nvim]; + + extraConfigLuaPre = '' + require("neoconf").setup() + ''; +} diff --git a/pkgs/nvim/default.nix b/pkgs/nvim/default.nix index 079b173..829d693 100644 --- a/pkgs/nvim/default.nix +++ b/pkgs/nvim/default.nix @@ -3,12 +3,14 @@ inputs, ... }: let - system = pkgs.system; + inherit (pkgs) system; nixvim = inputs.nixvim.legacyPackages.${system}; icons = import ./config/icons.nix; + pkgsMaster = inputs.master.legacyPackages.${system}; nixvimModule = { - inherit pkgs; + pkgs = inputs.unstable.legacyPackages.${system}; module = import ./config; - extraSpecialArgs = {inherit icons;}; + extraSpecialArgs = {inherit icons pkgsMaster;}; }; -in (nixvim.makeNixvimWithModule nixvimModule) +in + nixvim.makeNixvimWithModule nixvimModule diff --git a/user/environments/nixos/home.nix b/user/environments/nixos/home.nix index a70fec6..f3250d6 100644 --- a/user/environments/nixos/home.nix +++ b/user/environments/nixos/home.nix @@ -1,4 +1,4 @@ -{ +{pkgs, ...}: { imports = [ ../../modules/dev.nix ../../modules/firefox.nix @@ -6,12 +6,13 @@ ../../modules/foot.nix ../../modules/git.nix ../../modules/git_nixos.nix - ../../modules/nvim.nix ../../modules/vscode.nix ../../modules/zellij ../../modules/zsh.nix ]; + home.packages = with pkgs; [nvim-custom]; + # Let Home Manager install and manage itself. programs.home-manager.enable = true; diff --git a/user/modules/dev.nix b/user/modules/dev.nix index 33ee4ab..ab29cc1 100644 --- a/user/modules/dev.nix +++ b/user/modules/dev.nix @@ -1,27 +1,40 @@ -{pkgs, ...}: { - home.packages = with pkgs; [ - # devenv - unstable.devenv - # Javascript - nodejs - nodePackages.yarn - unstable.nodePackages.pnpm - deno - unstable.bun - # PHP - php - # Python - python3 - # Nix - nil - alejandra - # Rust - (rust-bin.stable.latest.default.override { - extensions = ["rust-src" "llvm-tools-preview"]; - }) - pkg-config - openssl - ]; +{ + pkgs, + lib, + ... +}: { + home.packages = with pkgs; + [ + # devenv + unstable.devenv + # Javascript + nodejs + nodePackages.yarn + unstable.nodePackages.pnpm + deno + unstable.bun + # PHP + php + # Python + python3 + # Nix + nil + alejandra + # Rust + (rust-bin.stable.latest.default.override { + extensions = ["rust-src" "llvm-tools-preview"]; + }) + pkg-config + openssl + ] + ++ lib.optionals pkgs.stdenv.isDarwin (with pkgs.darwin.apple_sdk.frameworks; [ + CoreFoundation + CoreServices + SystemConfiguration + ]); + + # Required for the `openssl-sys` crate to build properly + home.sessionVariables.PKG_CONFIG_PATH = "${pkgs.openssl.dev}/lib/pkgconfig"; programs.zsh.initExtra = '' export PATH=~/.npm-packages/bin:$PATH diff --git a/user/modules/vscode.nix b/user/modules/vscode.nix index 6de9a70..0bf6137 100644 --- a/user/modules/vscode.nix +++ b/user/modules/vscode.nix @@ -37,7 +37,7 @@ in { # Editor vscodevim.vim pkgs.vscode-marketplace.miguelsolorio.min-theme - streetsidesoftware.code-spell-checker + pkgs.vscode-extensions.streetsidesoftware.code-spell-checker mkhl.direnv # Git