From 77ea4d6b9020c2eec5f1bed859ccfaad67ebb952 Mon Sep 17 00:00:00 2001 From: Connor Brook <11376396+Viibrant@users.noreply.github.com> Date: Wed, 3 Apr 2024 05:15:45 +0100 Subject: catppuccin: add lxqt theme --- pkgs/data/themes/catppuccin/default.nix | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'pkgs/data') diff --git a/pkgs/data/themes/catppuccin/default.nix b/pkgs/data/themes/catppuccin/default.nix index accc06f48c2f5..2463b1fde6db3 100644 --- a/pkgs/data/themes/catppuccin/default.nix +++ b/pkgs/data/themes/catppuccin/default.nix @@ -1,5 +1,5 @@ let - validThemes = [ "bat" "bottom" "btop" "grub" "hyprland" "k9s" "kvantum" "lazygit" "plymouth" "qt5ct" "refind" "rofi" "starship" "thunderbird" "waybar" ]; + validThemes = [ "bat" "bottom" "btop" "grub" "hyprland" "k9s" "kvantum" "lazygit" "lxqt" "plymouth" "qt5ct" "refind" "rofi" "starship" "thunderbird" "waybar" ]; in { fetchFromGitHub , lib @@ -80,6 +80,14 @@ let hash = "sha256-gM0HplHhcpvtpmIVdlX/p59h0v+ihKEidS1imqPYlBg="; }; + lxqt = fetchFromGitHub { + name = "lxqt"; + owner = "catppuccin"; + repo = "lxqt"; + rev = "38cf86b3e499e0c0928a102c9c030e5dc6b79255"; + hash = "sha256-3TuUkOwk6BSc7BnLnTowGAkSlNTOtGTRlEcjJ6MNJ5g="; + }; + plymouth = fetchFromGitHub { name = "plymouth"; owner = "catppuccin"; @@ -194,6 +202,10 @@ stdenvNoCC.mkDerivation { cp "${sources.lazygit}/themes/${variant}/${accent}.yml" "$out/lazygit/themes/" cp "${sources.lazygit}/themes-mergable/${variant}/${accent}.yml" "$out/lazygit/themes-mergable/" + '' + lib.optionalString (lib.elem "lxqt" themeList) '' + mkdir -p $out/share/lxqt/themes/catppuccin-${variant} + cp -r ${sources.lxqt}/src/catppuccin-${variant}/* $out/share/lxqt/themes/catppuccin-${variant}/ + '' + lib.optionalString (lib.elem "plymouth" themeList) '' mkdir -p $out/share/plymouth/themes/catppuccin-${variant} cp ${sources.plymouth}/themes/catppuccin-${variant}/* $out/share/plymouth/themes/catppuccin-${variant} -- cgit 1.4.1 From 3536f166827d89333a5c7ac8c82f1bde71b3136c Mon Sep 17 00:00:00 2001 From: linsui Date: Tue, 2 Apr 2024 12:53:47 +0800 Subject: sing-geoip: add rule-set Update pkgs/data/misc/sing-geoip/default.nix Co-authored-by: Aleksana --- pkgs/data/misc/sing-geoip/default.nix | 18 ++++++---- pkgs/data/misc/sing-geoip/main.go | 68 +++++++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+), 6 deletions(-) create mode 100644 pkgs/data/misc/sing-geoip/main.go (limited to 'pkgs/data') diff --git a/pkgs/data/misc/sing-geoip/default.nix b/pkgs/data/misc/sing-geoip/default.nix index b27a61ef02013..2e128c6efe362 100644 --- a/pkgs/data/misc/sing-geoip/default.nix +++ b/pkgs/data/misc/sing-geoip/default.nix @@ -8,26 +8,32 @@ let generator = buildGoModule rec { pname = "sing-geoip"; - version = "20230512"; + version = "20240312"; src = fetchFromGitHub { owner = "SagerNet"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-Zm+5N/37hoHpH/TLNJrHeaBXI8G1jEpM1jz6Um8edNE="; + hash = "sha256-nIrbiECK25GyuPEFqMvPdZUShC2JC1NI60Y10SsoWyY="; }; - vendorHash = "sha256-ejXAdsJwXhqet+Ca+pDLWwu0gex79VcIxW6rmhRnbTQ="; + vendorHash = "sha256-WH0eMg06qCiVcy4H+vBtYrmLMA2KJRCPGXiEnatW+LU="; + + postPatch = '' + sed -i -e '/func main()/,/^}/d' main.go + cat ${./main.go} >> main.go + ''; meta = with lib; { description = "GeoIP data for sing-box"; homepage = "https://github.com/SagerNet/sing-geoip"; license = licenses.gpl3Plus; maintainers = with maintainers; [ linsui ]; + mainProgram = "sing-geoip"; }; }; in -stdenvNoCC.mkDerivation rec { +stdenvNoCC.mkDerivation { inherit (generator) pname; inherit (dbip-country-lite) version; @@ -38,8 +44,7 @@ stdenvNoCC.mkDerivation rec { buildPhase = '' runHook preBuild - ${pname} ${dbip-country-lite.mmdb} geoip.db - ${pname} ${dbip-country-lite.mmdb} geoip-cn.db cn + sing-geoip ${dbip-country-lite.mmdb} runHook postBuild ''; @@ -49,6 +54,7 @@ stdenvNoCC.mkDerivation rec { install -Dm644 geoip.db $out/share/sing-box/geoip.db install -Dm644 geoip-cn.db $out/share/sing-box/geoip-cn.db + install -Dm644 rule-set/* -t $out/share/sing-box/rule-set runHook postInstall ''; diff --git a/pkgs/data/misc/sing-geoip/main.go b/pkgs/data/misc/sing-geoip/main.go new file mode 100644 index 0000000000000..8c2ac246fba4a --- /dev/null +++ b/pkgs/data/misc/sing-geoip/main.go @@ -0,0 +1,68 @@ +func main() { + var err error + + input := os.Args[1] + ruleSetOutput := "rule-set" + + binary, err := os.ReadFile(input) + if err != nil { + panic(err) + } + metadata, countryMap, err := parse(binary) + if err != nil { + panic(err) + } + allCodes := make([]string, 0, len(countryMap)) + for code := range countryMap { + allCodes = append(allCodes, code) + } + + writer, err := newWriter(metadata, allCodes) + if err != nil { + panic(err) + } + err = write(writer, countryMap, "geoip.db", nil) + if err != nil { + panic(err) + } + + writer, err = newWriter(metadata, []string{"cn"}) + if err != nil { + panic(err) + } + err = write(writer, countryMap, "geoip-cn.db", []string{"cn"}) + if err != nil { + panic(err) + } + + err = os.MkdirAll(ruleSetOutput, 0o755) + if err != nil { + panic(err) + } + for countryCode, ipNets := range countryMap { + var headlessRule option.DefaultHeadlessRule + headlessRule.IPCIDR = make([]string, 0, len(ipNets)) + for _, cidr := range ipNets { + headlessRule.IPCIDR = append(headlessRule.IPCIDR, cidr.String()) + } + var plainRuleSet option.PlainRuleSet + plainRuleSet.Rules = []option.HeadlessRule{ + { + Type: C.RuleTypeDefault, + DefaultOptions: headlessRule, + }, + } + srsPath, _ := filepath.Abs(filepath.Join(ruleSetOutput, "geoip-"+countryCode+".srs")) + os.Stderr.WriteString("write " + srsPath + "\n") + outputRuleSet, err := os.Create(srsPath) + if err != nil { + panic(err) + } + err = srs.Write(outputRuleSet, plainRuleSet) + if err != nil { + outputRuleSet.Close() + panic(err) + } + outputRuleSet.Close() + } +} -- cgit 1.4.1