this repo has no description
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Update, Fix bufferline catppuccin, Remove projectnvim

Ben C 8e049f7d 5dc4068f

+183 -117
+21 -21
flake.lock
··· 31 31 ] 32 32 }, 33 33 "locked": { 34 - "lastModified": 1755850042, 35 - "narHash": "sha256-YooO7k/ufm8KGVqSAV9edGkv3Cm07cvINSP478sWppo=", 34 + "lastModified": 1756028045, 35 + "narHash": "sha256-j6ehEdta7YnXtk42cdYQEElCKfnbe24yfeHJwszgyes=", 36 36 "owner": "catppuccin", 37 37 "repo": "nix", 38 - "rev": "233b344b42072b30a00fef1d8bb9ffb73bf1af3d", 38 + "rev": "ad015344f592b6ebb82de853b747dd577926ec77", 39 39 "type": "github" 40 40 }, 41 41 "original": { ··· 202 202 ] 203 203 }, 204 204 "locked": { 205 - "lastModified": 1755521603, 206 - "narHash": "sha256-tsZtTJOWgQ3I2qPMi7YYT8ju7QRRyzYFByxOZ1BPiIU=", 205 + "lastModified": 1756126213, 206 + "narHash": "sha256-iSmyMn8r5NJfTWEsp6R/5jmMHrVLnQ/icebYfNP5QnQ=", 207 207 "owner": "nix-community", 208 208 "repo": "flakelight", 209 - "rev": "06521a6725f85db6467c398651e49ba8238cb6e0", 209 + "rev": "4415f8e61c770441f01a5b2550da5815aeebe144", 210 210 "type": "github" 211 211 }, 212 212 "original": { ··· 286 286 ] 287 287 }, 288 288 "locked": { 289 - "lastModified": 1755810213, 290 - "narHash": "sha256-QdenO8f0PTg+tC6HuSvngKcbRZA5oZKmjUT+MXKOLQg=", 289 + "lastModified": 1756022458, 290 + "narHash": "sha256-J1i35r4HfNDdPpwL0vOBaZopQudAUVtartEerc1Jryc=", 291 291 "owner": "nix-community", 292 292 "repo": "home-manager", 293 - "rev": "6911d3e7f475f7b3558b4f5a6aba90fa86099baa", 293 + "rev": "9e3a33c0bcbc25619e540b9dfea372282f8a9740", 294 294 "type": "github" 295 295 }, 296 296 "original": { ··· 374 374 ] 375 375 }, 376 376 "locked": { 377 - "lastModified": 1755404379, 378 - "narHash": "sha256-Q6ZxZDBmD/B988Jjbx7/NchxOKIpOKBBrx9Yb0zMzpQ=", 377 + "lastModified": 1756008611, 378 + "narHash": "sha256-rfTBWuTXi9/X7GhtF562FKNXKh2kvKb6dwI5lV1SjPE=", 379 379 "owner": "nix-community", 380 380 "repo": "nix-index-database", 381 - "rev": "ebbc1c05f786ae39bb5e04e57bf2c10c44a649e3", 381 + "rev": "52dec1cb33a614accb9e01307e17816be974d24d", 382 382 "type": "github" 383 383 }, 384 384 "original": { ··· 404 404 }, 405 405 "nixpkgs": { 406 406 "locked": { 407 - "lastModified": 1755615617, 408 - "narHash": "sha256-HMwfAJBdrr8wXAkbGhtcby1zGFvs+StOp19xNsbqdOg=", 407 + "lastModified": 1756125398, 408 + "narHash": "sha256-XexyKZpf46cMiO5Vbj+dWSAXOnr285GHsMch8FBoHbc=", 409 409 "owner": "NixOS", 410 410 "repo": "nixpkgs", 411 - "rev": "20075955deac2583bb12f07151c2df830ef346b4", 411 + "rev": "3b9f00d7a7bf68acd4c4abb9d43695afb04e03a5", 412 412 "type": "github" 413 413 }, 414 414 "original": { ··· 428 428 "systems": "systems_2" 429 429 }, 430 430 "locked": { 431 - "lastModified": 1755814403, 432 - "narHash": "sha256-2iULLpTIzhRF+7ppTlfAfTGqFJknKOPjjUHlm2lqFMs=", 431 + "lastModified": 1756148061, 432 + "narHash": "sha256-9QlWBvwDlizUa7YwlBnrmdXvh5pjaVGLG7u1N68VX5k=", 433 433 "owner": "nix-community", 434 434 "repo": "nixvim", 435 - "rev": "d96069b1e14c7d9b756cc7c1dcf59f04ef35756b", 435 + "rev": "8e3ca3fc1f3ae23dee0e6d35dd4a70ea8ef7164c", 436 436 "type": "github" 437 437 }, 438 438 "original": { ··· 607 607 ] 608 608 }, 609 609 "locked": { 610 - "lastModified": 1755830208, 611 - "narHash": "sha256-fMa/Hcg+4O2h+kl3gNPjtGSWPI8NtCl3LYMsejK6qGA=", 610 + "lastModified": 1756197489, 611 + "narHash": "sha256-S16rPaBH1TnMbDyL5NlGSJcYd7wPlOEWTStdBDL7BHw=", 612 612 "owner": "oxalica", 613 613 "repo": "rust-overlay", 614 - "rev": "802a7b97f8ff672ba2dec70c9e354f51f844e796", 614 + "rev": "8ec04f46f1edeeed3f870da62191745b93975da7", 615 615 "type": "github" 616 616 }, 617 617 "original": {
+1 -3
nixosModules/base/boot.nix
··· 3 3 boot.tmp.cleanOnBoot = true; 4 4 5 5 # Give me back my RAM! 6 - services.logind.extraConfig = '' 7 - RuntimeDirectorySize=100M 8 - ''; 6 + services.logind.settings.Login.RuntimeDirectorySize = "100M"; 9 7 }
-1
nixosModules/base/nix.nix
··· 21 21 "nix-command" 22 22 "flakes" 23 23 "pipe-operator" 24 - "repl-flake" 25 24 ]; 26 25 auto-optimise-store = true; 27 26 fallback = true;
+11 -27
nixosModules/dev/nvim.nix
··· 347 347 undo.enable = true; 348 348 }; 349 349 keymaps = lib.fix (self: { 350 - "<leader>p" = { 351 - action = "projects"; 352 - options.desc = "Projects"; 353 - }; 354 350 "<leader>u" = { 355 351 action = "undo"; 356 352 options.desc = "Undo Tree"; ··· 465 461 onClick = "ToggleTerm"; 466 462 }) 467 463 (btn { 468 - val = "󰉋 Open Project"; 469 - onClick = "Telescope projects"; 470 - }) 471 - (btn { 472 464 val = "󰅙 Quit"; 473 465 onClick = "q"; 474 466 }) ··· 567 559 bufferline = { 568 560 enable = true; 569 561 settings.highlights.__raw = '' 570 - require("catppuccin.groups.integrations.bufferline").get() 562 + require("catppuccin.groups.integrations.bufferline").get_theme() 571 563 ''; 572 564 settings.options = { 573 565 indicator.style = "none"; ··· 678 670 679 671 nix-develop = { 680 672 enable = true; 681 - package = 682 - pkgs.vimPlugins.nix-develop-nvim.overrideAttrs ( 683 - prev: next: { 684 - src = 685 - pkgs.fetchFromGitHub { 686 - owner = "Bwc9876"; 687 - repo = "nix-develop.nvim"; 688 - rev = "089cd52191ccbb3726594e21cd96567af6088dd5"; 689 - sha256 = "sha256-EIEJk8/IAuG+UICUJ2F8QakgRpFrQ1ezDSJ79NAVuD8= 690 - "; 691 - }; 692 - } 693 - ); 694 - }; 695 - 696 - project-nvim = { 697 - enable = true; 698 - enableTelescope = true; 673 + package = pkgs.vimPlugins.nix-develop-nvim.overrideAttrs ( 674 + prev: next: { 675 + src = pkgs.fetchFromGitHub { 676 + owner = "Bwc9876"; 677 + repo = "nix-develop.nvim"; 678 + rev = "089cd52191ccbb3726594e21cd96567af6088dd5"; 679 + sha256 = "sha256-EIEJk8/IAuG+UICUJ2F8QakgRpFrQ1ezDSJ79NAVuD8="; 680 + }; 681 + } 682 + ); 699 683 }; 700 684 701 685 neo-tree = {
+126 -52
nixosModules/graphics/news.nix
··· 1 1 {pkgs, ...}: let 2 2 yt-feed = id: { 3 3 url = "https://www.youtube.com/feeds/videos.xml?channel_id=" + id; 4 - tags = ["!" "youtube"]; 4 + tags = [ 5 + "!" 6 + "youtube" 7 + ]; 5 8 }; 6 9 yt-subs = [ 7 - "UCmEzz-dPBVrsy4ZluSsYHDg" # Hyperplexed 8 - "UCa8W2_uf81Ew6gYuw0VPSeA" # Juxtoposed 10 + "UCa8W2_uf81Ew6gYuw0VPSeA" # Juxtaposed 9 11 "UCMiyV_Ib77XLpzHPQH_q0qQ" # Veronica Explains 10 12 "UC7_YxT-KID8kRbqZo7MyscQ" # Markiplier 11 13 "UCUMwY9iS8oMyWDYIe6_RmoA" # No Boilerplate ··· 13 15 "UCYIwBA7mwDWnrckXs7gt76Q" # Snapcube 14 16 "UCCHruaQlOKPHTl8iOPGDjFg" # Snapcube 2 (VODs) 15 17 "UCL7DDQWP6x7wy0O6L5ZIgxg" # 2ndJerma 16 - "UC_S45UpAYVuc0fYEcHN9BVQ" # BoyBoy 17 - "UC-oTbS-PARG-kASUBRoCIUQ" # Camille 18 18 "UC9z7EZAbkphEMg0SP7rw44A" # carykh 19 19 "UCpmvp5czsIrQHsbqya4-6Jw" # Chad Chad 20 20 "UC0e3QhIYukixgh5VVpKHH9Q" # Code Bullet 21 21 "UCfPUcG3oCmXEYgdFuwlFh8w" # Dingo Doodles 22 22 "UCsBjURrPoezykLs9EqgamOA" # Fireship 23 - "UCpFOj1CQMr9a3zaqEfhkTJw" # Grayfruit 24 23 "UCGwu0nbY2wSkW8N-cghnLpA" # Jaiden Animations 25 - "UCoLUji8TYrgDy74_iiazvYA" # Jarvis Johnson 26 24 "UClBNmmlREy6BD8PSTFBDyQg" # Kan Gao 27 25 "UCm8EsftbfNzSiRHzc7I59KQ" # Kevin Faang 28 26 "UCtHaxi4GTYDpJgMSGy7AeSw" # Michael Reeves 29 - "UCKxl5H_YOjlE_9sbcp65_pA" # Rekha Shankar 30 - "UC9CuvdOVfMPvKCiwdGKL3cQ" # Game Grumps 31 27 "UCXq2nALoSbxLMehAvYTxt_A" # The Grumps 32 28 "UCBa659QWEk1AI4Tg--mrJ2A" # Tom Scott 33 29 "UCFLwN7vRu8M057qJF8TsBaA" # UpIsNotJump ··· 35 31 "UCPsSoOCRNIj-eo2UbXfcdAw" # xen 42 36 32 "UCYBbrJH2H6tmQZ7VHyA_esA" # Saltydkdan 37 33 "UCBZb-2BHvUtZ-WzrEj16lug" # Raicuparta 38 - "UClyGlKOhDUooPJFy4v_mqPg" # DougDoug 39 - "UC5sc1ysFs7RfjjEFMuQ3ZQw" # DougDougDoug 40 - "UCqVEHtQoXHmUCfJ-9smpTSg" # Answer in Progress 41 34 "UCPDXXXJj9nax0fr0Wfc048g" # Dropout 42 - "UCQALLeQPoZdZC4JNUboVEUg" # Jabrils 43 35 "UC8EYr_ArKMKaxfgRq-iCKzA" # WindowsG Electronics 44 36 "UCJXa3_WNNmIpewOtCHf3B0g" # LaurieWired 45 37 ]; ··· 84 76 { 85 77 title = "Outer Wilds Mods"; 86 78 url = "https://outerwildsmods.com/feed.xml"; 87 - tags = ["dev" "outer-wilds"]; 79 + tags = [ 80 + "dev" 81 + "outer-wilds" 82 + ]; 88 83 } 89 - { 90 - title = "Philly Voice"; 91 - url = "https://www.phillyvoice.com/feed/section/news/"; 92 - tags = ["local"]; 93 - } 94 - { 95 - title = "ChesCo"; 96 - url = "https://www.mychesco.com/feed"; 97 - tags = ["local"]; 98 - } 84 + # { 85 + # title = "Philly Voice"; 86 + # url = "https://www.phillyvoice.com/feed/section/news/"; 87 + # tags = ["local"]; 88 + # } 89 + # { 90 + # title = "ChesCo"; 91 + # url = "https://www.mychesco.com/feed"; 92 + # tags = ["local"]; 93 + # } 99 94 { 100 95 title = "Mobius Digital"; 101 96 url = "https://www.mobiusdigitalgames.com/news/feed"; ··· 104 99 { 105 100 title = "NixOS Blog"; 106 101 url = "https://nixos.org/blog/feed.xml"; 107 - tags = ["dev" "linux" "nixos"]; 102 + tags = [ 103 + "dev" 104 + "linux" 105 + "nixos" 106 + ]; 108 107 } 109 108 { 110 109 title = "Linux Kernel Releases"; 111 110 url = "https://www.kernel.org/feeds/kdist.xml"; 112 - tags = ["dev" "linux"]; 111 + tags = [ 112 + "dev" 113 + "linux" 114 + ]; 113 115 } 114 116 { 115 117 title = "Linux Weekly News"; 116 118 url = "https://lwn.net/headlines/newrss"; 117 - tags = ["dev" "linux"]; 119 + tags = [ 120 + "dev" 121 + "linux" 122 + ]; 118 123 } 119 124 { 120 125 title = "Linux Kernel Planet"; 121 126 url = "https://planet.kernel.org/rss20.xml"; 122 - tags = ["dev" "linux"]; 127 + tags = [ 128 + "dev" 129 + "linux" 130 + ]; 123 131 } 124 132 { 125 133 title = "Free Desktop Planet"; 126 134 url = "https://planet.freedesktop.org/atom.xml"; 127 - tags = ["dev" "linux"]; 135 + tags = [ 136 + "dev" 137 + "linux" 138 + ]; 128 139 } 129 140 { 130 141 title = "KDE Blog"; 131 142 url = "https://blogs.kde.org/index.xml"; 132 - tags = ["dev" "linux"]; 143 + tags = [ 144 + "dev" 145 + "linux" 146 + ]; 147 + } 148 + { 149 + title = "Windows 11 Updates"; 150 + url = "https://support.microsoft.com/en-us/feed/rss/4ec863cc-2ecd-e187-6cb3-b50c6545db92"; 151 + tags = [ 152 + "dev" 153 + ]; 154 + } 155 + { 156 + title = "Windows Server 2025 Updates"; 157 + url = "https://support.microsoft.com/en-us/feed/rss/c7b7e227-e17e-8633-fd90-9d28fb739cc5"; 158 + tags = [ 159 + "dev" 160 + ]; 133 161 } 134 162 { 135 163 title = "Cloudflare Blog"; 136 164 url = "https://blog.cloudflare.com/rss"; 137 - tags = ["dev" "security"]; 165 + tags = [ 166 + "dev" 167 + "security" 168 + ]; 138 169 } 139 170 { 140 171 title = "Rust Blog"; 141 172 url = "https://blog.rust-lang.org/feed.xml"; 142 - tags = ["dev" "rust"]; 173 + tags = [ 174 + "dev" 175 + "rust" 176 + ]; 143 177 } 144 178 { 145 179 title = "Tauri Blog"; 146 180 url = "https://tauri.app/blog/rss.xml"; 147 - tags = ["dev" "rust"]; 181 + tags = [ 182 + "dev" 183 + "rust" 184 + ]; 148 185 } 149 186 { 150 187 title = "Node.js Blog"; 151 188 url = "https://nodejs.org/en/feed/blog.xml"; 152 - tags = ["dev" "web"]; 189 + tags = [ 190 + "dev" 191 + "web" 192 + ]; 153 193 } 154 194 { 155 195 title = "V8 Blog"; 156 196 url = "https://v8.dev/blog.atom"; 157 - tags = ["dev" "web"]; 197 + tags = [ 198 + "dev" 199 + "web" 200 + ]; 158 201 } 159 202 { 160 203 title = "Vite Blog"; 161 204 url = "https://vitejs.dev/blog.rss"; 162 - tags = ["dev" "web"]; 205 + tags = [ 206 + "dev" 207 + "web" 208 + ]; 163 209 } 164 210 { 165 211 title = "React Blog"; 166 212 url = "https://react.dev/rss.xml"; 167 - tags = ["dev" "web"]; 213 + tags = [ 214 + "dev" 215 + "web" 216 + ]; 168 217 } 169 218 { 170 219 title = "Astro JS"; 171 220 url = "https://astro.build/rss.xml"; 172 - tags = ["dev" "web"]; 221 + tags = [ 222 + "dev" 223 + "web" 224 + ]; 173 225 } 174 226 { 175 227 title = "W3C Blog"; 176 228 url = "https://www.w3.org/blog/feed/"; 177 - tags = ["dev" "web"]; 229 + tags = [ 230 + "dev" 231 + "web" 232 + ]; 178 233 } 179 234 { 180 235 title = "Mozilla Blog"; 181 236 url = "https://blog.mozilla.org/en/feed/"; 182 - tags = ["dev" "web"]; 237 + tags = [ 238 + "dev" 239 + "web" 240 + ]; 183 241 } 184 242 { 185 243 title = "Mozilla Nightly Blog"; 186 244 url = "https://blog.nightly.mozilla.org/feed/"; 187 - tags = ["dev" "web"]; 245 + tags = [ 246 + "dev" 247 + "web" 248 + ]; 188 249 } 189 250 { 190 251 title = "Mozilla Developer Network"; 191 252 url = "https://developer.mozilla.org/en-US/blog/rss.xml"; 192 - tags = ["dev" "web"]; 253 + tags = [ 254 + "dev" 255 + "web" 256 + ]; 193 257 } 194 258 { 195 259 title = "Chrome Dev Blog"; 196 260 url = "https://developer.chrome.com/static/blog/feed.xml"; 197 - tags = ["dev" "web"]; 261 + tags = [ 262 + "dev" 263 + "web" 264 + ]; 198 265 } 199 266 { 200 267 title = "Webkit Blog"; 201 268 url = "https://webkit.org/feed/"; 202 - tags = ["dev" "web"]; 269 + tags = [ 270 + "dev" 271 + "web" 272 + ]; 203 273 } 204 274 { 205 275 title = "GitHub Blog"; 206 276 url = "https://github.blog/feed/"; 207 - tags = ["dev" "github"]; 277 + tags = [ 278 + "dev" 279 + "github" 280 + ]; 208 281 } 209 282 { 210 283 title = "GitHub Status"; 211 284 url = "https://www.githubstatus.com/history.rss"; 212 - tags = ["dev" "github"]; 285 + tags = [ 286 + "dev" 287 + "github" 288 + ]; 213 289 } 214 290 { 215 291 title = "Veronica Explains"; 216 292 url = "https://vkc.sh/feed/"; 217 - tags = ["linux" "personal-blog"]; 293 + tags = [ 294 + "linux" 295 + "personal-blog" 296 + ]; 218 297 } 219 298 { 220 299 title = "Tom Scott Newsletter"; ··· 270 349 title = "Framework Laptop"; 271 350 url = "https://frame.work/blog.rss"; 272 351 tags = ["hardware"]; 273 - } 274 - { 275 - title = "Neo Win"; 276 - url = "https://www.neowin.net/news/rss/"; 277 - tags = ["tech"]; 278 352 } 279 353 { 280 354 title = "Ars Technica";
+24 -13
res/news-open.nu
··· 2 2 3 3 const YT_REGEX = "(?:https?:\\/\\/)?(?:www\\.)?(?:youtu\\.be\\/|youtube\\.com\\/(?:embed\\/|v\\/|playlist\\?|watch\\?v=|watch\\?.+(?:&|&#38;);v=))([a-zA-Z0-9\\-_]{11})?(?:(?:\\?|&|&#38;)index=((?:\\d){1,3}))?(?:(?:\\?|&|&#38;)?list=([a-zA-Z\\-_0-9]{34}))?(?:\\S+)?" 4 4 5 + def disp_text [url: string] { 6 + let name = $url | url parse | get path | path basename; 7 + $in | nvim -R -n $"+file ($name)" 8 + } 9 + 10 + def fetch_clean_webpage [url: string] { 11 + try { 12 + rdrview -B "w3m -no-cookie -dump -cols 90" $url 13 + } catch { 14 + w3m -no-cookie -dump -cols 90 $url 15 + } 16 + } 17 + 5 18 def main [ 6 19 url: string; 7 20 ] { ··· 13 26 } 14 27 15 28 if ($type == "image/svg+xml") { 29 + # SVGs can't be displayed with kitty's graphics protocol 16 30 xdg-open $url 17 31 } else if ($type | str starts-with "image/") { 32 + # Simple image viewer 18 33 http get $url | kitten icat 19 34 input "Press enter to close the image viewer" 20 35 } else if ($type | str starts-with "video/") or ($url =~ $YT_REGEX) { 36 + # QMPlay2 is handy for opening URLs and YT videos directly 21 37 qmplay2 --open $url 22 38 } else if ($type | str starts-with "text/html") { 23 - let w3m_opts = $"-no-cookie -o confirm_qq=FALSE -o display_link_number=TRUE -o extbrowser=($env.CURRENT_FILE)"; 24 - let w3m_cmd = $"w3m ($w3m_opts)"; 25 - let s = (term size).columns; 26 - stty cols 90; 27 - try { 28 - rdrview "-B" $w3m_cmd $url 29 - } catch { 30 - bash -c $"($w3m_cmd) ($url)" 31 - } 32 - stty cols $s 39 + # Try to use rdrview to get rid of unimportant parts of the webpage 40 + # Then render its HTML to a nice format with w3m 41 + # Finally display in neovim (I don't wanna change the w3m keybinds) 42 + fetch_clean_webpage $url | disp_text $url; 33 43 } else if ($type | str starts-with "text/") { 34 - let txt = http get $url; 35 - let filename = $url | split row "/" | last | split row "?" | first; 36 - $txt | bat "--paging" "always" "--file-name" $filename 44 + # Simply display text files in neovim, might just merge this 45 + # with the HTML handler since it would work prolly? 46 + http get $url | disp_text $url 37 47 } else { 48 + # Fallback to opening in a GUI app is possible 38 49 xdg-open $url 39 50 } 40 51 }