From 1d5712d898c0610fa4df32d1706bca3ec33137f1 Mon Sep 17 00:00:00 2001 From: cswimr Date: Thu, 6 Mar 2025 18:42:06 -0600 Subject: [PATCH] woohoo --- .sops-secrets.yaml | 5 +- flake.lock | 285 ++++++----------------------- flake.nix | 2 +- home-manager/browser.nix | 44 ++++- home-manager/neovide.nix | 11 -- home-manager/plasma.nix | 1 - home-manager/vscode.nix | 8 +- nixos/environment.nix | 2 +- nixos/gaming.nix | 3 + nixos/gui-pkgs.nix | 6 +- nixos/lazygit.nix | 16 ++ nixos/nvim/default.nix | 2 +- nixos/nvim/neovide.nix | 16 -- nixos/nvim/plugins/cmp.nix | 4 + nixos/nvim/plugins/conform.nix | 1 + nixos/nvim/plugins/neo-tree.nix | 3 + nixos/nvim/plugins/remote-nvim.nix | 46 +++++ nixos/nvim/plugins/treesitter.nix | 1 + nixos/nvim/settings.nix | 1 + nixos/pkg.nix | 5 - nixos/shell.nix | 28 ++- nixos/sops.nix | 4 + packages/ftb-app.nix | 33 ++++ packages/svc.nix | 4 +- 24 files changed, 253 insertions(+), 278 deletions(-) delete mode 100644 home-manager/neovide.nix create mode 100644 nixos/lazygit.nix delete mode 100644 nixos/nvim/neovide.nix create mode 100644 nixos/nvim/plugins/remote-nvim.nix create mode 100644 packages/ftb-app.nix diff --git a/.sops-secrets.yaml b/.sops-secrets.yaml index 8ac8a33..3edafd1 100644 --- a/.sops-secrets.yaml +++ b/.sops-secrets.yaml @@ -1,6 +1,7 @@ zipline: ENC[AES256_GCM,data:oz+3ZOVaIUF+b/pkWgEQnfcSKgoTOUdxN76ggaMxaVPag/1AwizhzWaHxTHPcu2MEL/cWdtr9+7egXjkF/9dZKxucmUJBXUp9KSoBQAd/xaDOts/sLJKdEqF7dG7UfxgL4P6tiUyRpr0XIspyDXB8w9o0orrT2VoIUJQpTSrclAqqOF7p3bRktl5IDOfZZKqkT7eSepFHRs6bXbTLHyDehAWhy+GDpWY23p3rqj5CWGXhO6poPH9kLgKA0v5hNCVrKgdfgj4yiSuNo8RBJ9RTumrDvsFQs+8sCLK+gVSAkuIqd3Df+XjuGqT3R1/xmL/yWz5/6NDhAvACvPbmnHfan07xJKbfJAZk7KqSalxxn7r0XuGfKbdkC4=,iv:Z2POj0P4VXmZZPom5TqdXu6W8IKEIgSCf/6KSwQhTm4=,tag:ue77bVCS7GDI2Z4oq+GXwQ==,type:str] coastalcommits: ENC[AES256_GCM,data:a3raKZsPs8AMxFnt17ckUlsjNykWUmd9vDC60D4bdxIOWHSBn2BziQ==,iv:nnUZLy+jkUkHM9RcUZSdz5xNWPwBEGOUhlHZC6PqLAs=,tag:luOBlOcXrOJijYxOhmR8LA==,type:str] codeberg: ENC[AES256_GCM,data:Rny42N6K3VvzGDgqambLEclzznJpm6lRQVKha4U8M7rWg2HHgZqKHQ==,iv:YQ80nWm4z7wt7/jyWO7FjAa7zeDhkOWn6CLJYUNJ0tQ=,tag:4TZAfd5NUHB6Y32oH5CbSA==,type:str] +pypi: ENC[AES256_GCM,data:OvulUIetJ/35i1VBmKfLXTH4N/3C8HaE8dOm6U77D1cNMXOcyc9sJmrUIazgNNYn1EeQRRCJ68NE0rwH6yPinG4LEzeqDzYZfkW2tLFCXnzZX6i+sCINPqYqa2zocMYwxKxoJJDtbZbFK5DSewFU4ILqz1hnkSg2xRJCB51dwbcujO2cUFOQOGGXmBfgn+mI+v4kxPrzA3XSyJMFXgPpl/FzQKziT/dC6AIg2JU60Vp6s/o=,iv:QYUfErgrJESaTzpSRh7Sy5EBp0Ubf23puTIDE0RfjCg=,tag:IOKetl08ezfq7oJL1QeWPw==,type:str] npm: ENC[AES256_GCM,data:lyWsBAulXsuGub5+7xdhizaQRHZSX7ZmaflHZQhmbQaBatLHCUjnBw==,iv:luS0DodggPYFLp6gcUSJHoxAOKyI7RIb/kTgjPQ7aok=,tag:DnoyLwMxgPi9BOKOSNCUMg==,type:str] users: cswimr: @@ -29,8 +30,8 @@ sops: b1JvNi9YODZPN1FObWpOVHN3aU85NFEK1dN5pV8g3nG3D2l482z1JCRzmJ/9m495 YEobjXbEqQDhvA47ueWojoMjvQ3CgrPyiL6v+DLj7VfI5cyuo+89IQ== -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-02-11T15:19:47Z" - mac: ENC[AES256_GCM,data:UitwVjUN1+juucARIeTUnSDEdZho5hZpnNgNA4AcBDUSGqelZ1tzhE13tQUFwVAkDNF2hKgS25DUbY8MWwKCwYJMreIeH6RhsWcq0U45XHEehYujsalSuDsFTNdSEXgSiqhhoOvC9aws7FZ9DLc2NWnbMJPHcICei5ruCZ5TrhI=,iv:Dxd7HfDVfhUo8q2no6VoHtGXNmAB6tVRPupjY70ISQM=,tag:CAXyyHj0Z8rgSrobIsDt7A==,type:str] + lastmodified: "2025-02-13T23:40:40Z" + mac: ENC[AES256_GCM,data:phtyq2/DpEIL9eOe+hpEb+K7oQ48Wfv8tBuBhtwh9AV1iShojxq7trabzBC2t88xy3n6TQwJm1UPIJ4tLGxOz9Y/OhizxaBxhPlDCUIrFcZ3H09T7KwpdXAmXtESE57kLM5HdvwHaD3pXAfQ/qKuOFiE5eEH1t/+gIyAHxZZg/I=,iv:gqMOmFBUPgl4ZK8UP3u91oy/t8ND+9ZKx3SLV7WV2ng=,tag:MEYeWQJa3LLJ1/9tti67jQ==,type:str] pgp: [] unencrypted_suffix: _unencrypted version: 3.9.4 diff --git a/flake.lock b/flake.lock index c6b4278..c6478be 100644 --- a/flake.lock +++ b/flake.lock @@ -25,11 +25,11 @@ "onchg": "onchg" }, "locked": { - "lastModified": 1738542138, - "narHash": "sha256-PcNuxeBysocnDBMK8WwufYP5UY492O5465iaOR0ldYQ=", + "lastModified": 1741059482, + "narHash": "sha256-584l9FkfHpvN11sX3UhC4ve/32XZ8da/aEJ+I3BCFH4=", "owner": "aksiksi", "repo": "compose2nix", - "rev": "8941b4f4c1256ea38a85db88e423e53a9104e4d7", + "rev": "10519ebbd0a47db8f332e1ee114b1df74d0eb45a", "type": "github" }, "original": { @@ -45,11 +45,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1738876009, - "narHash": "sha256-NWOsGZshqmErypjw62LnzOfZZ3kiclMisF1f1JaKpgc=", + "lastModified": 1741259319, + "narHash": "sha256-XQrxZmJbsDRFJ78mVtjEzII/UzknDqDq0zVT1WemkLM=", "owner": "lilyinstarlight", "repo": "nixos-cosmic", - "rev": "af0ad2ecf0a6229f07cd29f1e083243ff3f7fc55", + "rev": "b60b139bf22f5d941b626594981d698502dfc500", "type": "github" }, "original": { @@ -88,27 +88,6 @@ "type": "github" } }, - "devshell": { - "inputs": { - "nixpkgs": [ - "nixvim", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1735644329, - "narHash": "sha256-tO3HrHriyLvipc4xr+Ewtdlo7wM1OjXNjlWRgmM7peY=", - "owner": "numtide", - "repo": "devshell", - "rev": "f7795ede5b02664b57035b3b757876703e2c3eac", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "devshell", - "type": "github" - } - }, "flake-compat": { "flake": false, "locked": { @@ -157,36 +136,6 @@ "type": "github" } }, - "flake-compat_4": { - "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-compat_5": { - "locked": { - "lastModified": 1733328505, - "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", - "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", - "revCount": 69, - "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz" - }, - "original": { - "type": "tarball", - "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" - } - }, "flake-parts": { "inputs": { "nixpkgs-lib": "nixpkgs-lib" @@ -288,11 +237,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { @@ -325,11 +274,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1734534828, - "narHash": "sha256-TrCoO37Rjf7ToBq1R8O7mz2J6HgY6F42S93yxc2hEu0=", + "lastModified": 1740690693, + "narHash": "sha256-bYR32MGwGi4Ynvhzk4jWJ+fepJxfzLwupBw+T8GVv4w=", "ref": "refs/heads/main", - "rev": "a58080e87240fde7f2783432022cbc751fb2d624", - "revCount": 313, + "rev": "0849e6fe7fc1be6d7a5610b8f451a7639cb04f72", + "revCount": 322, "type": "git", "url": "https://codeberg.org/Cyborus/forgejo-cli" }, @@ -363,32 +312,6 @@ "type": "github" } }, - "git-hooks": { - "inputs": { - "flake-compat": [ - "nixvim", - "flake-compat" - ], - "gitignore": "gitignore_2", - "nixpkgs": [ - "nixvim", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1737465171, - "narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=", - "owner": "cachix", - "repo": "git-hooks.nix", - "rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "git-hooks.nix", - "type": "github" - } - }, "gitignore": { "inputs": { "nixpkgs": [ @@ -411,28 +334,6 @@ "type": "github" } }, - "gitignore_2": { - "inputs": { - "nixpkgs": [ - "nixvim", - "git-hooks", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, "home-manager": { "inputs": { "nixpkgs": [ @@ -440,11 +341,11 @@ ] }, "locked": { - "lastModified": 1738878603, - "narHash": "sha256-fmhq8B3MvQLawLbMO+LWLcdC2ftLMmwSk+P29icJ3tE=", + "lastModified": 1741217763, + "narHash": "sha256-g/TrltIjFHIjtzKY5CJpoPANfHQWDD43G5U1a/v5oVg=", "owner": "nix-community", "repo": "home-manager", - "rev": "433799271274c9f2ab520a49527ebfe2992dcfbd", + "rev": "486b066025dccd8af7fbe5dd2cc79e46b88c80da", "type": "github" }, "original": { @@ -454,27 +355,6 @@ "type": "github" } }, - "home-manager_2": { - "inputs": { - "nixpkgs": [ - "nixvim", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1738841109, - "narHash": "sha256-sEgE3nifaRU5gfAx33ds0tx/j+qM0/5/bHopv/w6c0c=", - "owner": "nix-community", - "repo": "home-manager", - "rev": "f99c704fe3a4cf8d72b2d568ec80bc38be1a9407", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "home-manager", - "type": "github" - } - }, "ixx": { "inputs": { "flake-utils": [ @@ -529,34 +409,13 @@ "type": "github" } }, - "nix-darwin": { - "inputs": { - "nixpkgs": [ - "nixvim", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1738743987, - "narHash": "sha256-O3bnAfsObto6l2tQOmQlrO6Z2kD6yKwOWfs7pA0CpOc=", - "owner": "lnl7", - "repo": "nix-darwin", - "rev": "ae406c04577ff9a64087018c79b4fdc02468c87c", - "type": "github" - }, - "original": { - "owner": "lnl7", - "repo": "nix-darwin", - "type": "github" - } - }, "nix-flatpak": { "locked": { - "lastModified": 1738175805, - "narHash": "sha256-fPjaARmK522JLJ7wxFebxG4eE/3HHSmuAA78iAZ+A7g=", + "lastModified": 1739444422, + "narHash": "sha256-iAVVHi7X3kWORftY+LVbRiStRnQEob2TULWyjMS6dWg=", "owner": "gmodena", "repo": "nix-flatpak", - "rev": "d4c75a33c4a7a16bf87cfd804fb5444a1ec53d49", + "rev": "5e54c3ca05a7c7d968ae1ddeabe01d2a9bc1e177", "type": "github" }, "original": { @@ -572,11 +431,11 @@ ] }, "locked": { - "lastModified": 1738466368, - "narHash": "sha256-PZhUjtvQZOH3PO0EYdTpQvcqkgkq1NkP2A6w9SPHYsk=", + "lastModified": 1740886574, + "narHash": "sha256-jN6kJ41B6jUVDTebIWeebTvrKP6YiLd1/wMej4uq4Sk=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "46a8f5fc9552b776bfc5c5c96ea3bede33f68f52", + "rev": "26a0f969549cf4d56f6e9046b9e0418b3f3b94a5", "type": "github" }, "original": { @@ -610,16 +469,15 @@ }, "nix-vscode-extensions": { "inputs": { - "flake-compat": "flake-compat_4", "flake-utils": "flake-utils_2", "nixpkgs": "nixpkgs_4" }, "locked": { - "lastModified": 1738892952, - "narHash": "sha256-1mDXsXvUV+PNJHJ51HPtkbGEGwAfZVNmxtWC5OQ64h4=", + "lastModified": 1741185283, + "narHash": "sha256-Wk+2uWk4WhtB1LtXt3smd0K2JZ5qeZj9LldGTmfEldo=", "owner": "nix-community", "repo": "nix-vscode-extensions", - "rev": "5cbce56ae7ae89025ae7b149f2ee2bc994dd31e9", + "rev": "c7a72aa0e5f72bc6a9d8dfaf33e4de013c960f7b", "type": "github" }, "original": { @@ -658,11 +516,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1738702386, - "narHash": "sha256-nJj8f78AYAxl/zqLiFGXn5Im1qjFKU8yBPKoWEeZN5M=", + "lastModified": 1741048562, + "narHash": "sha256-W4YZ3fvWZiFYYyd900kh8P8wU6DHSiwaH0j4+fai1Sk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "030ba1976b7c0e1a67d9716b17308ccdab5b381e", + "rev": "6af28b834daca767a7ef99f8a7defa957d0ade6f", "type": "github" }, "original": { @@ -690,11 +548,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1738680400, - "narHash": "sha256-ooLh+XW8jfa+91F1nhf9OF7qhuA/y1ChLx6lXDNeY5U=", + "lastModified": 1741173522, + "narHash": "sha256-k7VSqvv0r1r53nUI/IfPHCppkUAddeXn843YlAC5DR0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "799ba5bffed04ced7067a91798353d360788b30d", + "rev": "d69ab0d71b22fa1ce3dbeff666e6deb4917db049", "type": "github" }, "original": { @@ -722,27 +580,27 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1713805509, - "narHash": "sha256-YgSEan4CcrjivCNO5ZNzhg7/8ViLkZ4CB/GrGBVSudo=", + "lastModified": 1740547748, + "narHash": "sha256-Ly2fBL1LscV+KyCqPRufUBuiw+zmWrlJzpWOWbahplg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1e1dc66fe68972a76679644a5577828b6a7e8be4", + "rev": "3a05eebede89661660945da1f151959900903b6a", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixpkgs-unstable", "repo": "nixpkgs", + "rev": "3a05eebede89661660945da1f151959900903b6a", "type": "github" } }, "nixpkgs_5": { "locked": { - "lastModified": 1738680400, - "narHash": "sha256-ooLh+XW8jfa+91F1nhf9OF7qhuA/y1ChLx6lXDNeY5U=", + "lastModified": 1741173522, + "narHash": "sha256-k7VSqvv0r1r53nUI/IfPHCppkUAddeXn843YlAC5DR0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "799ba5bffed04ced7067a91798353d360788b30d", + "rev": "d69ab0d71b22fa1ce3dbeff666e6deb4917db049", "type": "github" }, "original": { @@ -754,24 +612,18 @@ }, "nixvim": { "inputs": { - "devshell": "devshell", - "flake-compat": "flake-compat_5", "flake-parts": "flake-parts_3", - "git-hooks": "git-hooks", - "home-manager": "home-manager_2", - "nix-darwin": "nix-darwin", "nixpkgs": [ "nixpkgs" ], - "nuschtosSearch": "nuschtosSearch", - "treefmt-nix": "treefmt-nix" + "nuschtosSearch": "nuschtosSearch" }, "locked": { - "lastModified": 1738873988, - "narHash": "sha256-FpQmO2/NABt5suLYR0t7cjEdnWoaBTWu9psKXviEpo8=", + "lastModified": 1741098523, + "narHash": "sha256-gXDSXDr6tAb+JgxGMvcEjKC9YO8tVOd8hMMZHJLyQ6Q=", "owner": "nix-community", "repo": "nixvim", - "rev": "a5147a36f9d3df06fd1246cf5a089678cbf59d3a", + "rev": "03065fd4708bfdf47dd541d655392a60daa25ded", "type": "github" }, "original": { @@ -786,14 +638,14 @@ "nixpkgs": [ "nixpkgs" ], - "treefmt-nix": "treefmt-nix_2" + "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1738901905, - "narHash": "sha256-UsKm6Elr9Yt5cSd+mWCW7FtmXHEyTUtWyA4L0MDQzew=", + "lastModified": 1741297501, + "narHash": "sha256-A5Haf6QNpXOp77DfIfIXyK0gBhs6cTW1ucgZ0B7C8Q8=", "owner": "nix-community", "repo": "NUR", - "rev": "b472f6acb4f45efd882e554a2d5c9ae766b62b40", + "rev": "1b65c791934a66d4940b4fdc83ab3ee5d47af2e4", "type": "github" }, "original": { @@ -857,11 +709,11 @@ ] }, "locked": { - "lastModified": 1736549395, - "narHash": "sha256-XzwkB62Tt5UYoL1jXiHzgk/qz2fUpGHExcSIbyGTtI0=", + "lastModified": 1740569341, + "narHash": "sha256-WV8nY2IOfWdzBF5syVgCcgOchg/qQtpYh6LECYS9XkY=", "owner": "nix-community", "repo": "plasma-manager", - "rev": "a53af7f1514ef4cce8620a9d6a50f238cdedec8b", + "rev": "5eeb0172fb74392053b66a8149e61b5e191b2845", "type": "github" }, "original": { @@ -946,11 +798,11 @@ ] }, "locked": { - "lastModified": 1738291974, - "narHash": "sha256-wkwYJc8cKmmQWUloyS9KwttBnja2ONRuJQDEsmef320=", + "lastModified": 1741043164, + "narHash": "sha256-9lfmSZLz6eq9Ygr6cCmvQiiBEaPb54pUBcjvbEMPORc=", "owner": "Mic92", "repo": "sops-nix", - "rev": "4c1251904d8a08c86ac6bc0d72cc09975e89aef7", + "rev": "3f2412536eeece783f0d0ad3861417f347219f4d", "type": "github" }, "original": { @@ -961,11 +813,11 @@ }, "stable": { "locked": { - "lastModified": 1738702386, - "narHash": "sha256-nJj8f78AYAxl/zqLiFGXn5Im1qjFKU8yBPKoWEeZN5M=", + "lastModified": 1741196730, + "narHash": "sha256-0Sj6ZKjCpQMfWnN0NURqRCQn2ob7YtXTAOTwCuz7fkA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "030ba1976b7c0e1a67d9716b17308ccdab5b381e", + "rev": "48913d8f9127ea6530a2a2f1bd4daa1b8685d8a3", "type": "github" }, "original": { @@ -977,11 +829,11 @@ }, "staging-next": { "locked": { - "lastModified": 1738887273, - "narHash": "sha256-P/y5aiEAeby7MWgxqndkkesveXhSxmlRqNNSxqRB/BE=", + "lastModified": 1741284270, + "narHash": "sha256-blq8ru6o/xzAXQSocl1wHji1wMJ/TX2C/zo/TICvqTc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "13fd8fecfed938d7b22b6eea42d6c8901025ed08", + "rev": "98419f2ac18942780b64ae004677e0e246c38b46", "type": "github" }, "original": { @@ -1052,27 +904,6 @@ } }, "treefmt-nix": { - "inputs": { - "nixpkgs": [ - "nixvim", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1738680491, - "narHash": "sha256-8X7tR3kFGkE7WEF5EXVkt4apgaN85oHZdoTGutCFs6I=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "64dbb922d51a42c0ced6a7668ca008dded61c483", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "treefmt-nix", - "type": "github" - } - }, - "treefmt-nix_2": { "inputs": { "nixpkgs": [ "nur", diff --git a/flake.nix b/flake.nix index e557678..a104f35 100644 --- a/flake.nix +++ b/flake.nix @@ -83,6 +83,7 @@ ./nixos/flatpak.nix ./nixos/gaming.nix ./nixos/gui-pkgs.nix + ./nixos/lazygit.nix ./nixos/nvidia.nix ./nixos/nvim ./nixos/ollama.nix @@ -143,7 +144,6 @@ ./home-manager/gauntlet.nix ./home-manager/kitty.nix ./home-manager/mangohud.nix - ./home-manager/neovide.nix ./home-manager/nnn.nix ./home-manager/plasma.nix ./home-manager/tpm.nix diff --git a/home-manager/browser.nix b/home-manager/browser.nix index e0af139..b52a26b 100644 --- a/home-manager/browser.nix +++ b/home-manager/browser.nix @@ -61,7 +61,10 @@ in order = [ "DuckDuckGo" "Google (udm14)" + "YouTube" + "Codeberg" "GitHub" + "Catppuccin Ports" "ProtonDB" "Nix Packages" "Nix Options" @@ -71,6 +74,7 @@ in "Modrinth Modpacks" "Modrinth Plugins" "Modrinth Datapacks" + "CurseForge (Minecraft)" ]; engines = { "Bing".metaData.hidden = true; @@ -88,6 +92,14 @@ in "@udm14" ]; }; + "YouTube" = { + urls = [ { template = "https://www.youtube.com/results?search_query={searchTerms}"; } ]; + iconUpdateURL = "https://www.youtube.com/favicon.ico"; + updateInterval = 24 * 60 * 60 * 1000; # every day + definedAliases = [ + "@yt" + ]; + }; "Nix Packages" = { urls = [ { @@ -144,6 +156,14 @@ in "@nw" ]; }; + "Codeberg" = { + urls = [ { template = "https://codeberg.org/explore/repos?q={searchTerms}"; } ]; + iconUpdateURL = "https://codeberg.org/assets/img/favicon.png"; + updateInterval = 24 * 60 * 60 * 1000; # every day + definedAliases = [ + "@cb" + ]; + }; "GitHub" = { urls = [ { template = "https://github.com/search?q={searchTerms}"; } ]; iconUpdateURL = "https://github.com/favicon.ico"; @@ -160,8 +180,16 @@ in "@pd" ]; }; + "Catppuccin Ports" = { + urls = [ { template = "https://catppuccin.com/ports/?q={searchTerms}"; } ]; + iconUpdateURL = "https://catppuccin.com/favicon.png"; + updateInterval = 24 * 60 * 60 * 1000; # every day + definedAliases = [ + "@cat" + ]; + }; "Modrinth Mods" = { - urls = [ { template = "https://modrinth.com/mod/{searchTerms}"; } ]; + urls = [ { template = "https://modrinth.com/mods?q={searchTerms}"; } ]; iconUpdateURL = "https://modrinth.com/favicon.ico"; updateInterval = 24 * 60 * 60 * 1000; # every day definedAliases = [ @@ -169,7 +197,7 @@ in ]; }; "Modrinth Modpacks" = { - urls = [ { template = "https://modrinth.com/modpack/{searchTerms}"; } ]; + urls = [ { template = "https://modrinth.com/modpacks?q={searchTerms}"; } ]; iconUpdateURL = "https://modrinth.com/favicon.ico"; updateInterval = 24 * 60 * 60 * 1000; # every day definedAliases = [ @@ -177,7 +205,7 @@ in ]; }; "Modrinth Plugins" = { - urls = [ { template = "https://modrinth.com/plugin/{searchTerms}"; } ]; + urls = [ { template = "https://modrinth.com/plugins?q={searchTerms}"; } ]; iconUpdateURL = "https://modrinth.com/favicon.ico"; updateInterval = 24 * 60 * 60 * 1000; # every day definedAliases = [ @@ -185,13 +213,21 @@ in ]; }; "Modrinth Datapacks" = { - urls = [ { template = "https://modrinth.com/datapack/{searchTerms}"; } ]; + urls = [ { template = "https://modrinth.com/datapacks?q={searchTerms}"; } ]; iconUpdateURL = "https://modrinth.com/favicon.ico"; updateInterval = 24 * 60 * 60 * 1000; # every day definedAliases = [ "@md" ]; }; + "CurseForge (Minecraft)" = { + urls = [ { template = "https://www.curseforge.com/minecraft/search?search={searchTerms}"; } ]; + iconUpdateURL = "https://www.curseforge.com/favicon.ico"; + updateInterval = 24 * 60 * 60 * 1000; # every day + definedAliases = [ + "@cf" + ]; + }; }; }; }; diff --git a/home-manager/neovide.nix b/home-manager/neovide.nix deleted file mode 100644 index 3e34855..0000000 --- a/home-manager/neovide.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ - programs.neovide = { - enable = true; - settings = { - font = { - normal = [ "ComicCodeLigatures Nerd Font" ]; - size = 12; - }; - }; - }; -} diff --git a/home-manager/plasma.nix b/home-manager/plasma.nix index 0f1f0a4..842efd0 100644 --- a/home-manager/plasma.nix +++ b/home-manager/plasma.nix @@ -80,7 +80,6 @@ "applications:vesktop.desktop" "applications:steam.desktop" "applications:org.prismlauncher.PrismLauncher.desktop" - "applications:neovide.desktop" "applications:kitty.desktop" "applications:org.kde.dolphin.desktop" ]; diff --git a/home-manager/vscode.nix b/home-manager/vscode.nix index 6ecba3d..6375557 100644 --- a/home-manager/vscode.nix +++ b/home-manager/vscode.nix @@ -92,7 +92,7 @@ rec { # Python ms-python.python - ms-python.vscode-pylance + (ms-python.vscode-pylance.override { meta.license = [ "MIT" ]; }) ms-python.debugpy ms-python.black-formatter charliermarsh.ruff @@ -196,7 +196,7 @@ rec { mkhl.direnv ms-vsliveshare.vsliveshare ms-azuretools.vscode-docker - ms-vscode-remote.remote-ssh + (ms-vscode-remote.remote-ssh.override { meta.license = [ "MIT" ]; }) pkgs.vscode-extensions.ms-vscode-remote.remote-ssh-edit ms-vscode.remote-server ms-vscode.remote-explorer @@ -208,8 +208,8 @@ rec { d-koppenhagen.file-tree-to-text-generator # Copilot - github.copilot - github.copilot-chat + (github.copilot.override { meta.license = [ "MIT" ]; }) + (github.copilot-chat.override { meta.license = [ "MIT" ]; }) ]; userSettings = { "DO-NOT-EDIT-1" = diff --git a/nixos/environment.nix b/nixos/environment.nix index 0803a60..e20c4ff 100644 --- a/nixos/environment.nix +++ b/nixos/environment.nix @@ -2,7 +2,7 @@ { environment.variables = rec { EDITOR = "nvim"; - VISUAL = "neovide"; + VISUAL = "nvim"; # XDG settings XDG_CACHE_HOME = "$HOME/.cache"; diff --git a/nixos/gaming.nix b/nixos/gaming.nix index 6929de4..6740e39 100644 --- a/nixos/gaming.nix +++ b/nixos/gaming.nix @@ -52,6 +52,8 @@ jdk21 ]; }) + # (pkgs.callPackage ../packages/ftb-app.nix { inherit pkgs; }) + (pkgs.callPackage ../packages/svc.nix { inherit pkgs; }) lunar-client stablePkgs.heroic dolphin-emu @@ -60,6 +62,7 @@ winetricks #(pkgs.callPackage ../packages/lucem.nix { inherit pkgs; }) vinegar # Roblox Studio, use Sober in ./flatpak.nix for the Roblox Player + starsector celeste64 ]; diff --git a/nixos/gui-pkgs.nix b/nixos/gui-pkgs.nix index 9a0edf6..7829c51 100644 --- a/nixos/gui-pkgs.nix +++ b/nixos/gui-pkgs.nix @@ -11,6 +11,7 @@ let catppuccin-konsole plasma-browser-integration plasma-sdk + kdenlive ]; packages = with pkgs; [ neovim-qt @@ -22,10 +23,13 @@ let ytmdesktop ktailctl wl-clipboard + blockbench + jetbrains.idea-community-bin # we install xdg-desktop-portal-gtk so GTK theming works in KDE Plasma xdg-desktop-portal-gtk libnotify hoppscotch + vlc ]; in { @@ -56,7 +60,7 @@ in programs.ssh = { enableAskPassword = true; - askPassword = pkgs.lib.mkForce "${pkgs.ksshaskpass.out}/bin/ksshaskpass"; + askPassword = pkgs.lib.mkForce "${pkgs.kdePackages.ksshaskpass.out}/bin/ksshaskpass"; }; environment.variables = { SSH_ASKPASS_REQUIRE = "prefer"; diff --git a/nixos/lazygit.nix b/nixos/lazygit.nix new file mode 100644 index 0000000..7c29874 --- /dev/null +++ b/nixos/lazygit.nix @@ -0,0 +1,16 @@ +{ + programs.lazygit = { + enable = true; + settings = { + gui = { + nerdFontsVersion = "3"; + }; + services = { + "c.csw.im" = "gitea:c.csw.im"; + "git.sleeping.town" = "gitea:git.sleeping.town"; + "www.coastalcommits.com" = "gitea:c.csw.im"; + "codeberg.org" = "gitea:codeberg.org"; + }; + }; + }; +} diff --git a/nixos/nvim/default.nix b/nixos/nvim/default.nix index ba5506b..9d66316 100644 --- a/nixos/nvim/default.nix +++ b/nixos/nvim/default.nix @@ -3,7 +3,6 @@ imports = [ ./keymaps.nix ./settings.nix - ./neovide.nix ./plugins/autoclose.nix ./plugins/cmp.nix @@ -21,6 +20,7 @@ ./plugins/neo-tree.nix ./plugins/profile.nix ./plugins/rooter.nix + ./plugins/remote-nvim.nix ./plugins/snacks.nix ./plugins/surround.nix ./plugins/telescope.nix diff --git a/nixos/nvim/neovide.nix b/nixos/nvim/neovide.nix deleted file mode 100644 index 9f90dc2..0000000 --- a/nixos/nvim/neovide.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ - programs.nixvim = { - extraConfigLua = # lua - '' - if vim.g.neovide then - vim.keymap.set('v', '', '"+y') -- Copy - vim.keymap.set('n', '', '"+P') -- Paste normal mode - vim.keymap.set('v', '', '"+P') -- Paste visual mode - vim.keymap.set('c', '', '+') -- Paste command mode - vim.keymap.set('i', '', 'l"+Pli') -- Paste insert mode - - vim.o.mousemoveevent = true -- only enable when using neovide, because it sucks in terminal for some reason - end - ''; - }; -} diff --git a/nixos/nvim/plugins/cmp.nix b/nixos/nvim/plugins/cmp.nix index b109066..da99742 100644 --- a/nixos/nvim/plugins/cmp.nix +++ b/nixos/nvim/plugins/cmp.nix @@ -9,6 +9,10 @@ name = "copilot"; group_index = 2; } + { + name = "luasnip"; + group_index = 2; + } { name = "nvim_lsp"; group_index = 2; diff --git a/nixos/nvim/plugins/conform.nix b/nixos/nvim/plugins/conform.nix index 9346874..8bcc7c5 100644 --- a/nixos/nvim/plugins/conform.nix +++ b/nixos/nvim/plugins/conform.nix @@ -50,6 +50,7 @@ yaml = prettier; json = prettier; jsonc = prettier; + json5 = prettier; svelte = prettier; html = prettier; css = prettier; diff --git a/nixos/nvim/plugins/neo-tree.nix b/nixos/nvim/plugins/neo-tree.nix index 1c48e26..a902d61 100644 --- a/nixos/nvim/plugins/neo-tree.nix +++ b/nixos/nvim/plugins/neo-tree.nix @@ -3,6 +3,9 @@ plugins.neo-tree = { enable = true; enableGitStatus = true; + filesystem = { + hijackNetrwBehavior = "disabled"; + }; sources = [ "filesystem" "git_status" diff --git a/nixos/nvim/plugins/remote-nvim.nix b/nixos/nvim/plugins/remote-nvim.nix new file mode 100644 index 0000000..d062d4e --- /dev/null +++ b/nixos/nvim/plugins/remote-nvim.nix @@ -0,0 +1,46 @@ +{ lib, pkgs, ... }: +{ + virtualisation.docker = { + enable = true; + }; + + programs.nixvim = { + extraPackages = with pkgs; [ + devpod + openssh + ]; + plugins = { + remote-nvim = { + enable = true; + settings = { + ssh_config = { + ssh_binary = "${lib.getExe' pkgs.openssh "ssh"}"; + scp_binary = "${lib.getExe' pkgs.openssh "scp"}"; + }; + devpod = { + binary = "${lib.getExe pkgs.devpod}"; + docker_binary = "${lib.getExe pkgs.docker}"; + }; + remote = { + copy_dirs = { + data = { + base = { + __raw = "vim.fn.stdpath (\"data\")"; + }; + compression = { + additional_opts = [ + "--exclude-vcs" + ]; + enabled = true; + }; + dirs = [ + "lazy" + ]; + }; + }; + }; + }; + }; + }; + }; +} diff --git a/nixos/nvim/plugins/treesitter.nix b/nixos/nvim/plugins/treesitter.nix index 2339827..e7b43b9 100644 --- a/nixos/nvim/plugins/treesitter.nix +++ b/nixos/nvim/plugins/treesitter.nix @@ -55,6 +55,7 @@ javascript json jsonc + java lua python regex diff --git a/nixos/nvim/settings.nix b/nixos/nvim/settings.nix index 12091e0..328f06d 100755 --- a/nixos/nvim/settings.nix +++ b/nixos/nvim/settings.nix @@ -87,6 +87,7 @@ '' InitPath = debug.getinfo(1, "S").source:sub(2) print("Neovim init file location: " .. InitPath) + vim.o.exrc = true ''; extraConfigVim = '' set number " enable number lines diff --git a/nixos/pkg.nix b/nixos/pkg.nix index f77f618..f735c5d 100644 --- a/nixos/pkg.nix +++ b/nixos/pkg.nix @@ -40,7 +40,6 @@ let pciutils usbutils nil - lazygit lazydocker bat nixfmt-rfc-style @@ -61,10 +60,6 @@ let nix-search gh cloc - - python311 - python311Packages.python-lsp-server - python311Packages.rich ]; flakePackages = with inputs; [ compose2nix.packages.${system}.default diff --git a/nixos/shell.nix b/nixos/shell.nix index 7751aa6..7999ac2 100644 --- a/nixos/shell.nix +++ b/nixos/shell.nix @@ -66,7 +66,31 @@ echo "Running command: $@" command "$@" export $var_name="$old_value" - } + } + + _publish() { + # check the git project root for common lockfiles and run respective publish commands, i.e. bun.lock, bun.lockb, uv.lock + local lockfile=$(git rev-parse --show-toplevel)/$(ls $(git rev-parse --show-toplevel) | grep -E "bun.lock|bun.lockb|uv.lock") + if [[ -f "$lockfile" ]]; then + local lockfile_name=$(basename "$lockfile") + case "$lockfile_name" in + "bun.lock"|"bun.lockb") + _set_secret_and_run /run/secrets/npm NPM_CONFIG_TOKEN bun publish --access public + ;; + "uv.lock") + uv build + _set_secret_and_run /run/secrets/pypi UV_PUBLISH_TOKEN uv publish + ;; + *) + echo "No publish command found for $lockfile_name" + return 1 + ;; + esac + else + echo "No lockfile found in the git project root." + return 1 + fi + } if (( $+commands[kitten] )); then @@ -114,7 +138,7 @@ sudo = "sudo "; bun = "_set_secret_and_run /run/secrets/npm NPM_CONFIG_TOKEN bun"; bunx = "_set_secret_and_run /run/secrets/npm NPM_CONFIG_TOKEN bunx"; - publish = "_set_secret_and_run /run/secrets/npm NPM_CONFIG_TOKEN bun publish --access public"; + publish = "_publish"; s = "sudo"; }; diff --git a/nixos/sops.nix b/nixos/sops.nix index 03efa73..ab0976b 100644 --- a/nixos/sops.nix +++ b/nixos/sops.nix @@ -12,6 +12,10 @@ owner = user; path = "/home/${user}/.secrets/codeberg"; }; + "pypi" = { + owner = user; + path = "/home/${user}/.secrets/pypi"; + }; "npm" = { owner = user; path = "/home/${user}/.secrets/npm"; diff --git a/packages/ftb-app.nix b/packages/ftb-app.nix new file mode 100644 index 0000000..d0dbcc1 --- /dev/null +++ b/packages/ftb-app.nix @@ -0,0 +1,33 @@ +{ + pkgs, + lib, +}: +let + version = "v1.27.2"; +in +pkgs.buildNpmPackage rec { + pname = "ftb-app"; + inherit version; + + src = pkgs.fetchFromGitHub { + owner = "FTBTeam"; + repo = "FTB-App"; + rev = version; + sha256 = "sha256-IPB1RKGPO3rZan+5qmi8+LOlMle4e5G3iBM6vY3I18A="; + }; + + npmDepsHash = ""; + + env = { + ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; + }; + + meta = with lib; { + description = "FTB App"; + homepage = "https://github.com/FTBTeam/FTB-App"; + changelog = "https://github.com/FTBTeam/FTB-App/releases/tag/v${version}"; + platforms = [ "x86_64-linux" ]; + license = licenses.lgpl21; + maintainers = [ "cswimr" ]; + }; +} diff --git a/packages/svc.nix b/packages/svc.nix index f66d277..0867a43 100644 --- a/packages/svc.nix +++ b/packages/svc.nix @@ -13,10 +13,10 @@ pkgs.rustPlatform.buildRustPackage rec { owner = "henkelmax"; repo = "svc-cli-utils"; rev = version; - sha256 = ""; + sha256 = "sha256-vRqYQd5OaYXAc74Jlg8twBGDr9YxP+Mk1ZY9JGJTmvc="; }; - cargoSha256 = ""; + cargoHash = "sha256-vtVoIRGp46tItQyHbjp/PF5ZxwASAM9Hhdm6HxjmODw="; meta = { description = "Command line utilities for Simple Voice Chat.";