From 21082cc73ff594cc6b7a6a0d3744aec987d08670 Mon Sep 17 00:00:00 2001 From: ulic-youthlic Date: Sun, 18 Jan 2026 16:28:58 +0800 Subject: [PATCH] feat: Improve noctalia settings and update flake inputs --- flake.lock | 234 ++++----- home/david/modules/programs/noctalia.nix | 224 -------- .../modules/programs/noctalia/default.nix | 76 +++ .../modules/programs/noctalia/plugins.json | 16 + .../modules/programs/noctalia/settings.json | 495 ++++++++++++++++++ home/david/modules/wallpaper.nix | 6 +- 6 files changed, 709 insertions(+), 342 deletions(-) delete mode 100644 home/david/modules/programs/noctalia.nix create mode 100644 home/david/modules/programs/noctalia/default.nix create mode 100644 home/david/modules/programs/noctalia/plugins.json create mode 100644 home/david/modules/programs/noctalia/settings.json diff --git a/flake.lock b/flake.lock index b1673c2..fe7e126 100644 --- a/flake.lock +++ b/flake.lock @@ -153,11 +153,11 @@ "doomemacs": { "flake": false, "locked": { - "lastModified": 1767229380, - "narHash": "sha256-Uc6qONH3jjUVDgW+pPBCGC7mh88ZY05u1y37fQrsxq0=", + "lastModified": 1767773143, + "narHash": "sha256-QL/t9v2kFNxBDyNJb/s411o3mxujan+QX5IZglTdpTk=", "owner": "doomemacs", "repo": "doomemacs", - "rev": "38d94da67dc84897a4318714dcc48494c016d8c4", + "rev": "3e15fb36d7f94f0a218bda977be4d3f5da983a71", "type": "github" }, "original": { @@ -172,11 +172,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1767261384, - "narHash": "sha256-oFEcPMYlQOZXR5Iy98f/mZ4nUqHcSqOreZWphtuyUMY=", + "lastModified": 1768703823, + "narHash": "sha256-oonTamz3/eaJ9QqJWUWKpIXI3PtxP3j5rTGqSKscREo=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "d013f3560d0037f9c21c5407110907711aead6c9", + "rev": "42822bddba89071d6a3f0c17644ada71de09fbbd", "type": "github" }, "original": { @@ -195,11 +195,11 @@ ] }, "locked": { - "lastModified": 1767256309, - "narHash": "sha256-T7PO06R7kIY66JbtLUQvN1csCpwDkjMfVNSDAvMoIRU=", + "lastModified": 1768616209, + "narHash": "sha256-X5A9sNji2KkCKTHWScqxSbePKuw02G1uRiYTgAmY4ZY=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "a7538b95565487617873a3b7183ed9d81b83ff6d", + "rev": "9105cf487aead6b5960a08153610c87936c88e36", "type": "github" }, "original": { @@ -211,11 +211,11 @@ "firefox-gnome-theme": { "flake": false, "locked": { - "lastModified": 1764724327, - "narHash": "sha256-OkFLrD3pFR952TrjQi1+Vdj604KLcMnkpa7lkW7XskI=", + "lastModified": 1764873433, + "narHash": "sha256-1XPewtGMi+9wN9Ispoluxunw/RwozuTRVuuQOmxzt+A=", "owner": "rafaelmardojai", "repo": "firefox-gnome-theme", - "rev": "66b7c635763d8e6eb86bd766de5a1e1fbfcc1047", + "rev": "f7ffd917ac0d253dbd6a3bf3da06888f57c69f92", "type": "github" }, "original": { @@ -282,11 +282,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1765835352, - "narHash": "sha256-XswHlK/Qtjasvhd1nOa1e8MgZ8GS//jBoTqWtrS1Giw=", + "lastModified": 1768135262, + "narHash": "sha256-PVvu7OqHBGWN16zSi6tEmPwwHQ4rLPU9Plvs8/1TUBY=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "a34fae9c08a15ad73f295041fec82323541400a9", + "rev": "80daad04eddbbf5a4d883996a73f3f542fa437ac", "type": "github" }, "original": { @@ -303,11 +303,11 @@ ] }, "locked": { - "lastModified": 1765835352, - "narHash": "sha256-XswHlK/Qtjasvhd1nOa1e8MgZ8GS//jBoTqWtrS1Giw=", + "lastModified": 1768135262, + "narHash": "sha256-PVvu7OqHBGWN16zSi6tEmPwwHQ4rLPU9Plvs8/1TUBY=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "a34fae9c08a15ad73f295041fec82323541400a9", + "rev": "80daad04eddbbf5a4d883996a73f3f542fa437ac", "type": "github" }, "original": { @@ -321,11 +321,11 @@ "nixpkgs-lib": "nixpkgs-lib_2" }, "locked": { - "lastModified": 1765835352, - "narHash": "sha256-XswHlK/Qtjasvhd1nOa1e8MgZ8GS//jBoTqWtrS1Giw=", + "lastModified": 1768135262, + "narHash": "sha256-PVvu7OqHBGWN16zSi6tEmPwwHQ4rLPU9Plvs8/1TUBY=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "a34fae9c08a15ad73f295041fec82323541400a9", + "rev": "80daad04eddbbf5a4d883996a73f3f542fa437ac", "type": "github" }, "original": { @@ -469,11 +469,11 @@ "flake": false, "locked": { "host": "gitlab.gnome.org", - "lastModified": 1764524476, - "narHash": "sha256-bTmNn3Q4tMQ0J/P0O5BfTQwqEnCiQIzOGef9/aqAZvk=", + "lastModified": 1767737596, + "narHash": "sha256-eFujfIUQDgWnSJBablOuG+32hCai192yRdrNHTv0a+s=", "owner": "GNOME", "repo": "gnome-shell", - "rev": "c0e1ad9f0f703fd0519033b8f46c3267aab51a22", + "rev": "ef02db02bf0ff342734d525b5767814770d85b49", "type": "gitlab" }, "original": { @@ -490,11 +490,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1767104824, - "narHash": "sha256-B/5myvheUJGXwNkeGIS5xgeZisxR5lELi4YqhXykFa4=", + "lastModified": 1768367261, + "narHash": "sha256-fRFNRmMcf0pZyE5nGCSkr/8l1bT1YOhCLGgpUMQlQ+E=", "owner": "helix-editor", "repo": "helix", - "rev": "496f0e1b41e6735873c1376ac10a6a722767f328", + "rev": "594b5655aa496c6c2539509eb00d5abd082ce89e", "type": "github" }, "original": { @@ -511,11 +511,11 @@ ] }, "locked": { - "lastModified": 1767104570, - "narHash": "sha256-GKgwu5//R+cLdKysZjGqvUEEOGXXLdt93sNXeb2M/Lk=", + "lastModified": 1768707181, + "narHash": "sha256-GdwFfnwdUgABFpc4sAmX7GYx8eQs6cEjOPo6nBJ0YaI=", "owner": "nix-community", "repo": "home-manager", - "rev": "e4e78a2cbeaddd07ab7238971b16468cc1d14daf", + "rev": "83bcb17377f0242376a327e742e9404e9a528647", "type": "github" }, "original": { @@ -608,11 +608,11 @@ "nixpkgs": "nixpkgs_4" }, "locked": { - "lastModified": 1767225850, - "narHash": "sha256-gmoKSWO4DM/VnlskS9UmQnXyZTm0xcl4cDx3e/CJZeY=", + "lastModified": 1768694683, + "narHash": "sha256-pB512IZ8jDu8BQ45gv3UoVCwLUoPDM82Tg5wIBb93bo=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "dfbb35b3cf396ead65028b7023f07f51927f86e3", + "rev": "0dc0043f996b3583a21011765a53109db5a9d016", "type": "github" }, "original": { @@ -624,11 +624,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1767222005, - "narHash": "sha256-SewYGH53QWyiHBNCxJuyESu/D7v0tXi2oq3NREI/AeA=", + "lastModified": 1768656175, + "narHash": "sha256-qnBvj3GvyF757Z8qJLjcVk/NW5p1wldeLHLdQPbehOM=", "owner": "neovim", "repo": "neovim", - "rev": "170992c8d218f28dcffd967ecc2bae3fb3c46545", + "rev": "a5e5ec8910ea35ebb86dcba7f58333d9d4caca47", "type": "github" }, "original": { @@ -649,11 +649,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1767257541, - "narHash": "sha256-eAZD0o5eC85jES3k8S0e1NlJJv+rTgofhl0QajhFjyM=", + "lastModified": 1768684335, + "narHash": "sha256-YLjGGcSNE2lK+TUqDFEX6IBjPZNjLaoxAXji3mmZbvs=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "0eb70f38f02923ff59743a0978fed88f04c98c7d", + "rev": "c133a45b02dba5fd229532067d6a22d5209436d6", "type": "github" }, "original": { @@ -682,11 +682,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1767160009, - "narHash": "sha256-aTj88rDBdhmzaGXoFPOsHjXYM2OjNttixsGftT/X0dI=", + "lastModified": 1768678265, + "narHash": "sha256-Ub8eed4DsfIDWyg30xEe+8bSxL/z5Af/gCjmvJ0V/Hs=", "owner": "YaLTeR", "repo": "niri", - "rev": "cf0b4bc0ca93ab5c18b562ada1d8609b67b3c4e3", + "rev": "d7184a04b904e07113f4623610775ae78d32394c", "type": "github" }, "original": { @@ -705,11 +705,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1767257180, - "narHash": "sha256-RR30MPbCJw1mTYjYjnCHe3+xO82pW+l3AJEIMmcwxYw=", + "lastModified": 1768639397, + "narHash": "sha256-DhdY6FeC/5vBM+Q4f/m1dAdl6DmN69ZzLipD7aiUPjs=", "owner": "marienz", "repo": "nix-doom-emacs-unstraightened", - "rev": "2e42b934c69d3b049693954fd0a3aabf3747e360", + "rev": "5eb4d7f1c031043a77b34c9a5c95e500f080ecaa", "type": "github" }, "original": { @@ -724,11 +724,11 @@ "nixpkgs": "nixpkgs_5" }, "locked": { - "lastModified": 1767060285, - "narHash": "sha256-E8oSyoOQnqVCSg7+D0512fnL8JeltFqWaKETJrmo1Q8=", + "lastModified": 1768702158, + "narHash": "sha256-k9OVfn2Osw5wBvCazstlzjGY8zC82RvTlcmeGFZ5uak=", "owner": "fufexan", "repo": "nix-gaming", - "rev": "45ce6a5470514514079e2d65eea7dddafba6bfc8", + "rev": "88f03a8a5685eca1c645372ebd1767b9b228d60c", "type": "github" }, "original": { @@ -748,11 +748,11 @@ ] }, "locked": { - "lastModified": 1767244872, - "narHash": "sha256-nrLLrBW9MkZTvT39TjkooVnl/7Se47xp5fJP5iQbHaY=", + "lastModified": 1768710268, + "narHash": "sha256-45Whm5k/sNiBzGJWKJvz50Z9NQVycXmM2bb0YBzsT9U=", "owner": "nix-community", "repo": "nix4nvchad", - "rev": "64bbb6516895cfd2ca806ded0d57b40c28aa7ab4", + "rev": "25267531fec57db1b3c55e6646c1ea8c9721bac6", "type": "github" }, "original": { @@ -763,11 +763,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1767185284, - "narHash": "sha256-ljDBUDpD1Cg5n3mJI81Hz5qeZAwCGxon4kQW3Ho3+6Q=", + "lastModified": 1768584846, + "narHash": "sha256-IRPmIOV2tPwxbhP/I9M5AmwhTC0lMPtoPStC+8T6xl0=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "40b1a28dce561bea34858287fbb23052c3ee63fe", + "rev": "cce68f4a54fa4e3d633358364477f5cc1d782440", "type": "github" }, "original": { @@ -779,11 +779,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1767116409, - "narHash": "sha256-5vKw92l1GyTnjoLzEagJy5V5mDFck72LiQWZSOnSicw=", + "lastModified": 1768564909, + "narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "cad22e7d996aea55ecab064e84834289143e44a0", + "rev": "e4bae1bd10c9c57b2cf517953ab70060a828ee6f", "type": "github" }, "original": { @@ -825,11 +825,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1767051569, - "narHash": "sha256-0MnuWoN+n1UYaGBIpqpPs9I9ZHW4kynits4mrnh1Pk4=", + "lastModified": 1767313136, + "narHash": "sha256-16KkgfdYqjaeRGBaYsNrhPRRENs0qzkQVUooNHtoy2w=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "40ee5e1944bebdd128f9fbada44faefddfde29bd", + "rev": "ac62194c3917d5f474c1a844b6fd6da2db95077d", "type": "github" }, "original": { @@ -841,11 +841,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1767047869, - "narHash": "sha256-tzYsEzXEVa7op1LTnrLSiPGrcCY6948iD0EcNLWcmzo=", + "lastModified": 1768621446, + "narHash": "sha256-6YwHV1cjv6arXdF/PQc365h1j+Qje3Pydk501Rm4Q+4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "89dbf01df72eb5ebe3b24a86334b12c27d68016a", + "rev": "72ac591e737060deab2b86d6952babd1f896d7c5", "type": "github" }, "original": { @@ -889,11 +889,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1767151656, - "narHash": "sha256-ujL2AoYBnJBN262HD95yer7QYUmYp5kFZGYbyCCKxq8=", + "lastModified": 1768569498, + "narHash": "sha256-bB6Nt99Cj8Nu5nIUq0GLmpiErIT5KFshMQJGMZwgqUo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f665af0cdb70ed27e1bd8f9fdfecaf451260fc55", + "rev": "be5afa0fcb31f0a96bf9ecba05a516c66fcd8114", "type": "github" }, "original": { @@ -905,11 +905,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1766840161, - "narHash": "sha256-Ss/LHpJJsng8vz1Pe33RSGIWUOcqM1fjrehjUkdrWio=", + "lastModified": 1768569498, + "narHash": "sha256-bB6Nt99Cj8Nu5nIUq0GLmpiErIT5KFshMQJGMZwgqUo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3edc4a30ed3903fdf6f90c837f961fa6b49582d1", + "rev": "be5afa0fcb31f0a96bf9ecba05a516c66fcd8114", "type": "github" }, "original": { @@ -921,11 +921,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1767116409, - "narHash": "sha256-5vKw92l1GyTnjoLzEagJy5V5mDFck72LiQWZSOnSicw=", + "lastModified": 1768564909, + "narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "cad22e7d996aea55ecab064e84834289143e44a0", + "rev": "e4bae1bd10c9c57b2cf517953ab70060a828ee6f", "type": "github" }, "original": { @@ -953,11 +953,11 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1767116409, - "narHash": "sha256-5vKw92l1GyTnjoLzEagJy5V5mDFck72LiQWZSOnSicw=", + "lastModified": 1768564909, + "narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "cad22e7d996aea55ecab064e84834289143e44a0", + "rev": "e4bae1bd10c9c57b2cf517953ab70060a828ee6f", "type": "github" }, "original": { @@ -969,11 +969,11 @@ }, "nixpkgs_9": { "locked": { - "lastModified": 1761236834, - "narHash": "sha256-+pthv6hrL5VLW2UqPdISGuLiUZ6SnAXdd2DdUE+fV2Q=", + "lastModified": 1767364772, + "narHash": "sha256-fFUnEYMla8b7UKjijLnMe+oVFOz6HjijGGNS1l7dYaQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d5faa84122bc0a1fd5d378492efce4e289f8eac1", + "rev": "16c7794d0a28b5a37904d55bcca36003b9109aaa", "type": "github" }, "original": { @@ -990,11 +990,11 @@ "systems": "systems_5" }, "locked": { - "lastModified": 1767185101, - "narHash": "sha256-gyNczVfQMoi+OQghxBik6wx8XLsCelok9SMl1bMLUoc=", + "lastModified": 1768486009, + "narHash": "sha256-I7ymDe6UQooHy9I9wrafKCCDnRbox/EMWAgJgpm7fGs=", "owner": "nix-community", "repo": "nixvim", - "rev": "df9d3637e80b98c5b937fc73a465d0eea2c3aa88", + "rev": "03a638205b5cb04ba9c2ed6c604e137b15f07fa1", "type": "github" }, "original": { @@ -1010,11 +1010,11 @@ ] }, "locked": { - "lastModified": 1767236403, - "narHash": "sha256-psQ9bfjYzt3nMj3fiwPXrEOPwTRl8MXM/CY9nOzgeBs=", + "lastModified": 1768713905, + "narHash": "sha256-qbJ1JclkDhgmCPaKxFSigt0l8+Y6LUC957jLB4YiR1o=", "owner": "noctalia-dev", "repo": "noctalia-shell", - "rev": "17dd7f9a0ec4a98c079035bad8abf3c65b4bc436", + "rev": "c8f1cbb79e13ce97b50728dbf146fe25c113eb31", "type": "github" }, "original": { @@ -1029,11 +1029,11 @@ "nixpkgs": "nixpkgs_8" }, "locked": { - "lastModified": 1767260184, - "narHash": "sha256-oROZyKoiFeIUccTgWTsFsS6OlXegwF6CzJluaZI6vyA=", + "lastModified": 1768724691, + "narHash": "sha256-ly/K9UboM6PfSP3/F8/MZlv6ig0+NvZqklmST1kHRxQ=", "owner": "nix-community", "repo": "NUR", - "rev": "e7b58a546da0ba434418023cb1dba057c9d9d7bc", + "rev": "d1e6f67d595140006df9aff2a83e49a64932895d", "type": "github" }, "original": { @@ -1054,11 +1054,11 @@ ] }, "locked": { - "lastModified": 1764773531, - "narHash": "sha256-mCBl7MD1WZ7yCG6bR9MmpPO2VydpNkWFgnslJRIT1YU=", + "lastModified": 1767810917, + "narHash": "sha256-ZKqhk772+v/bujjhla9VABwcvz+hB2IaRyeLT6CFnT0=", "owner": "nix-community", "repo": "NUR", - "rev": "1d9616689e98beded059ad0384b9951e967a17fa", + "rev": "dead29c804adc928d3a69dfe7f9f12d0eec1f1a4", "type": "github" }, "original": { @@ -1185,11 +1185,11 @@ ] }, "locked": { - "lastModified": 1766894905, - "narHash": "sha256-pn8AxxfajqyR/Dmr1wnZYdUXHgM3u6z9x0Z1Ijmz2UQ=", + "lastModified": 1768709255, + "narHash": "sha256-aigyBfxI20FRtqajVMYXHtj5gHXENY2gLAXEhfJ8/WM=", "owner": "Mic92", "repo": "sops-nix", - "rev": "61b39c7b657081c2adc91b75dd3ad8a91d6f07a7", + "rev": "5e8fae80726b66e9fec023d21cd3b3e638597aa9", "type": "github" }, "original": { @@ -1201,11 +1201,11 @@ "spacemacs": { "flake": false, "locked": { - "lastModified": 1767034774, - "narHash": "sha256-vD6mT0B9Wlx//KS4ZSgykhTrBdHkOYdj/6m5SJ8b17k=", + "lastModified": 1768512276, + "narHash": "sha256-QG3Xqwr49n0p9B8t5fIOid3JfCb1tDg3XpfHfi1XZLM=", "owner": "syl20bnr", "repo": "spacemacs", - "rev": "4d5fa081b59549082039561c52c875bee56e4ae0", + "rev": "e5b6fbb74618716dbaa24c1ac6b6cd2061058a24", "type": "github" }, "original": { @@ -1237,11 +1237,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1766603026, - "narHash": "sha256-J2DDdRqSU4w9NNgkMfmMeaLIof5PXtS9RG7y6ckDvQE=", + "lastModified": 1768603455, + "narHash": "sha256-ih6dYNhX1oSg0emfSAvf3iRcgsJtMmS6RUaoCX8kNoU=", "owner": "nix-community", "repo": "stylix", - "rev": "551df12ee3ebac52c5712058bd97fd9faa4c3430", + "rev": "590e5c68c4d5e8c766420473c0185d75113f653b", "type": "github" }, "original": { @@ -1376,11 +1376,11 @@ "tinted-schemes": { "flake": false, "locked": { - "lastModified": 1763914658, - "narHash": "sha256-Hju0WtMf3iForxtOwXqGp3Ynipo0EYx1AqMKLPp9BJw=", + "lastModified": 1767710407, + "narHash": "sha256-+W1EB79Jl0/gm4JqmO0Nuc5C7hRdp4vfsV/VdzI+des=", "owner": "tinted-theming", "repo": "schemes", - "rev": "0f6be815d258e435c9b137befe5ef4ff24bea32c", + "rev": "2800e2b8ac90f678d7e4acebe4fa253f602e05b2", "type": "github" }, "original": { @@ -1392,11 +1392,11 @@ "tinted-tmux": { "flake": false, "locked": { - "lastModified": 1764465359, - "narHash": "sha256-lbSVPqLEk2SqMrnpvWuKYGCaAlfWFMA6MVmcOFJjdjE=", + "lastModified": 1767489635, + "narHash": "sha256-e6nnFnWXKBCJjCv4QG4bbcouJ6y3yeT70V9MofL32lU=", "owner": "tinted-theming", "repo": "tinted-tmux", - "rev": "edf89a780e239263cc691a987721f786ddc4f6aa", + "rev": "3c32729ccae99be44fe8a125d20be06f8d7d8184", "type": "github" }, "original": { @@ -1408,11 +1408,11 @@ "tinted-zed": { "flake": false, "locked": { - "lastModified": 1764464512, - "narHash": "sha256-rCD/pAhkMdCx6blsFwxIyvBJbPZZ1oL2sVFrH07lmqg=", + "lastModified": 1767488740, + "narHash": "sha256-wVOj0qyil8m+ouSsVZcNjl5ZR+1GdOOAooAatQXHbuU=", "owner": "tinted-theming", "repo": "base16-zed", - "rev": "907dbba5fb8cf69ebfd90b00813418a412d0a29a", + "rev": "11abb0b282ad3786a2aae088d3a01c60916f2e40", "type": "github" }, "original": { @@ -1426,11 +1426,11 @@ "nixpkgs": "nixpkgs_9" }, "locked": { - "lastModified": 1767122417, - "narHash": "sha256-yOt/FTB7oSEKQH9EZMFMeuldK1HGpQs2eAzdS9hNS/o=", + "lastModified": 1768158989, + "narHash": "sha256-67vyT1+xClLldnumAzCTBvU0jLZ1YBcf4vANRWP3+Ak=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "dec15f37015ac2e774c84d0952d57fcdf169b54d", + "rev": "e96d59dff5c0d7fddb9d113ba108f03c3ef99eca", "type": "github" }, "original": { @@ -1459,11 +1459,11 @@ "xwayland-satellite-unstable": { "flake": false, "locked": { - "lastModified": 1766429945, - "narHash": "sha256-9Kv4gWagx/u4RfZJzBMAoagW9ava5waxd+XoTkzqF7E=", + "lastModified": 1768106915, + "narHash": "sha256-HlLo9zH4ULRXlmlIK948cHmdVhxyHgTHxGaoCRlW4k8=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "0dde7ca1d3a8e8c5082533d76084e2aa02bef70e", + "rev": "72245e108f3b03c3c4474d2de9de2d1830849603", "type": "github" }, "original": { @@ -1482,11 +1482,11 @@ ] }, "locked": { - "lastModified": 1767239595, - "narHash": "sha256-QUfbe5AJP2f190ugNNb4y12ZzOWTnCi66yuM3iYRBzE=", + "lastModified": 1768711359, + "narHash": "sha256-3n2ixvAMWij1ZOh/KMJJqizX+sRU083wFR8pa6+IkyU=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "5776ae08801a16562b5626a64dedc57032f9a430", + "rev": "8c9e9425946f290fa60e0e6fd7b1464cbcdbc53e", "type": "github" }, "original": { diff --git a/home/david/modules/programs/noctalia.nix b/home/david/modules/programs/noctalia.nix deleted file mode 100644 index 14b70dd..0000000 --- a/home/david/modules/programs/noctalia.nix +++ /dev/null @@ -1,224 +0,0 @@ -{ - config, - lib, - inputs, - pkgs, - ... -}: let - cfg = config.david.programs.noctalia; - inherit (inputs.niri-flake.lib.kdl) node leaf flag plain; - spawn = leaf "spawn"; - noctalia = args: (spawn (["noctalia-shell" "ipc" "call"] ++ args)); - - layer-rule = plain "layer-rule"; - match = leaf "match"; -in { - options = { - david.programs.noctalia = { - enable = lib.mkEnableOption "noctalia"; - niriExtraConfig = lib.mkOption { - type = inputs.niri-flake.lib.kdl.types.kdl-document; - default = [ - (plain "binds" [ - (plain "Mod+V" [(noctalia ["launcher" "clipboard"])]) - (plain "Mod+Shift+P" [(noctalia ["lockScreen" "lock"])]) - (plain "Mod+Space" [(noctalia ["launcher" "toggle"])]) - (node "XF86AudioRaiseVolume" [{allow-when-locked = true;}] - [(noctalia ["volume" "increase"])]) - (node "XF86AudioLowerVolume" [{allow-when-locked = true;}] - [(noctalia ["volume" "decrease"])]) - (node "XF86AudioMute" [{allow-when-locked = true;}] - [(noctalia ["volume" "muteOutput"])]) - (node "XF86AudioMicMute" [{allow-when-locked = true;}] - [(noctalia ["volume" "muteInput"])]) - ]) - (layer-rule [ - (match [{namespace = "^noctalia-wallpaper-.*$";}]) - (leaf "place-within-backdrop" [true]) - ]) - (layer-rule [ - (match [{namespace = "^noctalia-notifications-.*$";}]) - (leaf "block-out-from" ["screen-capture"]) - ]) - (plain "layout" [ - (plain "focus-ring" [ - (leaf "active-gradient" [ - { - from = "#8288fcff"; - to = "#8288fc00"; - angle = 45; - "in" = "oklch"; - } - ]) - ]) - ]) - ]; - apply = configuration: config.david.programs.niri.configHelper.validated-config-for (inputs.niri-flake.lib.kdl.serialize.nodes configuration); - }; - }; - }; - config = lib.mkIf cfg.enable { - stylix.targets.noctalia-shell.enable = false; - home.packages = [pkgs.app2unit]; - programs.noctalia-shell = { - enable = true; - systemd.enable = true; - settings = { - settingsVersion = 23; - appLauncher = { - enableClipboardHistory = true; - position = "center"; - sortByMostUsed = true; - terminalCommand = "ghostty -e"; - useApp2Unit = true; - }; - audio = { - volumeStep = 1; - volumeOverdrive = true; - cavaFrameRate = 165; - visualizerQuality = "high"; - visualizerType = "mirrored"; - }; - bar = { - density = "comfortable"; - exclusive = true; - floating = false; - outerCorners = true; - position = "right"; - showCapsule = true; - widgets = { - center = [ - {id = "Taskbar";} - { - id = "Workspace"; - hideUnoccupied = true; - } - ]; - left = [ - {id = "SystemMonitor";} - { - id = "MediaMini"; - hideWhenIdle = false; - hideMode = "hidden"; - showAlbumArt = true; - } - { - id = "AudioVisualizer"; - hideWhenIdle = true; - } - ]; - right = [ - {id = "WallpaperSelector";} - {id = "ScreenRecorder";} - {id = "Brightness";} - {id = "DarkMode";} - {id = "NotificationHistory";} - {id = "Volume";} - { - id = "Tray"; - drawerEnabled = true; - pinned = [ - "Fcitx" - ]; - } - {id = "Clock";} - ]; - }; - }; - brightness = { - brightnessStep = 1; - enableDdcSupport = true; - enforceMinimum = true; - }; - colorSchemes = { - generateTemplatesForPredefined = false; - predefinedScheme = "Catppuccin"; - schedulingMode = "location"; - useWallpaperColors = false; - darkMode = false; - }; - controlCenter = { - cards = [ - { - enabled = true; - id = "profile-card"; - } - { - enabled = true; - id = "shortcuts-card"; - } - { - enabled = true; - id = "audio-card"; - } - { - enabled = true; - id = "weather-card"; - } - { - enabled = true; - id = "media-sysmon-card"; - } - ]; - position = "close_to_bar_button"; - shortcuts = { - left = [{id = "Bluetooth";} {id = "WallpaperSelector";}]; - right = [{id = "KeepAwake";} {id = "NightLight";}]; - }; - }; - dock = { - enabled = false; - }; - general = { - animationSpeed = 2; - avatarImage = "${config.home.homeDirectory}/.face"; - compactLockScreen = false; - dimmerOpacity = 0; - enableShadows = true; - forceBlackScreenCorners = false; - language = "zh-CN"; - lockOnSuspend = true; - showScreenCorners = false; - }; - location = { - firstDayOfWeek = 1; - showCalendarEvents = true; - showCalendarWeather = true; - weatherEnabled = true; - }; - network = { - wifiEnabled = false; - }; - notifications = { - enabled = true; - location = "bottom_right"; - overlayLayer = true; - respectExpireTimeout = true; - }; - osd = { - enabled = true; - location = "bottom"; - overlayLayer = true; - }; - setupCompleted = true; - ui = { - fontDefault = "Source Han Serif SC"; - fontFixed = "Maple Mono NF CN"; - panelsAttachedToBar = true; - settingsPanelAttachToBar = false; - tooltipsEnabled = true; - }; - wallpaper = { - directory = "${config.home.homeDirectory}/wallpaper"; - enabled = true; - panelPosition = "center"; - randomEnabled = true; - randomIntervalSec = 900; - recursiveSearch = true; - transitionDuration = 1500; - transitionType = "random"; - }; - }; - }; - }; -} diff --git a/home/david/modules/programs/noctalia/default.nix b/home/david/modules/programs/noctalia/default.nix new file mode 100644 index 0000000..c7227ed --- /dev/null +++ b/home/david/modules/programs/noctalia/default.nix @@ -0,0 +1,76 @@ +{ + config, + lib, + inputs, + pkgs, + ... +}: let + cfg = config.david.programs.noctalia; + inherit (inputs.niri-flake.lib.kdl) node leaf flag plain; + spawn = leaf "spawn"; + noctalia = args: (spawn (["noctalia-shell" "ipc" "call"] ++ args)); + + layer-rule = plain "layer-rule"; + match = leaf "match"; +in { + options = { + david.programs.noctalia = { + enable = lib.mkEnableOption "noctalia"; + niriExtraConfig = lib.mkOption { + type = inputs.niri-flake.lib.kdl.types.kdl-document; + default = [ + (plain "binds" [ + (plain "Mod+V" [(noctalia ["launcher" "clipboard"])]) + (plain "Mod+Shift+P" [(noctalia ["lockScreen" "lock"])]) + (plain "Mod+Space" [(noctalia ["launcher" "toggle"])]) + (node "XF86AudioRaiseVolume" [{allow-when-locked = true;}] + [(noctalia ["volume" "increase"])]) + (node "XF86AudioLowerVolume" [{allow-when-locked = true;}] + [(noctalia ["volume" "decrease"])]) + (node "XF86AudioMute" [{allow-when-locked = true;}] + [(noctalia ["volume" "muteOutput"])]) + (node "XF86AudioMicMute" [{allow-when-locked = true;}] + [(noctalia ["volume" "muteInput"])]) + ]) + (layer-rule [ + (match [{namespace = "^noctalia-wallpaper-.*$";}]) + (leaf "place-within-backdrop" [true]) + ]) + (layer-rule [ + (match [{namespace = "^noctalia-notifications-.*$";}]) + (leaf "block-out-from" ["screen-capture"]) + ]) + (plain "layout" [ + (plain "focus-ring" [ + (leaf "active-gradient" [ + { + from = "#8288fcff"; + to = "#8288fc00"; + angle = 45; + "in" = "oklch"; + } + ]) + ]) + ]) + ]; + apply = configuration: config.david.programs.niri.configHelper.validated-config-for (inputs.niri-flake.lib.kdl.serialize.nodes configuration); + }; + }; + }; + config = lib.mkIf cfg.enable { + stylix.targets.noctalia-shell.enable = false; + home.packages = [pkgs.app2unit]; + programs.noctalia-shell = { + enable = true; + systemd.enable = true; + plugins = toString ./plugins.json; + settings = + lib.recursiveUpdate + (builtins.fromJSON (builtins.readFile ./settings.json)) + { + general.avatarImage = "${config.home.homeDirectory}/.face"; + wallpaper.directory = "${config.home.homeDirectory}/${config.david.wallpaper.path}"; + }; + }; + }; +} diff --git a/home/david/modules/programs/noctalia/plugins.json b/home/david/modules/programs/noctalia/plugins.json new file mode 100644 index 0000000..1b6d643 --- /dev/null +++ b/home/david/modules/programs/noctalia/plugins.json @@ -0,0 +1,16 @@ +{ + "sources": [ + { + "enabled": true, + "name": "Official Noctalia Plugins", + "url": "https://github.com/noctalia-dev/noctalia-plugins" + } + ], + "states": { + "timer": { + "enabled": true, + "sourceUrl": "https://github.com/noctalia-dev/noctalia-plugins" + } + }, + "version": 1 +} diff --git a/home/david/modules/programs/noctalia/settings.json b/home/david/modules/programs/noctalia/settings.json new file mode 100644 index 0000000..29b64a6 --- /dev/null +++ b/home/david/modules/programs/noctalia/settings.json @@ -0,0 +1,495 @@ +{ + "settingsVersion": 41, + "bar": { + "position": "right", + "monitors": [], + "density": "comfortable", + "showOutline": false, + "showCapsule": true, + "capsuleOpacity": 1, + "backgroundOpacity": 0.93, + "useSeparateOpacity": false, + "floating": false, + "marginVertical": 4, + "marginHorizontal": 4, + "outerCorners": true, + "exclusive": true, + "hideOnOverview": false, + "widgets": { + "left": [ + { + "compactMode": true, + "diskPath": "/", + "id": "SystemMonitor", + "showCpuTemp": true, + "showCpuUsage": true, + "showDiskUsage": true, + "showGpuTemp": false, + "showLoadAverage": true, + "showMemoryAsPercent": true, + "showMemoryUsage": true, + "showNetworkStats": true, + "useMonospaceFont": true, + "usePrimaryColor": false + }, + { + "compactMode": false, + "compactShowAlbumArt": true, + "compactShowVisualizer": false, + "hideMode": "hidden", + "hideWhenIdle": false, + "id": "MediaMini", + "maxWidth": 145, + "panelShowAlbumArt": true, + "panelShowVisualizer": true, + "scrollingMode": "hover", + "showAlbumArt": true, + "showArtistFirst": false, + "showProgressRing": true, + "showVisualizer": false, + "useFixedWidth": false, + "visualizerType": "wave" + } + ], + "center": [ + { + "colorizeIcons": false, + "hideMode": "hidden", + "iconScale": 0.8, + "id": "Taskbar", + "maxTaskbarWidth": 40, + "onlyActiveWorkspaces": true, + "onlySameOutput": true, + "showPinnedApps": true, + "showTitle": false, + "smartWidth": true, + "titleWidth": 120 + }, + { + "characterCount": 2, + "colorizeIcons": false, + "enableScrollWheel": true, + "followFocusedScreen": false, + "groupedBorderOpacity": 1, + "hideUnoccupied": true, + "iconScale": 0.8, + "id": "Workspace", + "labelMode": "index", + "showApplications": false, + "showLabelsOnlyWhenOccupied": true, + "unfocusedIconsOpacity": 1 + } + ], + "right": [ + { + "id": "plugin:timer" + }, + { + "displayMode": "onhover", + "id": "Brightness" + }, + { + "hideWhenZero": false, + "hideWhenZeroUnread": false, + "id": "NotificationHistory", + "showUnreadBadge": true + }, + { + "displayMode": "onhover", + "id": "Volume", + "middleClickCommand": "pwvucontrol || pavucontrol" + }, + { + "blacklist": [], + "colorizeIcons": false, + "drawerEnabled": true, + "hidePassive": false, + "id": "Tray", + "pinned": [ + "Fcitx" + ] + }, + { + "customFont": "", + "formatHorizontal": "HH:mm ddd, MMM dd", + "formatVertical": "HH mm - dd MM", + "id": "Clock", + "tooltipFormat": "HH:mm ddd, MMM dd", + "useCustomFont": false, + "usePrimaryColor": true + } + ] + } + }, + "general": { + "dimmerOpacity": 0, + "showScreenCorners": false, + "forceBlackScreenCorners": false, + "scaleRatio": 1, + "radiusRatio": 1, + "iRadiusRatio": 1, + "boxRadiusRatio": 1, + "screenRadiusRatio": 1, + "animationSpeed": 2, + "animationDisabled": false, + "compactLockScreen": true, + "lockOnSuspend": true, + "showSessionButtonsOnLockScreen": true, + "showHibernateOnLockScreen": true, + "enableShadows": true, + "shadowDirection": "bottom_right", + "shadowOffsetX": 2, + "shadowOffsetY": 3, + "language": "zh-CN", + "allowPanelsOnScreenWithoutBar": true, + "showChangelogOnStartup": true, + "telemetryEnabled": true + }, + "ui": { + "fontDefault": "Source Han Serif SC", + "fontFixed": "Maple Mono NF CN", + "fontDefaultScale": 1, + "fontFixedScale": 1, + "tooltipsEnabled": true, + "panelBackgroundOpacity": 0.9500000000000001, + "panelsAttachedToBar": true, + "settingsPanelMode": "centered", + "wifiDetailsViewMode": "grid", + "bluetoothDetailsViewMode": "grid", + "networkPanelView": "wifi", + "bluetoothHideUnnamedDevices": false, + "boxBorderEnabled": false + }, + "location": { + "weatherEnabled": true, + "weatherShowEffects": true, + "useFahrenheit": false, + "use12hourFormat": false, + "showWeekNumberInCalendar": true, + "showCalendarEvents": true, + "showCalendarWeather": true, + "analogClockInCalendar": false, + "firstDayOfWeek": 1, + "hideWeatherTimezone": false, + "hideWeatherCityName": true + }, + "calendar": { + "cards": [ + { + "enabled": true, + "id": "calendar-header-card" + }, + { + "enabled": true, + "id": "calendar-month-card" + }, + { + "enabled": true, + "id": "weather-card" + } + ] + }, + "wallpaper": { + "enabled": true, + "overviewEnabled": false, + "monitorDirectories": [], + "enableMultiMonitorDirectories": false, + "recursiveSearch": true, + "setWallpaperOnAllMonitors": true, + "fillMode": "crop", + "fillColor": "#000000", + "useSolidColor": false, + "solidColor": "#1a1a2e", + "randomEnabled": true, + "wallpaperChangeMode": "random", + "randomIntervalSec": 900, + "transitionDuration": 1500, + "transitionType": "random", + "transitionEdgeSmoothness": 0.05, + "panelPosition": "center", + "hideWallpaperFilenames": false, + "useWallhaven": false, + "wallhavenQuery": "", + "wallhavenSorting": "relevance", + "wallhavenOrder": "desc", + "wallhavenCategories": "111", + "wallhavenPurity": "100", + "wallhavenRatios": "", + "wallhavenApiKey": "", + "wallhavenResolutionMode": "atleast", + "wallhavenResolutionWidth": "", + "wallhavenResolutionHeight": "" + }, + "appLauncher": { + "enableClipboardHistory": true, + "autoPasteClipboard": false, + "enableClipPreview": true, + "clipboardWrapText": true, + "position": "center", + "pinnedApps": [], + "useApp2Unit": true, + "sortByMostUsed": true, + "terminalCommand": "ghostty -e", + "customLaunchPrefixEnabled": false, + "customLaunchPrefix": "", + "viewMode": "list", + "showCategories": true, + "iconMode": "tabler", + "showIconBackground": true, + "ignoreMouseInput": false, + "screenshotAnnotationTool": "" + }, + "controlCenter": { + "position": "close_to_bar_button", + "diskPath": "/", + "shortcuts": { + "left": [ + { + "id": "Bluetooth" + }, + { + "id": "WallpaperSelector" + } + ], + "right": [ + { + "id": "KeepAwake" + }, + { + "id": "NightLight" + } + ] + }, + "cards": [ + { + "enabled": true, + "id": "profile-card" + }, + { + "enabled": true, + "id": "shortcuts-card" + }, + { + "enabled": true, + "id": "brightness-card" + }, + { + "enabled": true, + "id": "audio-card" + }, + { + "enabled": true, + "id": "media-sysmon-card" + }, + { + "enabled": true, + "id": "weather-card" + } + ] + }, + "systemMonitor": { + "cpuWarningThreshold": 80, + "cpuCriticalThreshold": 90, + "tempWarningThreshold": 80, + "tempCriticalThreshold": 90, + "gpuWarningThreshold": 80, + "gpuCriticalThreshold": 90, + "memWarningThreshold": 80, + "memCriticalThreshold": 90, + "diskWarningThreshold": 80, + "diskCriticalThreshold": 90, + "cpuPollingInterval": 3000, + "tempPollingInterval": 3000, + "gpuPollingInterval": 3000, + "enableDgpuMonitoring": true, + "memPollingInterval": 3000, + "diskPollingInterval": 3000, + "networkPollingInterval": 3000, + "loadAvgPollingInterval": 3000, + "useCustomColors": false, + "warningColor": "", + "criticalColor": "", + "externalMonitor": "resources || missioncenter || jdsystemmonitor || corestats || system-monitoring-center || gnome-system-monitor || plasma-systemmonitor || mate-system-monitor || ukui-system-monitor || deepin-system-monitor || pantheon-system-monitor" + }, + "dock": { + "enabled": false, + "position": "bottom", + "displayMode": "auto_hide", + "backgroundOpacity": 1, + "floatingRatio": 1, + "size": 1, + "onlySameOutput": true, + "monitors": [], + "pinnedApps": [], + "colorizeIcons": false, + "pinnedStatic": false, + "inactiveIndicators": false, + "deadOpacity": 0.6, + "animationSpeed": 1 + }, + "network": { + "wifiEnabled": false, + "bluetoothRssiPollingEnabled": true, + "bluetoothRssiPollIntervalMs": 10000, + "wifiDetailsViewMode": "grid", + "bluetoothDetailsViewMode": "grid", + "bluetoothHideUnnamedDevices": false + }, + "sessionMenu": { + "enableCountdown": true, + "countdownDuration": 5000, + "position": "center", + "showHeader": true, + "largeButtonsStyle": true, + "largeButtonsLayout": "grid", + "showNumberLabels": true, + "powerOptions": [ + { + "action": "lock", + "command": "", + "countdownEnabled": true, + "enabled": true + }, + { + "action": "suspend", + "command": "", + "countdownEnabled": true, + "enabled": true + }, + { + "action": "hibernate", + "command": "", + "countdownEnabled": true, + "enabled": true + }, + { + "action": "reboot", + "command": "", + "countdownEnabled": true, + "enabled": true + }, + { + "action": "logout", + "command": "", + "countdownEnabled": true, + "enabled": true + }, + { + "action": "shutdown", + "command": "", + "countdownEnabled": true, + "enabled": true + } + ] + }, + "notifications": { + "enabled": true, + "monitors": [], + "location": "bottom_right", + "overlayLayer": true, + "backgroundOpacity": 1, + "respectExpireTimeout": true, + "lowUrgencyDuration": 3, + "normalUrgencyDuration": 8, + "criticalUrgencyDuration": 15, + "enableKeyboardLayoutToast": true, + "saveToHistory": { + "low": true, + "normal": true, + "critical": true + }, + "sounds": { + "enabled": false, + "volume": 0.5, + "separateSounds": false, + "criticalSoundFile": "", + "normalSoundFile": "", + "lowSoundFile": "", + "excludedApps": "discord,firefox,chrome,chromium,edge" + }, + "enableMediaToast": true + }, + "osd": { + "enabled": true, + "location": "bottom", + "autoHideMs": 2000, + "overlayLayer": true, + "backgroundOpacity": 1, + "enabledTypes": [ + 0, + 1, + 2, + 3 + ], + "monitors": [] + }, + "audio": { + "volumeStep": 1, + "volumeOverdrive": true, + "cavaFrameRate": 165, + "visualizerType": "mirrored", + "mprisBlacklist": [], + "preferredPlayer": "spotify, mpv" + }, + "brightness": { + "brightnessStep": 1, + "enforceMinimum": true, + "enableDdcSupport": true + }, + "colorSchemes": { + "useWallpaperColors": false, + "predefinedScheme": "Catppuccin", + "darkMode": true, + "schedulingMode": "location", + "manualSunrise": "06:30", + "manualSunset": "18:30", + "matugenSchemeType": "scheme-fruit-salad" + }, + "templates": { + "activeTemplates": [], + "enableUserTemplates": false + }, + "nightLight": { + "enabled": false, + "forced": false, + "autoSchedule": true, + "nightTemp": "4000", + "dayTemp": "6500", + "manualSunrise": "06:30", + "manualSunset": "18:30" + }, + "hooks": { + "enabled": false, + "wallpaperChange": "", + "darkModeChange": "", + "screenLock": "", + "screenUnlock": "", + "performanceModeEnabled": "", + "performanceModeDisabled": "", + "session": "" + }, + "desktopWidgets": { + "enabled": true, + "gridSnap": true, + "monitorWidgets": [ + { + "name": "eDP-1", + "widgets": [ + { + "clockStyle": "minimal", + "customFont": "", + "format": "HH:mm\\nd MMMM yyyy", + "id": "Clock", + "roundedCorners": true, + "scale": 1.1985607401441287, + "showBackground": false, + "useCustomFont": false, + "usePrimaryColor": true, + "x": 68, + "y": 34 + } + ] + } + ] + } +} diff --git a/home/david/modules/wallpaper.nix b/home/david/modules/wallpaper.nix index c177011..098dc6e 100644 --- a/home/david/modules/wallpaper.nix +++ b/home/david/modules/wallpaper.nix @@ -9,10 +9,14 @@ in { options = { david.wallpaper = { enable = lib.mkEnableOption "wallpaper"; + path = lib.mkOption { + type = lib.types.str; + default = "pic/wallpapaers"; + }; }; }; config = lib.mkIf cfg.enable { - home.file."wallpaper" = { + home.file."${config.david.wallpaper.path}" = { force = true; recursive = true; source = toString pkgs.wallpapers;