diff --git a/.sops.yaml b/.sops.yaml new file mode 100644 index 0000000..45672d3 --- /dev/null +++ b/.sops.yaml @@ -0,0 +1,13 @@ +# This example uses YAML anchors which allows reuse of multiple keys +# without having to repeat yourself. +# Also see https://github.com/Mic92/dotfiles/blob/d6114726d859df36ccaa32891c4963ae5717ef7f/nixos/.sops.yaml +# for a more complex example. +keys: + - &nixos age1rqnmhrrauup2wdhwsahq2ewk39ea9mwhuut2hzpmjfsnhdrxndcsajgj6a + - &cobray age195uflh4prg2ysxghpe4h4fvzngc3flheh2yk558fnfrys9c82uvq8xyala +creation_rules: + - path_regex: secrets/.*\.yaml$ + key_groups: + - age: + - *nixos + - *cobray diff --git a/flake.lock b/flake.lock index b03d58b..77d1c49 100644 --- a/flake.lock +++ b/flake.lock @@ -9,11 +9,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1771092149, - "narHash": "sha256-Jj6qRlvPaiHjuZEVZtYNVfjCu7giTt/bV5i9idnPjKI=", + "lastModified": 1771538495, + "narHash": "sha256-PlLTkajHZgLpPfjKUEMvMQ99x8Z49bkXFfnZk8AReHk=", "owner": "alsaiduq-lab", "repo": "aagl-gtk-on-nix", - "rev": "28101854925bb285bc56b87a31270618ca668307", + "rev": "8d4c5041497b3555cee00ef5ef0d544be155a499", "type": "github" }, "original": { @@ -42,11 +42,11 @@ ] }, "locked": { - "lastModified": 1770895474, - "narHash": "sha256-JBcrq1Y0uw87VZdYsByVbv+GBuT6ECaCNb9txLX9UuU=", + "lastModified": 1772292445, + "narHash": "sha256-4F1Q7U313TKUDDovCC96m/Za4wZcJ3yqtu4eSrj8lk8=", "owner": "hyprwm", "repo": "aquamarine", - "rev": "a494d50d32b5567956b558437ceaa58a380712f7", + "rev": "1dbbba659c1cef0b0202ce92cadfe13bae550e8f", "type": "github" }, "original": { @@ -65,11 +65,11 @@ ] }, "locked": { - "lastModified": 1771213702, - "narHash": "sha256-7YPUGEXIA+Q3eiJ2upROkcFKb68j9rb8SPtw47Vkrx0=", + "lastModified": 1772416445, + "narHash": "sha256-qv9AlJjfmOjuBEP6y5lggRIxAFVZt2OXQ72TNPwzWis=", "owner": "AvengeMedia", "repo": "DankMaterialShell", - "rev": "f2a6d2c7dae29971af76df9d80e1877e7d55a0f9", + "rev": "7d1519f546c7e2ef976ff38c34df880ab6ff1745", "type": "github" }, "original": { @@ -85,11 +85,11 @@ ] }, "locked": { - "lastModified": 1769524058, - "narHash": "sha256-zygdD6X1PcVNR2PsyK4ptzrVEiAdbMqLos7utrMDEWE=", + "lastModified": 1772420042, + "narHash": "sha256-naZz40TUFMa0E0CutvwWsSPhgD5JldyTUDEgP9ADpfU=", "owner": "nix-community", "repo": "disko", - "rev": "71a3fc97d80881e91710fe721f1158d3b96ae14d", + "rev": "5af7af10f14706e4095bd6bc0d9373eb097283c6", "type": "github" }, "original": { @@ -103,11 +103,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1770872764, - "narHash": "sha256-n9/S8Y1HY6wr8hYGyq7ySuJB2KdF2kyWho+ofBLfvmA=", + "lastModified": 1771242501, + "narHash": "sha256-7azh4I/Qxz9e3liYmslBptv/wcCZfs2mjbLueKgz6PE=", "owner": "Momoyaan", "repo": "dwproton-flake", - "rev": "dd410d71c5ea1baa0ffff2686676d20d1f671893", + "rev": "4455649c5773abfc22244b36b5c542282dc76112", "type": "github" }, "original": { @@ -116,25 +116,6 @@ "type": "github" } }, - "firefly-cursor": { - "inputs": { - "nixpkgs": "nixpkgs_3" - }, - "locked": { - "lastModified": 1771119009, - "narHash": "sha256-dWfcwxWfF+q40666co8VUeuqhCBpcEKrtYe/ZdIzJSg=", - "ref": "firefly", - "rev": "804ae4ec793bc59dbf37f52d32db779e747cd18c", - "revCount": 3, - "type": "git", - "url": "ssh://git@github.com/alsaiduq-lab/animated-cursors" - }, - "original": { - "ref": "firefly", - "type": "git", - "url": "ssh://git@github.com/alsaiduq-lab/animated-cursors" - } - }, "flake-compat": { "flake": false, "locked": { @@ -184,6 +165,22 @@ } }, "flake-compat_4": { + "flake": false, + "locked": { + "lastModified": 1767039857, + "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", + "owner": "NixOS", + "repo": "flake-compat", + "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_5": { "locked": { "lastModified": 1733328505, "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", @@ -251,6 +248,25 @@ "type": "github" } }, + "furina-cursor": { + "inputs": { + "nixpkgs": "nixpkgs_3" + }, + "locked": { + "lastModified": 1771115382, + "narHash": "sha256-LE2Fq4tXMOEZ+zQY6dU0njD7ZeU8Clua9OqfH+0M6hM=", + "ref": "furina", + "rev": "6e60176f3347639331a186b2506c339c2f09c442", + "revCount": 2, + "type": "git", + "url": "ssh://git@github.com/alsaiduq-lab/animated-cursors" + }, + "original": { + "ref": "furina", + "type": "git", + "url": "ssh://git@github.com/alsaiduq-lab/animated-cursors" + } + }, "ghostty": { "inputs": { "flake-compat": "flake-compat_2", @@ -261,11 +277,11 @@ "zon2nix": "zon2nix" }, "locked": { - "lastModified": 1771211114, - "narHash": "sha256-yEgMiTWtTZadYdyaQVnERCNQwcsj9c66YxgzqZdfc+E=", + "lastModified": 1772416792, + "narHash": "sha256-kXf8sCiVpAcnJZSj3RMEiewULk8IiYNFGS2qb/pzDnY=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "32e319ec71801e6ee7d957e6713cbdba5afe8b12", + "rev": "ca31828c9387e2743f2b41d0405e2ed80590cd7f", "type": "github" }, "original": { @@ -274,6 +290,29 @@ "type": "github" } }, + "git-hooks": { + "inputs": { + "flake-compat": "flake-compat_4", + "gitignore": "gitignore_2", + "nixpkgs": [ + "nix-gaming", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1770726378, + "narHash": "sha256-kck+vIbGOaM/dHea7aTBxdFYpeUl/jHOy5W3eyRvVx8=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "5eaaedde414f6eb1aea8b8525c466dc37bba95ae", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, "gitignore": { "inputs": { "nixpkgs": [ @@ -296,17 +335,39 @@ "type": "github" } }, + "gitignore_2": { + "inputs": { + "nixpkgs": [ + "nix-gaming", + "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" + } + }, "grim-hyprland": { "inputs": { "nixpkgs": "nixpkgs_5", "systems": "systems_2" }, "locked": { - "lastModified": 1741705247, - "narHash": "sha256-4m2QFT8mY6CM3YSebMJhd/kJWaRxTYOS/nvAs2TaIQs=", + "lastModified": 1771981415, + "narHash": "sha256-0g6aB72RlQL5tT67iAJ1rXUS1Pj+mojwVHenuUncjWQ=", "owner": "eriedaberrie", "repo": "grim-hyprland", - "rev": "4a3d6f5b87b01e92c404b9393b79057b85f58c60", + "rev": "3032a7d7dac860091a4e7db561b4b83f321a3da3", "type": "github" }, "original": { @@ -343,16 +404,15 @@ ] }, "locked": { - "lastModified": 1770260404, - "narHash": "sha256-3iVX1+7YUIt23hBx1WZsUllhbmP2EnXrV8tCRbLxHc8=", + "lastModified": 1772380461, + "narHash": "sha256-O3ukj3Bb3V0Tiy/4LUfLlBpWypJ9P0JeUgsKl2nmZZY=", "owner": "nix-community", "repo": "home-manager", - "rev": "0d782ee42c86b196acff08acfbf41bb7d13eed5b", + "rev": "f140aa04d7d14f8a50ab27f3691b5766b17ae961", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-25.11", "repo": "home-manager", "type": "github" } @@ -432,11 +492,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1771177803, - "narHash": "sha256-6I5oJItQ5187J6gELPqLZDRbcjcxfQGnVUu5AcKQ0Gc=", + "lastModified": 1772402112, + "narHash": "sha256-VJnMww74ShrxwPshDXAFq7lx7Kg/Cf8Qw5PRSze47EE=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "6716b8a0e32b1adf68cd158ea38acec73f3fc22e", + "rev": "5c370c3333aa6648c014a550c8b64f7f90c3f777", "type": "github" }, "original": { @@ -548,11 +608,11 @@ ] }, "locked": { - "lastModified": 1767983607, - "narHash": "sha256-8C2co8NYfR4oMOUEsPROOJ9JHrv9/ktbJJ6X1WsTbXc=", + "lastModified": 1771866172, + "narHash": "sha256-fYFoXhQLrm1rD8vSFKQBOEX4OGCuJdLt1amKfHd5GAw=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "d4037379e6057246b408bbcf796cf3e9838af5b2", + "rev": "0b219224910e7642eb0ed49f0db5ec3d008e3e41", "type": "github" }, "original": { @@ -625,11 +685,11 @@ ] }, "locked": { - "lastModified": 1770139857, - "narHash": "sha256-bCqxcXjavgz5KBJ/1CBLqnagMMf9JvU1m9HmYVASKoc=", + "lastModified": 1771271487, + "narHash": "sha256-41gEiUS0Pyw3L/ge1l8MXn61cK14VAhgWB/JV8s/oNI=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "9038eec033843c289b06b83557a381a2648d8fa5", + "rev": "340a792e3b3d482c4ae5f66d27a9096bdee6d76d", "type": "github" }, "original": { @@ -679,11 +739,11 @@ ] }, "locked": { - "lastModified": 1770203293, - "narHash": "sha256-PR/KER+yiHabFC/h1Wjb+9fR2Uy0lWM3Qld7jPVaWkk=", + "lastModified": 1771606233, + "narHash": "sha256-F3PLUqQ/TwgR70U+UeOqJnihJZ2EuunzojYC4g5xHr0=", "owner": "hyprwm", "repo": "hyprwire", - "rev": "37bc90eed02b0c8b5a77a0b00867baf3005cfb98", + "rev": "06c7f1f8c4194786c8400653c4efc49dc14c0f3a", "type": "github" }, "original": { @@ -714,14 +774,15 @@ "nix-gaming": { "inputs": { "flake-parts": "flake-parts", + "git-hooks": "git-hooks", "nixpkgs": "nixpkgs_8" }, "locked": { - "lastModified": 1771123156, - "narHash": "sha256-Px1IFFTw3zdP8RNram2g41EvUTjIZRDLCgZyXgpBty0=", + "lastModified": 1772403236, + "narHash": "sha256-CJBJgjqln/3rk2CoWG+kVpv6h3C3REUzqfxxxejjgZI=", "owner": "fufexan", "repo": "nix-gaming", - "rev": "0c4bf3ac4eaf5b693e5d7ae75f3caba8fcf15d8f", + "rev": "fc0cdc63784e700c17373df683ba09c90a771d5c", "type": "github" }, "original": { @@ -737,11 +798,11 @@ ] }, "locked": { - "lastModified": 1771130777, - "narHash": "sha256-UIKOwG0D9XVIJfNWg6+gENAvQP+7LO46eO0Jpe+ItJ0=", + "lastModified": 1772341813, + "narHash": "sha256-/PQ0ubBCMj/MVCWEI/XMStn55a8dIKsvztj4ZVLvUrQ=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "efec7aaad8d43f8e5194df46a007456093c40f88", + "rev": "a2051ff239ce2e8a0148fa7a152903d9a78e854f", "type": "github" }, "original": { @@ -752,11 +813,11 @@ }, "nix-monitor": { "locked": { - "lastModified": 1766244099, - "narHash": "sha256-PotQG3LnS8LsOnsHtyS5MFBw0qbRvr3886+3nzxL6R4=", + "lastModified": 1771568669, + "narHash": "sha256-lTbQ13lQ3ZPNkdnFmxAMGf1Gjx//80lDDlcJR8msREI=", "owner": "antonjah", "repo": "nix-monitor", - "rev": "bd941a0e71b8f7763b45c22281a44ff554f82666", + "rev": "ef3db9d5a525ddf41355e8c456b40d56480a6626", "type": "github" }, "original": { @@ -767,16 +828,16 @@ }, "nixcord": { "inputs": { - "flake-compat": "flake-compat_4", + "flake-compat": "flake-compat_5", "flake-parts": "flake-parts_2", "nixpkgs": "nixpkgs_9" }, "locked": { - "lastModified": 1770971055, - "narHash": "sha256-XYFbDiNsfUKduV0DgV8UYSRey9t9vz/A4ppmzwBW+vQ=", + "lastModified": 1772266502, + "narHash": "sha256-HBO3W1ooO9UwmxwwwFflnbCrAVHhaxpB8YnxFGPvOsY=", "owner": "kaylorben", "repo": "nixcord", - "rev": "77e0320dd37093da79e4f146659c66bb7ae692cc", + "rev": "e805e50f0cc8b9f2d950dc81cd9ee1c986899eaf", "type": "github" }, "original": { @@ -833,16 +894,15 @@ }, "nixpkgs_10": { "locked": { - "lastModified": 1771043024, - "narHash": "sha256-O1XDr7EWbRp+kHrNNgLWgIrB0/US5wvw9K6RERWAj6I=", + "lastModified": 1772421411, + "narHash": "sha256-SmTHHUvIZs1wrtkMjRyaWS0ZC1qK27eUYsiQ2nJfkjQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3aadb7ca9eac2891d52a9dec199d9580a6e2bf44", + "rev": "8c6807c58221e89e8d472498253071f58caa44b6", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-25.11", "repo": "nixpkgs", "type": "github" } @@ -881,11 +941,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1771043024, - "narHash": "sha256-O1XDr7EWbRp+kHrNNgLWgIrB0/US5wvw9K6RERWAj6I=", + "lastModified": 1772047000, + "narHash": "sha256-7DaQVv4R97cii/Qdfy4tmDZMB2xxtyIvNGSwXBBhSmo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3aadb7ca9eac2891d52a9dec199d9580a6e2bf44", + "rev": "1267bb4920d0fc06ea916734c11b0bf004bbe17e", "type": "github" }, "original": { @@ -926,11 +986,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1770841267, - "narHash": "sha256-9xejG0KoqsoKEGp2kVbXRlEYtFFcDTHjidiuX8hGO44=", + "lastModified": 1772198003, + "narHash": "sha256-I45esRSssFtJ8p/gLHUZ1OUaaTaVLluNkABkk6arQwE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ec7c70d12ce2fc37cb92aff673dcdca89d187bae", + "rev": "dd9b079222d43e1943b6ebd802f04fd959dc8e61", "type": "github" }, "original": { @@ -958,11 +1018,11 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1770843696, - "narHash": "sha256-LovWTGDwXhkfCOmbgLVA10bvsi/P8eDDpRudgk68HA8=", + "lastModified": 1772173633, + "narHash": "sha256-MOH58F4AIbCkh6qlQcwMycyk5SWvsqnS/TCfnqDlpj4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2343bbb58f99267223bc2aac4fc9ea301a155a16", + "rev": "c0f3d81a7ddbc2b1332be0d8481a672b4f6004d6", "type": "github" }, "original": { @@ -1004,26 +1064,6 @@ "type": "github" } }, - "pinix": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1755156568, - "narHash": "sha256-fuLOLww23Y+aDu2a4zKYfnP+ufN4azTvWtr6P1rTOj8=", - "owner": "remi-dupre", - "repo": "pinix", - "rev": "94b12321b32e8b4788d6e3ae91f514ef0285e6bc", - "type": "github" - }, - "original": { - "owner": "remi-dupre", - "repo": "pinix", - "type": "github" - } - }, "pre-commit-hooks": { "inputs": { "flake-compat": "flake-compat_3", @@ -1034,11 +1074,11 @@ ] }, "locked": { - "lastModified": 1770726378, - "narHash": "sha256-kck+vIbGOaM/dHea7aTBxdFYpeUl/jHOy5W3eyRvVx8=", + "lastModified": 1772024342, + "narHash": "sha256-+eXlIc4/7dE6EcPs9a2DaSY3fTA9AE526hGqkNID3Wg=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "5eaaedde414f6eb1aea8b8525c466dc37bba95ae", + "rev": "6e34e97ed9788b17796ee43ccdbaf871a5c2b476", "type": "github" }, "original": { @@ -1072,11 +1112,11 @@ ] }, "locked": { - "lastModified": 1770693276, - "narHash": "sha256-ngXnN5YXu+f45+QGYNN/VEBMQmcBCYGRCqwaK8cxY1s=", + "lastModified": 1771926182, + "narHash": "sha256-QbXuSLhiSxOq6ydBL3+KGe1aiYWBW+e3J6qjJZaRMq0=", "ref": "refs/heads/master", - "rev": "dacfa9de829ac7cb173825f593236bf2c21f637e", - "revCount": 735, + "rev": "cddb4f061bab495f4473ca5f2c571b6c710efef7", + "revCount": 744, "type": "git", "url": "https://git.outfoxxed.me/outfoxxed/quickshell" }, @@ -1091,7 +1131,7 @@ "dankMaterialShell": "dankMaterialShell", "disko": "disko", "dw-proton": "dw-proton", - "firefly-cursor": "firefly-cursor", + "furina-cursor": "furina-cursor", "ghostty": "ghostty", "grim-hyprland": "grim-hyprland", "home-manager": "home-manager_2", @@ -1104,9 +1144,9 @@ "nixcord": "nixcord", "nixpkgs": "nixpkgs_10", "nvim-dots": "nvim-dots", - "pinix": "pinix", "proton-cachyos": "proton-cachyos", "quickshell": "quickshell", + "sops-nix": "sops-nix", "unstable": "unstable" } }, @@ -1128,6 +1168,26 @@ "type": "github" } }, + "sops-nix": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1772401007, + "narHash": "sha256-YHykQg0h9hrlZGpMcywnaFzQ1Kn/5YNCCOSaaAl6z7Q=", + "owner": "Mic92", + "repo": "sops-nix", + "rev": "d8be5ea4cd3bc363492ab5bc6e874ccdc5465fe4", + "type": "github" + }, + "original": { + "owner": "Mic92", + "repo": "sops-nix", + "type": "github" + } + }, "systems": { "locked": { "lastModified": 1681028828, @@ -1175,11 +1235,11 @@ }, "unstable": { "locked": { - "lastModified": 1771147098, - "narHash": "sha256-jpfPdBjKO232s5NueoNEvvVzpndiUzPLNYcH4/Ov0gY=", + "lastModified": 1772173633, + "narHash": "sha256-MOH58F4AIbCkh6qlQcwMycyk5SWvsqnS/TCfnqDlpj4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e3cb16bccd9facebae3ba29c6a76a4cc1b73462a", + "rev": "c0f3d81a7ddbc2b1332be0d8481a672b4f6004d6", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 6eb214e..90a68e3 100644 --- a/flake.nix +++ b/flake.nix @@ -2,10 +2,10 @@ description = "NixOS configuration (hyprland) for Cobray"; inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11"; + nixpkgs.url = "github:NixOS/nixpkgs"; home-manager = { - url = "github:nix-community/home-manager/release-25.11"; + url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; @@ -30,11 +30,6 @@ url = "github:NixOS/nixpkgs/nixpkgs-unstable"; }; - pinix = { - url = "github:remi-dupre/pinix"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - quickshell = { url = "git+https://git.outfoxxed.me/outfoxxed/quickshell"; inputs.nixpkgs.follows = "nixpkgs"; @@ -56,8 +51,8 @@ flake = false; }; - firefly-cursor = { - url = "git+ssh://git@github.com/alsaiduq-lab/animated-cursors?ref=firefly"; + furina-cursor = { + url = "git+ssh://git@github.com/alsaiduq-lab/animated-cursors?ref=furina"; }; ghostty = { @@ -91,10 +86,10 @@ inputs.nixpkgs.follows = "nixpkgs"; }; - # TODO: sops-nix = { - # url = "github:Mic92/sops-nix"; - # inputs.nixpkgs.follows = "nixpkgs"; - # }; + sops-nix = { + url = "github:Mic92/sops-nix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; hyprland = { url = "github:hyprwm/Hyprland"; @@ -108,14 +103,13 @@ nix-gaming, unstable, ghostty, - firefly-cursor, + furina-cursor, dankMaterialShell, - pinix, disko, nix-index-database, aagl, dw-proton, - #sops-nix, + sops-nix, ... } @ inputs: let system = "x86_64-linux"; @@ -161,14 +155,11 @@ (final: prev: { quickshell = inputs.quickshell.packages.${system}.default.withModules [final.qt6Packages.qtwebsockets]; ghostty = inputs.ghostty.packages.${system}.default; - firefly-cursor = inputs.firefly-cursor.packages.${system}.default; + furina-cursor = inputs.furina-cursor.packages.${system}.default; grim-hyprland = inputs.grim-hyprland.packages.${system}.default; dms-shell = inputs.dankMaterialShell.packages.${system}.default; - pinix = inputs.pinix.packages.${system}.default; - wine-tkg = inputs.nix-gaming.packages.${system}.wine-tkg; proton-cachyos = inputs.proton-cachyos.packages.${system}.proton-cachyos; desktop-gremlin = inputs.linux-desktop-gremlin.packages.${system}.default; - ipc-bridge = inputs.nix-gaming.packages.${system}.wine-discord-ipc-bridge; dgop = unstablePkgs.dgop; hyprland = inputs.hyprland.packages.${system}.default; dw-proton = inputs.dw-proton.packages.${system}.default; @@ -235,7 +226,6 @@ (final: prev: { clear-sans = prev.clear-sans.clear-sans; binary-font = prev.binary-font.binary-clock-font; - pinix = inputs.pinix.packages.${system}.default; }) ]; }; diff --git a/home-manager/init.nix b/home-manager/init.nix index f703217..8a432de 100644 --- a/home-manager/init.nix +++ b/home-manager/init.nix @@ -8,33 +8,11 @@ ... }: { home.activation.HyprlandDots = lib.hm.dag.entryAfter ["linkGeneration"] '' - set -euo pipefail - umask 022 - repo=${lib.escapeShellArg hyprlanddots} - nvimrepo=${lib.escapeShellArg nvimDots} - dmsConfig="${dankMaterialShell}/etc/xdg/quickshell/dms" - mkdir -p "${config.xdg.configHome}" - copy_dir() { - src="$1"; dest="$2"; skip="''${3:-true}" - [ -d "$src" ] || return 0 - [ "$skip" = "true" ] && [ -e "$dest" ] && return 0 - mkdir -p "$dest" - if [ -x ${pkgs.rsync}/bin/rsync ]; then - ${pkgs.rsync}/bin/rsync -rlD \ - --chmod=Du=rwx,Dgo=rx,Fu=rw,Fgo=r \ - -- "$src"/ "$dest"/ - else - cp -R -P --no-preserve=mode,ownership,timestamps -- "$src"/. "$dest"/ - fi - chmod -R u+rwX "$dest" - } - copy_dir "$repo/fish" "${config.xdg.configHome}/fish" - copy_dir "$repo/hypr" "${config.xdg.configHome}/hypr" - copy_dir "$repo/cava" "${config.xdg.configHome}/cava" - copy_dir "$nvimrepo" "${config.xdg.configHome}/nvim" - copy_dir "$dmsConfig" "${config.xdg.configHome}/quickshell" "false" - if [ -f "$repo/starship.toml" ] && [ ! -e "${config.xdg.configHome}/starship.toml" ]; then - install -Dm0644 "$repo/starship.toml" "${config.xdg.configHome}/starship.toml" - fi + ${pkgs.rsync}/bin/rsync -rlD --ignore-existing "${hyprlanddots}/fish/" "${config.xdg.configHome}/fish/" + ${pkgs.rsync}/bin/rsync -rlD --ignore-existing "${hyprlanddots}/hypr/" "${config.xdg.configHome}/hypr/" + ${pkgs.rsync}/bin/rsync -rlD --ignore-existing "${hyprlanddots}/cava/" "${config.xdg.configHome}/cava/" + ${pkgs.rsync}/bin/rsync -rlD --ignore-existing "${nvimDots}/" "${config.xdg.configHome}/nvim/" + ${pkgs.rsync}/bin/rsync -rlD --ignore-existing "${dankMaterialShell}/etc/xdg/quickshell/dms/" "${config.xdg.configHome}/quickshell/" + ${pkgs.rsync}/bin/rsync -rlD --ignore-existing "${hyprlanddots}/starship.toml" "${config.xdg.configHome}/starship.toml" ''; } diff --git a/home-manager/modules/discord.nix b/home-manager/modules/discord.nix index 48d93c0..ecaaf33 100644 --- a/home-manager/modules/discord.nix +++ b/home-manager/modules/discord.nix @@ -5,7 +5,11 @@ }: { programs.nixcord = { enable = true; - discord.enable = true; + discord = { + enable = true; + branch = "canary"; + autoscroll.enable = true; + }; config = { autoUpdateNotification = true; notifyAboutUpdates = true; @@ -32,12 +36,6 @@ anonymiseFileNames = { enable = true; }; - autoZipper = { - enable = true; - }; - betterInvites = { - enable = true; - }; biggerStreamPreview = { enable = true; }; @@ -65,6 +63,15 @@ sendTimestamps = { enable = true; }; + youtubeAdblock = { + enable = true; + }; + summaries = { + enable = true; + }; + translate = { + enable = true; + }; }; }; }; diff --git a/home-manager/modules/emulators.nix b/home-manager/modules/emulators.nix index 98c7211..1e2df24 100644 --- a/home-manager/modules/emulators.nix +++ b/home-manager/modules/emulators.nix @@ -1,9 +1,6 @@ {pkgs, ...}: { home.packages = with pkgs; [ desmume - # ryujinx - retroarch - waydroid rpcs3 input-remapper ]; diff --git a/home-manager/modules/ffmpeg.nix b/home-manager/modules/ffmpeg.nix index b41d193..5a25d41 100644 --- a/home-manager/modules/ffmpeg.nix +++ b/home-manager/modules/ffmpeg.nix @@ -1,6 +1,5 @@ {pkgs, ...}: { home.packages = with pkgs; [ ffmpeg - gpu-screen-recorder ]; } diff --git a/home-manager/modules/fish.nix b/home-manager/modules/fish.nix index 6181780..0848eb3 100644 --- a/home-manager/modules/fish.nix +++ b/home-manager/modules/fish.nix @@ -1,7 +1,6 @@ {pkgs, ...}: { home.packages = with pkgs; [ fish - nix-your-shell fzf ripgrep bat @@ -9,7 +8,7 @@ ugrep yazi chafa - btop + (btop.override {cudaSupport = true;}) fastfetch ]; } diff --git a/home-manager/modules/lazygit.nix b/home-manager/modules/lazygit.nix index 34a279f..2fbbd75 100644 --- a/home-manager/modules/lazygit.nix +++ b/home-manager/modules/lazygit.nix @@ -12,11 +12,11 @@ ]; programs.git = { enable = true; - includes = [ - {path = "${config.home.homeDirectory}/nix/.secrets/.gitconfig";} - ]; + lfs.enable = true; settings = { - credential.helper = "store --file=${config.home.homeDirectory}/nix/.secrets/.git-credentials"; + credential.helper = "store --file=/run/secrets/git/credentials"; + user.name = "alsaiduq-lab"; + user.email = "riiidge.racer@gmail.com"; init.defaultBranch = "master"; push.autoSetupRemote = true; pull.rebase = true; diff --git a/home-manager/modules/quickshell.nix b/home-manager/modules/quickshell.nix index 96d8ec7..1ca568b 100644 --- a/home-manager/modules/quickshell.nix +++ b/home-manager/modules/quickshell.nix @@ -31,12 +31,12 @@ rebuildCommand = [ "bash" "-c" - "cd ~/nix && nix flake update && sudo pixos-rebuild switch --flake ~/nix 2>&1" + "cd ~/nix && nix flake update && nix run nixpkgs#nh -- os boot ~/nix 2>&1" ]; gcCommand = [ "bash" "-c" - "sudo pix-collect-garbage -d 2>&1" + "nix run nixpkgs#nh -- clean all 2>&1" ]; generationsCommand = ["bash" "-c" "sudo nix-env --list-generations --profile /nix/var/nix/profiles/system | wc -l"]; updateInterval = 1800; diff --git a/home-manager/modules/thorium.nix b/home-manager/modules/thorium.nix index 8d77b15..f1104ce 100644 --- a/home-manager/modules/thorium.nix +++ b/home-manager/modules/thorium.nix @@ -1,9 +1,3 @@ {pkgs, ...}: { - home.packages = [pkgs.thorium]; - xdg.dataFile = { - "icons/hicolor" = { - source = "${pkgs.thorium}/share/icons/hicolor"; - recursive = true; - }; - }; + home.packages = with pkgs; [thorium]; } diff --git a/hosts/configuration.nix b/hosts/configuration.nix index ab0dae9..02f7910 100644 --- a/hosts/configuration.nix +++ b/hosts/configuration.nix @@ -3,26 +3,15 @@ # and in the NixOS manual (accessible by running 'nixos-help'). {...}: { imports = [ - # Include the results of the hardware scan. ../settings.nix + # Include the results of the hardware scan. ./hardware-configuration.nix ./system-packages.nix ]; - - nix.gc = { - automatic = true; - dates = "weekly"; - options = "--delete-older-than 30d"; - }; - - nix.settings = { - warn-dirty = false; - }; - # I swear I hate nix sometimes - nixpkgs.config.permittedInsecurePackages = [ - "mbedtls-2.28.10" - ]; + #nixpkgs.config.permittedInsecurePackages = [ + # "mbedtls-2.28.10" + #]; # This value determines the NixOS release from which the default # settings for stateful data, like file locations and database versions diff --git a/hosts/modules/aagl.nix b/hosts/modules/aagl.nix index 4f1af1e..efeb65d 100644 --- a/hosts/modules/aagl.nix +++ b/hosts/modules/aagl.nix @@ -1,8 +1,8 @@ { programs = { anime-game-launcher.enable = true; - anime-games-launcher.enable = true; - honkers-railway-launcher.enable = true; + #anime-games-launcher.enable = true; + #honkers-railway-launcher.enable = true; honkers-launcher.enable = true; # wavey-launcher.enable = true; sleepy-launcher.enable = true; diff --git a/hosts/modules/boot.nix b/hosts/modules/boot.nix index b95fce9..97ab4fa 100644 --- a/hosts/modules/boot.nix +++ b/hosts/modules/boot.nix @@ -10,7 +10,8 @@ }; tmp.cleanOnBoot = true; kernelPackages = pkgs.linuxPackages_latest; - #kernelPackages = pkgs.linuxPackages_6_18; + #50 series nvidia drivers are kinda a mess; use 6.12 if there's any issues + #kernelPackages = pkgs.linuxPackages_6_12; consoleLogLevel = 3; initrd.verbose = false; kernelParams = [ @@ -19,6 +20,8 @@ "boot.shell_on_fail" "udev.log_priority=3" "rd.systemd.show_status=auto" + "nvidia_drm.modeset=1" + "nvidia_drm.fbdev=1" ]; # cpu specific optimizations kernel.sysctl = { @@ -27,6 +30,9 @@ }; }; + # been annoying as of late + systemd.oomd.enable = false; + # some people really like putting #/bin/sh or #/bin/bash system.activationScripts.binbash = { deps = []; diff --git a/hosts/modules/env.nix b/hosts/modules/env.nix index 7a79e25..bb5a4f6 100644 --- a/hosts/modules/env.nix +++ b/hosts/modules/env.nix @@ -10,29 +10,15 @@ BROWSER = config.theme.Browser; XCURSOR_THEME = config.theme.cursorName; XCURSOR_SIZE = toString config.theme.cursorSize; - GTK_THEME = "${config.theme.gtkTheme}:${config.theme.gtkThemeMode}"; QT_QPA_PLATFORMTHEME = config.theme.qtTheme; QT_STYLE_OVERRIDE = config.theme.qtOverride; - - XDG_SESSION_TYPE = "wayland"; - XDG_CURRENT_DESKTOP = "Hyprland"; - XDG_SESSION_DESKTOP = "Hyprland"; - GDK_BACKEND = "wayland,x11"; - QT_QPA_PLATFORM = "wayland;xcb"; - SDL_VIDEODRIVER = "wayland"; - MOZ_ENABLE_WAYLAND = "1"; - NIXOS_OZONE_WL = "1"; - - __GLX_VENDOR_LIBRARY_NAME = "nvidia"; - GBM_BACKEND = "nvidia-drm"; - LIBVA_DRIVER_NAME = "nvidia"; - CC = "${pkgs.gcc}/bin/gcc"; LIBCLANG_PATH = "${pkgs.llvmPackages.libclang.lib}/lib"; + LUA_PATH = "${pkgs.luajit}/share/lua/${pkgs.luajit.luaversion}/?.lua;${pkgs.luajit}/share/lua/${pkgs.luajit.luaversion}/?/init.lua;;"; + LUA_CPATH = "${pkgs.luajit}/lib/lua/${pkgs.luajit.luaversion}/?.so;;"; + }; - LUA_PATH = "${pkgs.luajit}/share/lua/5.1/?.lua;${pkgs.luajit}/share/lua/5.1/?/init.lua;;"; - LUA_CPATH = "${pkgs.luajit}/lib/lua/5.1/?.so;;"; - + environment.sessionVariables = { PKG_CONFIG_PATH = lib.makeSearchPath "lib/pkgconfig" [ pkgs.portaudio pkgs.alsa-lib @@ -50,9 +36,6 @@ pkgs.libxkbcommon pkgs.glib ]; - - CUDA_HOME = pkgs.cudatoolkit; - CPATH = "${pkgs.cudatoolkit}/include"; }; environment.pathsToLink = [ diff --git a/hosts/modules/fonts.nix b/hosts/modules/fonts.nix index 421add8..dd26a1a 100644 --- a/hosts/modules/fonts.nix +++ b/hosts/modules/fonts.nix @@ -21,6 +21,15 @@ fontconfig = { enable = true; + antialias = true; + hinting = { + enable = true; + style = "full"; + }; + subpixel = { + rgba = "rgb"; + lcdfilter = "default"; + }; defaultFonts = { monospace = ["0xProto Nerd Font" "Noto Sans Mono CJK JP"]; sansSerif = ["Clear Sans" "Noto Sans CJK JP"]; diff --git a/hosts/modules/hyprland.nix b/hosts/modules/hyprland.nix index f7e287e..5b658fa 100644 --- a/hosts/modules/hyprland.nix +++ b/hosts/modules/hyprland.nix @@ -1,43 +1,33 @@ {pkgs, ...}: { services.xserver.enable = false; + programs.gpu-screen-recorder.enable = true; programs.hyprland = { enable = true; xwayland.enable = true; }; - xdg.portal = { - enable = true; - extraPortals = with pkgs; [ - xdg-desktop-portal-hyprland - xdg-desktop-portal-gtk - ]; - config = { - Hyprland.default = ["hyprland" "gtk"]; - }; - }; - services.gnome.gnome-keyring.enable = true; security.pam.services.greetd.enableGnomeKeyring = true; - security.polkit.enable = true; - services.accounts-daemon.enable = true; - systemd.user.targets.graphical-session = { - unitConfig = { - RefuseManualStart = false; - StopWhenUnneeded = false; - }; - wantedBy = ["default.target"]; + + environment.variables = { + XDG_SESSION_TYPE = "wayland"; + XDG_CURRENT_DESKTOP = "Hyprland"; + XDG_SESSION_DESKTOP = "Hyprland"; + GDK_BACKEND = "wayland,x11"; + QT_QPA_PLATFORM = "wayland;xcb"; + SDL_VIDEODRIVER = "wayland"; + MOZ_ENABLE_WAYLAND = "1"; + NIXOS_OZONE_WL = "1"; }; environment.systemPackages = with pkgs; [ - (writeShellScriptBin "hyprpolkitagent" '' - exec ${hyprpolkitagent}/libexec/hyprpolkitagent "$@" - '') + hyprpolkitagent qt5.qtwayland qt6.qtwayland candy-icons - firefly-cursor + furina-cursor tokyonight-gtk-theme hyprlock wlogout @@ -61,5 +51,6 @@ brightnessctl xwayland-satellite hyprshade + kdePackages.kdeconnect-kde ]; } diff --git a/hosts/modules/ld.nix b/hosts/modules/ld.nix deleted file mode 100644 index 6d7f349..0000000 --- a/hosts/modules/ld.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - programs.nix-ld = { - enable = true; - }; -} diff --git a/hosts/modules/core.nix b/hosts/modules/misc.nix similarity index 85% rename from hosts/modules/core.nix rename to hosts/modules/misc.nix index bfe7b25..039b6db 100644 --- a/hosts/modules/core.nix +++ b/hosts/modules/misc.nix @@ -4,7 +4,6 @@ unzip jq wrk - cachix gcc15 gnumake cmake @@ -16,15 +15,13 @@ automake libtool nasm - nix-prefetch-git icu argc clang openssl - pinix cairo cabextract xdg-utils - nix-search + cacert ]; } diff --git a/hosts/modules/net.nix b/hosts/modules/net.nix index 61950f8..21938ef 100644 --- a/hosts/modules/net.nix +++ b/hosts/modules/net.nix @@ -9,6 +9,7 @@ httpie socat posting + mtr ]; networking = { @@ -27,8 +28,6 @@ }; }; - services.openssh.enable = true; - # Disable NetworkManager-wait-online to fix boot hang systemd.services."NetworkManager-wait-online".enable = false; } diff --git a/hosts/modules/nixos.nix b/hosts/modules/nixos.nix index 9fee6b0..b0524a9 100644 --- a/hosts/modules/nixos.nix +++ b/hosts/modules/nixos.nix @@ -1,21 +1,26 @@ { config, lib, + pkgs, ... }: { nixpkgs.config.allowUnfree = true; programs.nix-index.enable = true; programs.command-not-found.enable = false; - zramSwap.enable = true; - - systemd.services.nix-daemon.serviceConfig.MemoryMax = "28G"; - + environment.systemPackages = with pkgs; [ + cachix + nix-prefetch-git + nix-search + nix-your-shell + ]; nix.settings = { auto-optimise-store = true; - max-jobs = 4; - cores = 4; + max-jobs = "auto"; + cores = 0; experimental-features = ["nix-command" "flakes"]; + warn-dirty = false; + use-xdg-base-directories = true; substituters = [ "https://cache.nixos.org" @@ -41,4 +46,9 @@ "ezkea.cachix.org-1:ioBmUbJTZIKsHmWWXPe1FSFbeVe+afhfgqgTSNd34eI=" ]; }; + nix.gc = { + automatic = true; + dates = "daily"; + options = "--delete-older-than 7d"; + }; } diff --git a/hosts/modules/npm.nix b/hosts/modules/npm.nix index 166911a..48fc5c4 100644 --- a/hosts/modules/npm.nix +++ b/hosts/modules/npm.nix @@ -1,18 +1,9 @@ -{ - config, - pkgs, - lib, - ... -}: { - options.npm.enable = lib.mkEnableOption "npm setup"; - - config = lib.mkIf config.npm.enable { - environment.systemPackages = with pkgs; [ - nodejs_24 - nodePackages.npm - yarn - bun - nodePackages.typescript - ]; - }; +{pkgs, ...}: { + environment.systemPackages = with pkgs; [ + nodejs_24 + nodePackages.npm + yarn + bun + nodePackages.typescript + ]; } diff --git a/hosts/modules/nvidia.nix b/hosts/modules/nvidia.nix index f35e932..2b205a5 100644 --- a/hosts/modules/nvidia.nix +++ b/hosts/modules/nvidia.nix @@ -11,29 +11,10 @@ powerManagement.enable = false; nvidiaSettings = true; nvidiaPersistenced = true; - - package = let - base = config.boot.kernelPackages.nvidiaPackages.mkDriver { - version = "590.48.01"; - sha256_64bit = "sha256-ueL4BpN4FDHMh/TNKRCeEz3Oy1ClDWto1LO/LWlr1ok="; - openSha256 = "sha256-hECHfguzwduEfPo5pCDjWE/MjtRDhINVr4b1awFdP44="; - settingsSha256 = "sha256-4SfCWp3swUp+x+4cuIZ7SA5H7/NoizqgPJ6S9fm90fA="; - persistencedSha256 = "sha256-wsNeuw7IaY6Qc/i/AzT/4N82lPjkwfrhxidKWUtcwW8="; - }; - - cachyosPatch = pkgs.fetchpatch { - url = "https://raw.githubusercontent.com/CachyOS/CachyOS-PKGBUILDS/master/nvidia/nvidia-utils/kernel-6.19.patch"; - sha256 = "sha256-YuJjSUXE6jYSuZySYGnWSNG5sfVei7vvxDcHx3K+IN4="; - }; - in - base - // { - open = base.open.overrideAttrs (old: { - patches = (old.patches or []) ++ [cachyosPatch]; - }); - }; }; + hardware.nvidia-container-toolkit.enable = true; + hardware.graphics = { enable = true; enable32Bit = true; @@ -50,6 +31,14 @@ ]; }; + environment.variables = { + __GLX_VENDOR_LIBRARY_NAME = "nvidia"; + GBM_BACKEND = "nvidia-drm"; + LIBVA_DRIVER_NAME = "nvidia"; + CUDA_HOME = "${pkgs.cudaPackages.cudatoolkit}"; + CPATH = "${pkgs.cudaPackages.cudatoolkit}/include"; + }; + environment.systemPackages = with pkgs; [ mesa-demos vulkan-tools diff --git a/hosts/modules/python.nix b/hosts/modules/python.nix index 0ed16fd..e1473de 100644 --- a/hosts/modules/python.nix +++ b/hosts/modules/python.nix @@ -1,6 +1,6 @@ {pkgs, ...}: { environment.systemPackages = with pkgs; [ - (python312.withPackages (ps: + (python313.withPackages (ps: with ps; [ requests ipython diff --git a/hosts/modules/rust.nix b/hosts/modules/rust.nix index 47697e5..c2eee32 100644 --- a/hosts/modules/rust.nix +++ b/hosts/modules/rust.nix @@ -1,11 +1,9 @@ -{pkgs, ...}: let - rustToolchain = pkgs.symlinkJoin { - name = "rust-toolchain"; - paths = with pkgs; [rustc cargo rustfmt clippy]; - }; -in { +{pkgs, ...}: { environment.systemPackages = with pkgs; [ - rustToolchain + rustc + cargo + rustfmt + clippy rust-analyzer cargo-edit cargo-watch diff --git a/hosts/modules/sops.nix b/hosts/modules/sops.nix new file mode 100644 index 0000000..677573a --- /dev/null +++ b/hosts/modules/sops.nix @@ -0,0 +1,40 @@ +{ + inputs, + config, + lib, + ... +}: let + apiKeys = [ + "api/openai" + "api/deepseek" + "api/anthropic" + "api/openrouter" + "api/xai" + "api/perplexity" + "api/replicate" + "api/brave" + "api/firecrawl" + "api/deepl" + "api/gelbooru_id" + "api/gelbooru_api" + "api/fireworks" + "cachix/token" + ]; +in { + imports = [inputs.sops-nix.nixosModules.sops]; + sops = { + defaultSopsFile = ../../secrets/secrets.yaml; + defaultSopsFormat = "yaml"; + age.sshKeyPaths = ["/etc/ssh/ssh_host_ed25519_key"]; + + secrets = + lib.genAttrs apiKeys (_: {owner = "cobray";}) + // { + "cachix/token" = {}; + "git/credentials" = { + owner = "cobray"; + mode = "0600"; + }; + }; + }; +} diff --git a/hosts/modules/ssh.nix b/hosts/modules/ssh.nix new file mode 100644 index 0000000..e481348 --- /dev/null +++ b/hosts/modules/ssh.nix @@ -0,0 +1,10 @@ +{pkgs, ...}: { + environment.systemPackages = with pkgs; [ + sshfs + ]; + services.openssh.enable = true; + programs.gnupg.agent = { + enable = true; + enableSSHSupport = true; + }; +} diff --git a/hosts/modules/steam.nix b/hosts/modules/steam.nix index cb0af7a..8af8661 100644 --- a/hosts/modules/steam.nix +++ b/hosts/modules/steam.nix @@ -40,12 +40,10 @@ }; environment.systemPackages = with pkgs; [ lutris - wine-tkg winetricks mangohud libstrangle gamescope-wsi - ipc-bridge umu-launcher ]; } diff --git a/hosts/modules/user.nix b/hosts/modules/user.nix index 4e763e3..1c5a880 100644 --- a/hosts/modules/user.nix +++ b/hosts/modules/user.nix @@ -15,8 +15,6 @@ enable = true; wheelNeedsPassword = true; extraConfig = '' - ${config.theme.user} ALL=(ALL) NOPASSWD: /run/current-system/sw/bin/pixos-rebuild - ${config.theme.user} ALL=(ALL) NOPASSWD: /run/current-system/sw/bin/pix-collect-garbage ${config.theme.user} ALL=(ALL) NOPASSWD: /run/current-system/sw/bin/nix-env ''; }; diff --git a/hosts/system-packages.nix b/hosts/system-packages.nix index 29d1d7a..f9c205f 100644 --- a/hosts/system-packages.nix +++ b/hosts/system-packages.nix @@ -22,11 +22,10 @@ ./modules/python.nix ./modules/npm.nix ./modules/tailscale.nix - ./modules/ld.nix ./modules/ollama.nix ./modules/cups.nix ./modules/rust.nix - ./modules/core.nix + ./modules/misc.nix ./modules/libs.nix ./modules/rgb.nix ./modules/hyprland.nix @@ -38,16 +37,7 @@ ./modules/go.nix ./modules/flatpak.nix ./modules/aagl.nix - inputs.nix-gaming.nixosModules.pipewireLowLatency + ./modules/ssh.nix + ./modules/sops.nix ]; - npm.enable = true; - services.udisks2.enable = true; - - # Some programs need SUID wrappers, can be configured further or are - # started in user sessions. - programs.mtr.enable = true; - programs.gnupg.agent = { - enable = true; - enableSSHSupport = true; - }; } diff --git a/pkgs/rpcs3/default.nix b/pkgs/rpcs3/default.nix index 522d115..83b5834 100644 --- a/pkgs/rpcs3/default.nix +++ b/pkgs/rpcs3/default.nix @@ -1,11 +1,22 @@ +# might just rename to just discord-rpc? { pkgs, lib, }: pkgs.rpcs3.overrideAttrs (oldAttrs: { cmakeFlags = - (oldAttrs.cmakeFlags or []) + oldAttrs.cmakeFlags ++ [ "-DUSE_DISCORD_RPC=ON" ]; + buildInputs = oldAttrs.buildInputs ++ [pkgs.pipewire.jack]; + preConfigure = '' + mkdir -p 3rdparty/discord-rpc/discord-rpc + cp -r ${pkgs.fetchFromGitHub { + owner = "Vestrel"; + repo = "discord-rpc"; + rev = "master"; + hash = "sha256-+fxpMmCOhv6GBSDqS2xc3KSw4UFIVgHkWbVz5b/KiBg="; + }}/* 3rdparty/discord-rpc/discord-rpc/ + ''; }) diff --git a/pkgs/thorium/default.nix b/pkgs/thorium/default.nix index 488ffe3..4570a30 100644 --- a/pkgs/thorium/default.nix +++ b/pkgs/thorium/default.nix @@ -5,18 +5,17 @@ autoPatchelfHook, makeWrapper, dpkg, - gnutar, xdg-utils, hicolor-icon-theme, nss, nspr, glib, gtk3, - at-spi2-atk, at-spi2-core, dbus, libdrm, mesa, + libgbm, libGL, libX11, libXext, @@ -50,26 +49,33 @@ pipewire, gnome-settings-daemon, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "thorium-browser"; - version = "138.0.7204.300"; + version = "138.0.7204.303"; src = fetchurl { - url = "https://github.com/Alex313031/Thorium/releases/download/M${version}/thorium-browser_${version}_AVX2.deb"; - sha256 = "sha256-aQrQGacmrdz9jD4YE/F4XIM1TNrsKcTWbwyTI4+Mf5k="; + url = "https://github.com/Alex313031/Thorium/releases/download/M${finalAttrs.version}/thorium-browser_${finalAttrs.version}_AVX2.deb"; + hash = "sha256-3wVaXIqwsEN/EmX2mS3g1ZrEnricqhRY57lY2WmEepg="; }; - nativeBuildInputs = [autoPatchelfHook makeWrapper dpkg gnutar]; + strictDeps = true; + + nativeBuildInputs = [ + autoPatchelfHook + makeWrapper + dpkg + ]; + buildInputs = [ nss nspr glib gtk3 - at-spi2-atk at-spi2-core dbus libdrm mesa + libgbm libGL libX11 libXext @@ -105,8 +111,9 @@ stdenv.mkDerivation rec { propagatedBuildInputs = [hicolor-icon-theme]; unpackPhase = '' - ar x "$src" - tar --no-same-owner --no-same-permissions -xf data.tar.* + runHook preUnpack + dpkg-deb --fsys-tarfile "$src" | tar --no-same-owner --no-same-permissions -xf - + runHook postUnpack ''; installPhase = '' @@ -134,7 +141,7 @@ stdenv.mkDerivation rec { wrapProgram $out/bin/thorium \ --prefix PATH : ${lib.makeBinPath [xdg-utils gnome-settings-daemon]} \ --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH:$out/share" \ - --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath buildInputs} \ + --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath finalAttrs.buildInputs} \ --add-flags "--enable-features=VaapiVideoDecoder,VaapiVideoEncoder,UseOzonePlatform" \ --add-flags "--ozone-platform-hint=auto" \ --set-default CHROME_VERSION_EXTRA "Thorium AVX2" @@ -148,4 +155,4 @@ stdenv.mkDerivation rec { maintainers = ["Cobray"]; mainProgram = "thorium"; }; -} +}) diff --git a/secrets/secrets.yaml b/secrets/secrets.yaml new file mode 100644 index 0000000..637bf70 --- /dev/null +++ b/secrets/secrets.yaml @@ -0,0 +1,42 @@ +cachix: + token: ENC[AES256_GCM,data:I/P8tDKWj8SjWyjb4yEImsCR7SJvVmycoEMdTUeCjZniuX9F5lnSkz3X3sAEMtWDxl6zBKP4B7AUsaLw3cjvC0bAkYOBfgDT7ga43nghqzYNrKsS96hDEkRsoxfVhtgMMiePYUvdeIVfT+VdgeM75VNET/WpGtTCu15XmSj1ZU6sjuKL+GRxrkxVAkpOXVyuCg==,iv:9XkPDrOthgewFfBVUO6s6W/mrcAnh2VgTXgxzEvHKwk=,tag:txY3Vayt7/F2r4fLVzElmA==,type:str] +git: + credentials: ENC[AES256_GCM,data:E1stUKoFsUCZTrxEXf68iQQFDtQbTu1rqVUJcOh6C8r3hOOByycD/SI+l6UKCGqeLZbxJ8XlWK+ZqOYABx4D/nycRlYsC+AA2i5n3XZkwnQZMJXPcKuJxZsHrQ7NIBzOlL+4NnJh3flEhZB9q7QJJ0KmkRsmrtI3h8fNTfipTDVdiYL7/QXqNSvwxb1+7g==,iv:q5yVK+UGMhrNhLImLffqY7o2nG2E991di7vgKarPPjk=,tag:CYRwRGrZUbPmityaYHzPnA==,type:str] +api: + openai: ENC[AES256_GCM,data:N1gxGwwxkWZi0Zyh3j3ERvB46KB53pZbxYn1CAAN7xxI8H1F6xet/o0A964K/fw+0A52pKLUlUp6g6qN8E8rfdI8lRAk584w1vEeP3xORf8/zLg9xd17Zk221I1LDX4GPyF5mQV9LqJHnXMKyL4BAiWemCxbwg5URThcvUY6mdno6imeGLiGfgBH1UQKeapch7a+58iejkWrmPcystzT7Q9wigY=,iv:aXYTdRH5ZXQ3rGsNkRNQm/6NRfT3CN/VAuJZi/LH5ZE=,tag:p1jI/htGTmUzElSeo0f6aw==,type:str] + deepseek: ENC[AES256_GCM,data:KYBtSBghIY2vsVRQGoKMJ87tLNtupjzeeEFa0vusl2pBvkI=,iv:gNtWrOd02svLHz38gQDGbAYzXW/tX42qaRjkyiObLLw=,tag:x+5FDRB8m0A9192pQ/5D9g==,type:str] + anthropic: ENC[AES256_GCM,data:W0ZgiDDon/JsyriQf60TTSBlAm7ug6yjHf9lOZK4kKyd1kBrdyUAq7SANLugEEdrVqF9ggZnD97xa5QBu34tb0YeYYD70q2T+4aW4rjYbuuB0P+orRJl4s05JaCNYxrMv875xZHCCvgqoOg7,iv:u+G8Bpa0sTl28OLY8cZGhIMn/G0IJPGkfv6ipJvzn9w=,tag:4KWwye9jYpWMSreLWhoAKQ==,type:str] + openrouter: ENC[AES256_GCM,data:tOwVIsjNmadb23Ac19Qa2DDXEnupMqLZZucqw6I995fv7POb6dmxqAW5YXpLEQBrQRMAez88GXQ1l0mkpTFs9+DxjYgBqy7Cow==,iv:mJbUIPuuwGPqM1psUaPa+GfE+asm7LREm5rnKODKleM=,tag:FMswJUy9HQ69ZPZ6Gt5/zA==,type:str] + xai: ENC[AES256_GCM,data:vjzFJu/V50iBU4I8Bn1dx7Ml6WwhSmhUSp1mzYv67ZbgS12xysMxyOzr4duVFBRDZjE4eSYJ8odVmTuc88Oeoxb9L7KeFB5ukh7wvlT7dxzh+ou0,iv:6ZBKx7BWtQeSD2z8aTXeA/etkVg+qEsIXn/a/7SG+OI=,tag:LuYD1GCmP1WoMwdslLGZLQ==,type:str] + perplexity: ENC[AES256_GCM,data:3SwE/9NPwgeTF/jgPz0GqlSVoEsSTWp8yf2/E2PY/vSiju6yB3pJXV/OUO4K4MsG8TAJRxA=,iv:SgCs3hMgam12K3Xp+XLTPPjZ/PSVvuAcWbXlOyobWeQ=,tag:urR8CDVFaju79xGqBWN0Hw==,type:str] + replicate: ENC[AES256_GCM,data:65wLfrsKwcM5p5BNPBZh2UP01c2pRJn72SIxv2mKuqXMO3gVou5vzw==,iv:Wy2H4Gctiq+e71ZgiH+Q3dhWaY9Piy9zT7oVqUBfN2A=,tag:skih98XwaOQmeztP7A0yyA==,type:str] + brave: ENC[AES256_GCM,data:0SnCIkVBFihmhkTnTQEKdu1cj0Zza08MI49b6URN/g==,iv:FT8MfBNFVMZTpFDeAwHh3+ZAEH0YT275C3ODHGgSIQg=,tag:/Xtw6OYsyZU7andJMGEo4w==,type:str] + firecrawl: ENC[AES256_GCM,data:8B3MOXeB9859dQ2JemRuI8OJkxFF/QH4eHZBB6FBUNa0vOs=,iv:38ZVGZjLsimdfKESvasVKWiM5W2lkvoLeEbp2kZbk44=,tag:7RBXDFnoL631JHUay926sg==,type:str] + deepl: ENC[AES256_GCM,data:CpGvSwoxB2gdBLF+v0PnsTyImEBbAN6tTVSdSV5/CgbFA0mr51Af,iv:0oz6UHww2qcJwgKyV+qTWuglNIOZ7AJerAYx3UNFQ/I=,tag:5JBZbVJBGEu24gL6pfd8Ew==,type:str] + gelbooru_id: ENC[AES256_GCM,data:0gj0qgZtnA==,iv:dzZ1IAuWHGNVA81zp8T02PqzWhWfpLpst4C6TdNpmkk=,tag:l21arJ8GgrG6O3aF22T6TQ==,type:str] + gelbooru_api: ENC[AES256_GCM,data:kwBGD6RWUenMWWqtfxzGzQIsvsSwnw6T6x9awlMeJsI4WTt9UavqTSnHOILMrE5wgQ4tk57FUTm1hBDi6MJTlr+Paai86HLUDhfto1IYsZ+qZFMLdgXXcpOKWQMS7ICdE/7PmhihEGDlgzYFeu+nKVjCeE7IbAc/Aecli1HLgrA=,iv:GWMH1fkL7cpPwrlISw2Ne0lEQkFVPeyF1YMzIYhpGlQ=,tag:c8Bn2QZmI8+eEYhdkc7pNw==,type:str] + fireworks: ENC[AES256_GCM,data:zt8rj2I82/b+7lq5BN53jjGiH66BZ/N5cspdcWHzzo9jkMMiN2gXf/i2Ejeo2+dW,iv:/ApuoZ7DcYFb1OByqnwsPFxlV/XCf93JwNe/2jm+jQ8=,tag:xN0rE+E3hMbTLXeY0mLl3A==,type:str] +sops: + age: + - recipient: age1rqnmhrrauup2wdhwsahq2ewk39ea9mwhuut2hzpmjfsnhdrxndcsajgj6a + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtUVF5QzJtUG5xWjhxL3JO + dHV0Yjl6eUR0M1FsWS9tOCtKUkhYenVCbUNVCmd0enpVdGZuYnNySE1CVTBzcnZ0 + ckVxSEk4VDRvTzN6SS9IWExtKzlqYkUKLS0tIC9FT1BVdWpISVIySEdwUGMzU21H + aEpXN3BCY2Qxb2I5eUpIUitkaGJxU1kKBWHVxyj529sPs/V4S8TXYeiHU10EphXR + 8H5MCUFywwqDFD6xG3kzthx8yn+sNqsmeoU0rqlDEIQJhBmJLnjeUg== + -----END AGE ENCRYPTED FILE----- + - recipient: age195uflh4prg2ysxghpe4h4fvzngc3flheh2yk558fnfrys9c82uvq8xyala + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBVSkoyVDlmdjliaDhYWnNC + c2pUZjBxMjZKaW40Z2t1aUNRelFmRGlVa3pJCkxRaU5jKytBWk0xbFVLOEJ5a0lw + aHR1N1h6dzd6Z3czWjR1ZFh5aFY4RG8KLS0tIEJGSkdhV1RyRE1rbVAwajlvLzBi + MWloN252SnJPYitMYUN5eTZtbUtTbHMK1wBkjyg/dHbm6Pf9mDh91Ve0m9ZyRvcR + LgEeeWTq6bs8LeslSlv6KNzvEPdNPbhUC0UX1AwYw1Re3/VuXxPHnA== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2026-03-02T09:33:38Z" + mac: ENC[AES256_GCM,data:WVkx/nJk6BYzJJHORoQl+W4oRiE2g+Hqqt2CQDn4aFEBDKBCL/Zt7YJQzm8fjN6MLv8gQNSoTc3glX230i7PyTGwcIVE1R5AJn1y2lZxBcM4BM0p1DqsKRJa7nN98m/77BlXQa8goHc9AxjHMqB5ifsoUj5tElw2issoNZNFbhM=,iv:IBTVnekRrWpYfe7Xen9KulmvQxwUt8uj8chZDW0SysA=,tag:tz2Im6VYiQQ3JzsKLjwWNg==,type:str] + unencrypted_suffix: _unencrypted + version: 3.12.1 diff --git a/settings.nix b/settings.nix index 4297cff..267208a 100644 --- a/settings.nix +++ b/settings.nix @@ -8,7 +8,7 @@ with lib; { }; cursorName = mkOption { type = types.str; - default = "Firefly-Animated-Cursor"; + default = "Furina-Animated-Cursor"; }; cursorSize = mkOption { type = types.int;