diff --git a/darwin/profiles/common/opt-in/clash-meta-client.nix b/darwin/profiles/common/opt-in/clash-meta-client.nix index 839383d..e2ed636 100644 --- a/darwin/profiles/common/opt-in/clash-meta-client.nix +++ b/darwin/profiles/common/opt-in/clash-meta-client.nix @@ -1,12 +1,12 @@ { - inputs, pkgs, + config, ... }: { services.clash = { enable = true; package = pkgs.clash-meta; - webui = inputs.self.packages.${pkgs.stdenv.hostPlatform.system}.metacubexd; + webui = config.nur.repos.guanran928.metacubexd; }; ### System proxy settings diff --git a/flake.lock b/flake.lock index 99cc9f1..b3686c2 100755 --- a/flake.lock +++ b/flake.lock @@ -344,6 +344,21 @@ "type": "github" } }, + "nur": { + "locked": { + "lastModified": 1709018801, + "narHash": "sha256-H2oaTPFy+3XXeLpLc81u75xGHuvjoEEZ905aVYB/NA0=", + "owner": "nix-community", + "repo": "NUR", + "rev": "050fba3242dfec4f41ce7942b75100b84cb48247", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "NUR", + "type": "github" + } + }, "nvfetcher": { "inputs": { "flake-compat": [ @@ -421,6 +436,7 @@ "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs", "nixpkgs-stable": "nixpkgs-stable", + "nur": "nur", "nvfetcher": "nvfetcher", "pre-commit-hooks-nix": "pre-commit-hooks-nix", "rust-overlay": "rust-overlay", diff --git a/flake.nix b/flake.nix index 323cd62..3dab115 100755 --- a/flake.nix +++ b/flake.nix @@ -60,6 +60,9 @@ url = "github:jacekszymanski/nixcasks"; inputs.nixpkgs.follows = "nixpkgs-stable"; }; + nur = { + url = "github:nix-community/NUR"; + }; sops-nix = { url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; diff --git a/home/applications/fcitx5/default.nix b/home/applications/fcitx5/default.nix index 1f473ef..0e343d1 100644 --- a/home/applications/fcitx5/default.nix +++ b/home/applications/fcitx5/default.nix @@ -1,4 +1,5 @@ { + config, pkgs, inputs, ... @@ -14,7 +15,7 @@ fcitx5-pinyin-moegirl fcitx5-pinyin-zhwiki ]) - ++ (with inputs.self.packages.${pkgs.stdenv.hostPlatform.system}; [ + ++ (with config.nur.repos.guanran928; [ fcitx5-tokyonight ]); }; diff --git a/home/applications/mpv/default.nix b/home/applications/mpv/default.nix index b0a6f6c..86eacb4 100644 --- a/home/applications/mpv/default.nix +++ b/home/applications/mpv/default.nix @@ -1,7 +1,7 @@ { pkgs, lib, - inputs, + config, ... }: { programs.mpv = { @@ -19,7 +19,7 @@ thumbfast sponsorblock ]) - ++ (with inputs.self.packages.${pkgs.stdenv.hostPlatform.system}.mpvScripts; [ + ++ (with config.nur.repos.guanran928.mpvScripts; [ modernx ]) ++ lib.optionals pkgs.stdenv.hostPlatform.isLinux (with pkgs.mpvScripts; [ @@ -28,7 +28,7 @@ }; # I dont know how to handle the font - xdg.configFile = with inputs.self.packages.${pkgs.stdenv.hostPlatform.system}.mpvScripts; { + xdg.configFile = with config.nur.repos.guanran928.mpvScripts; { "mpv/fonts/Material-Design-Iconic-Font.ttf".source = "${modernx}/share/mpv/fonts/Material-Design-Iconic-Font.ttf"; "mpv/fonts/Material-Design-Iconic-Round.ttf".source = "${modernx}/share/mpv/fonts/Material-Design-Iconic-Round.ttf"; }; diff --git a/home/applications/picom/default.nix b/home/applications/picom/default.nix index 6562104..30458cd 100644 --- a/home/applications/picom/default.nix +++ b/home/applications/picom/default.nix @@ -1,11 +1,7 @@ -{ - pkgs, - inputs, - ... -}: { +{config, ...}: { services.picom = { enable = true; - package = inputs.self.packages.${pkgs.stdenv.hostPlatform.system}.picom-ft-labs; + package = config.nur.repos.guanran928.picom-ft-labs; settings = { # Animations animations = true; diff --git a/home/default.nix b/home/default.nix index 950f211..659c92e 100644 --- a/home/default.nix +++ b/home/default.nix @@ -28,6 +28,7 @@ # Default applications imports = [ inputs.self.homeManagerModules.default + inputs.nur.hmModules.nur ./applications/git ./applications/gpg diff --git a/nixos/profiles/common/core/default.nix b/nixos/profiles/common/core/default.nix index 05a7221..57c6258 100644 --- a/nixos/profiles/common/core/default.nix +++ b/nixos/profiles/common/core/default.nix @@ -11,13 +11,14 @@ ./nix # Flake modules - inputs.self.nixosModules.default inputs.disko.nixosModules.disko inputs.home-manager.nixosModules.home-manager inputs.impermanence.nixosModules.impermanence inputs.lanzaboote.nixosModules.lanzaboote - inputs.sops-nix.nixosModules.sops inputs.nix-gaming.nixosModules.pipewireLowLatency + inputs.nur.nixosModules.nur + inputs.self.nixosModules.default + inputs.sops-nix.nixosModules.sops ]; nixpkgs.overlays = [ diff --git a/nixos/profiles/common/opt-in/clash-meta-client/default.nix b/nixos/profiles/common/opt-in/clash-meta-client/default.nix index 6755e22..55e2004 100644 --- a/nixos/profiles/common/opt-in/clash-meta-client/default.nix +++ b/nixos/profiles/common/opt-in/clash-meta-client/default.nix @@ -1,7 +1,6 @@ { pkgs, config, - inputs, ... }: { ### home-manager @@ -11,7 +10,7 @@ enable = true; package = pkgs.clash-meta; configFile = config.sops.templates."clash.yaml".path; - webui = inputs.self.packages.${pkgs.stdenv.hostPlatform.system}.metacubexd; + webui = config.nur.repos.guanran928.metacubexd; }; systemd.services.clash.serviceConfig.ExecStartPre = [ diff --git a/pkgs/default.nix b/pkgs/default.nix index 54dae4a..7f724e1 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -1,7 +1,7 @@ -pkgs: { - fcitx5-tokyonight = pkgs.callPackage ./fcitx5-tokyonight {}; - metacubexd = pkgs.callPackage ./metacubexd {}; - mpvScripts.modernx = pkgs.callPackage ./mpvScripts/modernx {}; - picom-ft-labs = pkgs.callPackage ./picom-ft-labs {}; - v2ray-rules-dat = pkgs.callPackage ./v2ray-rules-dat {}; +_pkgs: { + # fcitx5-tokyonight = pkgs.callPackage ./fcitx5-tokyonight {}; + # metacubexd = pkgs.callPackage ./metacubexd {}; + # mpvScripts.modernx = pkgs.callPackage ./mpvScripts/modernx {}; + # picom-ft-labs = pkgs.callPackage ./picom-ft-labs {}; + # v2ray-rules-dat = pkgs.callPackage ./v2ray-rules-dat {}; } diff --git a/pkgs/fcitx5-tokyonight/default.nix b/pkgs/fcitx5-tokyonight/default.nix deleted file mode 100644 index be1b7b2..0000000 --- a/pkgs/fcitx5-tokyonight/default.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ - lib, - stdenvNoCC, - fetchFromGitHub, - nix-update-script, -}: -stdenvNoCC.mkDerivation (finalAttrs: { - pname = "fcitx5-tokyonight"; - version = "unstable-2024-01-28"; - - src = fetchFromGitHub { - owner = "ch3n9w"; - repo = "fcitx5-Tokyonight"; - rev = "f7454ab387d6b071ee12ff7ee819f0c7030fdf2c"; - hash = "sha256-swOy0kDZUdqtC2sPSZEBLnHSs8dpQ/QfFMObI6BARfo="; - }; - - dontConfigure = true; - dontBuild = true; - - installPhase = '' - install -Dm644 Tokyonight-Day/{arrow.png,panel.png,radio.png} -t $out/share/${finalAttrs.pname}/ - for _variant in Tokyonight-Day Tokyonight-Storm; do - mkdir -p $out/share/fcitx5/themes/$_variant/ - ln -s $out/share/${finalAttrs.pname}/arrow.png $out/share/fcitx5/themes/$_variant/arrow.png - ln -s $out/share/${finalAttrs.pname}/radio.png $out/share/fcitx5/themes/$_variant/radio.png - install -Dm644 $_variant/theme.conf $out/share/fcitx5/themes/$_variant/theme.conf - done - ''; - - passthru.updateScript = nix-update-script {}; - - meta = with lib; { - description = "Fcitx5 theme using TokyoNight colorscheme"; - homepage = "https://github.com/ch3n9w/fcitx5-Tokyonight"; - license = licenses.gpl3; - platforms = platforms.all; - }; -}) diff --git a/pkgs/metacubexd/default.nix b/pkgs/metacubexd/default.nix deleted file mode 100644 index 71dc8ac..0000000 --- a/pkgs/metacubexd/default.nix +++ /dev/null @@ -1,33 +0,0 @@ -{ - lib, - stdenvNoCC, - fetchurl, - nix-update-script, -}: -stdenvNoCC.mkDerivation (finalAttrs: { - pname = "metacubexd"; - version = "1.135.0"; - - src = fetchurl { - url = "https://github.com/MetaCubeX/metacubexd/releases/download/v${finalAttrs.version}/compressed-dist.tgz"; - hash = "sha256-37+oAO7vt57mO0G2L3+NcO2ndpxs3PP4+ogVNnWoGBc="; - }; - - dontConfigure = true; - dontBuild = true; - - sourceRoot = "."; - installPhase = '' - mkdir -p $out - cp -r ./* $out - ''; - - passthru.updateScript = nix-update-script {}; - - meta = with lib; { - description = "Clash.Meta Dashboard, The Official One, XD"; - homepage = "https://github.com/MetaCubeX/metacubexd"; - license = licenses.mit; - platforms = platforms.all; - }; -}) diff --git a/pkgs/mpvScripts/modernx/default.nix b/pkgs/mpvScripts/modernx/default.nix deleted file mode 100644 index d8143ab..0000000 --- a/pkgs/mpvScripts/modernx/default.nix +++ /dev/null @@ -1,41 +0,0 @@ -{ - lib, - stdenvNoCC, - fetchFromGitHub, - nix-update-script, -}: -# TODO: use buildLua -# error: evaluation aborted with the following error message: 'lib.customisation.callPackageWith: Function called without required argument "buildLua" -stdenvNoCC.mkDerivation (finalAttrs: { - pname = "modernx"; - version = "0.2.7.6"; - - # zydezu's fork - src = fetchFromGitHub { - owner = "zydezu"; - repo = "ModernX"; - rev = finalAttrs.version; - hash = "sha256-WWwnxhFMDjlQb0+5+hD9CRe/BYt4CWHw3JGZOI3IQiE="; - }; - - dontConfigure = true; - dontBuild = true; - - installPhase = '' - install -Dm644 modernx.lua $out/share/mpv/scripts/modernx.lua - - # I dont know how to handle the font... - install -Dm644 Material-Design-Iconic-Font.ttf $out/share/mpv/fonts/Material-Design-Iconic-Font.ttf - install -Dm644 Material-Design-Iconic-Round.ttf $out/share/mpv/fonts/Material-Design-Iconic-Round.ttf - ''; - - passthru.scriptName = "modernx.lua"; - passthru.updateScript = nix-update-script {}; - - meta = with lib; { - description = "A modern OSC UI replacement for MPV that retains the functionality of the default OSC. (@zydezu's fork)"; - homepage = "https://github.com/zydezu/ModernX/"; - license = licenses.gpl2; # https://github.com/maoiscat/mpv-osc-modern/issues/43 - platforms = platforms.all; - }; -}) diff --git a/pkgs/picom-ft-labs/default.nix b/pkgs/picom-ft-labs/default.nix deleted file mode 100644 index 0ff8508..0000000 --- a/pkgs/picom-ft-labs/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ - picom, - pcre2, - fetchFromGitHub, -}: -picom.overrideAttrs (old: { - pname = "picom-ft-labs"; - version = "unstable-2024-02-17"; - - src = fetchFromGitHub { - owner = "FT-Labs"; - repo = "picom"; - rev = "df4c6a3d9b11e14ed7f3142540babea4c775ddb1"; - sha256 = "sha256-FmORxY7SLFnAmtQyC82sK36RoUBa94rJ7BsDXjXUCXk="; - }; - - buildInputs = old.buildInputs ++ [pcre2]; - - meta = { - description = "A fork of Picom with more than 10 unique animation supported picom fork (open window, tag change, fading ...)"; - homepage = "https://github.com/FT-Labs/picom"; - }; -}) diff --git a/pkgs/v2ray-rules-dat/default.nix b/pkgs/v2ray-rules-dat/default.nix deleted file mode 100644 index a9b3816..0000000 --- a/pkgs/v2ray-rules-dat/default.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ - lib, - stdenvNoCC, - fetchurl, -}: -stdenvNoCC.mkDerivation (finalAttrs: { - pname = "v2ray-rules-dat"; - version = "202402242208"; - - srcs = [ - (fetchurl { - url = "https://github.com/Loyalsoldier/${finalAttrs.pname}/releases/download/${finalAttrs.version}/geoip.dat"; - hash = "sha256-NxnsYH80dPAq6Cd0z0G5dBmdyOH1/rOEe4Mjxu9vlQc="; - }) - (fetchurl { - url = "https://github.com/Loyalsoldier/${finalAttrs.pname}/releases/download/${finalAttrs.version}/geosite.dat"; - hash = "sha256-edPBydJ7pbf9hG92q5GewFxHgjI8qEBQh3N2GQ9JH30="; - }) - ]; - - dontConfigure = true; - dontBuild = true; - dontUnpack = true; - - installPhase = '' - install -Dm644 ${builtins.elemAt finalAttrs.srcs 0} $out/share/v2ray/geoip.dat - install -Dm644 ${builtins.elemAt finalAttrs.srcs 1} $out/share/v2ray/geosite.dat - ''; - - meta = with lib; { - description = "Enhanced edition of V2Ray rules dat files"; - homepage = "https://github.com/Loyalsoldier/v2ray-rules-dat"; - license = licenses.gpl3; - platforms = platforms.all; - }; -})