From a614e65597456636590a03c8767c6bb3a7d0e13a Mon Sep 17 00:00:00 2001 From: Allen Cai <3420934991@qq.com> Date: Fri, 1 Aug 2025 20:37:28 +0800 Subject: [PATCH] feat: 0801 update --- Makefile | 4 + config/hosts/ccl-nix/hardware.nix | 9 +- config/hosts/ccl-nix/home.nix | 12 +- config/hosts/ccl-nix/net.nix | 6 +- config/hosts/ccl-nix/nixos.nix | 101 +------------- flake.lock | 130 +++++++++--------- flake.nix | 1 + modules/cli/media/go-musicfox/go-musicfox.ini | 6 +- modules/cli/media/mpd/mpd.conf | 6 +- modules/nix.nix | 2 +- overlays/default.nix | 5 + 11 files changed, 106 insertions(+), 176 deletions(-) diff --git a/Makefile b/Makefile index cc5b637..9a3f8ef 100644 --- a/Makefile +++ b/Makefile @@ -4,6 +4,10 @@ switch: @echo "Rebuilding NixOS..." @nh os switch . +switch-slow: + @echo "Rebuilding NixOS..." + @nh os switch . -- --max-jobs 1 + boot: @echo "Rebuilding NixOS..." @nh os boot . diff --git a/config/hosts/ccl-nix/hardware.nix b/config/hosts/ccl-nix/hardware.nix index 0a944a6..1cfbe2d 100644 --- a/config/hosts/ccl-nix/hardware.nix +++ b/config/hosts/ccl-nix/hardware.nix @@ -5,8 +5,13 @@ ... }: { - hardware.nvidia.open = true; - hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.beta; + hardware.nvidia = { + package = config.boot.kernelPackages.nvidiaPackages.latest; + modesetting.enable = true; + nvidiaSettings = true; + open = true; + }; + services.xserver.videoDrivers = [ "nvidia" ]; boot = { initrd = { availableKernelModules = [ diff --git a/config/hosts/ccl-nix/home.nix b/config/hosts/ccl-nix/home.nix index 88740c5..bb996c2 100644 --- a/config/hosts/ccl-nix/home.nix +++ b/config/hosts/ccl-nix/home.nix @@ -9,8 +9,6 @@ home.packages = with pkgs; [ localsend - rclone - wpsoffice-cn wps-office-fonts ttf-wps-fonts @@ -26,6 +24,16 @@ pavucontrol pamixer qqmusic + + lumafly + + scanmem + + xmind + + netease-cloud-music-gtk + + maven ]; programs.zsh = { sessionVariables = { diff --git a/config/hosts/ccl-nix/net.nix b/config/hosts/ccl-nix/net.nix index ecf6bd9..fb89024 100644 --- a/config/hosts/ccl-nix/net.nix +++ b/config/hosts/ccl-nix/net.nix @@ -65,7 +65,11 @@ sopsFile = secrets.easytier; format = "binary"; }; - environment.systemPackages = [ pkgs.easytier ]; + environment.systemPackages = with pkgs; [ + inetutils + + easytier + ]; systemd.services."easytier" = { enable = true; script = "${pkgs.easytier}/bin/easytier-core -c ${config.sops.secrets.easytier.path}"; diff --git a/config/hosts/ccl-nix/nixos.nix b/config/hosts/ccl-nix/nixos.nix index 47b3d13..a2582b3 100644 --- a/config/hosts/ccl-nix/nixos.nix +++ b/config/hosts/ccl-nix/nixos.nix @@ -6,75 +6,6 @@ secrets, ... }: -let - btreset = pkgs.writeScriptBin "btreset" '' - #!${lib.getExe pkgs.python3} - - import subprocess - import os - import sys - - SYM = "BT" - - def action(line: str) -> bool: - if line.find(SYM) == -1: - return False - temp = line.split(" ") - bus = temp[1] - device = temp[3][:-1] - subprocess.run(["${lib.getExe usbreset}", f"/dev/bus/usb/{bus}/{device}"]) - return True - - if __name__ == "__main__": - if os.path.exists("/tmp/.btreseted") and len(sys.argv) == 1 and "-f" not in sys.argv[1:]: - exit(0) - res_byte = subprocess.check_output("/run/current-system/sw/bin/lsusb") - res = res_byte.decode() - lst = res.split("\n") - - if any(tuple(map(action, lst))): - with open("/tmp/.btreseted", "w"): - ... - ''; - usbreset = pkgs.writeCBin "usbreset" '' - #include - #include - #include - #include - - #include - - int main(int argc, char **argv) - { - const char *filename; - int fd; - int rc; - - if (argc != 2) { - fprintf(stderr, "Usage: usbreset device-filename\n"); - return 1; - } - filename = argv[1]; - - fd = open(filename, O_WRONLY); - if (fd < 0) { - perror("Error opening output file"); - return 1; - } - - printf("Resetting USB device %s\n", filename); - rc = ioctl(fd, USBDEVFS_RESET, 0); - if (rc < 0) { - perror("Error in ioctl"); - return 1; - } - printf("Reset successful\n"); - - close(fd); - return 0; - } - ''; -in { security.pam.loginLimits = [ { @@ -85,11 +16,6 @@ in } ]; - systemd.services.btreset = { - script = lib.getExe btreset; - wantedBy = [ "multi-user.target" ]; - serviceConfig.Type = "oneshot"; - }; boot.kernelParams = [ "usbcore.autosuspend=-1" # Avoid usb autosuspend (for usb bluetooth adapter) "fsck.mode=skip" @@ -141,6 +67,8 @@ in }; users.extraUsers.${username}.extraGroups = [ "audio" ]; + programs.nix-ld.enable = true; + fonts = { enableDefaultPackages = false; fontDir.enable = true; @@ -177,28 +105,8 @@ in services.printing.enable = true; - services.keyd = { - enable = true; - keyboards.default.settings = { - main = { - capslock = "overload(control, esc)"; - home = "end"; - }; - shift = { - home = "home"; - }; - control = { - delete = "print"; - }; - }; - }; - services.gvfs.enable = true; - programs.wireshark.enable = true; - programs.wireshark.package = pkgs.wireshark; - users.users.${username}.extraGroups = [ "wireshark" ]; - services.sunshine = { enable = true; autoStart = true; @@ -218,9 +126,4 @@ in PasswordAuthentication = true; }; }; - - environment.systemPackages = [ - pkgs.rclone - btreset - ]; } diff --git a/flake.lock b/flake.lock index 56943df..8d8cae3 100644 --- a/flake.lock +++ b/flake.lock @@ -37,11 +37,11 @@ "base16-helix": { "flake": false, "locked": { - "lastModified": 1748408240, - "narHash": "sha256-9M2b1rMyMzJK0eusea0x3lyh3mu5nMeEDSc4RZkGm+g=", + "lastModified": 1752979451, + "narHash": "sha256-0CQM+FkYy0fOO/sMGhOoNL80ftsAzYCg9VhIrodqusM=", "owner": "tinted-theming", "repo": "base16-helix", - "rev": "6c711ab1a9db6f51e2f6887cc3345530b33e152e", + "rev": "27cf1e66e50abc622fb76a3019012dc07c678fac", "type": "github" }, "original": { @@ -107,11 +107,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1753146705, - "narHash": "sha256-WzmXODUzg8jeEsAhpmp55zk5I2fmv3kv+RofZ/+FYlg=", + "lastModified": 1753875761, + "narHash": "sha256-FqsfIWS0mQ5OzLRLFgVEBWew/7WROSNr8lvTJJ7AQ4w=", "owner": "chaotic-cx", "repo": "nyx", - "rev": "02b3c2a45f6ddbd704f797c5730bc2d161f10ce0", + "rev": "b184ca87254844a6c2098b27b4ab493e6faf6cf7", "type": "github" }, "original": { @@ -128,11 +128,11 @@ ] }, "locked": { - "lastModified": 1753134819, - "narHash": "sha256-K0dxmI2P5PG8sRkolcmSfPFd9ZCRvYgLLvMZJZyETaI=", + "lastModified": 1753219021, + "narHash": "sha256-wYL0oMGwFPbhYT0G2NcR4ud00TI06TEWOrvPpN4eNl0=", "owner": "Bali10050", "repo": "Darkly", - "rev": "5d5696091e706fcdcf13b90affa3e9783b8b3ac0", + "rev": "79ec260ff2a9af1f4de10e670c75b31b7fbcd5da", "type": "github" }, "original": { @@ -171,11 +171,11 @@ "rust-analyzer-src": "rust-analyzer-src" }, "locked": { - "lastModified": 1753166582, - "narHash": "sha256-EUjND31oxYwWw9Nl6HPLbsruNpicUQU8T/ZwgqB/OCY=", + "lastModified": 1753858083, + "narHash": "sha256-9eNLBxVBaOLGTOC1QkwrzRtnb1x9MB/3PYLb+CiALZY=", "owner": "nix-community", "repo": "fenix", - "rev": "a96e6ce7ec45c47aedad3728ef32de4ae4c0e416", + "rev": "2c5508b7563b9138a00cd82e213febfc9cbbb36c", "type": "github" }, "original": { @@ -457,11 +457,11 @@ ] }, "locked": { - "lastModified": 1748528448, - "narHash": "sha256-Tyn+PgBm78Ibq28/WbEz8+pYJZMdbJKsyXMCpT6TjrM=", + "lastModified": 1751817769, + "narHash": "sha256-j7ORyAJFNxYWwF+6fs2z5IcJ40TpVwrkFYU9/CGHwfA=", "owner": "imxyy1soope1", "repo": "go-musicfox", - "rev": "1870fd3501631577ad4daef1489b03885abcb037", + "rev": "179b9440b6f209e7fd6ade589117b72bdd9042a6", "type": "github" }, "original": { @@ -500,11 +500,11 @@ ] }, "locked": { - "lastModified": 1753132348, - "narHash": "sha256-0i3jU9AHuNXb0wYGzImnVwaw+miE0yW13qfjC0F+fIE=", + "lastModified": 1753761827, + "narHash": "sha256-mrVNT+aF4yR8P8Fx570W2vz+LzukSlf68Yr2YhUJHjo=", "owner": "nix-community", "repo": "home-manager", - "rev": "e4bf85da687027cfc4a8853ca11b6b86ce41d732", + "rev": "50adf8fcaa97c9d64309f2d507ed8be54ea23110", "type": "github" }, "original": { @@ -520,11 +520,11 @@ ] }, "locked": { - "lastModified": 1753132348, - "narHash": "sha256-0i3jU9AHuNXb0wYGzImnVwaw+miE0yW13qfjC0F+fIE=", + "lastModified": 1753888434, + "narHash": "sha256-xQhSeLJVsxxkwchE4s6v1CnOI6YegCqeA1fgk/ivVI4=", "owner": "nix-community", "repo": "home-manager", - "rev": "e4bf85da687027cfc4a8853ca11b6b86ce41d732", + "rev": "0630790b31d4547d79ff247bc3ba1adda3a017d9", "type": "github" }, "original": { @@ -595,11 +595,11 @@ ] }, "locked": { - "lastModified": 1752755091, - "narHash": "sha256-H/k35QJLyQxkFnXR5ckMv/Z+ElNa5f22qNKdyGBMAn4=", + "lastModified": 1753764272, + "narHash": "sha256-8/tZ3ZJpplWaVxgMeRg26cUclBZ27UUnnJdzd+RQKqE=", "owner": "Jovian-Experiments", "repo": "Jovian-NixOS", - "rev": "0d09755fe1df1886e5f07dbb16f7ed373080f86a", + "rev": "448688ae3df3152fec412e583239473934109486", "type": "github" }, "original": { @@ -668,11 +668,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1753132162, - "narHash": "sha256-ycK2rB1kltXcrz5+dpldPngiYMukgaT2atwxhTjkIZQ=", + "lastModified": 1753839324, + "narHash": "sha256-ipcsHV+XE7gaItRhqLsjLCYKIk57IAP1s9BHajQRotA=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "f7cc80e3ad7e34ac523ba401ece49c4151fc19ca", + "rev": "0108605855b3222c8965fa23fc05d713b77d0564", "type": "github" }, "original": { @@ -804,11 +804,11 @@ ] }, "locked": { - "lastModified": 1752682362, - "narHash": "sha256-ZNIpqCG/CfhmV+TgIeyO/XbhDjSWpwWokHM44j0Mn0w=", + "lastModified": 1753704990, + "narHash": "sha256-5E14xuNWy2Un1nFR55k68hgbnD8U2x/rE5DXJtYKusw=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "20001f9bf0aaf2b1c307e43a5eec8cf8f800fe14", + "rev": "58c814cc6d4a789191f9c12e18277107144b0c91", "type": "github" }, "original": { @@ -819,11 +819,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1752950548, - "narHash": "sha256-NS6BLD0lxOrnCiEOcvQCDVPXafX1/ek1dfJHX1nUIzc=", + "lastModified": 1753694789, + "narHash": "sha256-cKgvtz6fKuK1Xr5LQW/zOUiAC0oSQoA9nOISB0pJZqM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c87b95e25065c028d31a94f06a62927d18763fdf", + "rev": "dc9637876d0dcc8c9e5e22986b857632effeb727", "type": "github" }, "original": { @@ -847,11 +847,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1753168712, - "narHash": "sha256-z3xENTx8CgQjxTYwpzFgp+IGcHuEYiObaCnsZ/n7Wf4=", + "lastModified": 1753941802, + "narHash": "sha256-pQt2gqpCCA0GWEqcm4IzvkbLw4fNMn6JNq+5BBPpyAM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "52bfb2685fa0afc1394201103ab1c8511e74261e", + "rev": "ed33ba16ce8e8605d8e9ef2dc6e802bc3134781d", "type": "github" }, "original": { @@ -863,11 +863,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1753168829, - "narHash": "sha256-/xbkt7rKnCgpzjRTPiqJTsauV+w1FGSgLzFISTxulfg=", + "lastModified": 1753907720, + "narHash": "sha256-rkoY2MZqt8qZbL/R+kUAm9unGXeEBaRpyls/mvImbJQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ec031223f1f94bbbaca8f7d975cb5a7441f90505", + "rev": "22e6141f9c24030dbbd0a7b7c55f5714830e22b5", "type": "github" }, "original": { @@ -879,11 +879,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1753088943, - "narHash": "sha256-cIyYVyDTSR6K3+xUGvEO3GAtBsdBhBcDALqHK50QEIQ=", + "lastModified": 1753904442, + "narHash": "sha256-XHeb6yarZ9YLd3aQsnc0c8FrpnBGtHckQGZBPYXF7Uk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "91b279d8c68718659084298ea287c73b5bf6df2c", + "rev": "d02f407d2bb5a5cb2f2f75c2a7c30d5b854be11b", "type": "github" }, "original": { @@ -943,11 +943,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1752950548, - "narHash": "sha256-NS6BLD0lxOrnCiEOcvQCDVPXafX1/ek1dfJHX1nUIzc=", + "lastModified": 1753694789, + "narHash": "sha256-cKgvtz6fKuK1Xr5LQW/zOUiAC0oSQoA9nOISB0pJZqM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c87b95e25065c028d31a94f06a62927d18763fdf", + "rev": "dc9637876d0dcc8c9e5e22986b857632effeb727", "type": "github" }, "original": { @@ -963,11 +963,11 @@ "nixpkgs": "nixpkgs_5" }, "locked": { - "lastModified": 1753166477, - "narHash": "sha256-ftWDv9eUl0cNsJfhwx7RrIZvtUt0SH3LoGsBZfGyWDw=", + "lastModified": 1753942697, + "narHash": "sha256-rZfW0XNiJVQojH9jBqifnccZykcIzugXxy+J4mZAl8E=", "owner": "nix-community", "repo": "NUR", - "rev": "690f8c0102a674b35ac4e919bb34a8ef10d0e84c", + "rev": "fcab7393172a4a8821d70fe1df23b93fb3217ef7", "type": "github" }, "original": { @@ -1008,11 +1008,11 @@ ] }, "locked": { - "lastModified": 1753090730, - "narHash": "sha256-QG14m53ZGp2Gk7xD2Q+Tf7RYCKfk/BYRaBtX3X4IKbc=", + "lastModified": 1753595452, + "narHash": "sha256-vqkSDvh7hWhPvNjMjEDV4KbSCv2jyl2Arh73ZXe274k=", "ref": "refs/heads/master", - "rev": "db77c71c216530159c2dcf5b269ebb4706b2e2dd", - "revCount": 653, + "rev": "a5431dd02dc23d9ef1680e67777fed00fe5f7cda", + "revCount": 665, "type": "git", "url": "https://git.outfoxxed.me/outfoxxed/quickshell" }, @@ -1049,11 +1049,11 @@ "rust-analyzer-src": { "flake": false, "locked": { - "lastModified": 1753115469, - "narHash": "sha256-5U3eokxjR/nTDQokJVZSL3j0THxQwWbYBpLO1dp8ZOw=", + "lastModified": 1753789923, + "narHash": "sha256-z45szWoM2UZJuo2791LnkI6agdtBhZFSo87elnhp/eI=", "owner": "rust-lang", "repo": "rust-analyzer", - "rev": "9a1ee18e4dccc29c41d5c642860e58641d5ed0de", + "rev": "e57f18480dc3b1a0f46cd83e2aaa1cf3b53d8ece", "type": "github" }, "original": { @@ -1071,11 +1071,11 @@ ] }, "locked": { - "lastModified": 1753066249, - "narHash": "sha256-j2UBrfDRIePGx3532Bbb9UeosNX2F73hfOAHtmACfnM=", + "lastModified": 1753757591, + "narHash": "sha256-3okLvry8fRWZhJZP75pPC9P6U1dcu84VOCPhPLXYozI=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "0751b65633a1785743ca44fd7c14a633c54c1f91", + "rev": "b372cf71b4125d420d7648cbd898ab8f5c355be2", "type": "github" }, "original": { @@ -1125,11 +1125,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1753117651, - "narHash": "sha256-7gWBlUOe2c0nYGyoVDa9hw15pI3DXDR0KK+nYh9KOpU=", + "lastModified": 1753919664, + "narHash": "sha256-U7Ts8VbVD4Z6n67gFx00dkpQJu27fMu173IUopX3pNI=", "owner": "danth", "repo": "stylix", - "rev": "ea60526c8c2a1c5df2743a9495814dc0b319ef3b", + "rev": "30f5022236cf8dd257941cb0f910e198e7e464c7", "type": "github" }, "original": { @@ -1290,11 +1290,11 @@ ] }, "locked": { - "lastModified": 1753417538, - "narHash": "sha256-Z/MbHMjvHoC57sQS43/oLwzEQebT5ST8MRU8Zcb5428=", + "lastModified": 1753933355, + "narHash": "sha256-4QxMcKS6oc+cG8efwwAin4M+YOokBak1dVS8u5P3b5M=", "ref": "refs/heads/main", - "rev": "d04bdc75b3d203b951ce00cbb6a7ab410ab110c6", - "revCount": 593, + "rev": "fa795a139a8c92b140bc21f11f61da1c97ad5b1d", + "revCount": 608, "type": "git", "url": "https://gh-proxy.com/github.com/0xc000022070/zen-browser-flake" }, diff --git a/flake.nix b/flake.nix index 72e5e8d..f8687b4 100644 --- a/flake.nix +++ b/flake.nix @@ -90,6 +90,7 @@ infuse = (import inputs.infuse { inherit (nixpkgs) lib; }).v1.infuse; in { + packages = forAllSystems ( system: lib.haumea.load { diff --git a/modules/cli/media/go-musicfox/go-musicfox.ini b/modules/cli/media/go-musicfox/go-musicfox.ini index dbe81c1..71ff324 100644 --- a/modules/cli/media/go-musicfox/go-musicfox.ini +++ b/modules/cli/media/go-musicfox/go-musicfox.ini @@ -47,9 +47,9 @@ altScreen=true # 双列显示,开启务必使用等宽字体 doubleColumn=true # 下载目录,默认为$HOME/.go-musicfox/download -downloadDir=/home/imxyy/Music/go-musicfox +downloadDir=/home/ccl/Music/go-musicfox # 缓存目录,默认为${MUSICFOX_ROOT}/cache -cacheDir=/home/imxyy/Music/go-musicfox/.cache +cacheDir=/home/ccl/Music/go-musicfox/.cache # 缓存大小(以MB为单位),0为不使用缓存,-1为不限制,默认为0 cacheLimit=-1 # 是否显示歌单下所有歌曲,默认不开启,仅获取歌单前1000首,开启后可能会占用更多内存(大量歌曲数据)和带宽(会同时发送多个请求获取歌单下歌曲数据) @@ -78,7 +78,7 @@ engine=mpd # mpd配置 mpdBin=mpd # !!!注意!!! 一定要在配置文件中设置pid_file,否则在退出时不会kill掉mpd进程 -mpdConfigFile=/home/imxyy/.config/mpd/mpd.conf +mpdConfigFile=/home/ccl/.config/mpd/mpd.conf mpdNetwork=tcp mpdAddr=127.0.0.1:6600 diff --git a/modules/cli/media/mpd/mpd.conf b/modules/cli/media/mpd/mpd.conf index 2a81a51..c7cf50a 100644 --- a/modules/cli/media/mpd/mpd.conf +++ b/modules/cli/media/mpd/mpd.conf @@ -1,8 +1,8 @@ bind_to_address "127.0.0.1" port "6600" -music_directory "/home/imxyy/Music/go-musicfox/.cache" -pid_file "/home/imxyy/.config/mpd/mpd.pid" -db_file "/home/imxyy/.config/mpd/mpd.db" +music_directory "/home/ccl/Music/go-musicfox/.cache" +pid_file "/home/ccl/.config/mpd/mpd.pid" +db_file "/home/ccl/.config/mpd/mpd.db" input { plugin "file" diff --git a/modules/nix.nix b/modules/nix.nix index 46b6fe1..2b53126 100644 --- a/modules/nix.nix +++ b/modules/nix.nix @@ -38,8 +38,8 @@ lib.my.makeSwitch { # Deduplicate and optimize nix store auto-optimise-store = true; substituters = [ - "https://mirror.sjtu.edu.cn/nix-channels/store" "https://mirrors.sjtug.sjtu.edu.cn/nix-channels/store" + # "https://mirror.sjtu.edu.cn/nix-channels/store" "https://mirrors.ustc.edu.cn/nix-channels/store" "https://nix-community.cachix.org" "https://cache.nixos.org" diff --git a/overlays/default.nix b/overlays/default.nix index 28aa3f2..ffd73bc 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -22,6 +22,11 @@ cage.__output.patches.__append = [ ./cage-specify-output-name.patch ]; matrix-synapse.__assign = final.stable.matrix-synapse; bottles.__input.removeWarningPopup.__assign = true; + vscode.__output.preFixup.__append = '' + gappsWrapperArgs+=( + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--wayland-text-input-version=3}}" + ) + ''; vscodium.__output.preFixup.__append = '' gappsWrapperArgs+=( --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--wayland-text-input-version=3}}"