diff --git a/flake.lock b/flake.lock index c492f2c1..d29dc0a8 100644 --- a/flake.lock +++ b/flake.lock @@ -143,11 +143,11 @@ ] }, "locked": { - "lastModified": 1730003541, - "narHash": "sha256-z9UF7D5MyPvwZ/T2quNFh+4wRDsNYtrIekTEMrjCPrI=", + "lastModified": 1731917817, + "narHash": "sha256-3cb1wq3xeDi54EYlH4gxBHKiKCNPmqc0xygoBajCalQ=", "owner": "donovanglover", "repo": "home-manager", - "rev": "0e9aeaa1366e5277cfc466905e3358336ac0eec9", + "rev": "75fca514291ecc04cba9e81d22011f526640fae3", "type": "github" }, "original": { @@ -178,11 +178,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1731139594, - "narHash": "sha256-IigrKK3vYRpUu+HEjPL/phrfh7Ox881er1UEsZvw9Q4=", + "lastModified": 1731676054, + "narHash": "sha256-OZiZ3m8SCMfh3B6bfGC/Bm4x3qc1m2SVEAlkV6iY7Yg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "76612b17c0ce71689921ca12d9ffdc9c23ce40b2", + "rev": "5e4fbfb6b3de1aa2872b76d49fafc942626e2add", "type": "github" }, "original": { @@ -242,11 +242,11 @@ "tinted-tmux": "tinted-tmux" }, "locked": { - "lastModified": 1730003682, - "narHash": "sha256-/o5u8/vVb34jKbBvqOIMmsEvoWbqmbCXZi5EV9L5jbU=", + "lastModified": 1731907320, + "narHash": "sha256-4SdMad8HzzP/ydKKjHFs3K5bNuORoyJpV6oenFT89io=", "owner": "donovanglover", "repo": "stylix", - "rev": "87612ee1cb96cc820abfdeba3724877141fcc4fa", + "rev": "5946f5f0345f2c043049d154107afa3fddb9224d", "type": "github" }, "original": { @@ -273,32 +273,34 @@ "tinted-foot": { "flake": false, "locked": { - "lastModified": 1696725948, - "narHash": "sha256-65bz2bUL/yzZ1c8/GQASnoiGwaF8DczlxJtzik1c0AU=", + "lastModified": 1726913040, + "narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=", "owner": "tinted-theming", "repo": "tinted-foot", - "rev": "eedbcfa30de0a4baa03e99f5e3ceb5535c2755ce", + "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4", "type": "github" }, "original": { "owner": "tinted-theming", "repo": "tinted-foot", + "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4", "type": "github" } }, "tinted-kitty": { "flake": false, "locked": { - "lastModified": 1665001328, - "narHash": "sha256-aRaizTYPpuWEcvoYE9U+YRX+Wsc8+iG0guQJbvxEdJY=", + "lastModified": 1716423189, + "narHash": "sha256-2xF3sH7UIwegn+2gKzMpFi3pk5DlIlM18+vj17Uf82U=", "owner": "tinted-theming", "repo": "tinted-kitty", - "rev": "06bb401fa9a0ffb84365905ffbb959ae5bf40805", + "rev": "eb39e141db14baef052893285df9f266df041ff8", "type": "github" }, "original": { "owner": "tinted-theming", "repo": "tinted-kitty", + "rev": "eb39e141db14baef052893285df9f266df041ff8", "type": "github" } }, diff --git a/home/hyprland.nix b/home/hyprland.nix index e9dbfb7e..7de7862f 100644 --- a/home/hyprland.nix +++ b/home/hyprland.nix @@ -98,9 +98,11 @@ in decoration = { rounding = 0; - drop_shadow = true; - shadow_range = 30; - shadow_render_power = 3; + + shadow = { + range = 30; + render_power = 3; + }; blur = { enabled = true; diff --git a/home/hyprlock.nix b/home/hyprlock.nix index 9fb38687..6aeed658 100644 --- a/home/hyprlock.nix +++ b/home/hyprlock.nix @@ -1,3 +1,8 @@ +{ lib, ... }: + +let + inherit (lib) mkForce; +in { programs.hyprlock = { enable = true; @@ -8,7 +13,7 @@ grace = 2; }; - background = { + background = mkForce { color = "rgba(25, 20, 20, 1.0)"; path = "screenshot"; blur_passes = 2; @@ -29,9 +34,9 @@ size = "50, 50"; dots_size = 0.33; dots_spacing = 0.15; - outer_color = "rgba(25, 20, 20, 0)"; - inner_color = "rgba(25, 20, 20, 0)"; - font_color = "rgba(222, 222, 222, 1.0)"; + outer_color = mkForce "rgba(25, 20, 20, 0)"; + inner_color = mkForce "rgba(25, 20, 20, 0)"; + font_color = mkForce "rgba(222, 222, 222, 1.0)"; placeholder_text = "パスワード"; }; }; diff --git a/home/neovim.nix b/home/neovim.nix index 672af598..dcadfdcd 100644 --- a/home/neovim.nix +++ b/home/neovim.nix @@ -1,6 +1,8 @@ { pkgs, ... }: { + stylix.targets.neovim.plugin = "base16-nvim"; + programs.neovim = { enable = true; defaultEditor = true; diff --git a/modules/desktop.nix b/modules/desktop.nix index 1ff6737f..9bf5a20f 100644 --- a/modules/desktop.nix +++ b/modules/desktop.nix @@ -1,4 +1,5 @@ { + nix-config, pkgs, config, lib, @@ -49,7 +50,7 @@ in fcitx5 = { waylandFrontend = true; - addons = with pkgs; [ + addons = with nix-config.packages.${pkgs.system}; [ fcitx5-mozc ]; }; diff --git a/packages/fcitx5-mozc.nix b/packages/fcitx5-mozc.nix new file mode 100644 index 00000000..0e7d0c86 --- /dev/null +++ b/packages/fcitx5-mozc.nix @@ -0,0 +1,148 @@ +{ + bazel_6, + buildBazelPackage, + fcitx5, + fetchFromGitHub, + gettext, + lib, + mozc, + nixosTests, + pkg-config, + python3, + stdenv, + unzip, +}: + +buildBazelPackage { + pname = "fcitx5-mozc"; + version = "2.30.5544.102"; + + src = fetchFromGitHub { + owner = "fcitx"; + repo = "mozc"; + fetchSubmodules = true; + rev = "57e67f2a25e4c0861e0e422da0c7d4c232d89fcc"; + hash = "sha256-1EZjEbMl+LRipH5gEgFpaKP8uEKPfupHmiiTNJc/T1k="; + }; + + nativeBuildInputs = [ + gettext + pkg-config + python3 + unzip + ]; + + buildInputs = [ + mozc + fcitx5 + ]; + + postPatch = '' + sed -i -e 's|^\(LINUX_MOZC_SERVER_DIR = \).\+|\1"${mozc}/lib/mozc"|' src/config.bzl + ''; + + bazel = bazel_6; + removeRulesCC = false; + dontAddBazelOpts = true; + + bazelFlags = [ + "--config" + "oss_linux" + "--compilation_mode" + "opt" + ]; + + bazelTargets = [ + "unix/fcitx5:fcitx5-mozc.so" + "unix/icons" + ]; + + fetchAttrs = { + preInstall = '' + rm -rf $bazelOut/external/fcitx5 + ''; + + sha256 = "sha256-rrRp/v1pty7Py80/6I8rVVQvkeY72W+nlixUeYkjp+o="; + }; + + preConfigure = '' + cd src + ''; + + buildAttrs = { + installPhase = '' + runHook preInstall + + install -Dm444 ../LICENSE $out/share/licenses/fcitx5-mozc/LICENSE + install -Dm444 data/installer/credits_en.html $out/share/licenses/fcitx5-mozc/Submodules + + install -Dm555 bazel-bin/unix/fcitx5/fcitx5-mozc.so $out/lib/fcitx5/fcitx5-mozc.so + install -Dm444 unix/fcitx5/mozc-addon.conf $out/share/fcitx5/addon/mozc.conf + install -Dm444 unix/fcitx5/mozc.conf $out/share/fcitx5/inputmethod/mozc.conf + + for pofile in unix/fcitx5/po/*.po; do + filename=$(basename $pofile) + lang=''${filename/.po/} + mofile=''${pofile/.po/.mo} + msgfmt $pofile -o $mofile + install -Dm444 $mofile $out/share/locale/$lang/LC_MESSAGES/fcitx5-mozc.mo + done + + msgfmt --xml -d unix/fcitx5/po/ --template unix/fcitx5/org.fcitx.Fcitx5.Addon.Mozc.metainfo.xml.in -o unix/fcitx5/org.fcitx.Fcitx5.Addon.Mozc.metainfo.xml + install -Dm444 unix/fcitx5/org.fcitx.Fcitx5.Addon.Mozc.metainfo.xml $out/share/metainfo/org.fcitx.Fcitx5.Addon.Mozc.metainfo.xml + + cd bazel-bin/unix + + unzip -o icons.zip + + # These are relative symlinks, they will always resolve to files within $out + + install -Dm444 mozc.png $out/share/icons/hicolor/128x128/apps/org.fcitx.Fcitx5.fcitx_mozc.png + ln -s org.fcitx.Fcitx5.fcitx_mozc.png $out/share/icons/hicolor/128x128/apps/fcitx_mozc.png + + for svg in \ + alpha_full.svg \ + alpha_half.svg \ + direct.svg \ + hiragana.svg \ + katakana_full.svg \ + katakana_half.svg \ + outlined/dictionary.svg \ + outlined/properties.svg \ + outlined/tool.svg + do + name=$(basename -- $svg) + path=$out/share/icons/hicolor/scalable/apps + prefix=org.fcitx.Fcitx5.fcitx_mozc + + install -Dm444 $svg $path/$prefix_$name + ln -s $prefix_$name $path/fcitx_mozc_$name + done + + runHook postInstall + ''; + }; + + passthru.tests = lib.optionalAttrs stdenv.hostPlatform.isLinux { + inherit (nixosTests) fcitx5; + }; + + meta = with lib; { + description = "Mozc - a Japanese Input Method Editor designed for multi-platform"; + homepage = "https://github.com/fcitx/mozc"; + license = with licenses; [ + asl20 # abseil-cpp + bsd3 # mozc, breakpad, gtest, gyp, japanese-usage-dictionary, protobuf + mit # wil + naist-2003 # IPAdic + publicDomain # src/data/test/stress_test, Okinawa dictionary + unicode-30 # src/data/unicode, breakpad + ]; + maintainers = with maintainers; [ + berberman + govanify + musjj + ]; + platforms = platforms.linux; + }; +} diff --git a/packages/rucola.nix b/packages/rucola.nix deleted file mode 100644 index 8fda9a26..00000000 --- a/packages/rucola.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ - lib, - rustPlatform, - fetchFromGitHub, - pkg-config, - oniguruma, -}: - -rustPlatform.buildRustPackage rec { - pname = "rucola"; - version = "0.4.0"; - - src = fetchFromGitHub { - owner = "Linus-Mussmaecher"; - repo = "rucola"; - rev = "v${version}"; - hash = "sha256-6ybFz+DSv50QvG6XUvyvrrkOmsc5LPdXeALiaL8rSnQ="; - }; - - cargoHash = "sha256-KP28bDTNv4NmkQyE0g3GGsgzJt6MPx+ZRH6YJbiv0H4="; - - nativeBuildInputs = [ - pkg-config - ]; - - buildInputs = [ - oniguruma - ]; - - env = { - RUSTONIG_SYSTEM_LIBONIG = true; - }; - - meta = { - description = "Terminal-based markdown note manager"; - homepage = "https://github.com/Linus-Mussmaecher/rucola"; - changelog = "https://github.com/Linus-Mussmaecher/rucola/blob/${src.rev}/CHANGELOG.md"; - license = lib.licenses.gpl3Plus; - maintainers = with lib.maintainers; [ donovanglover ]; - mainProgram = "rucola"; - }; -} diff --git a/packages/ublock-origin.nix b/packages/ublock-origin.nix index 7eec4624..bd9b9b16 100644 --- a/packages/ublock-origin.nix +++ b/packages/ublock-origin.nix @@ -6,11 +6,11 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "ublock-origin"; - version = "1.61.1b1"; + version = "1.61.0"; src = fetchurl { url = "https://github.com/gorhill/uBlock/releases/download/${finalAttrs.version}/uBlock0_${finalAttrs.version}.firefox.signed.xpi"; - hash = "sha256-8hh6yx15WBqDt/g7de152tfCpCxG4v46pkkAWYf4pGQ="; + hash = "sha256-5v1Vt5mlaMZsEIkqjyJCjmdz/hbXRmzp3uKVLyJLID0="; }; dontUnpack = true;