From c40b87be2030d054468c2b6e57fc260eb37fe0a6 Mon Sep 17 00:00:00 2001 From: imnyang Date: Sat, 25 Jul 2026 06:27:46 +0900 Subject: [PATCH 01/21] wow --- flake.lock | 215 +++++---------- flake.nix | 2 +- hosts/machine/ena/configuration.nix | 1 + hosts/machine/ena/home/default.nix | 1 + hosts/machine/kanade/home/default.nix | 1 + .../machine/kanade/modules/homebrew/casks.nix | 4 +- hosts/machine/kanade/modules/mac/dock.nix | 1 - hosts/machine/mafuyu/configuration.nix | 1 + hosts/machine/mafuyu/home/default.nix | 1 + hosts/machine/mafuyu/home/packages.nix | 1 - hosts/machine/mizuki/configuration.nix | 1 + hosts/machine/mizuki/home/default.nix | 1 + hosts/server/kazusa/configuration.nix | 1 - hosts/server/natsu/configuration.nix | 21 +- modules/home/firefox-devedition.nix | 258 ++++++++++++++++++ modules/home/packages.nix | 4 +- modules/mizukios/features/_1password.nix | 17 ++ modules/mizukios/features/packages.nix | 17 -- 18 files changed, 363 insertions(+), 185 deletions(-) create mode 100644 modules/home/firefox-devedition.nix create mode 100644 modules/mizukios/features/_1password.nix diff --git a/flake.lock b/flake.lock index 58dde1b..92084c9 100644 --- a/flake.lock +++ b/flake.lock @@ -3,16 +3,16 @@ "brew-src": { "flake": false, "locked": { - "lastModified": 1781226006, - "narHash": "sha256-w4ZTuOnhYiDxjaynrMTASzp802QblBWmo3wpB8wVN4Y=", + "lastModified": 1784558651, + "narHash": "sha256-woXJ1ATKpSYRWCy46TQJjmm9XzAeZVEZw9xDfVG9NYI=", "owner": "Homebrew", "repo": "brew", - "rev": "109191be4988470b51a60a5ef1998520aa24c01b", + "rev": "b48c7994b5f0eed7bef532efa63cb4e4f763887a", "type": "github" }, "original": { "owner": "Homebrew", - "ref": "6.0.1", + "ref": "6.0.12", "repo": "brew", "type": "github" } @@ -22,11 +22,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1783674541, - "narHash": "sha256-vmUhEF/jBCZJeK0dInOls+HOAR0yiiQusN1+FZKaJss=", + "lastModified": 1784366307, + "narHash": "sha256-VKatYOZwLQ+MuNkWH6/gZYxrNeSK1Mqb7mC0H1WSu+M=", "owner": "catppuccin", "repo": "nix", - "rev": "96799f24cf1366fe88e1293c3d27521a8f2129cf", + "rev": "673f730d0fc8db3468c51575f1d3d777cc55e51f", "type": "github" }, "original": { @@ -41,11 +41,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1783838629, - "narHash": "sha256-Va46EySvmN/ya+wEgvfLffzHIW19HEiaKJ/zBujm1pQ=", + "lastModified": 1784918709, + "narHash": "sha256-UWCaJUKkAOUH7+TvC//uhJItpEDmPFJ5dOoptyAFJxM=", "owner": "ilysenko", "repo": "codex-desktop-linux", - "rev": "a6af5ef8511d908ff8e9c5bc3f706027132ef74b", + "rev": "66c780a6939b1f35aa3d90c5ad07ff2b35f1f644", "type": "github" }, "original": { @@ -61,11 +61,11 @@ ] }, "locked": { - "lastModified": 1783395956, - "narHash": "sha256-AAbexQvDoK+6GFJdhY6kqjA+6ECKRkidgWxkn4gMwAA=", + "lastModified": 1784500460, + "narHash": "sha256-UvORnAxTRHax7RG74W8Z2t4GvIkX6AjJ5kk0QlwZomo=", "owner": "nix-darwin", "repo": "nix-darwin", - "rev": "d5bd9cd77aea4c0a8f49e7fd85545671a208ed15", + "rev": "57a3171f94705599a2499248ca5758d5eb47c0e0", "type": "github" }, "original": { @@ -161,11 +161,11 @@ "systems": "systems_2" }, "locked": { - "lastModified": 1726560853, - "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { @@ -192,24 +192,6 @@ "type": "github" } }, - "flake-utils_4": { - "inputs": { - "systems": "systems_4" - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "home-manager": { "inputs": { "nixpkgs": [ @@ -217,11 +199,11 @@ ] }, "locked": { - "lastModified": 1783823409, - "narHash": "sha256-OI4IkRjRXa1e7hYmCGJDPDq5H/kPwhsyoS80cNUF9fI=", + "lastModified": 1784913159, + "narHash": "sha256-JWq0BfjO4ktpH5USfQNQzdvHpIDT8fSKD5K7LvdMRFs=", "owner": "nix-community", "repo": "home-manager", - "rev": "7566825d4652a1b885bd4ce65bd9e8def432fec9", + "rev": "079a3b5d1aa6a719920a51316253b7d6dd22738d", "type": "github" }, "original": { @@ -250,7 +232,7 @@ }, "imnyang_2": { "inputs": { - "nixpkgs": "nixpkgs_15" + "nixpkgs": "nixpkgs_14" }, "locked": { "lastModified": 1778582554, @@ -273,11 +255,11 @@ }, "locked": { "dir": "packages/nix", - "lastModified": 1783532163, - "narHash": "sha256-n+YQKnVt0H1B2z6N1PmaadeVorRHi956q48/g2y8Hnc=", + "lastModified": 1784860807, + "narHash": "sha256-nznQFS9H8er9bTwxKG4LSa2D0lGsxIPUqDuWa1rbJkA=", "owner": "SteamClientHomebrew", "repo": "Millennium", - "rev": "3623ed0ed9f6065ce666cb0276ff0b903fee2355", + "rev": "266e41ea8924c41e51145ae986a9bdf68f9415d9", "type": "github" }, "original": { @@ -361,11 +343,11 @@ "brew-src": "brew-src" }, "locked": { - "lastModified": 1781389246, - "narHash": "sha256-ORqLAo/hoJdsZC7UPAuEHev6S0+XIqKEC7vjo5prz1k=", + "lastModified": 1784906761, + "narHash": "sha256-2v0H8+Ert+xbm0oliHblXTPPczuKiibBUBvRax59kxg=", "owner": "zhaofengli", "repo": "nix-homebrew", - "rev": "de7953a08ed4bb9245be043e468561c17b89130d", + "rev": "60623ec512406261f553d24033c8a0c53fd0b7f2", "type": "github" }, "original": { @@ -382,11 +364,11 @@ "nixpkgs-nixcord": "nixpkgs-nixcord" }, "locked": { - "lastModified": 1783764089, - "narHash": "sha256-AzoohteEEymQ+m3fAXlQJ+mkFLQ9XjPRqSlgqJ7TLGY=", + "lastModified": 1784923257, + "narHash": "sha256-rxilKSeFG750HjJYCxkrLlVLXXSFWb85qcodvdI48j4=", "owner": "FlameFlag", "repo": "nixcord", - "rev": "f3c556542c423b5e790a94d0337a80cede816620", + "rev": "8673218cf5f13399afee9e01ebcb0648f0714316", "type": "github" }, "original": { @@ -401,11 +383,11 @@ "nixpkgs": "nixpkgs_8" }, "locked": { - "lastModified": 1783336371, - "narHash": "sha256-ZisTtweyb7JUwPP54HAXE9TypT8m89dIxDI36Ak0hAs=", + "lastModified": 1784642409, + "narHash": "sha256-hcbDqFuySAJawljt5r0sKBCJKYnbtGD0T/ZIozH1Dq0=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "a9620cfa43f0c1c30a46c31ae3c6e58cdb124a14", + "rev": "eaeb18da90024448a60eb1ec7132eafa4003404e", "type": "github" }, "original": { @@ -477,11 +459,11 @@ }, "nixpkgs-nixcord": { "locked": { - "lastModified": 1782999065, - "narHash": "sha256-5Dgj5+pIQYZKrXUGaLCk7CKfN3MmpwIhO94++WVxvng=", + "lastModified": 1784432872, + "narHash": "sha256-n3gKTBIV4ZA5VQpUakffBe3KGu4+mhPoA34rrqS0GkA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "80d591ed473cfc46329932c2aadac9b435342c7c", + "rev": "fd1462031fdee08f65fd0b4c6b64e22239a77870", "type": "github" }, "original": { @@ -492,22 +474,6 @@ } }, "nixpkgs_10": { - "locked": { - "lastModified": 1730200266, - "narHash": "sha256-l253w0XMT8nWHGXuXqyiIC/bMvh1VRszGXgdpQlfhvU=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "807e9154dcb16384b1b765ebe9cd2bba2ac287fd", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_11": { "locked": { "lastModified": 1772963539, "narHash": "sha256-9jVDGZnvCckTGdYT53d/EfznygLskyLQXYwJLKMPsZs=", @@ -523,20 +489,20 @@ "type": "github" } }, - "nixpkgs_12": { + "nixpkgs_11": { "locked": { - "lastModified": 1783776592, - "narHash": "sha256-+GVwKnbbSmf4cWMJyRzvw8H5yFknmkLoPD5v6snqPzo=", - "rev": "e7a3ca8092b61ff85b6a45bf863ea2b2d6a661b3", + "lastModified": 1784356753, + "narHash": "sha256-zupdTm41be2fY8cexroEOGjopl3F2Gqs3gk7ieqaM3s=", + "rev": "61b7c44c4073f0b827768aff0049561b5110ea5a", "type": "tarball", - "url": "https://releases.nixos.org/nixos/unstable/nixos-26.11pre1032869.e7a3ca8092b6/nixexprs.tar.xz" + "url": "https://releases.nixos.org/nixos/unstable/nixos-26.11pre1036777.61b7c44c4073/nixexprs.tar.xz" }, "original": { "type": "tarball", "url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz" } }, - "nixpkgs_13": { + "nixpkgs_12": { "locked": { "lastModified": 1772542754, "narHash": "sha256-WGV2hy+VIeQsYXpsLjdr4GvHv5eECMISX1zKLTedhdg=", @@ -552,7 +518,7 @@ "type": "github" } }, - "nixpkgs_14": { + "nixpkgs_13": { "locked": { "lastModified": 1778869304, "narHash": "sha256-30sZNZoA1cqF5JNO9fVX+wgiQYjB7HJqqJ4ztCDeBZE=", @@ -568,7 +534,7 @@ "type": "github" } }, - "nixpkgs_15": { + "nixpkgs_14": { "locked": { "lastModified": 1777954456, "narHash": "sha256-hGdgeU2Nk87RAuZyYjyDjFL6LK7dAZN5RE9+hrDTkDU=", @@ -666,11 +632,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1782999065, - "narHash": "sha256-5Dgj5+pIQYZKrXUGaLCk7CKfN3MmpwIhO94++WVxvng=", + "lastModified": 1784432872, + "narHash": "sha256-n3gKTBIV4ZA5VQpUakffBe3KGu4+mhPoA34rrqS0GkA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "80d591ed473cfc46329932c2aadac9b435342c7c", + "rev": "fd1462031fdee08f65fd0b4c6b64e22239a77870", "type": "github" }, "original": { @@ -682,11 +648,11 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1780243769, - "narHash": "sha256-x5UQuRsH3MqI0U9afaXSNqzTPSeZlRLvFAav2Ux1pNw=", + "lastModified": 1783776592, + "narHash": "sha256-UgCQzxeWI75XM8G+hPrPh+MKzEPjG3SpAj7dtqSbksA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "331800de5053fcebacf6813adb5db9c9dca22a0c", + "rev": "e7a3ca8092b61ff85b6a45bf863ea2b2d6a661b3", "type": "github" }, "original": { @@ -698,11 +664,11 @@ }, "nixpkgs_9": { "locked": { - "lastModified": 1783776592, - "narHash": "sha256-UgCQzxeWI75XM8G+hPrPh+MKzEPjG3SpAj7dtqSbksA=", + "lastModified": 1784796856, + "narHash": "sha256-wWFrV5/Qbm+lyt5x20E/bSbfJiGKMo4RCxZV8cl/WZI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e7a3ca8092b61ff85b6a45bf863ea2b2d6a661b3", + "rev": "e2587caef70cea85dd97d7daab492899902dbf5d", "type": "github" }, "original": { @@ -712,28 +678,9 @@ "type": "github" } }, - "notion-calendar-electron": { - "inputs": { - "flake-utils": "flake-utils_2", - "nixpkgs": "nixpkgs_10" - }, - "locked": { - "lastModified": 1764778294, - "narHash": "sha256-kYex7JjucpAMxOvLL9GbXxqgHcB4qhOMSE2VlNw7udI=", - "owner": "czlabinger", - "repo": "notion-calendar-electron", - "rev": "7e01efb90361048b27220abb9b9e703ab705d05d", - "type": "github" - }, - "original": { - "owner": "czlabinger", - "repo": "notion-calendar-electron", - "type": "github" - } - }, "notion-desktop": { "inputs": { - "flake-utils": "flake-utils_3", + "flake-utils": "flake-utils_2", "nixpkgs": [ "nixpkgs" ] @@ -754,8 +701,8 @@ }, "paring": { "inputs": { - "flake-utils": "flake-utils_4", - "nixpkgs": "nixpkgs_11" + "flake-utils": "flake-utils_3", + "nixpkgs": "nixpkgs_10" }, "locked": { "lastModified": 1773918161, @@ -825,7 +772,6 @@ "nixos-wsl": "nixos-wsl", "nixpkgs": "nixpkgs_9", "nixpkgs-2511": "nixpkgs-2511", - "notion-calendar-electron": "notion-calendar-electron", "notion-desktop": "notion-desktop", "paring": "paring", "plasma-manager": "plasma-manager", @@ -845,11 +791,11 @@ ] }, "locked": { - "lastModified": 1781317333, - "narHash": "sha256-qnjeFFELEyOO0vkubMB96WCuFzkvftTZ/LE/VctU+SE=", + "lastModified": 1784874492, + "narHash": "sha256-E4kC+rya1KfPpDGWtq+E3Ka4HoJGVIo5f9ZsHzYivUs=", "owner": "rustfs", "repo": "rustfs-flake", - "rev": "1d3ef7296a7b22b4b9849d0766f53a0300bce893", + "rev": "7dedccc7160410a325f922ed8591d90152a261b7", "type": "github" }, "original": { @@ -880,7 +826,7 @@ }, "soulver-cpp": { "inputs": { - "nixpkgs": "nixpkgs_14", + "nixpkgs": "nixpkgs_13", "nixpkgs-libxml2": "nixpkgs-libxml2" }, "locked": { @@ -899,15 +845,15 @@ }, "spicetify-nix": { "inputs": { - "nixpkgs": "nixpkgs_12", - "systems": "systems_5" + "nixpkgs": "nixpkgs_11", + "systems": "systems_4" }, "locked": { - "lastModified": 1783838433, - "narHash": "sha256-Zb8+v76qSPYDlUea1y30YzgdEoDjA97vRmeqfPAqwZs=", + "lastModified": 1784481035, + "narHash": "sha256-nC0QN+GPTnA5i+WBx8S2rG8+VFh+EeBnEe5mU3hlAcQ=", "owner": "Gerg-L", "repo": "spicetify-nix", - "rev": "c6ab7371e40abd405313af9bddafd5f37cc94f83", + "rev": "a6baa7464f9b21a106dcfabb0bdcfe96fb434409", "type": "github" }, "original": { @@ -1006,33 +952,18 @@ "type": "github" } }, - "systems_7": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, "vicinae": { "inputs": { - "nixpkgs": "nixpkgs_13", + "nixpkgs": "nixpkgs_12", "soulver-cpp": "soulver-cpp", - "systems": "systems_6" + "systems": "systems_5" }, "locked": { - "lastModified": 1783794047, - "narHash": "sha256-TOV9S62H66hItUcsjaGcmjknCqZJ/gN7EPRmwS7jh9w=", + "lastModified": 1784925088, + "narHash": "sha256-YKL4+O7T9nr+V+Mo14XX3+/nfwT8dEzoXk+9Zqpl/7g=", "owner": "vicinaehq", "repo": "vicinae", - "rev": "e7e34695371737b371d6488c7f680b436d82093e", + "rev": "63c5af41338dc278505d7a0007673246a195ac1a", "type": "github" }, "original": { @@ -1047,15 +978,15 @@ "nixpkgs": [ "nixpkgs" ], - "systems": "systems_7", + "systems": "systems_6", "vicinae": "vicinae_2" }, "locked": { - "lastModified": 1783009133, - "narHash": "sha256-Non+frT3WG0TN60zCq63m8+d7yNmCCMaI363kZaDmPM=", + "lastModified": 1784504910, + "narHash": "sha256-fzPBEJZiRvc/FNMdpbdcfaZzF01U4IQenHW9IQFzhos=", "owner": "vicinaehq", "repo": "extensions", - "rev": "afb84fe4b5253777ff82db8e19e6cc0c9b7f811f", + "rev": "ca74eede9a778a9373c8f5fd221b0a5026dcd1ef", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 1dfc4e6..123cb4c 100644 --- a/flake.nix +++ b/flake.nix @@ -47,7 +47,7 @@ inputs.nixpkgs.follows = "nixpkgs"; }; - notion-calendar-electron.url = "github:czlabinger/notion-calendar-electron"; + # notion-calendar-electron.url = "github:czlabinger/notion-calendar-electron"; millennium.url = "github:SteamClientHomebrew/Millennium?dir=packages/nix"; diff --git a/hosts/machine/ena/configuration.nix b/hosts/machine/ena/configuration.nix index 97ba92a..c7aa3e4 100644 --- a/hosts/machine/ena/configuration.nix +++ b/hosts/machine/ena/configuration.nix @@ -25,6 +25,7 @@ "${inputs.self}/modules/mizukios/features/system/graphics.nix" "${inputs.self}/modules/mizukios/features/steam.nix" "${inputs.self}/modules/mizukios/features/remote/ssh.nix" + "${inputs.self}/modules/mizukios/features/_1password.nix" ]; catppuccin.flavor = lib.mkForce "mocha"; diff --git a/hosts/machine/ena/home/default.nix b/hosts/machine/ena/home/default.nix index d4e8116..b411b77 100644 --- a/hosts/machine/ena/home/default.nix +++ b/hosts/machine/ena/home/default.nix @@ -26,6 +26,7 @@ "${inputs.self}/modules/home/spicetify.nix" "${inputs.self}/modules/home/devtool/ghostty.nix" "${inputs.self}/modules/home/devtool/zed.nix" + "${inputs.self}/modules/home/firefox-devedition.nix" "${inputs.self}/modules/home/discord/linux.nix" "${inputs.self}/modules/home/devtool/vscode.nix" "${inputs.self}/modules/home/devtool/ciscopackettracer.nix" diff --git a/hosts/machine/kanade/home/default.nix b/hosts/machine/kanade/home/default.nix index c57cb0d..33360d7 100644 --- a/hosts/machine/kanade/home/default.nix +++ b/hosts/machine/kanade/home/default.nix @@ -21,6 +21,7 @@ "${inputs.self}/modules/home/devtool/neovim.nix" "${inputs.self}/modules/home/devtool/ghostty.nix" "${inputs.self}/modules/home/devtool/zed.nix" + "${inputs.self}/modules/home/firefox-devedition.nix" ./config/git.nix ./config/shell.nix ]; diff --git a/hosts/machine/kanade/modules/homebrew/casks.nix b/hosts/machine/kanade/modules/homebrew/casks.nix index e52106c..08ad7f2 100644 --- a/hosts/machine/kanade/modules/homebrew/casks.nix +++ b/hosts/machine/kanade/modules/homebrew/casks.nix @@ -3,7 +3,6 @@ "1password" "cloudflare-warp" "protonvpn" - "microsoft-edge@canary" # Communication "discord" @@ -12,6 +11,9 @@ "signal" "zoom" + # Browsers + "firefox@developer-edition" + # Productivity and design "camo-studio" "proton-drive" diff --git a/hosts/machine/kanade/modules/mac/dock.nix b/hosts/machine/kanade/modules/mac/dock.nix index c52c081..111b501 100644 --- a/hosts/machine/kanade/modules/mac/dock.nix +++ b/hosts/machine/kanade/modules/mac/dock.nix @@ -11,7 +11,6 @@ persistent-apps = [ "/System/Applications/Apps.app" - "/Applications/Microsoft Edge Canary.app" "/Applications/Discord.app" "/Applications/KakaoTalk.app" "/Applications/Signal.app" diff --git a/hosts/machine/mafuyu/configuration.nix b/hosts/machine/mafuyu/configuration.nix index b4fe2be..f1d8a67 100644 --- a/hosts/machine/mafuyu/configuration.nix +++ b/hosts/machine/mafuyu/configuration.nix @@ -13,6 +13,7 @@ "${inputs.self}/modules/mizukios/features/remote/ssh.nix" "${inputs.self}/modules/mizukios/features/steam.nix" "${inputs.self}/modules/mizukios/features/remote/sunshine.nix" + "${inputs.self}/modules/mizukios/features/_1password.nix" ]; networking = { diff --git a/hosts/machine/mafuyu/home/default.nix b/hosts/machine/mafuyu/home/default.nix index adc822c..170e7e7 100644 --- a/hosts/machine/mafuyu/home/default.nix +++ b/hosts/machine/mafuyu/home/default.nix @@ -36,6 +36,7 @@ "${inputs.self}/modules/home/devtool/neovim.nix" "${inputs.self}/modules/home/devtool/ghostty.nix" "${inputs.self}/modules/home/devtool/zed.nix" + "${inputs.self}/modules/home/firefox-devedition.nix" "${inputs.self}/modules/home/discord/linux.nix" ./config/shell.nix ./config/plasma.nix diff --git a/hosts/machine/mafuyu/home/packages.nix b/hosts/machine/mafuyu/home/packages.nix index 3891ec6..3831639 100644 --- a/hosts/machine/mafuyu/home/packages.nix +++ b/hosts/machine/mafuyu/home/packages.nix @@ -4,5 +4,4 @@ with pkgs; pjsk-cursor.n25.ani codex inputs.codex-app.packages.${stdenv.buildPlatform.system}.codex-desktop - microsoft-edge ] diff --git a/hosts/machine/mizuki/configuration.nix b/hosts/machine/mizuki/configuration.nix index 292164d..8c93bcd 100644 --- a/hosts/machine/mizuki/configuration.nix +++ b/hosts/machine/mizuki/configuration.nix @@ -19,6 +19,7 @@ "${inputs.self}/modules/mizukios/features/steam.nix" "${inputs.self}/modules/mizukios/features/remote/sunshine.nix" "${inputs.self}/modules/mizukios/features/waydroid.nix" + "${inputs.self}/modules/mizukios/features/_1password.nix" ]; networking = { diff --git a/hosts/machine/mizuki/home/default.nix b/hosts/machine/mizuki/home/default.nix index fe57254..0b86dbd 100644 --- a/hosts/machine/mizuki/home/default.nix +++ b/hosts/machine/mizuki/home/default.nix @@ -26,6 +26,7 @@ "${inputs.self}/modules/home/spicetify.nix" "${inputs.self}/modules/home/devtool/ghostty.nix" "${inputs.self}/modules/home/devtool/zed.nix" + "${inputs.self}/modules/home/firefox-devedition.nix" "${inputs.self}/modules/home/vicinae.nix" "${inputs.self}/modules/home/fastfetch.nix" ./config/shell.nix diff --git a/hosts/server/kazusa/configuration.nix b/hosts/server/kazusa/configuration.nix index 8eac76c..855cc5c 100644 --- a/hosts/server/kazusa/configuration.nix +++ b/hosts/server/kazusa/configuration.nix @@ -14,7 +14,6 @@ ./services/caddy.nix ]; - # Override shared boot.nix for Legacy BIOS boot.loader.grub.enableCryptodisk = lib.mkForce false; services.netbird.enable = true; diff --git a/hosts/server/natsu/configuration.nix b/hosts/server/natsu/configuration.nix index d30a171..46b08db 100644 --- a/hosts/server/natsu/configuration.nix +++ b/hosts/server/natsu/configuration.nix @@ -13,22 +13,17 @@ ipv6 = true; }; - # 2. 크론 설정 services.cron = { enable = true; - systemCronJobs = [ - "1 0 * * * imnyang * * * * * printf '\n%s : ' '$(date)' >> /home/imnyang/codelounge.log && /home/imnyang/codelounge.sh >> /home/imnyang/codelounge.log" - ]; }; services.netbird.enable = true; - # 3. 사용자 SSH 키 등록 users.users.imnyang.openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOHP3Z+AYrRh9f8TYyqChKfeyNm3lOe0F75AwRHTTaxD imnyang@kazusa" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIrpjEYOBx7LTGb7QsPrmPBboqyTUNm/e+4+yqWruljv imnyang@natsu" - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDNH9+KCZmlrkRsscGsDHLQJNUXW1km0aIr4gAnG8jpbI+LCgtdILd/aDOzNVM2MVJSRnn+USnf++QAFQxPNwkuG+PhJ+ZOwQnJpr27LFYDvtWh/c0IsBapmzPLkacmAc8D+CpBCLiK51OrlGtuV0etjfAj08BfTSGq2U9O7ksZohl/JHkRyIEZxRUnGqSA1oAkayByMUor9p2e1kSUCjO+S1u8CNphU+XBx+Fll49Y+rGjFYm3vEdznoDpz/Ho5lgndoOasGQqNGA+LWsp5Ap3e8xMsRIQy53HSwhY0kaWmaQYdovGBF5Eq7bgu5gdDXgq261gcArqteBCCgnrh8Fp jongyeol@furry" - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOFmyMQERIYmVzuKRohPpJlIgA0d/WCL3hVPfiNxqN5A crackthrough@heart" + # "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDNH9+KCZmlrkRsscGsDHLQJNUXW1km0aIr4gAnG8jpbI+LCgtdILd/aDOzNVM2MVJSRnn+USnf++QAFQxPNwkuG+PhJ+ZOwQnJpr27LFYDvtWh/c0IsBapmzPLkacmAc8D+CpBCLiK51OrlGtuV0etjfAj08BfTSGq2U9O7ksZohl/JHkRyIEZxRUnGqSA1oAkayByMUor9p2e1kSUCjO+S1u8CNphU+XBx+Fll49Y+rGjFYm3vEdznoDpz/Ho5lgndoOasGQqNGA+LWsp5Ap3e8xMsRIQy53HSwhY0kaWmaQYdovGBF5Eq7bgu5gdDXgq261gcArqteBCCgnrh8Fp jongyeol@furry" + # "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOFmyMQERIYmVzuKRohPpJlIgA0d/WCL3hVPfiNxqN5A crackthrough@heart" ]; environment.systemPackages = with pkgs; [ @@ -76,22 +71,12 @@ networking.firewall.allowedTCPPorts = [ 22 # default ssh port - 3022 # alternative ssh port - 80 443 12345 + 35353 ]; - - services.openssh = { - ports = [ - 22 - 3022 - ]; - }; - - networking.hostName = "natsu"; system.stateVersion = "26.05"; } diff --git a/modules/home/firefox-devedition.nix b/modules/home/firefox-devedition.nix new file mode 100644 index 0000000..8ed8f1d --- /dev/null +++ b/modules/home/firefox-devedition.nix @@ -0,0 +1,258 @@ +{ pkgs, lib, ... }: + +let + inherit (pkgs.stdenv.hostPlatform) isDarwin isLinux; + + extensionUrl = "https://git.mizuki.guru/imnyang/thisiswindowsfigma/releases/download/v1.0.0/d168a70cb6a24fe4a478-1.0.0.xpi"; + extensionId = "figma-windows-ua-spoofer@imnyang.local"; + + profileName = "imnyang"; + darwinProfilePath = "Profiles/${profileName}"; + + firefoxSettings = { + "toolkit.legacyUserProfileCustomizations.stylesheets" = true; + "browser.uidensity" = 0; + "browser.theme.dark-private-windows" = false; + }; + + userChrome = '' + :root { + --mizuki-bg: #fcf8f9; + --mizuki-fg: #191017; + --mizuki-muted: #707d8a; + --mizuki-border: #f2e6ea; + --mizuki-surface: #fdf7f9; + --mizuki-hover: #8165700f; + --mizuki-active: #8165701a; + --mizuki-selection: #ecb7d5; + } + + @media (prefers-color-scheme: dark) { + :root { + --mizuki-bg: #191017; + --mizuki-fg: #fafafa; + --mizuki-muted: #a9a9b1; + --mizuki-border: #2c1f2d; + --mizuki-surface: #191017; + --mizuki-hover: #2c1f2d80; + --mizuki-active: #2c1f2d; + --mizuki-selection: #604562; + } + } + + #navigator-toolbox, + #TabsToolbar, + #nav-bar, + #PersonalToolbar, + #sidebar-box, + #sidebar-header { + background-color: var(--mizuki-bg) !important; + color: var(--mizuki-fg) !important; + } + + #navigator-toolbox { + border-bottom: 1px solid var(--mizuki-border) !important; + } + + #urlbar-background, + #searchbar { + background-color: var(--mizuki-surface) !important; + border-color: var(--mizuki-border) !important; + color: var(--mizuki-fg) !important; + } + + #urlbar[focused] > #urlbar-background, + #searchbar:focus-within { + border-color: var(--mizuki-selection) !important; + box-shadow: 0 0 0 1px var(--mizuki-selection) !important; + } + + .tab-background { + border-radius: 10px 10px 0 0 !important; + } + + .tab-background[selected] { + background-color: var(--mizuki-active) !important; + } + + .tabbrowser-tab:not([selected]):hover .tab-background, + toolbarbutton:hover, + #urlbar:hover > #urlbar-background { + background-color: var(--mizuki-hover) !important; + } + + toolbarbutton[open], + toolbarbutton[checked], + toolbarbutton:active { + background-color: var(--mizuki-active) !important; + } + + #TabsToolbar .tabbrowser-tab, + #urlbar-input, + #identity-icon-label, + toolbarbutton { + color: var(--mizuki-fg) !important; + } + + .tabbrowser-tab:not([selected]) .tab-label, + #sidebar-title { + color: var(--mizuki-muted) !important; + } + ''; + + userContent = '' + @-moz-document url("about:home"), url("about:newtab"), url("about:privatebrowsing") { + body, + .outer-wrapper, + .activity-stream { + background: #fcf8f9 !important; + color: #191017 !important; + } + + @media (prefers-color-scheme: dark) { + body, + .outer-wrapper, + .activity-stream { + background: #191017 !important; + color: #fafafa !important; + } + } + } + ''; + + userJs = lib.concatStringsSep "\n" ( + lib.mapAttrsToList (name: value: ''user_pref(${builtins.toJSON name}, ${builtins.toJSON value});'') firefoxSettings + ) + "\n"; +in +lib.mkMerge [ + (lib.mkIf isLinux { + programs.firefox = { + enable = true; + package = pkgs.firefox-devedition; + + policies = { + DisableAppUpdate = true; + ExtensionSettings = { + ${extensionId} = { + installation_mode = "force_installed"; + install_url = extensionUrl; + }; + }; + }; + + profiles.${profileName} = { + id = 0; + name = profileName; + path = "${profileName}.default"; + isDefault = true; + + settings = firefoxSettings; + inherit userChrome userContent; + }; + }; + + xdg.mimeApps.defaultApplications = { + "text/html" = [ "firefox-devedition.desktop" ]; + "x-scheme-handler/http" = [ "firefox-devedition.desktop" ]; + "x-scheme-handler/https" = [ "firefox-devedition.desktop" ]; + "x-scheme-handler/about" = [ "firefox-devedition.desktop" ]; + "x-scheme-handler/unknown" = [ "firefox-devedition.desktop" ]; + }; + }) + + (lib.mkIf isDarwin { + home.activation.configureFirefoxDeveloperEdition = lib.hm.dag.entryAfter [ "writeBoundary" ] '' + firefox_dir="$HOME/Library/Application Support/Firefox" + profiles_ini="$firefox_dir/profiles.ini" + + mkdir -p "$firefox_dir/Profiles" + + profile_info="" + if [ -f "$profiles_ini" ]; then + profile_info=$( + awk ' + function flush() { + if (in_profile && path != "") { + if (is_default == "1") { + print is_relative "|" path + found = 1 + exit + } + if (first == "") { + first = is_relative "|" path + } + } + } + BEGIN { in_profile = 0; is_relative = "1" } + /^\\[Profile[0-9]+\\]$/ { flush(); in_profile = 1; path = ""; is_default = "0"; is_relative = "1"; next } + /^\\[/ { flush(); in_profile = 0; next } + in_profile && /^Path=/ { path = substr($0, 6); next } + in_profile && /^Default=1$/ { is_default = "1"; next } + in_profile && /^IsRelative=/ { is_relative = substr($0, 12); next } + END { + if (!found) { + flush() + } + if (!found && first != "") { + print first + } + } + ' "$profiles_ini" + ) + fi + + if [ -n "$profile_info" ]; then + is_relative="''${profile_info%%|*}" + profile_path="''${profile_info#*|}" + if [ "$is_relative" = "1" ]; then + profile_dir="$firefox_dir/$profile_path" + else + profile_dir="$profile_path" + fi + else + profile_dir="$firefox_dir/${darwinProfilePath}" + cat > "$profiles_ini" <<'EOF' +[Profile0] +Name=${profileName} +IsRelative=1 +Path=${darwinProfilePath} +Default=1 + +[General] +StartWithLastProfile=1 +Version=2 +EOF + fi + + mkdir -p "$profile_dir/chrome" + cp ${pkgs.writeText "firefox-devedition-user.js" userJs} "$profile_dir/user.js" + cp ${pkgs.writeText "firefox-devedition-userChrome.css" userChrome} "$profile_dir/chrome/userChrome.css" + cp ${pkgs.writeText "firefox-devedition-userContent.css" userContent} "$profile_dir/chrome/userContent.css" + ''; + + home.file = { + "Library/Preferences/org.mozilla.firefoxdeveloperedition.plist".text = '' + + + + + EnterprisePoliciesEnabled + + DisableAppUpdate + + ExtensionSettings + + ${extensionId} + + installation_mode + force_installed + install_url + ${extensionUrl} + + + + + ''; + }; + }) +] diff --git a/modules/home/packages.nix b/modules/home/packages.nix index fd4562b..1916e6d 100644 --- a/modules/home/packages.nix +++ b/modules/home/packages.nix @@ -86,7 +86,7 @@ with pkgs; )) inputs.notion-desktop.packages.${stdenv.hostPlatform.system}.default - inputs.notion-calendar-electron.packages.${stdenv.hostPlatform.system}.default + # inputs.notion-calendar-electron.packages.${stdenv.hostPlatform.system}.default inputs.codex-app.packages.${stdenv.buildPlatform.system}.codex-desktop proton-vpn @@ -98,8 +98,6 @@ with pkgs; code-cursor - microsoft-edge - galaxy-buds-client # another diff --git a/modules/mizukios/features/_1password.nix b/modules/mizukios/features/_1password.nix new file mode 100644 index 0000000..ce347ce --- /dev/null +++ b/modules/mizukios/features/_1password.nix @@ -0,0 +1,17 @@ +{ config, pkgs, ... }: +{ + programs._1password.enable = true; + programs._1password-gui = { + enable = true; + polkitPolicyOwners = [ "imnyang" ]; + }; + + environment.etc = { + "1password/custom_allowed_browsers" = { + text = '' + firefox-devedition + ''; + mode = "0755"; + }; + }; +} diff --git a/modules/mizukios/features/packages.nix b/modules/mizukios/features/packages.nix index e399d8b..ced0178 100644 --- a/modules/mizukios/features/packages.nix +++ b/modules/mizukios/features/packages.nix @@ -8,23 +8,6 @@ let nrr = import ./packages/nrr.nix { inherit pkgs; }; in { - programs._1password.enable = true; - programs._1password-gui = { - enable = true; - polkitPolicyOwners = [ "imnyang" ]; - }; - - environment.etc = { - "1password/custom_allowed_browsers" = { - text = '' - microsoft-edge - firefox-devedition - ''; - mode = "0755"; - }; - }; - - # 시스템 전역 패키지 (데스크탑/개발용) environment.systemPackages = with pkgs; [ nr nrr From 32b5439a646446dab42fba8a1485f98074912246 Mon Sep 17 00:00:00 2001 From: imnyang Date: Sat, 25 Jul 2026 06:58:18 +0900 Subject: [PATCH 02/21] wow --- hosts/server/natsu/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/server/natsu/configuration.nix b/hosts/server/natsu/configuration.nix index d30a171..882ebc3 100644 --- a/hosts/server/natsu/configuration.nix +++ b/hosts/server/natsu/configuration.nix @@ -81,6 +81,7 @@ 80 443 12345 + 57017 ]; From fb7b785ae7bffb2694bcd9d30c02b818ae05b498 Mon Sep 17 00:00:00 2001 From: imnyang Date: Sat, 25 Jul 2026 07:16:27 +0900 Subject: [PATCH 03/21] wow --- hosts/machine/kanade/home/default.nix | 1 - .../machine/kanade/modules/homebrew/casks.nix | 3 - hosts/server/natsu/default.nix | 1 + hosts/server/natsu/services/limbo.nix | 24 ++ modules/home/firefox-devedition.nix | 369 ++++++------------ 5 files changed, 154 insertions(+), 244 deletions(-) create mode 100644 hosts/server/natsu/services/limbo.nix diff --git a/hosts/machine/kanade/home/default.nix b/hosts/machine/kanade/home/default.nix index 33360d7..c57cb0d 100644 --- a/hosts/machine/kanade/home/default.nix +++ b/hosts/machine/kanade/home/default.nix @@ -21,7 +21,6 @@ "${inputs.self}/modules/home/devtool/neovim.nix" "${inputs.self}/modules/home/devtool/ghostty.nix" "${inputs.self}/modules/home/devtool/zed.nix" - "${inputs.self}/modules/home/firefox-devedition.nix" ./config/git.nix ./config/shell.nix ]; diff --git a/hosts/machine/kanade/modules/homebrew/casks.nix b/hosts/machine/kanade/modules/homebrew/casks.nix index 08ad7f2..11d6a71 100644 --- a/hosts/machine/kanade/modules/homebrew/casks.nix +++ b/hosts/machine/kanade/modules/homebrew/casks.nix @@ -11,9 +11,6 @@ "signal" "zoom" - # Browsers - "firefox@developer-edition" - # Productivity and design "camo-studio" "proton-drive" diff --git a/hosts/server/natsu/default.nix b/hosts/server/natsu/default.nix index 90ba444..1b29d32 100644 --- a/hosts/server/natsu/default.nix +++ b/hosts/server/natsu/default.nix @@ -12,6 +12,7 @@ nixpkgs.lib.nixosSystem { # ./services/attic.nix ./services/caddy.nix ./services/forgejo-runner.nix + ./services/limbo.nix ./services/stream.nix # ./services/harmonia.nix ./configuration.nix diff --git a/hosts/server/natsu/services/limbo.nix b/hosts/server/natsu/services/limbo.nix new file mode 100644 index 0000000..48c4c5f --- /dev/null +++ b/hosts/server/natsu/services/limbo.nix @@ -0,0 +1,24 @@ +{ pkgs, ... }: + +{ + systemd.services.limbo = { + description = "Minecraft Limbo Server"; + after = [ "network-online.target" ]; + wants = [ "network-online.target" ]; + wantedBy = [ "multi-user.target" ]; + + serviceConfig = { + Type = "simple"; + User = "imnyang"; + Group = "users"; + WorkingDirectory = "/home/imnyang/minecraft/limbo"; + ExecStart = "/home/imnyang/minecraft/limbo/pico_limbo --config /home/imnyang/minecraft/limbo/server.toml"; + Restart = "always"; + RestartSec = 5; + }; + }; + + networking.firewall.allowedTCPPorts = [ + 25565 + ]; +} diff --git a/modules/home/firefox-devedition.nix b/modules/home/firefox-devedition.nix index 8ed8f1d..9a5d18e 100644 --- a/modules/home/firefox-devedition.nix +++ b/modules/home/firefox-devedition.nix @@ -1,258 +1,147 @@ -{ pkgs, lib, ... }: +{ pkgs, ... }: let - inherit (pkgs.stdenv.hostPlatform) isDarwin isLinux; - extensionUrl = "https://git.mizuki.guru/imnyang/thisiswindowsfigma/releases/download/v1.0.0/d168a70cb6a24fe4a478-1.0.0.xpi"; extensionId = "figma-windows-ua-spoofer@imnyang.local"; - - profileName = "imnyang"; - darwinProfilePath = "Profiles/${profileName}"; - - firefoxSettings = { - "toolkit.legacyUserProfileCustomizations.stylesheets" = true; - "browser.uidensity" = 0; - "browser.theme.dark-private-windows" = false; - }; - - userChrome = '' - :root { - --mizuki-bg: #fcf8f9; - --mizuki-fg: #191017; - --mizuki-muted: #707d8a; - --mizuki-border: #f2e6ea; - --mizuki-surface: #fdf7f9; - --mizuki-hover: #8165700f; - --mizuki-active: #8165701a; - --mizuki-selection: #ecb7d5; - } - - @media (prefers-color-scheme: dark) { - :root { - --mizuki-bg: #191017; - --mizuki-fg: #fafafa; - --mizuki-muted: #a9a9b1; - --mizuki-border: #2c1f2d; - --mizuki-surface: #191017; - --mizuki-hover: #2c1f2d80; - --mizuki-active: #2c1f2d; - --mizuki-selection: #604562; - } - } - - #navigator-toolbox, - #TabsToolbar, - #nav-bar, - #PersonalToolbar, - #sidebar-box, - #sidebar-header { - background-color: var(--mizuki-bg) !important; - color: var(--mizuki-fg) !important; - } - - #navigator-toolbox { - border-bottom: 1px solid var(--mizuki-border) !important; - } - - #urlbar-background, - #searchbar { - background-color: var(--mizuki-surface) !important; - border-color: var(--mizuki-border) !important; - color: var(--mizuki-fg) !important; - } - - #urlbar[focused] > #urlbar-background, - #searchbar:focus-within { - border-color: var(--mizuki-selection) !important; - box-shadow: 0 0 0 1px var(--mizuki-selection) !important; - } - - .tab-background { - border-radius: 10px 10px 0 0 !important; - } - - .tab-background[selected] { - background-color: var(--mizuki-active) !important; - } - - .tabbrowser-tab:not([selected]):hover .tab-background, - toolbarbutton:hover, - #urlbar:hover > #urlbar-background { - background-color: var(--mizuki-hover) !important; - } - - toolbarbutton[open], - toolbarbutton[checked], - toolbarbutton:active { - background-color: var(--mizuki-active) !important; - } - - #TabsToolbar .tabbrowser-tab, - #urlbar-input, - #identity-icon-label, - toolbarbutton { - color: var(--mizuki-fg) !important; - } - - .tabbrowser-tab:not([selected]) .tab-label, - #sidebar-title { - color: var(--mizuki-muted) !important; - } - ''; - - userContent = '' - @-moz-document url("about:home"), url("about:newtab"), url("about:privatebrowsing") { - body, - .outer-wrapper, - .activity-stream { - background: #fcf8f9 !important; - color: #191017 !important; - } - - @media (prefers-color-scheme: dark) { - body, - .outer-wrapper, - .activity-stream { - background: #191017 !important; - color: #fafafa !important; - } - } - } - ''; - - userJs = lib.concatStringsSep "\n" ( - lib.mapAttrsToList (name: value: ''user_pref(${builtins.toJSON name}, ${builtins.toJSON value});'') firefoxSettings - ) + "\n"; in -lib.mkMerge [ - (lib.mkIf isLinux { - programs.firefox = { - enable = true; - package = pkgs.firefox-devedition; +{ + programs.firefox = { + enable = true; + package = pkgs.firefox-devedition; - policies = { - DisableAppUpdate = true; - ExtensionSettings = { - ${extensionId} = { - installation_mode = "force_installed"; - install_url = extensionUrl; - }; + policies = { + DisableAppUpdate = true; + ExtensionSettings = { + ${extensionId} = { + installation_mode = "force_installed"; + install_url = extensionUrl; }; }; + }; - profiles.${profileName} = { - id = 0; - name = profileName; - path = "${profileName}.default"; - isDefault = true; + profiles.imnyang = { + id = 0; + name = "imnyang"; + isDefault = true; - settings = firefoxSettings; - inherit userChrome userContent; + settings = { + "toolkit.legacyUserProfileCustomizations.stylesheets" = true; + "browser.uidensity" = 0; + "browser.theme.dark-private-windows" = false; }; - }; - xdg.mimeApps.defaultApplications = { - "text/html" = [ "firefox-devedition.desktop" ]; - "x-scheme-handler/http" = [ "firefox-devedition.desktop" ]; - "x-scheme-handler/https" = [ "firefox-devedition.desktop" ]; - "x-scheme-handler/about" = [ "firefox-devedition.desktop" ]; - "x-scheme-handler/unknown" = [ "firefox-devedition.desktop" ]; - }; - }) + userChrome = '' + :root { + --mizuki-bg: #fcf8f9; + --mizuki-fg: #191017; + --mizuki-muted: #707d8a; + --mizuki-border: #f2e6ea; + --mizuki-surface: #fdf7f9; + --mizuki-hover: #8165700f; + --mizuki-active: #8165701a; + --mizuki-selection: #ecb7d5; + } - (lib.mkIf isDarwin { - home.activation.configureFirefoxDeveloperEdition = lib.hm.dag.entryAfter [ "writeBoundary" ] '' - firefox_dir="$HOME/Library/Application Support/Firefox" - profiles_ini="$firefox_dir/profiles.ini" + @media (prefers-color-scheme: dark) { + :root { + --mizuki-bg: #191017; + --mizuki-fg: #fafafa; + --mizuki-muted: #a9a9b1; + --mizuki-border: #2c1f2d; + --mizuki-surface: #191017; + --mizuki-hover: #2c1f2d80; + --mizuki-active: #2c1f2d; + --mizuki-selection: #604562; + } + } - mkdir -p "$firefox_dir/Profiles" + #navigator-toolbox, + #TabsToolbar, + #nav-bar, + #PersonalToolbar, + #sidebar-box, + #sidebar-header { + background-color: var(--mizuki-bg) !important; + color: var(--mizuki-fg) !important; + } - profile_info="" - if [ -f "$profiles_ini" ]; then - profile_info=$( - awk ' - function flush() { - if (in_profile && path != "") { - if (is_default == "1") { - print is_relative "|" path - found = 1 - exit - } - if (first == "") { - first = is_relative "|" path - } - } + #navigator-toolbox { + border-bottom: 1px solid var(--mizuki-border) !important; + } + + #urlbar-background, + #searchbar { + background-color: var(--mizuki-surface) !important; + border-color: var(--mizuki-border) !important; + color: var(--mizuki-fg) !important; + } + + #urlbar[focused] > #urlbar-background, + #searchbar:focus-within { + border-color: var(--mizuki-selection) !important; + box-shadow: 0 0 0 1px var(--mizuki-selection) !important; + } + + .tab-background { + border-radius: 10px 10px 0 0 !important; + } + + .tab-background[selected] { + background-color: var(--mizuki-active) !important; + } + + .tabbrowser-tab:not([selected]):hover .tab-background, + toolbarbutton:hover, + #urlbar:hover > #urlbar-background { + background-color: var(--mizuki-hover) !important; + } + + toolbarbutton[open], + toolbarbutton[checked], + toolbarbutton:active { + background-color: var(--mizuki-active) !important; + } + + #TabsToolbar .tabbrowser-tab, + #urlbar-input, + #identity-icon-label, + toolbarbutton { + color: var(--mizuki-fg) !important; + } + + .tabbrowser-tab:not([selected]) .tab-label, + #sidebar-title { + color: var(--mizuki-muted) !important; + } + ''; + + userContent = '' + @-moz-document url("about:home"), url("about:newtab"), url("about:privatebrowsing") { + body, + .outer-wrapper, + .activity-stream { + background: #fcf8f9 !important; + color: #191017 !important; + } + + @media (prefers-color-scheme: dark) { + body, + .outer-wrapper, + .activity-stream { + background: #191017 !important; + color: #fafafa !important; } - BEGIN { in_profile = 0; is_relative = "1" } - /^\\[Profile[0-9]+\\]$/ { flush(); in_profile = 1; path = ""; is_default = "0"; is_relative = "1"; next } - /^\\[/ { flush(); in_profile = 0; next } - in_profile && /^Path=/ { path = substr($0, 6); next } - in_profile && /^Default=1$/ { is_default = "1"; next } - in_profile && /^IsRelative=/ { is_relative = substr($0, 12); next } - END { - if (!found) { - flush() - } - if (!found && first != "") { - print first - } - } - ' "$profiles_ini" - ) - fi - - if [ -n "$profile_info" ]; then - is_relative="''${profile_info%%|*}" - profile_path="''${profile_info#*|}" - if [ "$is_relative" = "1" ]; then - profile_dir="$firefox_dir/$profile_path" - else - profile_dir="$profile_path" - fi - else - profile_dir="$firefox_dir/${darwinProfilePath}" - cat > "$profiles_ini" <<'EOF' -[Profile0] -Name=${profileName} -IsRelative=1 -Path=${darwinProfilePath} -Default=1 - -[General] -StartWithLastProfile=1 -Version=2 -EOF - fi - - mkdir -p "$profile_dir/chrome" - cp ${pkgs.writeText "firefox-devedition-user.js" userJs} "$profile_dir/user.js" - cp ${pkgs.writeText "firefox-devedition-userChrome.css" userChrome} "$profile_dir/chrome/userChrome.css" - cp ${pkgs.writeText "firefox-devedition-userContent.css" userContent} "$profile_dir/chrome/userContent.css" - ''; - - home.file = { - "Library/Preferences/org.mozilla.firefoxdeveloperedition.plist".text = '' - - - - - EnterprisePoliciesEnabled - - DisableAppUpdate - - ExtensionSettings - - ${extensionId} - - installation_mode - force_installed - install_url - ${extensionUrl} - - - - + } + } ''; }; - }) -] + }; + + xdg.mimeApps.defaultApplications = { + "text/html" = [ "firefox-devedition.desktop" ]; + "x-scheme-handler/http" = [ "firefox-devedition.desktop" ]; + "x-scheme-handler/https" = [ "firefox-devedition.desktop" ]; + "x-scheme-handler/about" = [ "firefox-devedition.desktop" ]; + "x-scheme-handler/unknown" = [ "firefox-devedition.desktop" ]; + }; +} From 2d13b1fb0a9f1e3ede0b9d39ce9305a3db24f415 Mon Sep 17 00:00:00 2001 From: imnyang Date: Sat, 25 Jul 2026 07:16:35 +0900 Subject: [PATCH 04/21] wow --- hosts/server/natsu/services/limbo.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hosts/server/natsu/services/limbo.nix b/hosts/server/natsu/services/limbo.nix index 48c4c5f..79e1bf5 100644 --- a/hosts/server/natsu/services/limbo.nix +++ b/hosts/server/natsu/services/limbo.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +{ ... }: { systemd.services.limbo = { @@ -12,7 +12,7 @@ User = "imnyang"; Group = "users"; WorkingDirectory = "/home/imnyang/minecraft/limbo"; - ExecStart = "/home/imnyang/minecraft/limbo/pico_limbo --config /home/imnyang/minecraft/limbo/server.toml"; + ExecStart = "/home/imnyang/minecraft/limbo/pico_limbo"; Restart = "always"; RestartSec = 5; }; From 365081401cbdf44f3c540b82fa6c9c458bf1ad25 Mon Sep 17 00:00:00 2001 From: imnyang Date: Sat, 25 Jul 2026 07:17:14 +0900 Subject: [PATCH 05/21] wow --- hosts/server/natsu/services/limbo.nix | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/hosts/server/natsu/services/limbo.nix b/hosts/server/natsu/services/limbo.nix index 79e1bf5..404c5dc 100644 --- a/hosts/server/natsu/services/limbo.nix +++ b/hosts/server/natsu/services/limbo.nix @@ -12,13 +12,9 @@ User = "imnyang"; Group = "users"; WorkingDirectory = "/home/imnyang/minecraft/limbo"; - ExecStart = "/home/imnyang/minecraft/limbo/pico_limbo"; + ExecStart = "/home/imnyang/minecraft/limbo/pico_limbo --config /home/imnyang/minecraft/limbo/server.toml"; Restart = "always"; RestartSec = 5; }; }; - - networking.firewall.allowedTCPPorts = [ - 25565 - ]; } From 863abf5a10abf5a95512ff56b308edee93deb139 Mon Sep 17 00:00:00 2001 From: imnyang Date: Sat, 25 Jul 2026 07:31:19 +0900 Subject: [PATCH 06/21] wow --- hosts/server/natsu/default.nix | 1 + hosts/server/natsu/services/velocity.nix | 29 ++++++++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 hosts/server/natsu/services/velocity.nix diff --git a/hosts/server/natsu/default.nix b/hosts/server/natsu/default.nix index 1b29d32..aeee863 100644 --- a/hosts/server/natsu/default.nix +++ b/hosts/server/natsu/default.nix @@ -14,6 +14,7 @@ nixpkgs.lib.nixosSystem { ./services/forgejo-runner.nix ./services/limbo.nix ./services/stream.nix + ./services/velocity.nix # ./services/harmonia.nix ./configuration.nix ./hardware-configuration.nix diff --git a/hosts/server/natsu/services/velocity.nix b/hosts/server/natsu/services/velocity.nix new file mode 100644 index 0000000..b04506f --- /dev/null +++ b/hosts/server/natsu/services/velocity.nix @@ -0,0 +1,29 @@ +{ pkgs, ... }: + +{ + systemd.services.velocity = { + description = "Minecraft Velocity Proxy"; + after = [ + "network-online.target" + "limbo.service" + ]; + wants = [ "network-online.target" ]; + requires = [ "limbo.service" ]; + wantedBy = [ "multi-user.target" ]; + + serviceConfig = { + Type = "simple"; + User = "imnyang"; + Group = "users"; + WorkingDirectory = "/home/imnyang/minecraft/proxy"; + ExecStart = "${pkgs.corretto25}/bin/java -jar /home/imnyang/minecraft/proxy/velocity.jar"; + Restart = "always"; + RestartSec = 5; + SuccessExitStatus = [ 0 143 ]; + }; + }; + + networking.firewall.allowedTCPPorts = [ + 25565 + ]; +} From 4f775b12f226a34c7b9dee61f58550e05203f60c Mon Sep 17 00:00:00 2001 From: imnyang Date: Sat, 25 Jul 2026 07:31:46 +0900 Subject: [PATCH 07/21] wow --- hosts/server/natsu/services/caddy.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/server/natsu/services/caddy.nix b/hosts/server/natsu/services/caddy.nix index 8accb79..eee1072 100644 --- a/hosts/server/natsu/services/caddy.nix +++ b/hosts/server/natsu/services/caddy.nix @@ -228,7 +228,7 @@ in "github.com/RussellLuo/caddy-ext/ratelimit@v0.3.0" "github.com/neodyme-labs/user_agent_parse@v0.0.1" ]; - hash = "sha256-YqOyHxPIKreCSkXfJUWTEFi+xOlIIiDqy3bYt7/A6Rg="; + hash = "sha256-z9/LF2gws+H0pKL6F62QfklD0W8DKWCccnXLOOs3+jY="; }; }; } From b63744ec0c853a33372358bafbbd523fd6582cf1 Mon Sep 17 00:00:00 2001 From: imnyang Date: Sat, 25 Jul 2026 11:24:25 +0900 Subject: [PATCH 08/21] wow --- hosts/server/natsu/services/velocity.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/hosts/server/natsu/services/velocity.nix b/hosts/server/natsu/services/velocity.nix index b04506f..5f9ea06 100644 --- a/hosts/server/natsu/services/velocity.nix +++ b/hosts/server/natsu/services/velocity.nix @@ -5,10 +5,9 @@ description = "Minecraft Velocity Proxy"; after = [ "network-online.target" - "limbo.service" ]; wants = [ "network-online.target" ]; - requires = [ "limbo.service" ]; + # requires = [ "limbo.service" ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { From f8cf144b1e64ab27e9f9c6ceb45499c831f6eb61 Mon Sep 17 00:00:00 2001 From: imnyang Date: Sun, 26 Jul 2026 02:54:27 +0900 Subject: [PATCH 09/21] wow --- hosts/server/hikari/amia/configuration.nix | 33 ++++++++++ hosts/server/hikari/amia/default.nix | 25 +++++++ .../hikari/amia/hardware-configuration.nix | 30 +++++++++ hosts/server/hikari/amia/home.nix | 66 +++++++++++++++++++ 4 files changed, 154 insertions(+) create mode 100644 hosts/server/hikari/amia/configuration.nix create mode 100644 hosts/server/hikari/amia/default.nix create mode 100644 hosts/server/hikari/amia/hardware-configuration.nix create mode 100644 hosts/server/hikari/amia/home.nix diff --git a/hosts/server/hikari/amia/configuration.nix b/hosts/server/hikari/amia/configuration.nix new file mode 100644 index 0000000..a952598 --- /dev/null +++ b/hosts/server/hikari/amia/configuration.nix @@ -0,0 +1,33 @@ +{ pkgs, inputs, ... }: +{ + imports = [ + ./hardware-configuration.nix + "${inputs.self}/modules/mizukios/base" + "${inputs.self}/modules/mizukios/features/system/boot.nix" + "${inputs.self}/modules/mizukios/features/remote/ssh.nix" + ]; + + services.qemuGuest.enable = true; + + users.users.imnyang.openssh.authorizedKeys.keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOHP3Z+AYrRh9f8TYyqChKfeyNm3lOe0F75AwRHTTaxD imnyang@kazusa" + ]; + + environment.systemPackages = with pkgs; [ + eza + neovim + nil + nixd + ]; + + programs.git.config = { + safe.directory = "*"; + }; + + nix.settings.require-sigs = false; + + networking.firewall.enable = false; + + networking.hostName = "hako"; + system.stateVersion = "26.05"; +} diff --git a/hosts/server/hikari/amia/default.nix b/hosts/server/hikari/amia/default.nix new file mode 100644 index 0000000..29f53e9 --- /dev/null +++ b/hosts/server/hikari/amia/default.nix @@ -0,0 +1,25 @@ +{ + inputs, + overlays, +}: +let + inherit (inputs) nixpkgs home-manager; +in +nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + modules = [ + ./configuration.nix + ./hardware-configuration.nix + home-manager.nixosModules.home-manager + { + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.extraSpecialArgs = { inherit inputs; }; + home-manager.users.imnyang = import ./home.nix; + } + ]; + specialArgs = { + inherit inputs; + inherit overlays; + }; +} diff --git a/hosts/server/hikari/amia/hardware-configuration.nix b/hosts/server/hikari/amia/hardware-configuration.nix new file mode 100644 index 0000000..0cd3c4e --- /dev/null +++ b/hosts/server/hikari/amia/hardware-configuration.nix @@ -0,0 +1,30 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/profiles/qemu-guest.nix") + ]; + + boot.initrd.availableKernelModules = [ "uhci_hcd" "ehci_pci" "ahci" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/a31f97e6-5de2-470d-8718-a1eadd7827a8"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/5B6A-1CAB"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + + swapDevices = [ ]; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; +} diff --git a/hosts/server/hikari/amia/home.nix b/hosts/server/hikari/amia/home.nix new file mode 100644 index 0000000..bcf93b9 --- /dev/null +++ b/hosts/server/hikari/amia/home.nix @@ -0,0 +1,66 @@ +{ + pkgs, + inputs, + ... +}: +let + nr = import "${inputs.self}/modules/mizukios/features/packages/nr.nix" { inherit pkgs; }; + nrr = import "${inputs.self}/modules/mizukios/features/packages/nrr.nix" { inherit pkgs; }; +in +{ + home.stateVersion = "26.05"; + home.username = "imnyang"; + home.homeDirectory = "/home/imnyang"; + + home.packages = [ + nr + nrr + ]; + + home.sessionVariables = { + EDITOR = "nano"; + VISUAL = "nano"; + }; + + programs.fish = { + enable = true; + + shellAliases = { + ".." = "cd .."; + "..." = "cd ../.."; + + ls = "eza"; + ll = "eza -l"; + la = "eza -a"; + lla = "eza -la"; + + rebuild = "sudo nixos-rebuild switch --flake .#hako"; + update = "nix flake update"; + clean = "sudo nix-collect-garbage -d"; + }; + + interactiveShellInit = '' + set -g fish_greeting "" + set -g fish_color_command blue + set -g fish_color_error red + set -g fish_color_param cyan + ''; + + functions = { + fish_prompt = '' + set_color purple + echo -n (whoami) + set_color normal + echo -n "@" + set_color green + echo -n (hostname) + set_color normal + echo -n ":" + set_color blue + echo -n (prompt_pwd) + set_color normal + echo -n " > " + ''; + }; + }; +} From de0789657d13a60b84d2e675fdbe233309a0315c Mon Sep 17 00:00:00 2001 From: imnyang Date: Sun, 26 Jul 2026 02:55:06 +0900 Subject: [PATCH 10/21] wow --- hosts/server/hikari/amia/configuration.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/server/hikari/amia/configuration.nix b/hosts/server/hikari/amia/configuration.nix index a952598..aeb73d8 100644 --- a/hosts/server/hikari/amia/configuration.nix +++ b/hosts/server/hikari/amia/configuration.nix @@ -28,6 +28,6 @@ networking.firewall.enable = false; - networking.hostName = "hako"; + networking.hostName = "amia"; system.stateVersion = "26.05"; } From 17c22af47ee27c7351e57831a5aa7a0c03d0ad9d Mon Sep 17 00:00:00 2001 From: imnyang Date: Sun, 26 Jul 2026 02:56:00 +0900 Subject: [PATCH 11/21] wow --- flake.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/flake.nix b/flake.nix index 123cb4c..3e94bb0 100644 --- a/flake.nix +++ b/flake.nix @@ -135,6 +135,7 @@ # Server hikari = mkHost ./hosts/server/hikari/default overlays; hako = mkHost ./hosts/server/hikari/hako overlays; + amia = mkHost ./hosts/server/hikari/amia overlays; natsu = mkHost ./hosts/server/natsu overlays; kazusa = mkHost ./hosts/server/kazusa overlays; }; From 8949ca35999bcce6a339319787048fa6fc425bb6 Mon Sep 17 00:00:00 2001 From: imnyang Date: Sun, 26 Jul 2026 03:04:11 +0900 Subject: [PATCH 12/21] wow --- modules/mizukios/features/packages/nrr.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/mizukios/features/packages/nrr.nix b/modules/mizukios/features/packages/nrr.nix index 7c4d5c7..32ba291 100644 --- a/modules/mizukios/features/packages/nrr.nix +++ b/modules/mizukios/features/packages/nrr.nix @@ -19,6 +19,7 @@ pkgs.writeShellApplication { declare -A HOST_MAP HOST_MAP["hikari"]="10.11.8.100" + HOST_MAP["amia"]="10.11.8.101" HOST_MAP["hako"]="10.11.8.102" HOST_MAP["kazusa"]="82.21.82.30" HOST_MAP["natsu"]="natsu.icn.mizuki.guru" From f5e9b465c545f760f4b1c9b5b26eef9c8702d581 Mon Sep 17 00:00:00 2001 From: imnyang Date: Sun, 26 Jul 2026 03:29:26 +0900 Subject: [PATCH 13/21] wow --- flake.lock | 35 ++++++++++++++++------ flake.nix | 6 ++++ hosts/server/hikari/amia/configuration.nix | 30 +++++++++++++++++++ modules/mizukios/features/packages/nrr.nix | 2 +- 4 files changed, 63 insertions(+), 10 deletions(-) diff --git a/flake.lock b/flake.lock index 92084c9..0f3c700 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,21 @@ { "nodes": { + "amiaBot": { + "flake": false, + "locked": { + "lastModified": 1785004109, + "narHash": "sha256-xyhWX0yJHiUbgNCyonaA9SgviUG72EybWwz5kT4sXwI=", + "ref": "refs/heads/main", + "rev": "ccf6ae792e57d1c713119286586436d5be63e07e", + "revCount": 2, + "type": "git", + "url": "file:///home/imnyang/workspaces/git/imnyang/amia" + }, + "original": { + "type": "git", + "url": "file:///home/imnyang/workspaces/git/imnyang/amia" + } + }, "brew-src": { "flake": false, "locked": { @@ -41,11 +57,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1784918709, - "narHash": "sha256-UWCaJUKkAOUH7+TvC//uhJItpEDmPFJ5dOoptyAFJxM=", + "lastModified": 1784981070, + "narHash": "sha256-BB3If4U5avDjQ/Ufnp+GquYqbIZP3LpbbYqs49E6cKQ=", "owner": "ilysenko", "repo": "codex-desktop-linux", - "rev": "66c780a6939b1f35aa3d90c5ad07ff2b35f1f644", + "rev": "ef284ae8dc07917c42b2e6b6435e4820280df989", "type": "github" }, "original": { @@ -364,11 +380,11 @@ "nixpkgs-nixcord": "nixpkgs-nixcord" }, "locked": { - "lastModified": 1784923257, - "narHash": "sha256-rxilKSeFG750HjJYCxkrLlVLXXSFWb85qcodvdI48j4=", + "lastModified": 1784998108, + "narHash": "sha256-Bcplstv6cEphwzggdZ2LB3sZDimmF/QkaVkW9qk17no=", "owner": "FlameFlag", "repo": "nixcord", - "rev": "8673218cf5f13399afee9e01ebcb0648f0714316", + "rev": "cca6d30eb701c1189f046f7d22f24ba85a6e07e3", "type": "github" }, "original": { @@ -758,6 +774,7 @@ }, "root": { "inputs": { + "amiaBot": "amiaBot", "catppuccin": "catppuccin", "codex-app": "codex-app", "darwin": "darwin", @@ -959,11 +976,11 @@ "systems": "systems_5" }, "locked": { - "lastModified": 1784925088, - "narHash": "sha256-YKL4+O7T9nr+V+Mo14XX3+/nfwT8dEzoXk+9Zqpl/7g=", + "lastModified": 1785004009, + "narHash": "sha256-VjnxwcdpTINauc6eq4vSez3zeXpNClEQqKUlAYr2WIU=", "owner": "vicinaehq", "repo": "vicinae", - "rev": "63c5af41338dc278505d7a0007673246a195ac1a", + "rev": "1644a0b8b251c10a14c5a329916496836748c531", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 3e94bb0..810648d 100644 --- a/flake.nix +++ b/flake.nix @@ -78,6 +78,12 @@ mizuki-nc.url = "git+https://git.mizuki.guru/imnyang/mizuki.guru.git?rev=70b1c9a2befc933c63f2b3197655b4f1166f9fbb"; muvel.url = "github:imnyang/muvel-nix"; + + # Git source filtering keeps config.toml and state.json out of the Nix store. + amiaBot = { + url = "git+file:///home/imnyang/workspaces/git/imnyang/amia"; + flake = false; + }; }; outputs = diff --git a/hosts/server/hikari/amia/configuration.nix b/hosts/server/hikari/amia/configuration.nix index aeb73d8..de85ea4 100644 --- a/hosts/server/hikari/amia/configuration.nix +++ b/hosts/server/hikari/amia/configuration.nix @@ -1,4 +1,12 @@ { pkgs, inputs, ... }: +let + amiaBot = pkgs.rustPlatform.buildRustPackage { + pname = "discord-profile-widget-bot"; + version = "0.1.0"; + src = inputs.amiaBot; + cargoLock.lockFile = "${inputs.amiaBot}/Cargo.lock"; + }; +in { imports = [ ./hardware-configuration.nix @@ -28,6 +36,28 @@ networking.firewall.enable = false; + systemd.services.amia = { + description = "Discord Profile Widget Bot"; + wantedBy = [ "multi-user.target" ]; + after = [ "network-online.target" ]; + wants = [ "network-online.target" ]; + unitConfig.ConditionPathExists = "/home/imnyang/amia/config.toml"; + + serviceConfig = { + Type = "simple"; + User = "imnyang"; + WorkingDirectory = "/home/imnyang/amia"; + UMask = "0077"; + ExecStart = "${amiaBot}/bin/discord-profile-widget-bot"; + Restart = "on-failure"; + RestartSec = "5s"; + NoNewPrivileges = true; + PrivateTmp = true; + ProtectSystem = "strict"; + ProtectHome = false; + }; + }; + networking.hostName = "amia"; system.stateVersion = "26.05"; } diff --git a/modules/mizukios/features/packages/nrr.nix b/modules/mizukios/features/packages/nrr.nix index 32ba291..7627043 100644 --- a/modules/mizukios/features/packages/nrr.nix +++ b/modules/mizukios/features/packages/nrr.nix @@ -19,7 +19,7 @@ pkgs.writeShellApplication { declare -A HOST_MAP HOST_MAP["hikari"]="10.11.8.100" - HOST_MAP["amia"]="10.11.8.101" + HOST_MAP["amia"]="10.11.8.104" HOST_MAP["hako"]="10.11.8.102" HOST_MAP["kazusa"]="82.21.82.30" HOST_MAP["natsu"]="natsu.icn.mizuki.guru" From cec6033064c3bc2850b0abd47ceff3ad145abb56 Mon Sep 17 00:00:00 2001 From: imnyang Date: Sun, 26 Jul 2026 03:34:27 +0900 Subject: [PATCH 14/21] wow --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 810648d..3981714 100644 --- a/flake.nix +++ b/flake.nix @@ -81,7 +81,7 @@ # Git source filtering keeps config.toml and state.json out of the Nix store. amiaBot = { - url = "git+file:///home/imnyang/workspaces/git/imnyang/amia"; + url = "git+ssh://forgejo@mizuki.guru/imnyang/amia"; flake = false; }; }; From 7f09408f34fc23db6c8f03f7f07951eff4902883 Mon Sep 17 00:00:00 2001 From: imnyang Date: Sun, 26 Jul 2026 03:34:38 +0900 Subject: [PATCH 15/21] wow --- flake.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/flake.lock b/flake.lock index 0f3c700..cda6a33 100644 --- a/flake.lock +++ b/flake.lock @@ -9,11 +9,11 @@ "rev": "ccf6ae792e57d1c713119286586436d5be63e07e", "revCount": 2, "type": "git", - "url": "file:///home/imnyang/workspaces/git/imnyang/amia" + "url": "ssh://forgejo@mizuki.guru/imnyang/amia" }, "original": { "type": "git", - "url": "file:///home/imnyang/workspaces/git/imnyang/amia" + "url": "ssh://forgejo@mizuki.guru/imnyang/amia" } }, "brew-src": { From 2db8c95b2f8d5033b0bc0312d911ec930d5f3abc Mon Sep 17 00:00:00 2001 From: imnyang Date: Sun, 26 Jul 2026 03:43:36 +0900 Subject: [PATCH 16/21] wow --- flake.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/flake.lock b/flake.lock index cda6a33..c3c55f8 100644 --- a/flake.lock +++ b/flake.lock @@ -3,11 +3,11 @@ "amiaBot": { "flake": false, "locked": { - "lastModified": 1785004109, - "narHash": "sha256-xyhWX0yJHiUbgNCyonaA9SgviUG72EybWwz5kT4sXwI=", + "lastModified": 1785005000, + "narHash": "sha256-IGp6lzPfChDcfymOk1tkm8zgu4GJpQDtgd0cwO181wI=", "ref": "refs/heads/main", - "rev": "ccf6ae792e57d1c713119286586436d5be63e07e", - "revCount": 2, + "rev": "1771749c55160d8bb3b7ec1ddc80db14f10c68d8", + "revCount": 3, "type": "git", "url": "ssh://forgejo@mizuki.guru/imnyang/amia" }, From 6b9ac61057bd550cc248aff44733f56f655794b5 Mon Sep 17 00:00:00 2001 From: imnyang Date: Sun, 26 Jul 2026 03:48:43 +0900 Subject: [PATCH 17/21] wow --- flake.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/flake.lock b/flake.lock index c3c55f8..f054d28 100644 --- a/flake.lock +++ b/flake.lock @@ -3,11 +3,11 @@ "amiaBot": { "flake": false, "locked": { - "lastModified": 1785005000, - "narHash": "sha256-IGp6lzPfChDcfymOk1tkm8zgu4GJpQDtgd0cwO181wI=", + "lastModified": 1785005313, + "narHash": "sha256-eSQy/c+F3Sl9df6snBfy7MaZJ8ibEYJIUxkGsnthxMQ=", "ref": "refs/heads/main", - "rev": "1771749c55160d8bb3b7ec1ddc80db14f10c68d8", - "revCount": 3, + "rev": "87c4e2dd6b9cac3cc386ba2cf94a8187ea172dbb", + "revCount": 4, "type": "git", "url": "ssh://forgejo@mizuki.guru/imnyang/amia" }, From bf86d249dafb3942b07359595fa9a854c94c66d0 Mon Sep 17 00:00:00 2001 From: imnyang Date: Sun, 26 Jul 2026 14:17:57 +0900 Subject: [PATCH 18/21] wow --- flake.lock | 8 +- modules/home/devtool/vscode.nix | 6 +- modules/home/firefox-devedition.nix | 117 ---------------------------- modules/home/packages.nix | 2 +- modules/home/ssh.nix | 29 ++++--- 5 files changed, 23 insertions(+), 139 deletions(-) diff --git a/flake.lock b/flake.lock index f054d28..5809426 100644 --- a/flake.lock +++ b/flake.lock @@ -3,11 +3,11 @@ "amiaBot": { "flake": false, "locked": { - "lastModified": 1785005313, - "narHash": "sha256-eSQy/c+F3Sl9df6snBfy7MaZJ8ibEYJIUxkGsnthxMQ=", + "lastModified": 1785042989, + "narHash": "sha256-TlHpxphcl8Zt05EiVrQc0uivLfEv5gTDjJGKXAgjOnA=", "ref": "refs/heads/main", - "rev": "87c4e2dd6b9cac3cc386ba2cf94a8187ea172dbb", - "revCount": 4, + "rev": "ca6859698c8decba301842e26125d59d132ae1c7", + "revCount": 5, "type": "git", "url": "ssh://forgejo@mizuki.guru/imnyang/amia" }, diff --git a/modules/home/devtool/vscode.nix b/modules/home/devtool/vscode.nix index 32db880..89d73a2 100644 --- a/modules/home/devtool/vscode.nix +++ b/modules/home/devtool/vscode.nix @@ -21,8 +21,10 @@ in programs.vscode = { enable = true; mutableExtensionsDir = true; - userSettings = { - "extensions.autoUpdate" = true; + profiles.default = { + userSettings = { + "extensions.autoUpdate" = true; + }; }; package = (pkgs.vscode.override { isInsiders = true; }).overrideAttrs (oldAttrs: { version = "latest"; diff --git a/modules/home/firefox-devedition.nix b/modules/home/firefox-devedition.nix index 9a5d18e..3f4eede 100644 --- a/modules/home/firefox-devedition.nix +++ b/modules/home/firefox-devedition.nix @@ -18,123 +18,6 @@ in }; }; }; - - profiles.imnyang = { - id = 0; - name = "imnyang"; - isDefault = true; - - settings = { - "toolkit.legacyUserProfileCustomizations.stylesheets" = true; - "browser.uidensity" = 0; - "browser.theme.dark-private-windows" = false; - }; - - userChrome = '' - :root { - --mizuki-bg: #fcf8f9; - --mizuki-fg: #191017; - --mizuki-muted: #707d8a; - --mizuki-border: #f2e6ea; - --mizuki-surface: #fdf7f9; - --mizuki-hover: #8165700f; - --mizuki-active: #8165701a; - --mizuki-selection: #ecb7d5; - } - - @media (prefers-color-scheme: dark) { - :root { - --mizuki-bg: #191017; - --mizuki-fg: #fafafa; - --mizuki-muted: #a9a9b1; - --mizuki-border: #2c1f2d; - --mizuki-surface: #191017; - --mizuki-hover: #2c1f2d80; - --mizuki-active: #2c1f2d; - --mizuki-selection: #604562; - } - } - - #navigator-toolbox, - #TabsToolbar, - #nav-bar, - #PersonalToolbar, - #sidebar-box, - #sidebar-header { - background-color: var(--mizuki-bg) !important; - color: var(--mizuki-fg) !important; - } - - #navigator-toolbox { - border-bottom: 1px solid var(--mizuki-border) !important; - } - - #urlbar-background, - #searchbar { - background-color: var(--mizuki-surface) !important; - border-color: var(--mizuki-border) !important; - color: var(--mizuki-fg) !important; - } - - #urlbar[focused] > #urlbar-background, - #searchbar:focus-within { - border-color: var(--mizuki-selection) !important; - box-shadow: 0 0 0 1px var(--mizuki-selection) !important; - } - - .tab-background { - border-radius: 10px 10px 0 0 !important; - } - - .tab-background[selected] { - background-color: var(--mizuki-active) !important; - } - - .tabbrowser-tab:not([selected]):hover .tab-background, - toolbarbutton:hover, - #urlbar:hover > #urlbar-background { - background-color: var(--mizuki-hover) !important; - } - - toolbarbutton[open], - toolbarbutton[checked], - toolbarbutton:active { - background-color: var(--mizuki-active) !important; - } - - #TabsToolbar .tabbrowser-tab, - #urlbar-input, - #identity-icon-label, - toolbarbutton { - color: var(--mizuki-fg) !important; - } - - .tabbrowser-tab:not([selected]) .tab-label, - #sidebar-title { - color: var(--mizuki-muted) !important; - } - ''; - - userContent = '' - @-moz-document url("about:home"), url("about:newtab"), url("about:privatebrowsing") { - body, - .outer-wrapper, - .activity-stream { - background: #fcf8f9 !important; - color: #191017 !important; - } - - @media (prefers-color-scheme: dark) { - body, - .outer-wrapper, - .activity-stream { - background: #191017 !important; - color: #fafafa !important; - } - } - } - ''; - }; }; xdg.mimeApps.defaultApplications = { diff --git a/modules/home/packages.nix b/modules/home/packages.nix index 1916e6d..b3aa64b 100644 --- a/modules/home/packages.nix +++ b/modules/home/packages.nix @@ -51,7 +51,7 @@ with pkgs; gnome-disk-utility - antigravity + antigravity-ide postman burpsuite diff --git a/modules/home/ssh.nix b/modules/home/ssh.nix index 1175cdc..d683c2e 100644 --- a/modules/home/ssh.nix +++ b/modules/home/ssh.nix @@ -1,24 +1,23 @@ { ... }: { programs.ssh = { enable = true; - matchBlocks = { + enableDefaultConfig = false; + settings = { "*" = { - forwardAgent = false; - identityAgent = "~/.1password/agent.sock"; - setEnv = { + ForwardAgent = false; + IdentityAgent = "~/.1password/agent.sock"; + SetEnv = { TERM = "xterm-256color"; }; - extraOptions = { - ServerAliveInterval = "0"; - ServerAliveCountMax = "3"; - Compression = "no"; - AddKeysToAgent = "no"; - HashKnownHosts = "no"; - UserKnownHostsFile = "~/.ssh/known_hosts"; - ControlMaster = "no"; - ControlPath = "~/.ssh/master-%r@%n:%p"; - ControlPersist = "no"; - }; + ServerAliveInterval = 0; + ServerAliveCountMax = 3; + Compression = false; + AddKeysToAgent = "no"; + HashKnownHosts = false; + UserKnownHostsFile = "~/.ssh/known_hosts"; + ControlMaster = "no"; + ControlPath = "~/.ssh/master-%r@%n:%p"; + ControlPersist = "no"; }; }; }; From 96507a547d7db3f9ed69750a7bde5fc6e03ddd38 Mon Sep 17 00:00:00 2001 From: imnyang Date: Sun, 26 Jul 2026 14:26:02 +0900 Subject: [PATCH 19/21] wow --- hosts/machine/ena/home/default.nix | 4 + hosts/machine/kanade/home/default.nix | 1 + hosts/machine/mafuyu/home/default.nix | 1 + hosts/machine/mizuki/home/default.nix | 1 + modules/home/devtool/btop.nix | 104 ++++++++++++++++++++++++++ 5 files changed, 111 insertions(+) create mode 100644 modules/home/devtool/btop.nix diff --git a/hosts/machine/ena/home/default.nix b/hosts/machine/ena/home/default.nix index b411b77..e07e3bb 100644 --- a/hosts/machine/ena/home/default.nix +++ b/hosts/machine/ena/home/default.nix @@ -1,5 +1,6 @@ { config, + lib, pkgs, inputs, ... @@ -25,6 +26,7 @@ "${inputs.self}/modules/home/devtool/neovim.nix" "${inputs.self}/modules/home/spicetify.nix" "${inputs.self}/modules/home/devtool/ghostty.nix" + "${inputs.self}/modules/home/devtool/btop.nix" "${inputs.self}/modules/home/devtool/zed.nix" "${inputs.self}/modules/home/firefox-devedition.nix" "${inputs.self}/modules/home/discord/linux.nix" @@ -36,4 +38,6 @@ ./config/shell.nix ./config/plasma.nix ]; + + programs.btop.settings.color_theme = lib.mkForce "Mizuki Dark"; } diff --git a/hosts/machine/kanade/home/default.nix b/hosts/machine/kanade/home/default.nix index c57cb0d..a1ef452 100644 --- a/hosts/machine/kanade/home/default.nix +++ b/hosts/machine/kanade/home/default.nix @@ -20,6 +20,7 @@ imports = [ "${inputs.self}/modules/home/devtool/neovim.nix" "${inputs.self}/modules/home/devtool/ghostty.nix" + "${inputs.self}/modules/home/devtool/btop.nix" "${inputs.self}/modules/home/devtool/zed.nix" ./config/git.nix ./config/shell.nix diff --git a/hosts/machine/mafuyu/home/default.nix b/hosts/machine/mafuyu/home/default.nix index 170e7e7..d631156 100644 --- a/hosts/machine/mafuyu/home/default.nix +++ b/hosts/machine/mafuyu/home/default.nix @@ -35,6 +35,7 @@ imports = [ "${inputs.self}/modules/home/devtool/neovim.nix" "${inputs.self}/modules/home/devtool/ghostty.nix" + "${inputs.self}/modules/home/devtool/btop.nix" "${inputs.self}/modules/home/devtool/zed.nix" "${inputs.self}/modules/home/firefox-devedition.nix" "${inputs.self}/modules/home/discord/linux.nix" diff --git a/hosts/machine/mizuki/home/default.nix b/hosts/machine/mizuki/home/default.nix index 0b86dbd..b4ff690 100644 --- a/hosts/machine/mizuki/home/default.nix +++ b/hosts/machine/mizuki/home/default.nix @@ -25,6 +25,7 @@ "${inputs.self}/modules/home/devtool/neovim.nix" "${inputs.self}/modules/home/spicetify.nix" "${inputs.self}/modules/home/devtool/ghostty.nix" + "${inputs.self}/modules/home/devtool/btop.nix" "${inputs.self}/modules/home/devtool/zed.nix" "${inputs.self}/modules/home/firefox-devedition.nix" "${inputs.self}/modules/home/vicinae.nix" diff --git a/modules/home/devtool/btop.nix b/modules/home/devtool/btop.nix new file mode 100644 index 0000000..22ce5da --- /dev/null +++ b/modules/home/devtool/btop.nix @@ -0,0 +1,104 @@ +{ + programs.btop = { + enable = true; + + settings = { + color_theme = "Mizuki Light"; + theme_background = true; + }; + + themes = { + "Mizuki Light" = '' + # Kawa / Mizuki light palette + theme[main_bg]="#fcf8f9" + theme[main_fg]="#191017" + theme[title]="#816570" + theme[hi_fg]="#1e66f5" + theme[selected_bg]="#f4ecee" + theme[selected_fg]="#191017" + theme[inactive_fg]="#a38f96" + theme[graph_text]="#816570" + theme[meter_bg]="#f2e6ea" + theme[proc_misc]="#ea76cb" + theme[cpu_box]="#1e66f5" + theme[mem_box]="#40a02b" + theme[net_box]="#d20f39" + theme[proc_box]="#179299" + theme[div_line]="#e6d5db" + theme[temp_start]="#40a02b" + theme[temp_mid]="#df8e1d" + theme[temp_end]="#d20f39" + theme[cpu_start]="#40a02b" + theme[cpu_mid]="#df8e1d" + theme[cpu_end]="#d20f39" + theme[free_start]="#40a02b" + theme[free_mid]="#df8e1d" + theme[free_end]="#d20f39" + theme[cached_start]="#179299" + theme[cached_mid]="#1e66f5" + theme[cached_end]="#ea76cb" + theme[available_start]="#179299" + theme[available_mid]="#1e66f5" + theme[available_end]="#ea76cb" + theme[used_start]="#40a02b" + theme[used_mid]="#df8e1d" + theme[used_end]="#d20f39" + theme[download_start]="#179299" + theme[download_mid]="#1e66f5" + theme[download_end]="#ea76cb" + theme[upload_start]="#1e66f5" + theme[upload_mid]="#ea76cb" + theme[upload_end]="#d20f39" + theme[process_start]="#40a02b" + theme[process_mid]="#179299" + theme[process_end]="#1e66f5" + ''; + + "Mizuki Dark" = '' + # Kawa Dark / Mizuki dark palette + theme[main_bg]="#191017" + theme[main_fg]="#fafafa" + theme[title]="#f5c2e7" + theme[hi_fg]="#89b4fa" + theme[selected_bg]="#2c1f2d" + theme[selected_fg]="#fafafa" + theme[inactive_fg]="#a9a9b1" + theme[graph_text]="#bac2de" + theme[meter_bg]="#2c1f2d" + theme[proc_misc]="#f5c2e7" + theme[cpu_box]="#89b4fa" + theme[mem_box]="#a6e3a1" + theme[net_box]="#f38ba8" + theme[proc_box]="#94e2d5" + theme[div_line]="#4a354c" + theme[temp_start]="#a6e3a1" + theme[temp_mid]="#f9e2af" + theme[temp_end]="#f38ba8" + theme[cpu_start]="#a6e3a1" + theme[cpu_mid]="#f9e2af" + theme[cpu_end]="#f38ba8" + theme[free_start]="#a6e3a1" + theme[free_mid]="#f9e2af" + theme[free_end]="#f38ba8" + theme[cached_start]="#94e2d5" + theme[cached_mid]="#89b4fa" + theme[cached_end]="#f5c2e7" + theme[available_start]="#94e2d5" + theme[available_mid]="#89b4fa" + theme[available_end]="#f5c2e7" + theme[used_start]="#a6e3a1" + theme[used_mid]="#f9e2af" + theme[used_end]="#f38ba8" + theme[download_start]="#94e2d5" + theme[download_mid]="#89b4fa" + theme[download_end]="#f5c2e7" + theme[upload_start]="#89b4fa" + theme[upload_mid]="#f5c2e7" + theme[upload_end]="#f38ba8" + theme[process_start]="#a6e3a1" + theme[process_mid]="#94e2d5" + theme[process_end]="#89b4fa" + ''; + }; + }; +} From 423b9182225e6e15cb2cf8f46950f8729020648b Mon Sep 17 00:00:00 2001 From: imnyang Date: Sun, 26 Jul 2026 17:14:54 +0900 Subject: [PATCH 20/21] wow --- flake.lock | 8 ++++---- hosts/machine/mizuki/home/packages.nix | 3 +++ hosts/server/hikari/amia/configuration.nix | 9 +++++++-- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 5809426..02b887b 100644 --- a/flake.lock +++ b/flake.lock @@ -3,11 +3,11 @@ "amiaBot": { "flake": false, "locked": { - "lastModified": 1785042989, - "narHash": "sha256-TlHpxphcl8Zt05EiVrQc0uivLfEv5gTDjJGKXAgjOnA=", + "lastModified": 1785044289, + "narHash": "sha256-OIw3qWHojYrvGjNrwFsmXVkQA8Pb/uxfymqbA6YJ1C0=", "ref": "refs/heads/main", - "rev": "ca6859698c8decba301842e26125d59d132ae1c7", - "revCount": 5, + "rev": "152df1032c27e61cb0b70e2b5f7da5b9d15913f1", + "revCount": 6, "type": "git", "url": "ssh://forgejo@mizuki.guru/imnyang/amia" }, diff --git a/hosts/machine/mizuki/home/packages.nix b/hosts/machine/mizuki/home/packages.nix index c1ec5a2..9246ca1 100644 --- a/hosts/machine/mizuki/home/packages.nix +++ b/hosts/machine/mizuki/home/packages.nix @@ -15,6 +15,9 @@ with pkgs; davinci-resolve kdePackages.kdenlive + android-tools + android-cli + # waterfox-bin # inputs.waterfox.packages.${pkgs.system}.waterfox ] diff --git a/hosts/server/hikari/amia/configuration.nix b/hosts/server/hikari/amia/configuration.nix index de85ea4..3c0c976 100644 --- a/hosts/server/hikari/amia/configuration.nix +++ b/hosts/server/hikari/amia/configuration.nix @@ -1,7 +1,7 @@ { pkgs, inputs, ... }: let amiaBot = pkgs.rustPlatform.buildRustPackage { - pname = "discord-profile-widget-bot"; + pname = "amia"; version = "0.1.0"; src = inputs.amiaBot; cargoLock.lockFile = "${inputs.amiaBot}/Cargo.lock"; @@ -26,6 +26,8 @@ in neovim nil nixd + bind + dig ]; programs.git.config = { @@ -42,13 +44,16 @@ in after = [ "network-online.target" ]; wants = [ "network-online.target" ]; unitConfig.ConditionPathExists = "/home/imnyang/amia/config.toml"; + path = [ + pkgs.bind.dnsutils + ]; serviceConfig = { Type = "simple"; User = "imnyang"; WorkingDirectory = "/home/imnyang/amia"; UMask = "0077"; - ExecStart = "${amiaBot}/bin/discord-profile-widget-bot"; + ExecStart = "${amiaBot}/bin/amia"; Restart = "on-failure"; RestartSec = "5s"; NoNewPrivileges = true; From 9f864c63de5b0ca420e55869591a07403bc2f148 Mon Sep 17 00:00:00 2001 From: imnyang Date: Mon, 27 Jul 2026 13:03:54 +0900 Subject: [PATCH 21/21] wow --- flake.lock | 8 ++++---- modules/home/firefox-devedition.nix | 16 +++++++++------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/flake.lock b/flake.lock index 02b887b..79aefc0 100644 --- a/flake.lock +++ b/flake.lock @@ -3,11 +3,11 @@ "amiaBot": { "flake": false, "locked": { - "lastModified": 1785044289, - "narHash": "sha256-OIw3qWHojYrvGjNrwFsmXVkQA8Pb/uxfymqbA6YJ1C0=", + "lastModified": 1785125005, + "narHash": "sha256-ukQsV27B7IdZkjLfY20HPIgybBt6zve7jqi3QDDc64o=", "ref": "refs/heads/main", - "rev": "152df1032c27e61cb0b70e2b5f7da5b9d15913f1", - "revCount": 6, + "rev": "25bdd14067f9eb9d05e332ee41d88b9d71741aff", + "revCount": 7, "type": "git", "url": "ssh://forgejo@mizuki.guru/imnyang/amia" }, diff --git a/modules/home/firefox-devedition.nix b/modules/home/firefox-devedition.nix index 3f4eede..2bf305e 100644 --- a/modules/home/firefox-devedition.nix +++ b/modules/home/firefox-devedition.nix @@ -1,9 +1,4 @@ { pkgs, ... }: - -let - extensionUrl = "https://git.mizuki.guru/imnyang/thisiswindowsfigma/releases/download/v1.0.0/d168a70cb6a24fe4a478-1.0.0.xpi"; - extensionId = "figma-windows-ua-spoofer@imnyang.local"; -in { programs.firefox = { enable = true; @@ -11,10 +6,16 @@ in policies = { DisableAppUpdate = true; + ExtensionSettings = { - ${extensionId} = { + "figma-windows-ua-spoofer@imnyang.local" = { installation_mode = "force_installed"; - install_url = extensionUrl; + install_url = "https://git.mizuki.guru/imnyang/thisiswindowsfigma/releases/download/v1.0.0/d168a70cb6a24fe4a478-1.0.0.xpi"; + }; + + "thisiswindowschromiumnetflix@imnya.ng" = { + installation_mode = "force_installed"; + install_url = "https://git.mizuki.guru/imnyang/thisiswindowschromiumnetflix/releases/download/v2026.07.27/b30e361a21474a79be8d-2026.7.27.xpi"; }; }; }; @@ -22,6 +23,7 @@ in xdg.mimeApps.defaultApplications = { "text/html" = [ "firefox-devedition.desktop" ]; + "x-scheme-handler/http" = [ "firefox-devedition.desktop" ]; "x-scheme-handler/https" = [ "firefox-devedition.desktop" ]; "x-scheme-handler/about" = [ "firefox-devedition.desktop" ];