This commit is contained in:
Michael Thomas 2024-09-06 13:30:27 -04:00
commit b4f42c62ce
30 changed files with 378 additions and 460 deletions

404
flake.lock generated
View File

@ -10,11 +10,11 @@
"systems": "systems" "systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1718371084, "lastModified": 1722339003,
"narHash": "sha256-abpBi61mg0g+lFFU0zY4C6oP6fBwPzbHPKBGw676xsA=", "narHash": "sha256-ZeS51uJI30ehNkcZ4uKqT4ZDARPyqrHADSKAwv5vVCU=",
"owner": "ryantm", "owner": "ryantm",
"repo": "agenix", "repo": "agenix",
"rev": "3a56735779db467538fb2e577eda28a9daacaca6", "rev": "3f1dae074a12feb7327b4bf43cbac0d124488bb7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -25,14 +25,15 @@
}, },
"ags": { "ags": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs",
"systems": "systems_2"
}, },
"locked": { "locked": {
"lastModified": 1718921313, "lastModified": 1721306136,
"narHash": "sha256-TFJah1RW5qnYW7kajjAFPAS5j/0q0R3vz9zPjrRA0Mc=", "narHash": "sha256-VKPsIGf3/a+RONBipx4lEE4LXG2sdMNkWQu22LNQItg=",
"owner": "Aylur", "owner": "Aylur",
"repo": "ags", "repo": "ags",
"rev": "646d5ad073ff7f8b1d50cfbd40f5b8a250fcd59d", "rev": "344ea72cd3b8d4911f362fec34bce7d8fb37028c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -70,11 +71,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1719128254, "lastModified": 1722609272,
"narHash": "sha256-I7jMpq0CAOZA/i70+HDQO/ulLttyQu/K70cSESiMX7A=", "narHash": "sha256-Kkb+ULEHVmk07AX+OhwyofFxBDpw+2WvsXguUS2m6e4=",
"owner": "lnl7", "owner": "lnl7",
"repo": "nix-darwin", "repo": "nix-darwin",
"rev": "50581970f37f06a4719001735828519925ef8310", "rev": "f7142b8024d6b70c66fd646e1d099d3aa5bfec49",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -86,18 +87,17 @@
}, },
"devshell": { "devshell": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_2",
"nixpkgs": [ "nixpkgs": [
"nixvim", "nixvim",
"nixpkgs" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1717408969, "lastModified": 1722113426,
"narHash": "sha256-Q0OEFqe35fZbbRPPRdrjTUUChKVhhWXz3T9ZSKmaoVY=", "narHash": "sha256-Yo/3loq572A8Su6aY5GP56knpuKYRvM2a1meP9oJZCw=",
"owner": "numtide", "owner": "numtide",
"repo": "devshell", "repo": "devshell",
"rev": "1ebbe68d57457c8cae98145410b164b5477761f4", "rev": "67cce7359e4cd3c45296fb4aaf6a19e2a9c757ae",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -136,32 +136,16 @@
"url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" "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": { "flake-parts": {
"inputs": { "inputs": {
"nixpkgs-lib": "nixpkgs-lib" "nixpkgs-lib": "nixpkgs-lib"
}, },
"locked": { "locked": {
"lastModified": 1719994518, "lastModified": 1722555600,
"narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=", "narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7", "rev": "8471fe90ad337a8074e957b69ca4d0089218391d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -178,11 +162,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1717285511, "lastModified": 1722555600,
"narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=", "narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8", "rev": "8471fe90ad337a8074e957b69ca4d0089218391d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -214,11 +198,11 @@
"systems": "systems_4" "systems": "systems_4"
}, },
"locked": { "locked": {
"lastModified": 1701680307, "lastModified": 1710146030,
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725", "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -229,7 +213,10 @@
}, },
"git-hooks": { "git-hooks": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_3", "flake-compat": [
"nixvim",
"flake-compat"
],
"gitignore": "gitignore", "gitignore": "gitignore",
"nixpkgs": [ "nixpkgs": [
"nixvim", "nixvim",
@ -241,11 +228,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1719259945, "lastModified": 1721042469,
"narHash": "sha256-F1h+XIsGKT9TkGO3omxDLEb/9jOOsI6NnzsXFsZhry4=", "narHash": "sha256-6FPUl7HVtvRHCCBQne7Ylp4p+dpP3P/OYuzjztZ4s70=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "0ff4381bbb8f7a52ca4a851660fc7a437a4c6e07", "rev": "f451c19376071a90d8c58ab1a953c6e9840527fd",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -304,11 +291,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1718530513, "lastModified": 1720042825,
"narHash": "sha256-BmO8d0r+BVlwWtMLQEYnwmngqdXIuyFzMwvmTcLMee8=", "narHash": "sha256-A0vrUB6x82/jvf17qPCpxaM+ulJnD8YZwH9Ci0BsAzE=",
"owner": "rycee", "owner": "rycee",
"repo": "home-manager", "repo": "home-manager",
"rev": "a1fddf0967c33754271761d91a3d921772b30d0e", "rev": "e1391fb22e18a36f57e6999c7a9f966dc80ac073",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -326,178 +313,31 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1718530513, "lastModified": 1722630065,
"narHash": "sha256-BmO8d0r+BVlwWtMLQEYnwmngqdXIuyFzMwvmTcLMee8=", "narHash": "sha256-QfM/9BMRkCmgWzrPDK+KbgJOUlSJnfX4OvsUupEUZvA=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "a1fddf0967c33754271761d91a3d921772b30d0e", "rev": "afc892db74d65042031a093adb6010c4c3378422",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"ref": "release-24.05",
"repo": "home-manager", "repo": "home-manager",
"type": "github" "type": "github"
} }
}, },
"hyprcursor": { "master": {
"inputs": {
"hyprlang": [
"hyprland",
"hyprlang"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": { "locked": {
"lastModified": 1718450675, "lastModified": 1722891568,
"narHash": "sha256-jpsns6buS4bK+1sF8sL8AaixAiCRjA+nldTKvcwmvUs=", "narHash": "sha256-tm6Nl2v3zqD8uqWA6b0xCLv85KtAWk8/CgrhRAwOIRA=",
"owner": "hyprwm", "owner": "NixOS",
"repo": "hyprcursor", "repo": "nixpkgs",
"rev": "66d5b46ff94efbfa6fa3d1d1b66735f1779c34a6", "rev": "feff2a407c08aafeffc6b653f665b891c4751ed2",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "hyprwm", "owner": "NixOS",
"repo": "hyprcursor", "repo": "nixpkgs",
"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",
"type": "github" "type": "github"
} }
}, },
@ -509,11 +349,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1719128254, "lastModified": 1722609272,
"narHash": "sha256-I7jMpq0CAOZA/i70+HDQO/ulLttyQu/K70cSESiMX7A=", "narHash": "sha256-Kkb+ULEHVmk07AX+OhwyofFxBDpw+2WvsXguUS2m6e4=",
"owner": "lnl7", "owner": "lnl7",
"repo": "nix-darwin", "repo": "nix-darwin",
"rev": "50581970f37f06a4719001735828519925ef8310", "rev": "f7142b8024d6b70c66fd646e1d099d3aa5bfec49",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -526,14 +366,14 @@
"inputs": { "inputs": {
"flake-compat": "flake-compat", "flake-compat": "flake-compat",
"flake-utils": "flake-utils", "flake-utils": "flake-utils",
"nixpkgs": "nixpkgs_3" "nixpkgs": "nixpkgs_2"
}, },
"locked": { "locked": {
"lastModified": 1719451583, "lastModified": 1722821408,
"narHash": "sha256-2FHGp9cH5q42yVdYAfLjMCYJgr+VYfMW4LYmCOptlpg=", "narHash": "sha256-FMCo35ZmMfvAcae+9neKfu6QzXjU3WL6vW2OFMXx6wI=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nix-vscode-extensions", "repo": "nix-vscode-extensions",
"rev": "4157bcc67488e09407f5edc130ebf62c1a1a1433", "rev": "f25962fbd632afea744dc7e6868f24d2e73ccedb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -560,33 +400,17 @@
}, },
"nixpkgs-lib": { "nixpkgs-lib": {
"locked": { "locked": {
"lastModified": 1719876945, "lastModified": 1722555339,
"narHash": "sha256-Fm2rDDs86sHy0/1jxTOKB1118Q0O3Uc7EC0iXvXKpbI=", "narHash": "sha256-uFf2QeW7eAHlYXuDktm9c25OxOyCoUOQmh5SZ9amE5Q=",
"type": "tarball", "type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/5daf0514482af3f97abaefc78a6606365c9108e2.tar.gz" "url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/5daf0514482af3f97abaefc78a6606365c9108e2.tar.gz" "url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz"
} }
}, },
"nixpkgs_2": { "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": { "locked": {
"lastModified": 1713805509, "lastModified": 1713805509,
"narHash": "sha256-YgSEan4CcrjivCNO5ZNzhg7/8ViLkZ4CB/GrGBVSudo=", "narHash": "sha256-YgSEan4CcrjivCNO5ZNzhg7/8ViLkZ4CB/GrGBVSudo=",
@ -602,13 +426,13 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_4": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1719426051, "lastModified": 1722791413,
"narHash": "sha256-yJL9VYQhaRM7xs0M867ZFxwaONB9T2Q4LnGo1WovuR4=", "narHash": "sha256-rCTrlCWvHzMCNcKxPE3Z/mMK2gDZ+BvvpEVyRM4tKmU=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "89c49874fb15f4124bf71ca5f42a04f2ee5825fd", "rev": "8b5b6723aca5a51edf075936439d9cd3947b7b2c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -617,7 +441,7 @@
"type": "indirect" "type": "indirect"
} }
}, },
"nixpkgs_5": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1718428119, "lastModified": 1718428119,
"narHash": "sha256-WdWDpNaq6u1IPtxtYHHWpl5BmabtpmLnMAx0RdJ/vo8=", "narHash": "sha256-WdWDpNaq6u1IPtxtYHHWpl5BmabtpmLnMAx0RdJ/vo8=",
@ -633,13 +457,13 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_6": { "nixpkgs_5": {
"locked": { "locked": {
"lastModified": 1719690277, "lastModified": 1720957393,
"narHash": "sha256-0xSej1g7eP2kaUF+JQp8jdyNmpmCJKRpO12mKl/36Kc=", "narHash": "sha256-oedh2RwpjEa+TNxhg5Je9Ch6d3W1NKi7DbRO1ziHemA=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "2741b4b489b55df32afac57bc4bfd220e8bf617e", "rev": "693bc46d169f5af9c992095736e82c3488bf7dbb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -658,32 +482,32 @@
"home-manager": "home-manager_3", "home-manager": "home-manager_3",
"nix-darwin": "nix-darwin", "nix-darwin": "nix-darwin",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "unstable"
], ],
"nuschtosSearch": "nuschtosSearch",
"treefmt-nix": "treefmt-nix" "treefmt-nix": "treefmt-nix"
}, },
"locked": { "locked": {
"lastModified": 1719469291, "lastModified": 1722857280,
"narHash": "sha256-Efir01r7ThPabDBFOygX1UDyerJFHelbRGdMo/VNw14=", "narHash": "sha256-b5Bal3cElLrS9UtDN81ljQpOsbqBe/7CdWlTKhlswus=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixvim", "repo": "nixvim",
"rev": "8f52e4d1e34039937efb0ee05825b9963ef29739", "rev": "5922a48008e5759acb63a12b2de8348ec512760f",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"ref": "nixos-24.05",
"repo": "nixvim", "repo": "nixvim",
"type": "github" "type": "github"
} }
}, },
"nur": { "nur": {
"locked": { "locked": {
"lastModified": 1719488730, "lastModified": 1722883188,
"narHash": "sha256-4LTpvjM/S6DMxl9Kb35tQ5Y70XVTULMTM5UprsngFMg=", "narHash": "sha256-IahHa5WnNaiY7UANpVPgEWhQ9Yha9AWVBzckEs4twFw=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NUR", "repo": "NUR",
"rev": "c2667e57412f53b38d19386ebf7f6f564e28febe", "rev": "f80e85e5a4f92e6aee6fd09c1c704425b48e9f8b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -692,6 +516,28 @@
"type": "github" "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": { "root": {
"inputs": { "inputs": {
"agenix": "agenix", "agenix": "agenix",
@ -699,9 +545,9 @@
"darwin": "darwin_2", "darwin": "darwin_2",
"flake-parts": "flake-parts", "flake-parts": "flake-parts",
"home-manager": "home-manager_2", "home-manager": "home-manager_2",
"hyprland": "hyprland", "master": "master",
"nix-vscode-extensions": "nix-vscode-extensions", "nix-vscode-extensions": "nix-vscode-extensions",
"nixpkgs": "nixpkgs_4", "nixpkgs": "nixpkgs_3",
"nixvim": "nixvim", "nixvim": "nixvim",
"nur": "nur", "nur": "nur",
"rust-overlay": "rust-overlay", "rust-overlay": "rust-overlay",
@ -712,14 +558,14 @@
}, },
"rust-overlay": { "rust-overlay": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_5" "nixpkgs": "nixpkgs_4"
}, },
"locked": { "locked": {
"lastModified": 1719454714, "lastModified": 1722824458,
"narHash": "sha256-MojqG0lyUINkEk0b3kM2drsU5vyaF8DFZe/FAlZVOGs=", "narHash": "sha256-2k3/geD5Yh8JT1nrGaRycje5kB0DkvQA/OUZoel1bIU=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "d1c527659cf076ecc4b96a91c702d080b213801e", "rev": "a8a937c304e62a5098c6276c9cdf65c19a43b1a5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -811,11 +657,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1719243788, "lastModified": 1722330636,
"narHash": "sha256-9T9mSY35EZSM1KAwb7K9zwQ78qTlLjosZgtUGnw4rn4=", "narHash": "sha256-uru7JzOa33YlSRwf9sfXpJG+UAV+bnBEYMjrzKrQZFw=",
"owner": "numtide", "owner": "numtide",
"repo": "treefmt-nix", "repo": "treefmt-nix",
"rev": "065a23edceff48f948816b795ea8cc6c0dee7cdf", "rev": "768acdb06968e53aa1ee8de207fd955335c754b7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -826,14 +672,14 @@
}, },
"treefmt-nix_2": { "treefmt-nix_2": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_6" "nixpkgs": "nixpkgs_5"
}, },
"locked": { "locked": {
"lastModified": 1719887753, "lastModified": 1722330636,
"narHash": "sha256-p0B2r98UtZzRDM5miGRafL4h7TwGRC4DII+XXHDHqek=", "narHash": "sha256-uru7JzOa33YlSRwf9sfXpJG+UAV+bnBEYMjrzKrQZFw=",
"owner": "numtide", "owner": "numtide",
"repo": "treefmt-nix", "repo": "treefmt-nix",
"rev": "bdb6355009562d8f9313d9460c0d3860f525bc6c", "rev": "768acdb06968e53aa1ee8de207fd955335c754b7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -844,11 +690,11 @@
}, },
"unstable": { "unstable": {
"locked": { "locked": {
"lastModified": 1719254875, "lastModified": 1722630782,
"narHash": "sha256-ECni+IkwXjusHsm9Sexdtq8weAq/yUyt1TWIemXt3Ko=", "narHash": "sha256-hMyG9/WlUi0Ho9VkRrrez7SeNlDzLxalm9FwY7n/Noo=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "2893f56de08021cffd9b6b6dfc70fd9ccd51eb60", "rev": "d04953086551086b44b6f3c6b7eeb26294f207da",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -874,36 +720,6 @@
"repo": "flake-utils", "repo": "flake-utils",
"type": "github" "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", "root": "root",

View File

@ -4,6 +4,7 @@
inputs = { inputs = {
nixpkgs.url = "nixpkgs/nixos-24.05"; nixpkgs.url = "nixpkgs/nixos-24.05";
unstable.url = "nixpkgs/nixos-unstable"; unstable.url = "nixpkgs/nixos-unstable";
master.url = "github:NixOS/nixpkgs";
nur.url = "github:nix-community/NUR"; nur.url = "github:nix-community/NUR";
home-manager = { home-manager = {
@ -21,12 +22,11 @@
flake-parts.url = "github:hercules-ci/flake-parts"; flake-parts.url = "github:hercules-ci/flake-parts";
treefmt-nix.url = "github:numtide/treefmt-nix"; treefmt-nix.url = "github:numtide/treefmt-nix";
nixvim = { nixvim = {
url = "github:nix-community/nixvim/nixos-24.05"; url = "github:nix-community/nixvim";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "unstable";
}; };
rust-overlay.url = "github:oxalica/rust-overlay"; rust-overlay.url = "github:oxalica/rust-overlay";
nix-vscode-extensions.url = "github:nix-community/nix-vscode-extensions"; 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"; ags.url = "github:Aylur/ags";
agenix = { agenix = {
url = "github:ryantm/agenix"; url = "github:ryantm/agenix";

View File

@ -27,7 +27,7 @@
# Video # Video
ffmpeg ffmpeg
# Spotify # Spotify
unstable.spicetify-cli master.spicetify-cli
# Java # Java
checkstyle checkstyle
# XCode # XCode

View File

@ -71,10 +71,18 @@
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
obs-studio obs-studio
kdenlive
virt-manager virt-manager
virtiofsd
# GTK Discord Client # GTK Discord Client
unstable.dissent unstable.dissent
kdenlive
prismlauncher
lutris
android-studio
]; ];
# This value determines the NixOS release from which the default # This value determines the NixOS release from which the default

View File

@ -20,7 +20,7 @@
hardware.opengl.driSupport = true; hardware.opengl.driSupport = true;
hardware.opengl.driSupport32Bit = true; hardware.opengl.driSupport32Bit = true;
services.xserver.videoDrivers = ["nvidia"]; services.xserver.videoDrivers = ["amdgpu"];
fileSystems."/" = { fileSystems."/" = {
device = "/dev/disk/by-uuid/fa11ad2d-97d9-4e87-8fe9-f2cae0d9894e"; device = "/dev/disk/by-uuid/fa11ad2d-97d9-4e87-8fe9-f2cae0d9894e";

View File

@ -1,12 +1,10 @@
{ {
pkgs, pkgs,
inputs,
lib, lib,
config, config,
... ...
}: let }: let
inherit (lib) mkEnableOption mkIf; inherit (lib) mkEnableOption mkIf;
pkgs-hyprland = inputs.hyprland.inputs.nixpkgs.legacyPackages.${pkgs.stdenv.hostPlatform.system};
cfg = config.my.hyprland; cfg = config.my.hyprland;
in { in {
options.my.hyprland = { options.my.hyprland = {
@ -18,14 +16,10 @@ in {
programs.hyprland = { programs.hyprland = {
enable = true; enable = true;
package = inputs.hyprland.packages.${pkgs.system}.hyprland;
}; };
hardware.opengl = { # Hint electron apps to use wayland
package = pkgs-hyprland.mesa.drivers; environment.sessionVariables.NIXOS_OZONE_WL = "1";
driSupport32Bit = true;
package32 = pkgs-hyprland.pkgsi686Linux.mesa.drivers;
};
services.gnome.gnome-keyring.enable = true; services.gnome.gnome-keyring.enable = true;
security.pam.services.greetd.enableGnomeKeyring = true; security.pam.services.greetd.enableGnomeKeyring = true;

View File

@ -1,6 +1,5 @@
{ {
pkgs, pkgs,
inputs,
lib, lib,
config, config,
... ...
@ -8,17 +7,14 @@
inherit (lib) mkEnableOption mkIf; inherit (lib) mkEnableOption mkIf;
cfg = config.my.hyprland; cfg = config.my.hyprland;
in { in {
imports = [
inputs.hyprland.homeManagerModules.default
];
options.my.hyprland = { options.my.hyprland = {
enable = mkEnableOption "hyprland"; enable = mkEnableOption "hyprland";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
my.ags.enable = true; my.ags.enable = true;
my.wofi.enable = true;
programs.fuzzel.enable = true;
home.packages = with pkgs; [ home.packages = with pkgs; [
pavucontrol pavucontrol
@ -27,7 +23,6 @@ in {
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {
enable = true; enable = true;
package = inputs.hyprland.packages.${pkgs.system}.hyprland;
settings = let settings = let
# No gaps or border when only one window # No gaps or border when only one window
no_gaps_when_only = 1; no_gaps_when_only = 1;
@ -55,7 +50,7 @@ in {
bind = bind =
[ [
# Program launcher # Program launcher
"$mod, SPACE, exec, wofi --show drun" "$mod, SPACE, exec, fuzzel"
# Program shortcuts # Program shortcuts
"$mod, F, exec, firefox" "$mod, F, exec, firefox"
"$mod, Q, killactive" "$mod, Q, killactive"
@ -112,6 +107,10 @@ in {
# will reset the submap, meaning end the current one and return to the global one # will reset the submap, meaning end the current one and return to the global one
submap=reset submap=reset
# mouse bindings
bindm=ALT,mouse:272,movewindow
bindm=ALT,mouse:273,resizewindow
''; '';
}; };

View File

@ -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;
};
};
}

View File

@ -5,7 +5,7 @@
# This one brings our custom packages from the 'pkgs' directory # This one brings our custom packages from the 'pkgs' directory
additions = final: _prev: additions = final: _prev:
import ../pkgs { import ../pkgs {
pkgs = final.pkgs; inherit (final) pkgs;
inherit inputs; inherit inputs;
}; };
@ -22,7 +22,12 @@
# be accessible through 'pkgs.unstable' # be accessible through 'pkgs.unstable'
unstable-packages = final: _prev: { unstable-packages = final: _prev: {
unstable = import inputs.unstable { unstable = import inputs.unstable {
system = final.system; inherit (final) system;
config.allowUnfree = true;
};
master = import inputs.master {
inherit (final) system;
config.allowUnfree = true; config.allowUnfree = true;
}; };
}; };

View File

@ -1,4 +1,5 @@
{ {
pkgs,
helpers, helpers,
icons, icons,
... ...
@ -25,8 +26,10 @@
text_align = "left"; text_align = "left";
} }
]; ];
closeCommand = "Bdelete! %d";
}; };
}; };
extraPlugins = with pkgs.vimPlugins; [bufdelete-nvim];
keymaps = [ keymaps = [
{ {
mode = "n"; mode = "n";
@ -67,7 +70,7 @@
{ {
mode = "n"; mode = "n";
key = "<leader>bd"; key = "<leader>bd";
action = "<cmd>bdelete<cr>"; action = "<cmd>Bdelete<cr>";
options = { options = {
desc = "Delete buffer"; desc = "Delete buffer";
}; };

View File

@ -28,12 +28,16 @@
}) })
''; '';
}; };
snippet = {
expand = "function(args) require('luasnip').lsp_expand(args.body) end";
};
sources = { sources = {
__raw = '' __raw = ''
cmp.config.sources({ cmp.config.sources({
{name = 'nvim_lsp'}, {name = 'nvim_lsp'},
{name = 'copilot'}, {name = 'copilot'},
{name = 'path'}, {name = 'path'},
{name = 'luasnip'},
{name = 'cmdline'}, {name = 'cmdline'},
}, { }, {
{name = 'buffer'}, {name = 'buffer'},
@ -69,6 +73,7 @@
cmp-path.enable = true; cmp-path.enable = true;
}; };
extraConfigLua = '' extraConfigLua = ''
luasnip = require("luasnip")
kind_icons = { kind_icons = {
Text = "󰊄", Text = "󰊄",
Method = "", Method = "",

View File

@ -25,6 +25,7 @@
./languages/nvim-lint.nix ./languages/nvim-lint.nix
./languages/typescript-tools-nvim.nix ./languages/typescript-tools-nvim.nix
./languages/treesitter/treesitter.nix ./languages/treesitter/treesitter.nix
./languages/treesitter/mdx.nix
./languages/treesitter/treesitter-context.nix ./languages/treesitter/treesitter-context.nix
./languages/treesitter/treesitter-textobjects.nix ./languages/treesitter/treesitter-textobjects.nix
./languages/treesitter/ts-autotag.nix ./languages/treesitter/ts-autotag.nix
@ -38,7 +39,7 @@
./none-ls/none-ls.nix ./none-ls/none-ls.nix
# ./snippets/luasnip.nix ./snippets/luasnip.nix
./statusline/lualine.nix ./statusline/lualine.nix
@ -59,6 +60,7 @@
./utils/illuminate.nix # highlight other uses of current word ./utils/illuminate.nix # highlight other uses of current word
./utils/markdown-preview.nix ./utils/markdown-preview.nix
./utils/mini.nix # lots of utilities ./utils/mini.nix # lots of utilities
./utils/neoconf.nix
# ./utils/neodev.nix # lua development # ./utils/neodev.nix # lua development
./utils/neotest.nix # test runner ./utils/neotest.nix # test runner
./utils/nvim-colorizer.nix ./utils/nvim-colorizer.nix

View File

@ -3,6 +3,8 @@
lazygit-nvim lazygit-nvim
]; ];
extraPackages = with pkgs; [lazygit];
extraConfigLua = '' extraConfigLua = ''
require("telescope").load_extension("lazygit") require("telescope").load_extension("lazygit")
''; '';

View File

@ -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

View File

@ -1,8 +1,6 @@
# Thanks for the keybinds primeagen and folke!
{ {
globals.mapleader = " "; globals.mapleader = " ";
# TODO: Move general mappings to which-key
keymaps = [ keymaps = [
# better up/down # better up/down
{ {
@ -46,6 +44,33 @@
}; };
} }
# Clear search with <esc>
{
mode = ["i" "n"];
key = "<esc>";
action = "<cmd>noh<cr><esc>";
options = {
desc = "Escape and Clear hlsearch";
};
}
# Add undo break-points
{
mode = "i";
key = ",";
action = ",<c-g>u";
}
{
mode = "i";
key = ".";
action = ".<c-g>u";
}
{
mode = "i";
key = ";";
action = ";<c-g>u";
}
# Move to window using the <ctrl> hjkl keys # Move to window using the <ctrl> hjkl keys
{ {
mode = "n"; mode = "n";
@ -109,47 +134,6 @@
action = "<cmd>vertical resize +2<cr>"; action = "<cmd>vertical resize +2<cr>";
options = {desc = "Increase Window Width";}; options = {desc = "Increase Window Width";};
} }
# Disable arrow keys
{
mode = ["n" "i"];
key = "<Up>";
action = "<Nop>";
options = {
silent = true;
noremap = true;
desc = "Disable Up arrow key";
};
}
{
mode = ["n" "i"];
key = "<Down>";
action = "<Nop>";
options = {
silent = true;
noremap = true;
desc = "Disable Down arrow key";
};
}
{
mode = ["n" "i"];
key = "<Right>";
action = "<Nop>";
options = {
silent = true;
noremap = true;
desc = "Disable Right arrow key";
};
}
{
mode = ["n" "i"];
key = "<Left>";
action = "<Nop>";
options = {
silent = true;
noremap = true;
desc = "Disable Left arrow key";
};
}
# General maps # General maps
{ {
@ -445,6 +429,7 @@
}; };
} }
# better indenting
{ {
mode = "v"; mode = "v";
key = "<"; key = "<";

View File

@ -1,4 +1,8 @@
{pkgs, ...}: { {
pkgs,
pkgsMaster,
...
}: {
plugins.lint = { plugins.lint = {
enable = true; enable = true;
lintersByFt = { lintersByFt = {
@ -16,5 +20,6 @@
extraPackages = with pkgs; [ extraPackages = with pkgs; [
statix statix
pkgsMaster.eslint_d
]; ];
} }

View File

@ -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"))
'';
}

View File

@ -1,8 +1,11 @@
{ {
plugins.treesitter = { plugins.treesitter = {
enable = true; enable = true;
indent = true;
folding = true; folding = true;
nixvimInjections = true; nixvimInjections = true;
settings = {
highlight.enable = true;
indent.enable = true;
};
}; };
} }

View File

@ -1,6 +1,6 @@
{ {
plugins.typescript-tools = { plugins.typescript-tools = {
enable = true; enable = false;
onAttach = '' onAttach = ''
function(client, bufnr) function(client, bufnr)
client.server_capabilities.documentFormattingProvider = false client.server_capabilities.documentFormattingProvider = false
@ -23,6 +23,9 @@
includeInlayFunctionLikeReturnTypeHints = true; includeInlayFunctionLikeReturnTypeHints = true;
includeInlayEnumMemberValueHints = true; includeInlayEnumMemberValueHints = true;
}; };
tsserverPlugins = [
"@vue/typescript-plugin"
];
}; };
}; };

View File

@ -1,4 +1,8 @@
{icons, ...}: { {
pkgs,
icons,
...
}: {
plugins = { plugins = {
lsp-format = { lsp-format = {
enable = false; # Enable it if you want lsp-format integration for none-ls enable = false; # Enable it if you want lsp-format integration for none-ls
@ -26,8 +30,8 @@
}; };
nil-ls = {enable = true;}; nil-ls = {enable = true;};
tsserver = { tsserver = {
enable = false; enable = true;
filetypes = ["javascript" "javascriptreact" "typescript" "typescriptreact"]; filetypes = ["javascript" "javascriptreact" "typescript" "typescriptreact" "vue"];
extraOptions = { extraOptions = {
settings = { settings = {
javascript = { 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;}; 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;}; svelte = {enable = true;};
eslint = {enable = true;}; eslint = {enable = true;};
pyright = {enable = true;}; pyright = {enable = true;};

View File

@ -2,21 +2,23 @@
plugins.none-ls = { plugins.none-ls = {
enable = false; enable = false;
enableLspFormat = false; enableLspFormat = false;
updateInInsert = false; settings = {
onAttach = '' update_in_insert = false;
function(client, bufnr) on_attach = ''
if client.supports_method "textDocument/formatting" then function(client, bufnr)
vim.api.nvim_clear_autocmds { group = augroup, buffer = bufnr } if client.supports_method "textDocument/formatting" then
vim.api.nvim_create_autocmd("BufWritePre", { vim.api.nvim_clear_autocmds { group = augroup, buffer = bufnr }
group = augroup, vim.api.nvim_create_autocmd("BufWritePre", {
buffer = bufnr, group = augroup,
callback = function() buffer = bufnr,
vim.lsp.buf.format { bufnr = bufnr } callback = function()
end, vim.lsp.buf.format { bufnr = bufnr }
}) end,
})
end
end end
end '';
''; };
sources = { sources = {
code_actions = { code_actions = {
gitsigns.enable = true; gitsigns.enable = true;
@ -36,11 +38,7 @@
}; };
prettier = { prettier = {
enable = true; enable = true;
withArgs = '' disableTsServerFormatter = true;
{
extra_args = { "--no-semi", "--single-quote" },
}
'';
}; };
google_java_format = { google_java_format = {
enable = true; enable = true;
@ -50,7 +48,7 @@
}; };
black = { black = {
enable = true; enable = true;
withArgs = '' settings = ''
{ {
extra_args = { "--fast" }, extra_args = { "--fast" },
} }

View File

@ -117,7 +117,6 @@
# We don't need to see things like INSERT anymore # We don't need to see things like INSERT anymore
showmode = false; showmode = false;
showcmd = false;
# Maximum number of items to show in the popup menu (0 means "use available screen space") # Maximum number of items to show in the popup menu (0 means "use available screen space")
pumheight = 0; pumheight = 0;
@ -128,6 +127,14 @@
laststatus = 3; # (https://neovim.io/doc/user/options.html#'laststatus') laststatus = 3; # (https://neovim.io/doc/user/options.html#'laststatus')
}; };
extraFiles = {
"lua/helpers.lua".source = ./helpers.lua;
};
extraConfigLuaPre = ''
require "helpers"
'';
extraConfigLua = '' extraConfigLua = ''
local opt = vim.opt local opt = vim.opt
local g = vim.g local g = vim.g

View File

@ -1,11 +1,7 @@
{ {pkgs, ...}: {
pkgs,
config,
...
}: {
plugins.luasnip = { plugins.luasnip = {
enable = true; enable = true;
extraConfig = { settings = {
enable_autosnippets = true; enable_autosnippets = true;
store_selection_keys = "<Tab>"; store_selection_keys = "<Tab>";
}; };

View File

@ -17,7 +17,11 @@
left = ""; #  left = ""; # 
right = ""; #  right = ""; # 
}; };
sections = { sections = let
mkColor = color: {
__raw = ''function() return MVim.fg("${color}") end'';
};
in {
lualine_a = ["mode"]; lualine_a = ["mode"];
lualine_b = ["branch"]; lualine_b = ["branch"];
lualine_c = [ lualine_c = [
@ -45,7 +49,24 @@
"filename" "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 = [ lualine_y = [
{ {
name = "progress"; name = "progress";

View File

@ -1,18 +1,20 @@
{ {
plugins.flash = { plugins.flash = {
enable = false; enable = false;
labels = "asdfghjklqwertyuiopzxcvbnm"; settings = {
search = { labels = "asdfghjklqwertyuiopzxcvbnm";
mode = "fuzzy"; search = {
}; mode = "fuzzy";
jump = { };
autojump = true; jump = {
}; autojump = true;
label = { };
uppercase = false; label = {
rainbow = { uppercase = false;
enabled = false; rainbow = {
shade = 5; enabled = false;
shade = 5;
};
}; };
}; };
}; };

View File

@ -0,0 +1,7 @@
{pkgs, ...}: {
extraPlugins = with pkgs.vimPlugins; [neoconf-nvim];
extraConfigLuaPre = ''
require("neoconf").setup()
'';
}

View File

@ -3,12 +3,14 @@
inputs, inputs,
... ...
}: let }: let
system = pkgs.system; inherit (pkgs) system;
nixvim = inputs.nixvim.legacyPackages.${system}; nixvim = inputs.nixvim.legacyPackages.${system};
icons = import ./config/icons.nix; icons = import ./config/icons.nix;
pkgsMaster = inputs.master.legacyPackages.${system};
nixvimModule = { nixvimModule = {
inherit pkgs; pkgs = inputs.unstable.legacyPackages.${system};
module = import ./config; module = import ./config;
extraSpecialArgs = {inherit icons;}; extraSpecialArgs = {inherit icons pkgsMaster;};
}; };
in (nixvim.makeNixvimWithModule nixvimModule) in
nixvim.makeNixvimWithModule nixvimModule

View File

@ -1,4 +1,4 @@
{ {pkgs, ...}: {
imports = [ imports = [
../../modules/dev.nix ../../modules/dev.nix
../../modules/firefox.nix ../../modules/firefox.nix
@ -6,12 +6,13 @@
../../modules/foot.nix ../../modules/foot.nix
../../modules/git.nix ../../modules/git.nix
../../modules/git_nixos.nix ../../modules/git_nixos.nix
../../modules/nvim.nix
../../modules/vscode.nix ../../modules/vscode.nix
../../modules/zellij ../../modules/zellij
../../modules/zsh.nix ../../modules/zsh.nix
]; ];
home.packages = with pkgs; [nvim-custom];
# Let Home Manager install and manage itself. # Let Home Manager install and manage itself.
programs.home-manager.enable = true; programs.home-manager.enable = true;

View File

@ -1,27 +1,40 @@
{pkgs, ...}: { {
home.packages = with pkgs; [ pkgs,
# devenv lib,
unstable.devenv ...
# Javascript }: {
nodejs home.packages = with pkgs;
nodePackages.yarn [
unstable.nodePackages.pnpm # devenv
deno unstable.devenv
unstable.bun # Javascript
# PHP nodejs
php nodePackages.yarn
# Python unstable.nodePackages.pnpm
python3 deno
# Nix unstable.bun
nil # PHP
alejandra php
# Rust # Python
(rust-bin.stable.latest.default.override { python3
extensions = ["rust-src" "llvm-tools-preview"]; # Nix
}) nil
pkg-config alejandra
openssl # 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 = '' programs.zsh.initExtra = ''
export PATH=~/.npm-packages/bin:$PATH export PATH=~/.npm-packages/bin:$PATH

View File

@ -37,7 +37,7 @@ in {
# Editor # Editor
vscodevim.vim vscodevim.vim
pkgs.vscode-marketplace.miguelsolorio.min-theme pkgs.vscode-marketplace.miguelsolorio.min-theme
streetsidesoftware.code-spell-checker pkgs.vscode-extensions.streetsidesoftware.code-spell-checker
mkhl.direnv mkhl.direnv
# Git # Git