From dd60fce00f5a4c11d85b747739e47fc3af77dc52 Mon Sep 17 00:00:00 2001 From: zack Date: Tue, 6 May 2025 20:02:36 -0400 Subject: [PATCH] updates :3 --- catpuccin.omp.json | 70 -- flake.lock | 551 +++++++++++----- flake.nix | 10 +- homes/x86_64-linux/zoey@earth/default.nix | 160 ++--- lib/theme/default.nix | 20 +- modules/home/apps/helpers/walker/default.nix | 611 ++++++++++++++++++ modules/home/apps/term/alacritty/default.nix | 8 +- modules/home/apps/term/foot/default.nix | 2 +- modules/home/apps/term/ghostty/default.nix | 23 +- modules/home/apps/term/kitty/default.nix | 25 +- modules/home/apps/term/rio/default.nix | 25 +- modules/home/rice/gtk/default.nix | 4 +- modules/home/shells/zsh/default.nix | 4 +- modules/nixos/hardware/audio/default.nix | 2 +- .../nixos/hardware/gpu-passthru/default.nix | 31 +- modules/nixos/hardware/nvidia/default.nix | 39 +- modules/nixos/protocols/wayland/default.nix | 34 +- modules/nixos/sites/jellyfin/default.nix | 22 +- modules/nixos/ui/fonts/default.nix | 110 ++-- systems/x86_64-linux/earth/default.nix | 174 +++-- 20 files changed, 1360 insertions(+), 565 deletions(-) delete mode 100644 catpuccin.omp.json create mode 100644 modules/home/apps/helpers/walker/default.nix diff --git a/catpuccin.omp.json b/catpuccin.omp.json deleted file mode 100644 index 2accb92..0000000 --- a/catpuccin.omp.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "palette": { - "os": "#ACB0BE", - "pink": "#F5BDE6", - "lavender": "#B7BDF8", - "blue": "#8AADF4", - "wight": "#FFFFFF", - "text": "#494D64" - }, - "blocks": [ - { - "alignment": "left", - "segments": [ - { - "background": "p:blue", - "foreground": "p:wight", - "powerline_symbol": "\ue0b4", - "leading_diamond": "\ue0b6", - "style": "diamond", - "template": "{{.Icon}} ", - "type": "os" - }, - { - "background": "p:blue", - "foreground": "p:text", - "powerline_symbol": "\ue0b4", - "style": "diamond", - "template": "{{ .UserName }}@{{ .HostName }}", - "type": "session" - }, - { - "background": "p:pink", - "foreground": "p:text", - "properties": { - "folder_icon": "..\ue5fe..", - "home_icon": "~", - "style": "agnoster_short" - }, - "powerline_symbol": "\ue0b4", - "style": "powerline", - "template": " {{ .Path }}", - "type": "path" - }, - { - "background": "p:lavender", - "foreground": "p:text", - "style": "powerline", - "properties": { - "branch_icon": "\ue725 ", - "cherry_pick_icon": "\ue29b ", - "commit_icon": "\uf417 ", - "fetch_status": false, - "fetch_upstream_icon": false, - "merge_icon": "\ue727 ", - "no_commits_icon": "\uf0c3 ", - "rebase_icon": "\ue728 ", - "revert_icon": "\uf0e2 ", - "tag_icon": "\uf412 " - }, - "powerline_symbol": "\ue0b4", - "template": " {{ .HEAD }}", - "type": "git" - } - ], - "type": "prompt" - } - ], - "final_space": true, - "version": 2 -} diff --git a/flake.lock b/flake.lock index 0ec00a7..348a9b2 100644 --- a/flake.lock +++ b/flake.lock @@ -65,11 +65,11 @@ ] }, "locked": { - "lastModified": 1744289235, - "narHash": "sha256-ZFkHLdimtFzQACsVVyZkZlfYdj4iNy3PkzXfrwmlse8=", + "lastModified": 1745357003, + "narHash": "sha256-jYwzQkv1r7HN/4qrAuKp+NR4YYNp2xDrOX5O9YVqkWo=", "owner": "hyprwm", "repo": "aquamarine", - "rev": "c8282f4982b56dfa5e9b9f659809da93f8d37e7a", + "rev": "a19cf76ee1a15c1c12083fa372747ce46387289f", "type": "github" }, "original": { @@ -121,8 +121,8 @@ "systems": "systems_5" }, "locked": { - "lastModified": 1745359419, - "narHash": "sha256-Xl009pfuFr3LlO96OrdhYRrhGF+TrinKv7arvGrrizk=", + "lastModified": 1745808560, + "narHash": "sha256-tCEg7taEdCsZ+p1A3/nHbIsGR8ucuRW4HQ+d80VS508=", "path": "/home/zoey/dev/web", "type": "path" }, @@ -136,11 +136,11 @@ "nixpkgs": "nixpkgs_4" }, "locked": { - "lastModified": 1745598511, - "narHash": "sha256-GWYB7PngGwTJrp7gr0w6E5nnvwiblPvN2kjRCQw3ZEg=", + "lastModified": 1746175539, + "narHash": "sha256-/wjcn1CDQqOhwOoYKS8Xp0KejrdXSJZQMF1CbbrVtMw=", "owner": "catppuccin", "repo": "nix", - "rev": "199cb288a85b15ed203089804c024ae5b3eacd7c", + "rev": "a5db9e41a4dccfa5ffe38e6f1841a5f9ad5c5c04", "type": "github" }, "original": { @@ -149,6 +149,29 @@ "type": "github" } }, + "chaotic": { + "inputs": { + "fenix": "fenix", + "flake-schemas": "flake-schemas", + "home-manager": "home-manager_2", + "jovian": "jovian", + "nixpkgs": "nixpkgs_5" + }, + "locked": { + "lastModified": 1746548387, + "narHash": "sha256-GYk8aP4eRg5SuMXZqx+oYURmQqwLip4Ak/n1K0sI0MQ=", + "owner": "chaotic-cx", + "repo": "nyx", + "rev": "1b140c87692a5b3dcf8229ae3677a4d7a121c4e5", + "type": "github" + }, + "original": { + "owner": "chaotic-cx", + "ref": "nyxpkgs-unstable", + "repo": "nyx", + "type": "github" + } + }, "crane": { "locked": { "lastModified": 1733016477, @@ -214,11 +237,11 @@ ] }, "locked": { - "lastModified": 1745502102, - "narHash": "sha256-LqhRwzvIVPEjH0TaPgwzqpyhW6DtCrvz7FnUJDoUZh8=", + "lastModified": 1746411114, + "narHash": "sha256-mLlkVX1kKbAa/Ns5u26wDYw4YW4ziMFM21fhtRmfirU=", "owner": "nix-community", "repo": "disko", - "rev": "ca27b88c88948d96feeee9ed814cbd34f53d0d70", + "rev": "b5d1320ebc2f34dbea4655f95167f55e2130cdb3", "type": "github" }, "original": { @@ -229,15 +252,15 @@ }, "emacs-overlay": { "inputs": { - "nixpkgs": "nixpkgs_5", + "nixpkgs": "nixpkgs_6", "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1745688094, - "narHash": "sha256-/lBTf1vQDQHfA/VrjHEZJDwKZZF8ZG+V9aMN4SToxA4=", + "lastModified": 1746552390, + "narHash": "sha256-s+SVW+VPmU+RUMhm+9xVEG8dA2F4oCCp/DQ1TQKhDG8=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "5f11758ce78b3267b9658dec65fbc1a39a94abd9", + "rev": "cd0ba3fdbed27f695be7c2bd1f2d05acdf6de725", "type": "github" }, "original": { @@ -246,6 +269,28 @@ "type": "github" } }, + "fenix": { + "inputs": { + "nixpkgs": [ + "chaotic", + "nixpkgs" + ], + "rust-analyzer-src": "rust-analyzer-src" + }, + "locked": { + "lastModified": 1746427067, + "narHash": "sha256-MlBKT0A2nK8LHDkeg3jrG2wo80C1bSGyT2tmKrc6pM0=", + "owner": "nix-community", + "repo": "fenix", + "rev": "9e7d648c1f8fdf7beb9b0b1abb3a41d0d8b5fb05", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "fenix", + "type": "github" + } + }, "flake-compat": { "flake": false, "locked": { @@ -541,6 +586,20 @@ "type": "github" } }, + "flake-schemas": { + "locked": { + "lastModified": 1721999734, + "narHash": "sha256-G5CxYeJVm4lcEtaO87LKzOsVnWeTcHGKbKxNamNWgOw=", + "rev": "0a5c42297d870156d9c57d8f99e476b738dcd982", + "revCount": 75, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/flake-schemas/0.1.5/0190ef2f-61e0-794b-ba14-e82f225e55e6/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/DeterminateSystems/flake-schemas/%3D0.1.5.tar.gz" + } + }, "flake-utils": { "inputs": { "systems": "systems_3" @@ -748,11 +807,11 @@ "zon2nix": "zon2nix" }, "locked": { - "lastModified": 1745607661, - "narHash": "sha256-72OO+/vP4h7uiZ1gdGmFf1z+17NxCt8dhrRD+mltW44=", + "lastModified": 1746553814, + "narHash": "sha256-RTwom24eoEoPO7nCWoQuUtrQLXdeLecQPnx48eO7zWE=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "38445dca2ac2af176c7f3b205d88d697cf8c89c8", + "rev": "d0a8cb671b73cd4e3393c41bb5aaf5900444fc47", "type": "github" }, "original": { @@ -896,15 +955,16 @@ "home-manager_2": { "inputs": { "nixpkgs": [ + "chaotic", "nixpkgs" ] }, "locked": { - "lastModified": 1745703610, - "narHash": "sha256-KgaGPlmjJItZ+Xf8mSoRmrsso+sf3K54n9oIP9Q17LY=", + "lastModified": 1746413188, + "narHash": "sha256-i6BoiQP0PasExESQHszC0reQHfO6D4aI2GzOwZMOI20=", "owner": "nix-community", "repo": "home-manager", - "rev": "2f5819a962489e037a57835f63ed6ff8dbc2d5fb", + "rev": "8a318641ac13d3bc0a53651feaee9560f9b2d89a", "type": "github" }, "original": { @@ -914,6 +974,26 @@ } }, "home-manager_3": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1746413188, + "narHash": "sha256-i6BoiQP0PasExESQHszC0reQHfO6D4aI2GzOwZMOI20=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "8a318641ac13d3bc0a53651feaee9560f9b2d89a", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "home-manager_4": { "inputs": { "nixpkgs": [ "zen-browser", @@ -950,11 +1030,11 @@ ] }, "locked": { - "lastModified": 1742215578, - "narHash": "sha256-zfs71PXVVPEe56WEyNi2TJQPs0wabU4WAlq0XV7GcdE=", + "lastModified": 1745948457, + "narHash": "sha256-lzTV10FJTCGNtMdgW5YAhCAqezeAzKOd/97HbQK8GTU=", "owner": "hyprwm", "repo": "hyprcursor", - "rev": "2fd36421c21aa87e2fe3bee11067540ae612f719", + "rev": "ac903e80b33ba6a88df83d02232483d99f327573", "type": "github" }, "original": { @@ -1004,11 +1084,11 @@ "systems": "systems_7" }, "locked": { - "lastModified": 1745357037, - "narHash": "sha256-eakUr+0ON1muX3nusJy3eC66unUQtjgnUUzQ5XMIB+k=", + "lastModified": 1746199673, + "narHash": "sha256-zKBPaOBAI2WWyFJKVwV1/xHCIHVa4DTBuXc7kQwmBfY=", "owner": "hyprwm", "repo": "hypridle", - "rev": "b18d83027676d0efbc6d56ed4a6935ac65d75067", + "rev": "a0037ac40cdaf1350752eec38f354950ed3096c2", "type": "github" }, "original": { @@ -1035,11 +1115,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1745708619, - "narHash": "sha256-NFTLiVOzvEQY1m7JeSrq7xsw9Dhg1EB3+6W6faM7WAM=", + "lastModified": 1746536008, + "narHash": "sha256-Imezq1cYcJnoxpVjWCR0hR1eG3CIN0bzkVoaqizqk/I=", "ref": "refs/heads/main", - "rev": "87f42b3ef5da75446fcc73961154f439f96493f1", - "revCount": 6031, + "rev": "708a7c24ef2c137c04c2473ee6b3f841ed5a1d8b", + "revCount": 6083, "submodules": true, "type": "git", "url": "https://github.com/hyprwm/Hyprland" @@ -1155,11 +1235,11 @@ ] }, "locked": { - "lastModified": 1739048983, - "narHash": "sha256-REhTcXq4qs3B3cCDtLlYDz0GZvmsBSh947Ub6pQWGTQ=", + "lastModified": 1745951494, + "narHash": "sha256-2dModE32doiyQMmd6EDAQeZnz+5LOs6KXyE0qX76WIg=", "owner": "hyprwm", "repo": "hyprland-qtutils", - "rev": "3504a293c8f8db4127cb0f7cfc1a318ffb4316f8", + "rev": "4be1d324faf8d6e82c2be9f8510d299984dfdd2e", "type": "github" }, "original": { @@ -1213,11 +1293,11 @@ ] }, "locked": { - "lastModified": 1744468525, - "narHash": "sha256-9HySx+EtsbbKlZDlY+naqqOV679VdxP6x6fP3wxDXJk=", + "lastModified": 1745357019, + "narHash": "sha256-q/C3qj9FWHQenObXuw/nGIT8iIsWFjgmcQYcA+ZfpPs=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "f1000c54d266e6e4e9d646df0774fac5b8a652df", + "rev": "397600c42b8d7a443a5b4e92aa15f46650a90f18", "type": "github" }, "original": { @@ -1263,11 +1343,11 @@ ] }, "locked": { - "lastModified": 1743950287, - "narHash": "sha256-/6IAEWyb8gC/NKZElxiHChkouiUOrVYNq9YqG0Pzm4Y=", + "lastModified": 1745975815, + "narHash": "sha256-s3GzsRxBL/N/xYgUXZhQh4t62uR1BN4zxXgWBtJ3lWM=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "f2dc70e448b994cef627a157ee340135bd68fbc6", + "rev": "05878d9470c9e5cbc8807813f9ec2006627a0ca0", "type": "github" }, "original": { @@ -1326,6 +1406,28 @@ "type": "github" } }, + "jovian": { + "inputs": { + "nix-github-actions": "nix-github-actions", + "nixpkgs": [ + "chaotic", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1746158343, + "narHash": "sha256-i/1os9oEq0m/Da4FTdSqKUdI4+wzrvoDTuk1/dHSVDc=", + "owner": "Jovian-Experiments", + "repo": "Jovian-NixOS", + "rev": "8b45a8efb2829adf2996b51965ada1e4620631ac", + "type": "github" + }, + "original": { + "owner": "Jovian-Experiments", + "repo": "Jovian-NixOS", + "type": "github" + } + }, "kb-gui": { "inputs": { "crane": "crane", @@ -1381,8 +1483,8 @@ "lexical": { "inputs": { "flake-parts": "flake-parts_7", - "nixpkgs": "nixpkgs_19", - "systems": "systems_20" + "nixpkgs": "nixpkgs_21", + "systems": "systems_21" }, "locked": { "lastModified": 1727126932, @@ -1437,15 +1539,15 @@ "inputs": { "blobs": "blobs", "flake-compat": "flake-compat_4", - "nixpkgs": "nixpkgs_8", + "nixpkgs": "nixpkgs_9", "nixpkgs-24_11": "nixpkgs-24_11" }, "locked": { - "lastModified": 1745416927, - "narHash": "sha256-jg725STLRgsIAgrvjbRJQEP0F0w+rmvDJ64EN65p6EI=", + "lastModified": 1746545137, + "narHash": "sha256-aqmLaMdzNmpovS8u3M69itFO9o3VKz4d99zPLMn6LF0=", "owner": "simple-nixos-mailserver", "repo": "nixos-mailserver", - "rev": "ab52efd622a9f7dca269a49edbbea6b6b7294f57", + "rev": "155ba08be7f9936dae712196d245b57a3795d1ee", "type": "gitlab" }, "original": { @@ -1461,15 +1563,15 @@ "git-hooks": "git-hooks", "hercules-ci-effects": "hercules-ci-effects", "neovim-src": "neovim-src", - "nixpkgs": "nixpkgs_9", + "nixpkgs": "nixpkgs_10", "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1745651471, - "narHash": "sha256-7KEsZ3jzgplAlJINqP95eD4/DiPRR9YPiGWgLsu+lBc=", + "lastModified": 1746509854, + "narHash": "sha256-WwpUWaLKrQpeehMal4oCX6jq99dH96DPVsVsf5o9ly4=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "ce33792bf7327e4d6e338625517374e13a63cde2", + "rev": "644fce4b887107421779a977aa466fce4a4c496f", "type": "github" }, "original": { @@ -1481,11 +1583,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1745624544, - "narHash": "sha256-Axa1vdynf7glAWc7v80unyew4IJqtdq21WEf3VGwW40=", + "lastModified": 1746469682, + "narHash": "sha256-nL1H7ypnf4hBV8UYwBjFQHU3kKcC5/NhGOrCFxwxkak=", "owner": "neovim", "repo": "neovim", - "rev": "766cd01ff2ff68a0ffdfcc385e76346ce22cde7e", + "rev": "9efdd4fe98e74b7068bd716388b2437a27d0ce6a", "type": "github" }, "original": { @@ -1498,22 +1600,23 @@ "inputs": { "niri-stable": "niri-stable", "niri-unstable": "niri-unstable", - "nixpkgs": "nixpkgs_10", + "nixpkgs": "nixpkgs_11", "nixpkgs-stable": "nixpkgs-stable_4", "xwayland-satellite-stable": "xwayland-satellite-stable", "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1745668007, - "narHash": "sha256-xYf6xz8WOW9ztBi356dHdqLsTCoxVS8Iapfpwosrn7Q=", + "lastModified": 1745965399, + "narHash": "sha256-RxoK/Eo9cWGtGMl3enYu/LH/SAcFGR2PWuAifQm4dUc=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "8fdaf610c455d0b5b70374a21392a717be513b0f", + "rev": "bc29338ba733e4c1b94c3ed134baabfea587627e", "type": "github" }, "original": { "owner": "sodiboo", "repo": "niri-flake", + "rev": "bc29338ba733e4c1b94c3ed134baabfea587627e", "type": "github" } }, @@ -1537,11 +1640,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1745663376, - "narHash": "sha256-mGQyB+Epl87ZCZZCcBkjUrdR1aJt8Ybiqr4h0yUkgQI=", + "lastModified": 1745913113, + "narHash": "sha256-/Iph65fWHox7tVyfzw0+AGyCqL2FGuHSt+xjFUsxbOk=", "owner": "YaLTeR", "repo": "niri", - "rev": "78e3daf5f82b5870e998faf0e1efeaa048730976", + "rev": "5f117c61dc4dd91564e02b32836e98dd0e648246", "type": "github" }, "original": { @@ -1550,6 +1653,29 @@ "type": "github" } }, + "nix-github-actions": { + "inputs": { + "nixpkgs": [ + "chaotic", + "jovian", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1729697500, + "narHash": "sha256-VFTWrbzDlZyFHHb1AlKRiD/qqCJIripXKiCSFS8fAOY=", + "owner": "zhaofengli", + "repo": "nix-github-actions", + "rev": "e418aeb728b6aa5ca8c5c71974e7159c2df1d8cf", + "type": "github" + }, + "original": { + "owner": "zhaofengli", + "ref": "matrix-name", + "repo": "nix-github-actions", + "type": "github" + } + }, "nixlib": { "locked": { "lastModified": 1736643958, @@ -1588,11 +1714,11 @@ }, "nixos-stable": { "locked": { - "lastModified": 1745487689, - "narHash": "sha256-FQoi3R0NjQeBAsEOo49b5tbDPcJSMWc3QhhaIi9eddw=", + "lastModified": 1746422338, + "narHash": "sha256-NTtKOTLQv6dPfRe00OGSywg37A1FYqldS6xiNmqBUYc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5630cf13cceac06cefe9fc607e8dfa8fb342dde3", + "rev": "5b35d248e9206c1f3baf8de6a7683fee126364aa", "type": "github" }, "original": { @@ -1604,11 +1730,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1745526057, - "narHash": "sha256-ITSpPDwvLBZBnPRS2bUcHY3gZSwis/uTe255QgMtTLA=", + "lastModified": 1746461020, + "narHash": "sha256-7+pG1I9jvxNlmln4YgnlW4o+w0TZX24k688mibiFDUE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f771eb401a46846c1aebd20552521b233dd7e18b", + "rev": "3730d8a308f94996a9ba7c7138ede69c1b9ac4ae", "type": "github" }, "original": { @@ -1684,11 +1810,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1745487689, - "narHash": "sha256-FQoi3R0NjQeBAsEOo49b5tbDPcJSMWc3QhhaIi9eddw=", + "lastModified": 1746422338, + "narHash": "sha256-NTtKOTLQv6dPfRe00OGSywg37A1FYqldS6xiNmqBUYc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5630cf13cceac06cefe9fc607e8dfa8fb342dde3", + "rev": "5b35d248e9206c1f3baf8de6a7683fee126364aa", "type": "github" }, "original": { @@ -1732,11 +1858,11 @@ }, "nixpkgs-stable_4": { "locked": { - "lastModified": 1745487689, - "narHash": "sha256-FQoi3R0NjQeBAsEOo49b5tbDPcJSMWc3QhhaIi9eddw=", + "lastModified": 1745868005, + "narHash": "sha256-hZScOyQphT4RUmSEJX+2OxjIlGgLwSd8iW1LNtAWIOs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5630cf13cceac06cefe9fc607e8dfa8fb342dde3", + "rev": "330d0a4167924b43f31cc9406df363f71b768a02", "type": "github" }, "original": { @@ -1764,27 +1890,43 @@ }, "nixpkgs_10": { "locked": { - "lastModified": 1745526057, - "narHash": "sha256-ITSpPDwvLBZBnPRS2bUcHY3gZSwis/uTe255QgMtTLA=", + "lastModified": 1746397377, + "narHash": "sha256-5oLdRa3vWSRbuqPIFFmQBGGUqaYZBxX+GGtN9f/n4lU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f771eb401a46846c1aebd20552521b233dd7e18b", + "rev": "ed30f8aba41605e3ab46421e3dcb4510ec560ff8", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-unstable", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_11": { "locked": { - "lastModified": 1745526057, - "narHash": "sha256-ITSpPDwvLBZBnPRS2bUcHY3gZSwis/uTe255QgMtTLA=", + "lastModified": 1745930157, + "narHash": "sha256-y3h3NLnzRSiUkYpnfvnS669zWZLoqqI6NprtLQ+5dck=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "46e634be05ce9dc6d4db8e664515ba10b78151ae", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_12": { + "locked": { + "lastModified": 1746461020, + "narHash": "sha256-7+pG1I9jvxNlmln4YgnlW4o+w0TZX24k688mibiFDUE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f771eb401a46846c1aebd20552521b233dd7e18b", + "rev": "3730d8a308f94996a9ba7c7138ede69c1b9ac4ae", "type": "github" }, "original": { @@ -1794,7 +1936,7 @@ "type": "github" } }, - "nixpkgs_12": { + "nixpkgs_13": { "locked": { "lastModified": 1702151865, "narHash": "sha256-9VAt19t6yQa7pHZLDbil/QctAgVsA66DLnzdRGqDisg=", @@ -1810,7 +1952,7 @@ "type": "github" } }, - "nixpkgs_13": { + "nixpkgs_14": { "locked": { "lastModified": 1736189585, "narHash": "sha256-GBC2LIBk9BuJR4HXfjuNlIWeY15U6jFvaqc7PeToGLw=", @@ -1826,7 +1968,7 @@ "type": "github" } }, - "nixpkgs_14": { + "nixpkgs_15": { "locked": { "lastModified": 1712883908, "narHash": "sha256-icE1IJE9fHcbDfJ0+qWoDdcBXUoZCcIJxME4lMHwvSM=", @@ -1842,7 +1984,7 @@ "type": "github" } }, - "nixpkgs_15": { + "nixpkgs_16": { "locked": { "lastModified": 1744536153, "narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=", @@ -1858,7 +2000,7 @@ "type": "github" } }, - "nixpkgs_16": { + "nixpkgs_17": { "locked": { "lastModified": 1744868846, "narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=", @@ -1874,7 +2016,7 @@ "type": "github" } }, - "nixpkgs_17": { + "nixpkgs_18": { "locked": { "lastModified": 1740547748, "narHash": "sha256-Ly2fBL1LscV+KyCqPRufUBuiw+zmWrlJzpWOWbahplg=", @@ -1890,36 +2032,22 @@ "type": "github" } }, - "nixpkgs_18": { + "nixpkgs_19": { "locked": { - "lastModified": 1743448293, - "narHash": "sha256-bmEPmSjJakAp/JojZRrUvNcDX2R5/nuX6bm+seVaGhs=", - "owner": "nixos", + "lastModified": 1738142207, + "narHash": "sha256-NGqpVVxNAHwIicXpgaVqJEJWeyqzoQJ9oc8lnK9+WC4=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "77b584d61ff80b4cef9245829a6f1dfad5afdfa3", + "rev": "9d3ae807ebd2981d593cddd0080856873139aa40", "type": "github" }, "original": { - "owner": "nixos", + "owner": "NixOS", "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, - "nixpkgs_19": { - "locked": { - "lastModified": 1719931832, - "narHash": "sha256-0LD+KePCKKEb4CcPsTBOwf019wDtZJanjoKm1S8q3Do=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "0aeab749216e4c073cece5d34bc01b79e717c3e0", - "type": "github" - }, - "original": { - "id": "nixpkgs", - "type": "indirect" - } - }, "nixpkgs_2": { "locked": { "lastModified": 1712883908, @@ -1936,6 +2064,36 @@ "type": "github" } }, + "nixpkgs_20": { + "locked": { + "lastModified": 1743448293, + "narHash": "sha256-bmEPmSjJakAp/JojZRrUvNcDX2R5/nuX6bm+seVaGhs=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "77b584d61ff80b4cef9245829a6f1dfad5afdfa3", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_21": { + "locked": { + "lastModified": 1719931832, + "narHash": "sha256-0LD+KePCKKEb4CcPsTBOwf019wDtZJanjoKm1S8q3Do=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "0aeab749216e4c073cece5d34bc01b79e717c3e0", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "type": "indirect" + } + }, "nixpkgs_3": { "locked": { "lastModified": 1702151865, @@ -1970,11 +2128,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1745526057, - "narHash": "sha256-ITSpPDwvLBZBnPRS2bUcHY3gZSwis/uTe255QgMtTLA=", + "lastModified": 1746328495, + "narHash": "sha256-uKCfuDs7ZM3QpCE/jnfubTg459CnKnJG/LwqEVEdEiw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f771eb401a46846c1aebd20552521b233dd7e18b", + "rev": "979daf34c8cacebcd917d540070b52a3c2b9b16e", "type": "github" }, "original": { @@ -1985,6 +2143,22 @@ } }, "nixpkgs_6": { + "locked": { + "lastModified": 1746328495, + "narHash": "sha256-uKCfuDs7ZM3QpCE/jnfubTg459CnKnJG/LwqEVEdEiw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "979daf34c8cacebcd917d540070b52a3c2b9b16e", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_7": { "locked": { "lastModified": 1728538411, "narHash": "sha256-f0SBJz1eZ2yOuKUr5CA9BHULGXVSn6miBuUWdTyhUhU=", @@ -2000,7 +2174,7 @@ "type": "github" } }, - "nixpkgs_7": { + "nixpkgs_8": { "locked": { "lastModified": 1731890469, "narHash": "sha256-D1FNZ70NmQEwNxpSSdTXCSklBH1z2isPR84J6DQrJGs=", @@ -2016,7 +2190,7 @@ "type": "github" } }, - "nixpkgs_8": { + "nixpkgs_9": { "locked": { "lastModified": 1732014248, "narHash": "sha256-y/MEyuJ5oBWrWAic/14LaIr/u5E0wRVzyYsouYY3W6w=", @@ -2031,22 +2205,6 @@ "type": "indirect" } }, - "nixpkgs_9": { - "locked": { - "lastModified": 1745377448, - "narHash": "sha256-jhZDfXVKdD7TSEGgzFJQvEEZ2K65UMiqW5YJ2aIqxMA=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "507b63021ada5fee621b6ca371c4fca9ca46f52c", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "pnpm2nix": { "inputs": { "flake-utils": "flake-utils_2", @@ -2069,7 +2227,7 @@ "pnpm2nix_2": { "inputs": { "flake-utils": "flake-utils_6", - "nixpkgs": "nixpkgs_12" + "nixpkgs": "nixpkgs_13" }, "locked": { "lastModified": 1706694632, @@ -2087,7 +2245,7 @@ }, "posting": { "inputs": { - "nixpkgs": "nixpkgs_13", + "nixpkgs": "nixpkgs_14", "utils": "utils" }, "locked": { @@ -2171,7 +2329,7 @@ }, "resume": { "inputs": { - "nixpkgs": "nixpkgs_14", + "nixpkgs": "nixpkgs_15", "systems": "systems_14" }, "locked": { @@ -2195,11 +2353,11 @@ "systems": "systems_15" }, "locked": { - "lastModified": 1745583892, - "narHash": "sha256-eEogxIIHIL6ritql2E2e4jK2gGhxut9oKgGN7GAG7nU=", + "lastModified": 1746467568, + "narHash": "sha256-0ZjON00fi3QY/WJUivTQ3Oa8UuMgVa64DCBZ370iNWg=", "owner": "raphamorim", "repo": "rio", - "rev": "e8d992c8ae96da7eb238541e154639a9a9b46c30", + "rev": "cf5a52ebbdd72c4ba4607d4fade95c223784e7e4", "type": "github" }, "original": { @@ -2215,10 +2373,11 @@ "awsvpnclient": "awsvpnclient", "blog": "blog", "catppuccin": "catppuccin", + "chaotic": "chaotic", "disko": "disko", "emacs-overlay": "emacs-overlay", "ghostty": "ghostty", - "home-manager": "home-manager_2", + "home-manager": "home-manager_3", "hypridle": "hypridle", "hyprland": "hyprland", "kb-gui": "kb-gui", @@ -2229,7 +2388,7 @@ "niri": "niri", "nixos-generators": "nixos-generators", "nixos-stable": "nixos-stable", - "nixpkgs": "nixpkgs_11", + "nixpkgs": "nixpkgs_12", "pnpm2nix": "pnpm2nix_2", "posting": "posting", "resume": "resume", @@ -2241,14 +2400,32 @@ "spicetify-nix": "spicetify-nix", "systems": "systems_19", "umu": "umu", + "walker": "walker", "waybar": "waybar", "zen-browser": "zen-browser", "zoeycomputer": "zoeycomputer" } }, + "rust-analyzer-src": { + "flake": false, + "locked": { + "lastModified": 1746332785, + "narHash": "sha256-d4/WBcspAR38AMsZysrQsenF1NmZ0/9GhjD4hxvPygo=", + "owner": "rust-lang", + "repo": "rust-analyzer", + "rev": "3b57c001518aeb42511e177221f98ecf42104016", + "type": "github" + }, + "original": { + "owner": "rust-lang", + "ref": "nightly", + "repo": "rust-analyzer", + "type": "github" + } + }, "rust-overlay": { "inputs": { - "nixpkgs": "nixpkgs_6" + "nixpkgs": "nixpkgs_7" }, "locked": { "lastModified": 1733279627, @@ -2291,14 +2468,14 @@ }, "rust-overlay_3": { "inputs": { - "nixpkgs": "nixpkgs_15" + "nixpkgs": "nixpkgs_16" }, "locked": { - "lastModified": 1745029910, - "narHash": "sha256-9CtbfTTQWMoOkXejxc5D+K3z/39wkQQt2YfYJW50tnI=", + "lastModified": 1746239644, + "narHash": "sha256-wMvMBMlpS1H8CQdSSgpLeoCWS67ciEkN/GVCcwk7Apc=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "50fefac8cdfd1587ac6d8678f6181e7d348201d2", + "rev": "bd32e88bef6da0e021a42fb4120a8df2150e9b8c", "type": "github" }, "original": { @@ -2314,11 +2491,11 @@ ] }, "locked": { - "lastModified": 1745634793, - "narHash": "sha256-8AuOyfLNlcbLy0AqERSNUUoDdY+3THZI7+9VrXUfGqg=", + "lastModified": 1746498961, + "narHash": "sha256-rp+oh/N88JKHu7ySPuGiA3lBUVIsrOtHbN2eWJdYCgk=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "f1aeaeb91ba9c88f235ab82bd23d7a4931fe736c", + "rev": "24b00064cdd1d7ba25200c4a8565dc455dc732ba", "type": "github" }, "original": { @@ -2398,14 +2575,14 @@ }, "sops-nix": { "inputs": { - "nixpkgs": "nixpkgs_16" + "nixpkgs": "nixpkgs_17" }, "locked": { - "lastModified": 1745310711, - "narHash": "sha256-ePyTpKEJTgX0gvgNQWd7tQYQ3glIkbqcW778RpHlqgA=", + "lastModified": 1746485181, + "narHash": "sha256-PxrrSFLaC7YuItShxmYbMgSuFFuwxBB+qsl9BZUnRvg=", "owner": "Mic92", "repo": "sops-nix", - "rev": "5e3e92b16d6fdf9923425a8d4df7496b2434f39c", + "rev": "e93ee1d900ad264d65e9701a5c6f895683433386", "type": "github" }, "original": { @@ -2422,11 +2599,11 @@ "systems": "systems_18" }, "locked": { - "lastModified": 1745151211, - "narHash": "sha256-qFXfTdO1yvW6DmUPfVLIJgDHfkSd5yimZWvBMrlP/ow=", + "lastModified": 1746551108, + "narHash": "sha256-sTghs3HNf/hwPXJb5Ii8G53PhQNE1ayWgY9IOYSHAOY=", "owner": "Gerg-L", "repo": "spicetify-nix", - "rev": "1dd4328f82115887901a685ecd9fa6e1d1db2d0c", + "rev": "133e882f1266f1bb580bea64b9082d423fa005ba", "type": "github" }, "original": { @@ -2617,6 +2794,21 @@ } }, "systems_20": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, + "systems_21": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -2631,7 +2823,7 @@ "type": "github" } }, - "systems_21": { + "systems_22": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -2753,7 +2945,7 @@ }, "treefmt-nix": { "inputs": { - "nixpkgs": "nixpkgs_7" + "nixpkgs": "nixpkgs_8" }, "locked": { "lastModified": 1733222881, @@ -2777,11 +2969,11 @@ ] }, "locked": { - "lastModified": 1744961264, - "narHash": "sha256-aRmUh0AMwcbdjJHnytg1e5h5ECcaWtIFQa6d9gI85AI=", + "lastModified": 1746216483, + "narHash": "sha256-4h3s1L/kKqt3gMDcVfN8/4v2jqHrgLIe4qok4ApH5x4=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "8d404a69efe76146368885110f29a2ca3700bee6", + "rev": "29ec5026372e0dec56f890e50dbe4f45930320fd", "type": "github" }, "original": { @@ -2792,15 +2984,15 @@ }, "umu": { "inputs": { - "nixpkgs": "nixpkgs_17" + "nixpkgs": "nixpkgs_18" }, "locked": { "dir": "packaging/nix", - "lastModified": 1745344353, - "narHash": "sha256-T2ugJ5w26zPEpjqmKySZu41Sjngjw250pax/NYSfzg8=", + "lastModified": 1746127435, + "narHash": "sha256-ufyI5bnA0Ctg7amyirc3dKJGXqiV+1Fu9u0vHa+/tI4=", "owner": "Open-Wine-Components", "repo": "umu-launcher", - "rev": "cbe73a164aa6e08ddf71047eb0e9af71f81c00d2", + "rev": "80bf9143f1a73a10bc60fc4ca6558a2f4461a335", "type": "github" }, "original": { @@ -2828,6 +3020,25 @@ "type": "github" } }, + "walker": { + "inputs": { + "nixpkgs": "nixpkgs_19", + "systems": "systems_20" + }, + "locked": { + "lastModified": 1746253489, + "narHash": "sha256-Lsegrsus7oZLLglhjYDUWKSh544Rylkc9y2GBnsD4TE=", + "owner": "abenz1267", + "repo": "walker", + "rev": "65fd786cf25c207efe0b5f2963d4cb5b2125bc22", + "type": "github" + }, + "original": { + "owner": "abenz1267", + "repo": "walker", + "type": "github" + } + }, "waybar": { "inputs": { "flake-compat": "flake-compat_10", @@ -2877,11 +3088,11 @@ ] }, "locked": { - "lastModified": 1744644585, - "narHash": "sha256-p0D/e4J6Sv6GSb+9u8OQcVHSE2gPNYB5ygIfGDyEiXQ=", + "lastModified": 1745871725, + "narHash": "sha256-M24SNc2flblWGXFkGQfqSlEOzAGZnMc9QG3GH4K/KbE=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "be6771e754345f18244fb00aae5c9e5ab21ccc26", + "rev": "76bbf1a6b1378e4ab5230bad00ad04bc287c969e", "type": "github" }, "original": { @@ -2910,11 +3121,11 @@ "xwayland-satellite-unstable": { "flake": false, "locked": { - "lastModified": 1745372360, - "narHash": "sha256-5DX9lYmEbkdANCzME2v3coV0EnWOhS7NsTlGBQuqmjM=", + "lastModified": 1745730655, + "narHash": "sha256-Tdsw5lD/XM8i1GnQr7ombqnEaCpt/voPs2AbjuYBbjI=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "c31679aa41966ee9272bb240703755cb1e7c72e3", + "rev": "56a681bfecc5831f41f8eb0ec8c7e96c6b277153", "type": "github" }, "original": { @@ -2925,15 +3136,15 @@ }, "zen-browser": { "inputs": { - "home-manager": "home-manager_3", - "nixpkgs": "nixpkgs_18" + "home-manager": "home-manager_4", + "nixpkgs": "nixpkgs_20" }, "locked": { - "lastModified": 1745684498, - "narHash": "sha256-OKjwTSwm+W26owueon0hCBccLfWrg8Kueg02sbVuhgA=", + "lastModified": 1746526870, + "narHash": "sha256-wiYAuu919SIBaH0WqTIQLrjkq8R8NxCy8CDxRNb1SAM=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "5b96afb6c805b5868a78a9a804b30fc3f2846bcb", + "rev": "3ad6fc80856ef6b3959bcf57a57ff2526a945215", "type": "github" }, "original": { @@ -2978,7 +3189,7 @@ "nixpkgs" ], "process-compose-flake": "process-compose-flake", - "systems": "systems_21" + "systems": "systems_22" }, "locked": { "lastModified": 1744598309, diff --git a/flake.nix b/flake.nix index 4ca766a..9150493 100644 --- a/flake.nix +++ b/flake.nix @@ -28,6 +28,8 @@ inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; }; + walker.url = "github:abenz1267/walker"; + resume.url = "path:/home/zoey/dev/resume"; ags.url = "github:Aylur/ags/v1"; ags.inputs.nixpkgs.follows = "nixpkgs"; @@ -127,7 +129,9 @@ disko.url = "github:nix-community/disko"; disko.inputs.nixpkgs.follows = "nixpkgs"; - niri.url = "github:sodiboo/niri-flake"; + niri.url = "github:sodiboo/niri-flake/bc29338ba733e4c1b94c3ed134baabfea587627e"; + + chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable"; }; outputs = inputs @ {self, ...}: let @@ -168,8 +172,9 @@ homes.modules = with inputs; [ spicetify-nix.homeManagerModules.default - catppuccin.homeModules.catppuccin + catppuccin.homeModules.default ags.homeManagerModules.default + walker.homeManagerModules.default ]; systems.modules.nixos = with inputs; [ @@ -185,6 +190,7 @@ mailserver.nixosModule disko.nixosModules.disko niri.nixosModules.niri + chaotic.nixosModules.default ]; }; in diff --git a/homes/x86_64-linux/zoey@earth/default.nix b/homes/x86_64-linux/zoey@earth/default.nix index 55c4aa4..4ade8b6 100644 --- a/homes/x86_64-linux/zoey@earth/default.nix +++ b/homes/x86_64-linux/zoey@earth/default.nix @@ -61,6 +61,18 @@ }; }; + programs.distrobox = { + enable = true; + containers = { + proton-tkg = { + image = "archlinux"; + additional_packages = "build-essential git"; + }; + }; + }; + + catppuccin.mako.enable = false; + # programs.pywal2.enable = true; xdg.mimeApps = { @@ -104,114 +116,121 @@ catppuccin.aerc.enable = true; + catppuccin.cava.enable = true; + catppuccin.fuzzel.enable = true; + catppuccin.fzf.enable = true; + work.vpn.enable = true; home.packages = with pkgs; [ - pkgs.gimp - pkgs.slack + gimp3 + slack - pkgs.monero-cli + monero-cli - pkgs.zoom-us - pkgs.pandoc + zoom-us + pandoc - pkgs.prismlauncher - pkgs.obs-studio + nexusmods-app-unfree - pkgs.ungoogled-chromium - pkgs.uutils-coreutils-noprefix - pkgs.yazi - pkgs.reaper + prismlauncher + obs-studio - pkgs.fragments + distrobox + + ungoogled-chromium + uutils-coreutils-noprefix + yazi + reaper + + fragments inputs.posting.packages.${pkgs.system}.default - pkgs.heroic - pkgs.cartridges + heroic + cartridges - pkgs.darktable + darktable - pkgs.thunderbird + thunderbird - pkgs.custom.nvidia-nsight + custom.nvidia-nsight - pkgs.custom.enc + custom.enc - pkgs.neural-amp-modeler-lv2 + neural-amp-modeler-lv2 - pkgs.nix-tree + nix-tree # inputs.g2claude.packages.${pkgs.system}.default - pkgs.mongodb-compass - pkgs.postman - pkgs.mosh + mongodb-compass + postman + mosh - pkgs.dconf - pkgs.wl-clipboard - pkgs.pwvucontrol - pkgs.wlogout - pkgs.sway-audio-idle-inhibit - pkgs.grim - pkgs.slurp + dconf + wl-clipboard + pwvucontrol + wlogout + sway-audio-idle-inhibit + grim + slurp - pkgs.pods + pods - pkgs.polari - pkgs.flare-signal + polari - pkgs.neovide + neovide - pkgs.nitch - pkgs.nix-output-monitor - pkgs.fastfetch + nitch + nix-output-monitor + fastfetch - pkgs.signal-desktop + signal-desktop + flare-signal - pkgs.nh - pkgs.dwl + nh + dwl - pkgs.foliate + foliate - pkgs.killall - pkgs.custom.rebuild - pkgs.custom.powermenu + killall + custom.rebuild + custom.powermenu - pkgs.parsec-bin - pkgs.filezilla - pkgs.zed-editor - pkgs.rmpc + parsec-bin + filezilla + zed-editor + rmpc inputs.zen-browser.packages.${pkgs.system}.beta - pkgs.starfetch + starfetch lib.custom.nixos-stable.kiwix - pkgs.mpc-cli - pkgs.zathura - pkgs.gpgme.dev + mpc-cli + zathura + gpgme.dev - pkgs.rofimoji - pkgs.renderdoc + rofimoji + renderdoc - pkgs.xwayland-satellite + xwayland-satellite - pkgs.nautilus - pkgs.nautilus-python - pkgs.loupe + nautilus + nautilus-python + loupe - pkgs.openvpn - pkgs.telegram-desktop - pkgs.linux-manual - pkgs.man-pages - pkgs.man-pages-posix + openvpn + linux-manual + man-pages + man-pages-posix - pkgs.ardour - - pkgs.shadps4 - - pkgs.audacity + ardour ]; + programs.vesktop = { + enable = true; + }; + programs.zoxide = { enable = true; options = ["--cmd cd"]; @@ -227,7 +246,6 @@ programs.cava = { enable = true; - catppuccin.enable = true; settings = { general = { # bars = 2; @@ -247,13 +265,10 @@ }; }; - catppuccin.fuzzel.enable = true; - programs.fuzzel.enable = true; programs.btop = { enable = true; - catppuccin.enable = true; extraConfig = '' update_ms = 100 vim_keys = true @@ -266,7 +281,6 @@ programs.fzf = { enable = true; - catppuccin.enable = true; }; services = { diff --git a/lib/theme/default.nix b/lib/theme/default.nix index 0c78023..aa75dd5 100644 --- a/lib/theme/default.nix +++ b/lib/theme/default.nix @@ -67,7 +67,16 @@ in { x = c: "#${c}"; - colors = { + fonts = { + mono = "Iosevka"; + ui = "SF Pro Display"; + }; + + colors = rec { + bg = crust; + fg = text; + primary = red; + rosewater = { hex = "#f5e0dc"; rgb = "rgb(245, 224, 220)"; @@ -200,15 +209,6 @@ in { }; }; - fonts = { - mono = { - normal = "Iosevka Bold"; - bold = "Iosevka ExtraBold"; - italic = "Iosevka Bold Italic"; - bold_italic = "Iosevka ExtraBold Italic"; - }; - }; - wallpaper = ./svema_26_big.jpg; lerpColor = lerpColorFunc; diff --git a/modules/home/apps/helpers/walker/default.nix b/modules/home/apps/helpers/walker/default.nix new file mode 100644 index 0000000..6c46e23 --- /dev/null +++ b/modules/home/apps/helpers/walker/default.nix @@ -0,0 +1,611 @@ +{ + config, + lib, + pkgs, + ... +}: +with lib; +with lib.custom; let + cfg = config.apps.helpers.walker; +in { + options.apps.helpers.walker = with types; { + enable = mkBoolOpt false "Enable Walker"; + }; + + config = mkIf cfg.enable { + programs.walker = { + enable = true; + runAsService = true; + + theme = { + layout = { + ui = { + anchors = { + bottom = true; + left = true; + right = true; + top = true; + }; + + window = { + h_align = "fill"; + v_align = "fill"; + + box = { + h_align = "center"; + width = 450; + + bar = { + orientation = "horizontal"; + position = "end"; + + entry = { + h_align = "fill"; + h_expand = true; + + icon = { + h_align = "center"; + h_expand = true; + pixel_size = 24; + theme = ""; + }; + }; + }; + + margins = { + top = 450; + }; + + ai_scroll = { + name = "aiScroll"; + h_align = "fill"; + v_align = "fill"; + max_height = 300; + min_width = 400; + height = 300; + width = 400; + + margins = { + top = 8; + }; + + list = { + name = "aiList"; + orientation = "vertical"; + width = 400; + spacing = 10; + + item = { + name = "aiItem"; + h_align = "fill"; + v_align = "fill"; + x_align = 0; + y_align = 0; + wrap = true; + }; + }; + }; + + scroll = { + list = { + marker_color = "#1BFFE1"; + max_height = 300; + max_width = 400; + min_width = 400; + width = 400; + + item = { + activation_label = { + h_align = "fill"; + v_align = "fill"; + width = 20; + x_align = 0.5; + y_align = 0.5; + }; + + icon = { + pixel_size = 26; + theme = ""; + }; + }; + + margins = { + top = 8; + }; + }; + }; + + search = { + prompt = { + name = "prompt"; + icon = "edit-find"; + theme = ""; + pixel_size = 18; + h_align = "center"; + v_align = "center"; + }; + + clear = { + name = "clear"; + icon = "edit-clear"; + theme = ""; + pixel_size = 18; + h_align = "center"; + v_align = "center"; + }; + + input = { + h_align = "fill"; + h_expand = true; + icons = true; + }; + + spinner = { + hide = true; + }; + }; + }; + }; + }; + }; + + style = '' + @define-color foreground ${colors.fg.hex}; /* text */ + @define-color background ${colors.bg.hex}; /* base */ + @define-color cursor ${colors.primary.hex}; /* rosewater */ + + @define-color color0 ${colors.surface0.hex}; /* surface0 */ + @define-color color1 ${colors.red.hex}; /* red */ + @define-color color2 ${colors.green.hex}; /* green */ + @define-color color3 ${colors.yellow.hex}; /* yellow */ + @define-color color4 ${colors.blue.hex}; /* blue */ + @define-color color5 ${colors.pink.hex}; /* pink */ + @define-color color6 ${colors.teal.hex}; /* teal */ + @define-color color7 ${colors.subtext1.hex}; /* subtext1 */ + @define-color color8 ${colors.surface1.hex}; /* surface1 */ + @define-color color9 ${colors.red.hex}; /* red */ + @define-color color10 ${colors.green.hex}; /* green */ + @define-color color11 ${colors.yellow.hex}; /* yellow */ + @define-color color12 ${colors.blue.hex}; /* blue */ + @define-color color13 ${colors.pink.hex}; /* pink */ + @define-color color14 ${colors.teal.hex}; /* teal */ + @define-color color15 ${colors.subtext0.hex}; /* subtext0 */ + + #window, + #box, + #aiScroll, + #aiList, + #search, + #password, + #input, + #prompt, + #clear, + #typeahead, + #list, + child, + scrollbar, + slider, + #item, + #text, + #label, + #bar, + #sub, + #activationlabel { + all: unset; + } + + #cfgerr { + background: rgba(255, 0, 0, 0.4); + margin-top: 20px; + padding: 8px; + font-size: 1.2em; + } + + #window { + color: @foreground; + } + + #box { + border-radius: 2px; + background: @background; + padding: 32px; + border: 1px solid lighter(@background); + box-shadow: + 0 19px 38px rgba(0, 0, 0, 0.3), + 0 15px 12px rgba(0, 0, 0, 0.22); + } + + #search { + box-shadow: + 0 1px 3px rgba(0, 0, 0, 0.1), + 0 1px 2px rgba(0, 0, 0, 0.22); + background: lighter(@background); + padding: 8px; + } + + #prompt { + margin-left: 4px; + margin-right: 12px; + color: @foreground; + opacity: 0.2; + } + + #clear { + color: @foreground; + opacity: 0.8; + } + + #password, + #input, + #typeahead { + border-radius: 2px; + } + + #input { + background: none; + } + + #password { + } + + #spinner { + padding: 8px; + } + + #typeahead { + color: @foreground; + opacity: 0.8; + } + + #input placeholder { + opacity: 0.5; + } + + #list { + } + + child { + padding: 8px; + border-radius: 2px; + } + + child:selected, + child:hover { + background: alpha(@color1, 0.4); + } + + #item { + } + + #icon { + margin-right: 8px; + } + + #text { + } + + #label { + font-weight: 500; + } + + #sub { + opacity: 0.5; + font-size: 0.8em; + } + + #activationlabel { + } + + #bar { + } + + .barentry { + } + + .activation #activationlabel { + } + + .activation #text, + .activation #icon, + .activation #search { + opacity: 0.5; + } + + .aiItem { + padding: 10px; + border-radius: 2px; + color: @foreground; + background: @background; + } + + .aiItem.user { + padding-left: 0; + padding-right: 0; + } + + .aiItem.assistant { + background: lighter(@background); + } + ''; + }; + + config = { + app_launch_prefix = ""; + terminal_title_flag = ""; + locale = ""; + close_when_open = false; + theme = "nixos"; + monitor = ""; + hotreload_theme = false; + as_window = false; + timeout = 0; + disable_click_to_close = false; + force_keyboard_focus = false; + + keys = { + accept_typeahead = ["tab"]; + trigger_labels = "lalt"; + next = ["down"]; + prev = ["up"]; + close = ["esc"]; + remove_from_history = ["shift backspace"]; + resume_query = ["ctrl r"]; + toggle_exact_search = ["ctrl m"]; + + activation_modifiers = { + keep_open = "shift"; + alternate = "alt"; + }; + + ai = { + clear_session = ["ctrl x"]; + copy_last_response = ["ctrl c"]; + resume_session = ["ctrl r"]; + run_last_response = ["ctrl e"]; + }; + }; + + events = { + on_activate = ""; + on_selection = ""; + on_exit = ""; + on_launch = ""; + on_query_change = ""; + }; + + list = { + dynamic_sub = true; + keyboard_scroll_style = "emacs"; + max_entries = 50; + show_initial_entries = true; + single_click = true; + visibility_threshold = 20; + placeholder = "No Results"; + }; + + search = { + argument_delimiter = "#"; + placeholder = "Search..."; + delay = 0; + resume_last_query = false; + }; + + activation_mode = { + labels = "jkl;asdf"; + }; + + builtins = { + applications = { + weight = 5; + name = "applications"; + placeholder = "Applications"; + prioritize_new = true; + hide_actions_with_empty_query = true; + context_aware = true; + refresh = true; + show_sub_when_single = true; + show_icon_when_single = true; + show_generic = true; + history = true; + + actions = { + enabled = true; + hide_category = false; + hide_without_query = true; + }; + }; + + bookmarks = { + weight = 5; + placeholder = "Bookmarks"; + name = "bookmarks"; + icon = "bookmark"; + switcher_only = true; + + entries = [ + { + label = "Walker"; + url = "https://github.com/abenz1267/walker"; + keywords = ["walker" "github"]; + } + ]; + }; + + xdph_picker = { + hidden = true; + weight = 5; + placeholder = "Screen/Window Picker"; + show_sub_when_single = true; + name = "xdphpicker"; + switcher_only = true; + }; + + ai = { + weight = 5; + placeholder = "AI"; + name = "ai"; + icon = "help-browser"; + switcher_only = true; + show_sub_when_single = true; + + anthropic = { + prompts = [ + { + model = "claude-3-7-sonnet-20250219"; + temperature = 1; + max_tokens = 1000; + label = "General Assistant"; + prompt = "You are a helpful general assistant. Keep your answers short and precise."; + } + ]; + }; + }; + + calc = { + require_number = true; + weight = 5; + name = "calc"; + icon = "accessories-calculator"; + placeholder = "Calculator"; + min_chars = 4; + }; + + windows = { + weight = 5; + icon = "view-restore"; + name = "windows"; + placeholder = "Windows"; + show_icon_when_single = true; + }; + + clipboard = { + always_put_new_on_top = true; + exec = "wl-copy"; + weight = 5; + name = "clipboard"; + avoid_line_breaks = true; + placeholder = "Clipboard"; + image_height = 300; + max_entries = 10; + switcher_only = true; + }; + + commands = { + weight = 5; + icon = "utilities-terminal"; + switcher_only = true; + name = "commands"; + placeholder = "Commands"; + }; + + custom_commands = { + weight = 5; + icon = "utilities-terminal"; + name = "custom_commands"; + placeholder = "Custom Commands"; + }; + + emojis = { + exec = "wl-copy"; + weight = 5; + name = "emojis"; + placeholder = "Emojis"; + switcher_only = true; + history = true; + typeahead = true; + show_unqualified = false; + }; + + symbols = { + after_copy = ""; + weight = 5; + name = "symbols"; + placeholder = "Symbols"; + switcher_only = true; + history = true; + typeahead = true; + }; + + finder = { + use_fd = false; + fd_flags = "--ignore-vcs --type file"; + weight = 5; + icon = "file"; + name = "finder"; + placeholder = "Finder"; + switcher_only = true; + ignore_gitignore = true; + refresh = true; + concurrency = 8; + show_icon_when_single = true; + preview_images = false; + }; + + runner = { + eager_loading = true; + weight = 5; + icon = "utilities-terminal"; + name = "runner"; + placeholder = "Runner"; + typeahead = true; + history = true; + generic_entry = false; + refresh = true; + use_fd = false; + }; + + ssh = { + weight = 5; + icon = "preferences-system-network"; + name = "ssh"; + placeholder = "SSH"; + switcher_only = true; + history = true; + refresh = true; + }; + + switcher = { + weight = 5; + name = "switcher"; + placeholder = "Switcher"; + prefix = "/"; + }; + + websearch = { + keep_selection = true; + weight = 5; + icon = "applications-internet"; + name = "websearch"; + placeholder = "Websearch"; + + entries = [ + { + name = "searx"; + url = "https://search.zoeys.cloud/searx/search?q=%TERM%"; + } + ]; + }; + + dmenu = { + hidden = true; + weight = 5; + name = "dmenu"; + placeholder = "Dmenu"; + switcher_only = true; + show_icon_when_single = true; + }; + + translation = { + delay = 1000; + weight = 5; + name = "translation"; + icon = "accessories-dictionary"; + placeholder = "Translation"; + switcher_only = true; + provider = "googlefree"; + }; + }; + }; + }; + }; +} diff --git a/modules/home/apps/term/alacritty/default.nix b/modules/home/apps/term/alacritty/default.nix index e949f02..726b0fc 100644 --- a/modules/home/apps/term/alacritty/default.nix +++ b/modules/home/apps/term/alacritty/default.nix @@ -94,10 +94,10 @@ in { }; font = { size = 16.0; - normal = cfg.fonts.normal; - bold = cfg.fonts.bold; - italic = cfg.fonts.italic; - bold_italic = cfg.fonts.bold_italic; + normal = fonts.mono; + bold = "${fonts.mono} Bold"; + italic = "${fonts.mono} Italic"; + bold_italic = "${fonts.mono} Bold Italic"; offset = { x = 0; diff --git a/modules/home/apps/term/foot/default.nix b/modules/home/apps/term/foot/default.nix index 9c5d8d5..ad29f01 100644 --- a/modules/home/apps/term/foot/default.nix +++ b/modules/home/apps/term/foot/default.nix @@ -17,7 +17,7 @@ in { enable = true; settings = { main = { - font = "Iosevka:weight=bold:size=20"; + font = "${fonts.mono}:weight=bold:size=20"; }; colors = { alpha = "0.9"; diff --git a/modules/home/apps/term/ghostty/default.nix b/modules/home/apps/term/ghostty/default.nix index 584820c..274d703 100644 --- a/modules/home/apps/term/ghostty/default.nix +++ b/modules/home/apps/term/ghostty/default.nix @@ -10,27 +10,6 @@ with lib.custom; let in { options.apps.term.ghostty = with types; { enable = mkBoolOpt false "Enable Ghostty Term"; - - fonts = { - # normal = mkStringOpt "JetBrainsMonoNL Nerd Font Mono Bold" "Normal Font"; - # bold = mkStringOpt "JetBrainsMonoNL Nerd Font Mono ExtraBold" "Bold Font"; - # italic = mkStringOpt "JetBrainsMonoNL Nerd Font Mono Bold Italic" "Italic Font"; - # bold_italic = mkStringOpt "JetBrainsMonoNL Nerd Font Mono ExtraBold Italic" "Bold Italic Font"; - # normal = mkStringOpt "Pragmata Pro Mono" "Normal Font"; - # bold = mkStringOpt "Pragmata Pro Mono" "Bold Font"; - # italic = mkStringOpt "Iosevka Bold Italic" "Italic Font"; - # bold_italic = mkStringOpt "Iosevka ExtraBold Italic" "Bold Italic Font"; - - normal = mkStringOpt "Cozette" "Normal"; - bold = mkStringOpt "Cozette" "Bold"; - italic = mkStringOpt "Cozette" "Italic"; - bold_italic = mkStringOpt "Cozette" "Bold Italic"; - - # normal = mkStringOpt "Iosevka Nerd Font Mono" "Normal Font"; - # bold = mkStringOpt "Iosevka Nerd Font Mono" "Bold Font"; - # italic = mkStringOpt "Iosevka Nerd Font Mono" "Italic Font"; - # bold_italic = mkStringOpt "Iosevka Nerd Font Mono" "Bold Italic Font"; - }; }; config = mkIf cfg.enable { @@ -38,7 +17,7 @@ in { enable = true; settings = { - font-family = cfg.fonts.normal; + font-family = fonts.mono; gtk-single-instance = true; gtk-titlebar = false; diff --git a/modules/home/apps/term/kitty/default.nix b/modules/home/apps/term/kitty/default.nix index 3ce3e6a..f98d221 100644 --- a/modules/home/apps/term/kitty/default.nix +++ b/modules/home/apps/term/kitty/default.nix @@ -10,41 +10,26 @@ with lib.custom; let in { options.apps.term.kitty = with types; { enable = mkBoolOpt false "Enable Kitty Term"; - - fonts = { - # normal = mkStringOpt "JetBrainsMonoNL Nerd Font Mono Bold" "Normal Font"; - # bold = mkStringOpt "JetBrainsMonoNL Nerd Font Mono ExtraBold" "Bold Font"; - # italic = mkStringOpt "JetBrainsMonoNL Nerd Font Mono Bold Italic" "Italic Font"; - # bold_italic = mkStringOpt "JetBrainsMoIosevka ExtraBold ItalicnoNL Nerd Font Mono ExtraBold Italic" "Bold Italic Font"; - # normal = mkStringOpt "Kirsch Nerd Font Mono" "Normal Font"; - # bold = mkStringOpt "Kirsch Nerd Font Mono" "BBoldold Font"; - # italic = mkStringOpt "Kirsch Nerd Font Mono" "Italic Font"; - # bold_italic = mkStringOpt "Kirsch Nerd Font Mono" "Bold Italic Font"; - normal = mkStringOpt "PragmataPro Mono Liga" "Normal Font"; - bold = mkStringOpt "PragmataPro Mono Liga Bold" "Bold Font"; - italic = mkStringOpt "PragmataPro Mono Liga Italic" "Italic Font"; - bold_italic = mkStringOpt "PragmataPro Mono Liga Bold Italic" "Bold Italic Font"; - }; }; config = mkIf cfg.enable { programs.kitty = { enable = true; font = { - name = cfg.fonts.normal; + name = fonts.mono; size = 16; }; extraConfig = '' - bold_font ${cfg.fonts.bold} - italic_font ${cfg.fonts.italic} - bold_italic_font ${cfg.fonts.bold_italic} + bold_font ${fonts.mono} Bold Italic + italic_font ${fonts.mono} Italic + bold_italic_font ${fonts.mono} Bold Italic ''; catppuccin.enable = true; settings = { - window_padding_width = 12; + window_padding_width = 20; # background_opacity = "0.9"; background = colors.crust.hex; foreground = colors.text.hex; diff --git a/modules/home/apps/term/rio/default.nix b/modules/home/apps/term/rio/default.nix index b16419d..5d62949 100644 --- a/modules/home/apps/term/rio/default.nix +++ b/modules/home/apps/term/rio/default.nix @@ -16,7 +16,6 @@ in { config = mkIf cfg.enable { programs.rio = { enable = true; - # package = inputs.rio-term.packages.${pkgs.system}.default; settings = { window = { opacity = 0.9; @@ -32,27 +31,27 @@ in { fonts = { regular = { - family = "Iosevka"; + family = fonts.mono; style = "Normal"; - weight = 700; + weight = 400; }; bold = { - family = "Iosevka"; + family = fonts.mono; style = "Normal"; - weight = 800; - }; - - italic = { - family = "Iosevka"; - style = "Italic"; weight = 700; }; - bold-italic = { - family = "Iosevka"; + italic = { + family = fonts.mono; style = "Italic"; - weight = 800; + weight = 400; + }; + + bold-italic = { + family = fonts.mono; + style = "Italic"; + weight = 700; }; }; }; diff --git a/modules/home/rice/gtk/default.nix b/modules/home/rice/gtk/default.nix index e175b11..c584f05 100644 --- a/modules/home/rice/gtk/default.nix +++ b/modules/home/rice/gtk/default.nix @@ -26,8 +26,8 @@ in { enable = true; font = { - name = "Adwaita Sans"; - size = 11; + name = fonts.ui; + size = 12; }; theme = { diff --git a/modules/home/shells/zsh/default.nix b/modules/home/shells/zsh/default.nix index 8e12e8c..c74423a 100644 --- a/modules/home/shells/zsh/default.nix +++ b/modules/home/shells/zsh/default.nix @@ -22,7 +22,7 @@ in { LC_ALL = "en_US.UTF-8"; ZSH_AUTOSUGGEST_USE_ASYNC = "true"; SSH_AUTH_SOCK = "/run/user/1000/keyring/ssh"; - FLAKE = "/home/zoey/nixos/"; + NH_FLAKE = "/home/zoey/nixos/"; }; # zprof.enable = true; history = { @@ -33,7 +33,7 @@ in { ignoreSpace = true; }; - initExtra = let + initContent = let sources = with pkgs; [ "${zsh-nix-shell}/share/zsh-nix-shell/nix-shell.plugin.zsh" "${zsh-history}/share/zsh/init.zsh" diff --git a/modules/nixos/hardware/audio/default.nix b/modules/nixos/hardware/audio/default.nix index f796b6d..dae04eb 100644 --- a/modules/nixos/hardware/audio/default.nix +++ b/modules/nixos/hardware/audio/default.nix @@ -13,7 +13,7 @@ in { }; config = mkIf cfg.enable { - hardware.pulseaudio.enable = false; + services.pulseaudio.enable = false; security.rtkit.enable = true; services.pipewire = { enable = true; diff --git a/modules/nixos/hardware/gpu-passthru/default.nix b/modules/nixos/hardware/gpu-passthru/default.nix index cc99621..31e1120 100644 --- a/modules/nixos/hardware/gpu-passthru/default.nix +++ b/modules/nixos/hardware/gpu-passthru/default.nix @@ -112,9 +112,28 @@ in { }; config = mkIf cfg.enable { - boot.kernelParams = ["intel_iommu=on" "iommu=pt"]; + boot.kernelParams = ["intel_iommu=on" "iommu=pt" "transparent_hugepage=always"]; boot.kernelModules = ["vfio-pci"]; + # CachyOS-inspired system performance tweaks + boot.kernel.sysctl = { + # Virtual memory tweaks + "vm.swappiness" = 10; + "vm.dirty_background_ratio" = 5; + "vm.dirty_ratio" = 10; + "vm.vfs_cache_pressure" = 50; + "vm.max_map_count" = 16777216; + + # Network optimizations + "net.core.netdev_max_backlog" = 16384; + "net.ipv4.tcp_fastopen" = 3; + "net.ipv4.tcp_max_syn_backlog" = 8192; + "net.core.somaxconn" = 8192; + + # IO scheduler optimizations + "kernel.sched_autogroup_enabled" = 0; + }; + virtualisation.libvirtd = { enable = true; onBoot = "ignore"; @@ -219,16 +238,6 @@ in { text = stopScript; mode = "0755"; }; - - "libvirt/hooks/qemu.d/bazzite/prepare/begin/start.sh" = { - text = startScript; - mode = "0755"; - }; - - "libvirt/hooks/qemu.d/bazzite/release/end/stop.sh" = { - text = stopScript; - mode = "0755"; - }; }; }; } diff --git a/modules/nixos/hardware/nvidia/default.nix b/modules/nixos/hardware/nvidia/default.nix index 681f80c..1db5560 100644 --- a/modules/nixos/hardware/nvidia/default.nix +++ b/modules/nixos/hardware/nvidia/default.nix @@ -37,14 +37,49 @@ in { # https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus # Only available from driver 515.43.04+ # Currently alpha-quality/buggy, so false is currently the recommended setting. - open = false; + open = true; # Enable the Nvidia settings menu, # accessible via `nvidia-settings`. nvidiaSettings = false; # Optionally, you may need to select the appropriate driver version for your specific GPU. - package = config.boot.kernelPackages.nvidiaPackages.beta; + package = config.boot.kernelPackages.nvidiaPackages.beta.overrideAttrs { + patchesOpen = with pkgs; [ + (fetchpatch { + url = "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/6.14/misc/nvidia/0001-Enable-atomic-kernel-modesetting-by-default.patch"; + hash = "sha256-tvdm8nxxXslPUun33zj1kkYZOiWKK3F4nwcCkdzPW9s="; + }) + (fetchpatch { + url = "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/6.14/misc/nvidia/0002-Add-IBT-support.patch"; + hash = "sha256-JUT8FwBhyRhOWxwET7Zw/xkIl8g6UCLMXSTofr0OuSg="; + }) + (fetchpatch { + url = "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/6.14/misc/nvidia/0003-Kbuild-Convert-EXTRA_CFLAGS-to-ccflags-y.patch"; + hash = "sha256-W+yyiK6TpEs9IACMr/0V7EIP++u7MPOfa9ko3w8Gqtc="; + }) + (fetchpatch { + url = "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/6.14/misc/nvidia/0004-kernel-open-nvidia-Use-new-timer-functions-for-6.15.patch"; + hash = "sha256-T3SY2O6Pmc8BA0oana5xGGDhBxCizwmRqMyPvgF3j8A="; + }) + (fetchpatch { + url = "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/6.14/misc/nvidia/0005-nvidia-uvm-Use-__iowrite64_hi_lo.patch"; + hash = "sha256-T8BNr1H1vgEQoKB0S5cqcbq6fSQxiDK9bb/MCvMtzTI"; + }) + (fetchpatch { + url = "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/6.14/misc/nvidia/0006-nvidia-uvm-Use-page_pgmap.patch"; + hash = "sha256-YucFZ2Z7YSgUiah82uLOmd4Z/c5YLOXxzEZNO6ZvQQg="; + }) + (fetchpatch { + url = "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/6.14/misc/nvidia/0007-nvidia-uvm-Convert-make_device_exclusive_range-to-ma.patch"; + hash = "sha256-AehV7D+yYBmE8FWsUiagnjB8V7S8RJSTNcVMwZIgw/I="; + }) + (fetchpatch { + url = "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/6.14/misc/nvidia/0008-kbuild-Add-workaround-for-GCC-15-Compilation.patch"; + hash = "sha256-HrYBiAFy62Jll+ceVnGuJKGKDoaRObjAGIYa+yrAogA="; + }) + ]; + }; }; environment.variables = { diff --git a/modules/nixos/protocols/wayland/default.nix b/modules/nixos/protocols/wayland/default.nix index 0ab4f88..4151e2c 100644 --- a/modules/nixos/protocols/wayland/default.nix +++ b/modules/nixos/protocols/wayland/default.nix @@ -19,22 +19,16 @@ in { sway ''; - services = { - greetd = { - enable = false; - settings = rec { - initial_session = { - # command = "sway --unsupported-gpu"; - command = "Hyprland"; - user = "zoey"; - }; - default_session = initial_session; + services.greetd = { + enable = true; + settings = { + default_session = { + command = "niri-session"; + user = "zoey"; }; }; }; - services.xserver.displayManager.gdm.enable = true; - programs.uwsm = { enable = false; waylandCompositors = { @@ -88,10 +82,24 @@ in { XDG_CACHE_HOME = "/home/zoey/.cache"; CLUTTER_BACKEND = "wayland"; DEFAULT_BROWSER = "${pkgs.firefox}/bin/firefox"; + + # # CachyOS-inspired Nvidia optimizations for gaming + # __GL_THREADED_OPTIMIZATIONS = "1"; + # __GL_SHADER_DISK_CACHE = "1"; + # __GL_SHADER_DISK_CACHE_SIZE = "1000000000"; + # __GL_MaxFramesAllowed = "1"; # Reduces input latency + # __GL_YIELD = "USLEEP"; # Better CPU usage when GPU-bound + # DXVK_ASYNC = "1"; + # DXVK_FRAME_RATE = "0"; # No frame rate cap from DXVK + # PROTON_ENABLE_NVAPI = "1"; + # PROTON_HIDE_NVIDIA_GPU = "0"; + # WINE_FULLSCREEN_FSR = "1"; # Enable FSR upscaling for Wine/Proton games + # MANGOHUD = "1"; # Enable MangoHud by default + # MANGOHUD_CONFIG = "cpu_temp,gpu_temp,vram,ram,position=top-left,height=500,font_size=20"; }; }; - hardware.pulseaudio.support32Bit = true; + services.pulseaudio.support32Bit = true; xdg.portal = { enable = true; diff --git a/modules/nixos/sites/jellyfin/default.nix b/modules/nixos/sites/jellyfin/default.nix index cd4eeb0..5d01113 100644 --- a/modules/nixos/sites/jellyfin/default.nix +++ b/modules/nixos/sites/jellyfin/default.nix @@ -20,17 +20,17 @@ in { group = "users"; }; - virtualisation.oci-containers = { - containers.jellyfin-vue = { - image = "ghcr.io/jellyfin/jellyfin-vue:unstable"; - environment = { - "PUBLIC_JELLYFIN_API" = "http://localhost:8096"; - }; - ports = [ - "8065:80" - ]; - }; - }; + # virtualisation.oci-containers = { + # containers.jellyfin-vue = { + # image = "ghcr.io/jellyfin/jellyfin-vue:unstable"; + # environment = { + # "PUBLIC_JELLYFIN_API" = "http://localhost:8096"; + # }; + # ports = [ + # "8065:80" + # ]; + # }; + # }; networking.firewall.allowedTCPPorts = [8065]; }; diff --git a/modules/nixos/ui/fonts/default.nix b/modules/nixos/ui/fonts/default.nix index 5a6563e..f860026 100644 --- a/modules/nixos/ui/fonts/default.nix +++ b/modules/nixos/ui/fonts/default.nix @@ -62,50 +62,71 @@ in { noCvSs = true exportGlyphNames = true - [buildPlans.IosevkaCustom.variants] - inherits = "ss17" + [buildPlans.IosevkaCustom.variants.design] + one = "base-flat-top-serif" + two = "straight-neck-serifless" + four = "closed-serifless" + five = "oblique-arched-serifless" + six = "closed-contour" + seven = "bend-serifless" + eight = "crossing-asymmetric" + nine = "closed-contour" + zero = "oval-dotted" + capital-d = "more-rounded-serifless" + capital-g = "toothless-corner-serifless-hooked" + a = "double-storey-serifless" + g = "double-storey" + i = "hooky" + l = "serifed-semi-tailed" + r = "hookless-serifless" + t = "bent-hook-short-neck" + w = "straight-flat-top-serifless" + y = "straight-turn-serifless" + capital-eszet = "rounded-serifless" + long-s = "bent-hook-middle-serifed" + eszet = "longs-s-lig-serifless" + lower-lambda = "straight-turn" + lower-tau = "short-tailed" + lower-phi = "straight" + partial-derivative = "closed-contour" + cyrl-capital-u = "straight-turn-serifless" + cyrl-u = "straight-turn-serifless" + cyrl-ef = "split-serifless" + asterisk = "penta-low" + caret = "high" + guillemet = "straight" + number-sign = "slanted" + dollar = "open" + cent = "through-cap" + bar = "force-upright" + micro-sign = "tailed-serifless" + lig-ltgteq = "slanted" + lig-neq = "more-slanted-dotted" + lig-equal-chain = "without-notch" + lig-hyphen-chain = "without-notch" + lig-plus-chain = "with-notch" - [buildPlans.IosevkaCustom.variants.design] - capital-e = "top-left-serifed" - capital-u = "toothed-bottom-right-serifed" - f = "tailed" - m = "short-leg-top-left-and-bottom-right-serifed" - paren = "flat-arc" + [buildPlans.IosevkaCustom.weights.Regular] + shape = 400 + menu = 400 + css = 400 - [buildPlans.IosevkaCustom.ligations] - inherits = "dlig" + [buildPlans.IosevkaCustom.weights.Bold] + shape = 700 + menu = 700 + css = 700 - [buildPlans.IosevkaCustom.weights.Regular] - shape = 400 - menu = 400 - css = 400 + [buildPlans.IosevkaCustom.slopes.Upright] + angle = 0 + shape = "upright" + menu = "upright" + css = "normal" - [buildPlans.IosevkaCustom.weights.Medium] - shape = 500 - menu = 500 - css = 500 - - [buildPlans.IosevkaCustom.weights.SemiBold] - shape = 600 - menu = 600 - css = 600 - - [buildPlans.IosevkaCustom.weights.Bold] - shape = 700 - menu = 700 - css = 700 - - [buildPlans.IosevkaCustom.slopes.Upright] - angle = 0 - shape = "upright" - menu = "upright" - css = "normal" - - [buildPlans.IosevkaCustom.slopes.Italic] - angle = 9.4 - shape = "italic" - menu = "italic" - css = "italic" + [buildPlans.IosevkaCustom.slopes.Italic] + angle = 9.4 + shape = "italic" + menu = "italic" + css = "italic" ''; }) noto-fonts @@ -114,6 +135,8 @@ in { jetbrains-mono nerd-fonts.iosevka nerd-fonts.zed-mono + nerd-fonts.fira-code + nerd-fonts.jetbrains-mono adwaita-fonts cozette scientifica @@ -126,12 +149,11 @@ in { fontconfig = { defaultFonts = { monospace = [ - # "Pragmata Pro Mono" - "Iosevka" + fonts.mono "Noto Color Emoji" ]; - sansSerif = ["Adwaita Sans" "Noto Color Emoji"]; - serif = ["Noto Serif" "Noto Color Emoji"]; + sansSerif = [fonts.ui "Noto Color Emoji"]; + serif = [fonts.ui "Noto Color Emoji"]; emoji = ["Noto Color Emoji"]; }; }; diff --git a/systems/x86_64-linux/earth/default.nix b/systems/x86_64-linux/earth/default.nix index 1a09ae4..17992a1 100644 --- a/systems/x86_64-linux/earth/default.nix +++ b/systems/x86_64-linux/earth/default.nix @@ -37,10 +37,23 @@ memory.total = 32; }; + # CachyOS-inspired additional native optimizations + nixpkgs.config.packageOverrides = pkgs: { + # Override performance-critical packages with native optimizations + steam = pkgs.steam.override { + extraPkgs = pkgs: + with pkgs; [ + libva + mesa + vulkan-loader + ]; + }; + }; + specialisation = { plasma6 = { configuration = { - services.xserver.desktopManager.plasma6.enable = true; + services.desktopManager.plasma6.enable = true; programs.seahorse.enable = lib.mkForce false; }; @@ -57,7 +70,29 @@ localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers }; programs.steam.gamescopeSession.enable = true; - programs.gamemode.enable = true; + # programs.gamemode = { + # enable = true; + # settings = { + # general = { + # renice = 10; # Higher process priority for games + # ioprio = 0; # Highest I/O priority + # inhibit_screensaver = 1; # Prevent screensaver + # }; + # + # gpu = { + # gpu_device = 0; # GPU device index to use + # apply_gpu_optimisations = 1; # Apply GPU optimizations + # gpu_core_clock_mhz = 0; # Don't override core clock + # gpu_mem_clock_mhz = 0; # Don't override memory clock + # gpu_powermizer_mode = 1; # Maximum performance mode + # }; + # + # custom = { + # start = "${pkgs.libnotify}/bin/notify-send 'GameMode enabled' 'System optimizations activated'"; + # end = "${pkgs.libnotify}/bin/notify-send 'GameMode disabled' 'System returned to normal'"; + # }; + # }; + # }; ui.fonts.enable = true; @@ -112,15 +147,23 @@ # insertNameservers = ["1.1.1.1" "1.0.0.1"]; }; - boot.kernelPackages = pkgs.linuxPackages_zen; - boot.kernelPatches = [ - { - name = "bsb-patches"; - patch = pkgs.fetchpatch { - url = "https://gist.githubusercontent.com/galister/08cddf10ac18929647d5fb6308df3e4b/raw/0f6417b6cb069f19d6c28b730499c07de06ec413/combined-bsb-6-10.patch"; - hash = "sha256-u8O4foBHhU+T3yYkguBZ14EyCKujPzHh1TwFRg6GMsA="; - }; - } + services.scx.enable = true; + services.scx.scheduler = "scx_rusty"; + services.scx.package = pkgs.scx_git.full; + + boot.kernelPackages = pkgs.linuxPackages_cachyos-lto; + # CachyOS-inspired kernel parameters for better desktop responsiveness and gaming + boot.kernelParams = [ + "nowatchdog" + "preempt=full" + "threadirqs" + "tsc=reliable" + "clocksource=tsc" + "futex.futex2_interface=1" # Better Wine/Proton compatibility + "NVreg_UsePageAttributeTable=1" # Improved GPU memory management + "io_uring.sqpoll=2" # Modern I/O scheduler polling + "transparent_hugepage=madvise" # Better memory management + "elevator=bfq" # Better I/O scheduling for gaming ]; boot.supportedFilesystems = ["ntfs"]; @@ -145,9 +188,13 @@ environment.systemPackages = [ pkgs.sbctl - lib.custom.nixos-stable.vesktop pkgs.mangohud - pkgs.lutris + (pkgs.lutris.override { + extraPkgs = pkgs: [ + pkgs.wineWowPackages.stagingFull + pkgs.winetricks + ]; + }) pkgs.bottles pkgs.file-roller pkgs.podman-tui @@ -158,90 +205,18 @@ pkgs.protonup-qt pkgs.restic pkgs.qt5.qtwayland - (inputs.umu.packages.${system}.umu.override { - version = inputs.umu.shortRev; - truststore = true; - cbor2 = true; + pkgs.vkBasalt # Vulkan post-processing layer for better visuals + pkgs.goverlay # MangoHud and vkBasalt GUI configurator + pkgs.cpupower-gui # CPU frequency control GUI + pkgs.ananicy-cpp # Process priority daemon + (inputs.umu.packages.${system}.umu-launcher.override { + withTruststore = true; + withDeltaUpdates = true; }) inputs.agenix.packages.${system}.agenix inputs.awsvpnclient.packages.${system}.awsvpnclient - - pkgs.nautilus-python - (pkgs.writeTextFile { - name = "nautilus-open-kitty-here"; - destination = "/share/nautilus-python/extensions/open-kitty-here.py"; - text = '' - import os - import gi - gi.require_version('Nautilus', '3.0') - from gi.repository import Nautilus, GObject - - class OpenKittyTerminalExtension(GObject.GObject, Nautilus.MenuProvider): - def __init__(self): - pass - - def menu_activate_cb(self, menu, file): - if file.is_directory(): - path = file.get_location().get_path() - else: - path = file.get_parent_location().get_path() - os.system(f'kitty --directory "{path}" &') - - def get_file_items(self, window, files): - if len(files) != 1: - return - - file = files[0] - item = Nautilus.MenuItem( - name='OpenKittyTerminalExtension::OpenKitty', - label='Open in Kitty', - tip='Opens Kitty terminal in this location' - ) - item.connect('activate', self.menu_activate_cb, file) - return [item] - - def get_background_items(self, window, file): - item = Nautilus.MenuItem( - name='OpenKittyTerminalExtension::OpenKitty', - label='Open in Kitty', - tip='Opens Kitty terminal in this location' - ) - item.connect('activate', self.menu_activate_cb, file) - return [item] - ''; - }) ]; - # Create a custom monitors.xml for GDM - environment.etc."gdm/monitors.xml" = { - mode = "0644"; - text = '' - - - - 0 - 0 - yes - 1 - - - DP-3 - YOUR_VENDOR - YOUR_PRODUCT - YOUR_SERIAL - - - 2560 - 1440 - 240 - - - - - - ''; - }; - programs.zsh.enable = true; programs.fuse.userAllowOther = true; users.users.zoey = { @@ -277,7 +252,7 @@ services.samba = { enable = true; openFirewall = true; - shares = { + settings = { "SteamLibrary" = { path = "/mnt/bk"; # Update this path to your drive's mount point browseable = true; @@ -293,6 +268,18 @@ catppuccin.enable = true; programs.virt-manager.enable = true; + # Enable Ananicy for automatic process priority management + services.ananicy = { + enable = true; + package = pkgs.ananicy-cpp; + rulesProvider = pkgs.ananicy-rules-cachyos; + }; + + # CPU frequency governor always set to performance for desktop + powerManagement.cpuFreqGovernor = "performance"; + + systemd.services.NetworkManager-wait-online.enable = false; + sites.jellyfin.enable = true; sites.mealie.enable = false; @@ -302,7 +289,6 @@ dockerCompat = true; defaultNetwork.settings.dns_enabled = true; }; - virtualisation.waydroid.enable = true; hardware.gpu-passthru.enable = true; system.stateVersion = "24.05";