Compare commits

...

3 commits

26 changed files with 390 additions and 40 deletions

View file

@ -9,3 +9,9 @@ creation_rules:
- *master - *master
- *machine_Akun - *machine_Akun
- *machine_Cape - *machine_Cape
- path_regex: secrets/dummy_fonts/[^/]+\.(ttf|otf)$
key_groups:
- age:
- *master
- *machine_Akun
- *machine_Cape

View file

@ -56,6 +56,7 @@
helix.enable = true; helix.enable = true;
nvchad.enable = true; nvchad.enable = true;
# spacemacs.enable = true; # spacemacs.enable = true;
radicle.enable = true;
}; };
}; };

View file

@ -11,20 +11,18 @@
config = let config = let
cfg = config.david.programs.ghostty; cfg = config.david.programs.ghostty;
in (lib.mkIf cfg.enable { in (lib.mkIf cfg.enable {
stylix.targets.ghostty.enable = false;
programs.ghostty = lib.mkMerge [ programs.ghostty = lib.mkMerge [
{ {
enable = true; enable = true;
settings = { settings = {
# font-family = "Maple Mono NF CN"; font-family = [
font-feature = [ "MonoLisa"
"calt" "Source Han Sans"
"zero"
"cv03"
"ss08"
]; ];
font-size = lib.mkForce 17; font-size = lib.mkForce 17;
theme = lib.mkForce "Atom One Dark"; theme = "Atom One Dark";
background-opacity = lib.mkForce 0.8; background-opacity = 0.8;
confirm-close-surface = "false"; confirm-close-surface = "false";
}; };
} }

View file

@ -63,7 +63,7 @@ in {
programs.noctalia-shell = { programs.noctalia-shell = {
enable = true; enable = true;
systemd.enable = true; systemd.enable = true;
plugins = toString ./plugins.json; plugins = builtins.fromJSON (builtins.readFile ./plugins.json);
settings = settings =
lib.recursiveUpdate lib.recursiveUpdate
(builtins.fromJSON (builtins.readFile ./settings.json)) (builtins.fromJSON (builtins.readFile ./settings.json))

View file

@ -81,6 +81,9 @@
} }
], ],
"right": [ "right": [
{
"id": "plugin:timer"
},
{ {
"displayMode": "onhover", "displayMode": "onhover",
"id": "Brightness" "id": "Brightness"
@ -144,7 +147,7 @@
}, },
"ui": { "ui": {
"fontDefault": "Source Han Serif SC", "fontDefault": "Source Han Serif SC",
"fontFixed": "Maple Mono NF CN", "fontFixed": "MonoLisa",
"fontDefaultScale": 1, "fontDefaultScale": 1,
"fontFixedScale": 1, "fontFixedScale": 1,
"tooltipsEnabled": true, "tooltipsEnabled": true,

View file

@ -0,0 +1,26 @@
{
lib,
config,
...
}: let
cfg = config.david.programs.radicle;
in {
options = {
david.programs.radicle = {
enable = lib.mkEnableOption "radicle";
};
};
config = lib.mkIf cfg.enable {
youthlic.programs.radicle.enable = true;
programs.radicle.uri = {
rad.browser = {
enable = true;
preferredNode = "iris.radicle.xyz";
};
web-rad = {
browser = "zen-twilight.desktop";
enable = true;
};
};
};
}

View file

@ -109,13 +109,10 @@ in {
"format_on_save" = "off"; "format_on_save" = "off";
ui_font_size = 20; ui_font_size = 20;
buffer_font_size = 20; buffer_font_size = 20;
buffer_font_family = "Maple Mono NF CN"; buffer_font_family = "MonoLisa";
buffer_font_features = { buffer_font_fallback = [
"calt" = true; "Source Han Sans"
"zero" = true; ];
"cv03" = true;
"ss08" = true;
};
ui_font_family = "Source Han Sans"; ui_font_family = "Source Han Sans";
theme = "Catppuccin Latte"; theme = "Catppuccin Latte";
helix_mode = true; helix_mode = true;

View file

@ -0,0 +1,69 @@
{
lib,
config,
...
}: let
cfg = config.youthlic.programs.radicle;
in {
options = {
youthlic.programs.radicle = {
enable = lib.mkEnableOption "radicle";
};
};
config = lib.mkIf cfg.enable {
programs.radicle = {
enable = true;
settings = {
publicExplorer = "https://app.radicle.xyz/nodes/$host/$rid$path";
preferredSeeds = [
"z6Mkmqogy2qEM2ummccUthFEaaHvyYmYBYh3dbe9W4ebScxo@rosa.radicle.xyz:8776"
"z6MksmpU5b1dS7oaqF2bHXhQi1DWy2hB7Mh9CuN7y1DN6QSz@seed.radicle.xyz:8776"
"z6MkrLMMsiPWUcNPHcRajuMi9mDfYckSoJyPwwnknocNYPm7@iris.radicle.xyz:8776"
];
cli = {
hints = true;
};
node = {
alias = "youthlic";
peers = {
type = "dynamic";
};
network = "main";
log = "INFO";
relay = "auto";
limits = {
routingMaxSize = 1000;
routingMaxAge = 604800;
gossipMaxAge = 1209600;
fetchConcurrency = 1;
maxOpenFiles = 4096;
rate = {
inbound = {
fillRate = 5;
capacity = 1024;
};
outbound = {
fillRate = 10;
capacity = 2048;
};
};
connection = {
inbound = 128;
outbound = 16;
};
};
workers = 8;
seedingPolicy = {
default = "block";
};
};
};
};
sops.secrets."radicle/Tytonidae" = {};
services.radicle.node = {
enable = true;
args = "--log-logger systemd";
};
systemd.user.services."radicle-node".Service.EnvironmentFile = [config.sops.secrets."radicle/Tytonidae".path];
};
}

View file

@ -24,7 +24,7 @@
}; };
monospace = { monospace = {
package = pkgs.maple-mono.NF-CN; package = pkgs.maple-mono.NF-CN;
name = "Maple Mono NF CN"; name = "MonoLisa";
}; };
emoji = { emoji = {
package = pkgs.noto-fonts-color-emoji; package = pkgs.noto-fonts-color-emoji;

View file

@ -67,6 +67,7 @@
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
radicle-node radicle-node
radicle-desktop
nix-output-monitor nix-output-monitor
wget wget
git git

View file

@ -24,7 +24,7 @@
}; };
monospace = { monospace = {
package = pkgs.maple-mono.NF-CN; package = pkgs.maple-mono.NF-CN;
name = "Maple Mono NF CN"; name = "MonoLisa";
}; };
emoji = { emoji = {
package = pkgs.noto-fonts-color-emoji; package = pkgs.noto-fonts-color-emoji;

View file

@ -2,6 +2,7 @@
config, config,
lib, lib,
pkgs, pkgs,
rootPath,
... ...
}: let }: let
cfg = config.youthlic.gui; cfg = config.youthlic.gui;
@ -31,6 +32,19 @@ in {
package = pkgs.firefox-beta; package = pkgs.firefox-beta;
}; };
sops.secrets = with lib;
with builtins;
pipe (rootPath + "/secrets/dummy_font") [
readDir
attrNames
(flip genAttrs (name: {
sopsFile = rootPath + "/secrets/dummy_font/${name}";
format = "binary";
path = "/run/fonts/${name}";
mode = "0444";
}))
];
fonts = { fonts = {
enableDefaultPackages = false; enableDefaultPackages = false;
packages = with pkgs; [ packages = with pkgs; [
@ -44,23 +58,35 @@ in {
noto-fonts-cjk-serif noto-fonts-cjk-serif
noto-fonts noto-fonts
]; ];
fontconfig.defaultFonts = { fontconfig = {
serif = [ localConf =
"Libertinus Serif" #xml
"Source Han Serif" ''
"Noto Serif CJK SC" <?xml version="1.0"?>
]; <!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
sansSerif = [ <fontconfig>
"Source Han Sans" <dir>/run/fonts</dir>
"Noto Sans CJK SC" </fontconfig>
]; '';
monospace = [ defaultFonts = {
"Maple Mono NF CN" serif = [
"Noto Sans Mono SC" "Libertinus Serif"
]; "Source Han Serif"
emoji = [ "Noto Serif CJK SC"
"Noto Color Emoji" ];
]; sansSerif = [
"Source Han Sans"
"Noto Sans CJK SC"
];
monospace = [
"MonoLisa"
"Maple Mono NF CN"
"Noto Sans Mono SC"
];
emoji = [
"Noto Color Emoji"
];
};
}; };
}; };

View file

@ -14,6 +14,7 @@ in {
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
i18n = { i18n = {
defaultLocale = "C.UTF-8"; defaultLocale = "C.UTF-8";
extraLocales = ["zh_CN.UTF-8/UTF-8"];
extraLocaleSettings = { extraLocaleSettings = {
LC_ADDRESS = "zh_CN.UTF-8"; LC_ADDRESS = "zh_CN.UTF-8";
LC_IDENTIFICATION = "zh_CN.UTF-8"; LC_IDENTIFICATION = "zh_CN.UTF-8";

View file

@ -10,7 +10,7 @@
fish-exe)) fish-exe))
(setq doom-font (font-spec (setq doom-font (font-spec
:family "Maple Mono NF CN" :family "MonoLisa"
:size 20)) :size 20))
(setq doom-theme 'doom-one-light) (setq doom-theme 'doom-one-light)
;;; Fix failure to locate 'Symbols Nerd Font Mono' font ;;; Fix failure to locate 'Symbols Nerd Font Mono' font

View file

@ -3,7 +3,7 @@
#lua #lua
'' ''
if vim.g.neovide then if vim.g.neovide then
vim.o.guifont = [[Maple Mono NF CN,Noto Color Emoji:h16]] vim.o.guifont = [[MonoLisa,Source Han Sans,Noto Color Emoji:h16]]
vim.g.neovide_opacity = 0.9 vim.g.neovide_opacity = 0.9
vim.g.linespace = 0.2 vim.g.linespace = 0.2
vim.g.neovide_text_gamma = 0.8 vim.g.neovide_text_gamma = 0.8

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,3 +1,5 @@
radicle:
Tytonidae: ENC[AES256_GCM,data:3Xe6FCLqV2i4/OpoyaHarF8HxN/uiSpiOSxsY7d0fo8AAQ==,iv:D4PZ/o2SM4pIDHx+K9EAbbN15SWfZjg7XjRzvUcrXqk=,tag:CPO2reXjRLnFzafL0a7aCQ==,type:str]
awscli: ENC[AES256_GCM,data:YoeIPrKEMvjMrF/obs08hqnsVIPO1ojBKQpb+XapH20Rzo1Cw1ytIMf+MMcDLuZqvI8SeEqs0EtjBqqzqA0RvDVOGHWurQlC67MInkDdpN/p5xwTbAQgtv/dV6fKYySQgqG2LaKh6hEPKqNeT0TTW7e7Dd5TbA6em5YppPrKtmJK/8KDyTbCrrBo68bUZUV+WBiu055qXTm3ZA==,iv:d5c1imjlZGRWjrxJS1ibNucwZxoW7nHIXFnlEP51aOo=,tag:OQN5cKd7AqXk+lBqJ6eF+g==,type:str] awscli: ENC[AES256_GCM,data:YoeIPrKEMvjMrF/obs08hqnsVIPO1ojBKQpb+XapH20Rzo1Cw1ytIMf+MMcDLuZqvI8SeEqs0EtjBqqzqA0RvDVOGHWurQlC67MInkDdpN/p5xwTbAQgtv/dV6fKYySQgqG2LaKh6hEPKqNeT0TTW7e7Dd5TbA6em5YppPrKtmJK/8KDyTbCrrBo68bUZUV+WBiu055qXTm3ZA==,iv:d5c1imjlZGRWjrxJS1ibNucwZxoW7nHIXFnlEP51aOo=,tag:OQN5cKd7AqXk+lBqJ6eF+g==,type:str]
garage: ENC[AES256_GCM,data:KEcOZUNa8aBKpp/m1xUZeNdZ4WABC0FnhN3x9hlof3sI0mj8Hm1NZabUgDpiYZPaCuvFwAN+P1cNXkT6DMtEyLeLDfNjuVpFMENAsPSVrBAiRvGhqpuYWjyPboDV/qHc1EnIPO73z7O6tbDfTGze42dIIlROGUtwlr78DCSWZZIR82dDQkcQkik7lc3soAnsYKdEd/93bs8EJPLlOdmmBfV79binI+8VchT/pYhypnaMqxHCK1FOfIo31Fn7Ym6Oqp9T0w+uA4Lkh03RlhWo0oAUbbY=,iv:NtaAeX3td8tEIDoLybjtB8azsHj6JsTw4WPD5jQHaHs=,tag:XqGDWf5+RkCseExHPiszNw==,type:str] garage: ENC[AES256_GCM,data:KEcOZUNa8aBKpp/m1xUZeNdZ4WABC0FnhN3x9hlof3sI0mj8Hm1NZabUgDpiYZPaCuvFwAN+P1cNXkT6DMtEyLeLDfNjuVpFMENAsPSVrBAiRvGhqpuYWjyPboDV/qHc1EnIPO73z7O6tbDfTGze42dIIlROGUtwlr78DCSWZZIR82dDQkcQkik7lc3soAnsYKdEd/93bs8EJPLlOdmmBfV79binI+8VchT/pYhypnaMqxHCK1FOfIo31Fn7Ym6Oqp9T0w+uA4Lkh03RlhWo0oAUbbY=,iv:NtaAeX3td8tEIDoLybjtB8azsHj6JsTw4WPD5jQHaHs=,tag:XqGDWf5+RkCseExHPiszNw==,type:str]
minio: ENC[AES256_GCM,data:rJRE7HAI3t3CFn08mVe3t9slBGJMH2Jzzsrlbs2jkj+5fn3412NqVB8JheVy3+zrTd+09M1uJFZpeWcOkUw=,iv:x+JUOhYkXqLwNOuT5ZZ8JaX+spM/h0zszwun5kF0U3o=,tag:SyscCkZc78PsLAHIyLQ3QQ==,type:str] minio: ENC[AES256_GCM,data:rJRE7HAI3t3CFn08mVe3t9slBGJMH2Jzzsrlbs2jkj+5fn3412NqVB8JheVy3+zrTd+09M1uJFZpeWcOkUw=,iv:x+JUOhYkXqLwNOuT5ZZ8JaX+spM/h0zszwun5kF0U3o=,tag:SyscCkZc78PsLAHIyLQ3QQ==,type:str]
@ -56,7 +58,7 @@ sops:
a1Y1NU9CK2h1SS83VW42bzBMa01yMXMKI1DBtgNlkNCrxUQvnD6a45mQKNfg5gM4 a1Y1NU9CK2h1SS83VW42bzBMa01yMXMKI1DBtgNlkNCrxUQvnD6a45mQKNfg5gM4
Zb5buo9Jofj4dn/HFwng3T3gxKTrP2Dh74CAH4L0M5yrF9fzk5TCcQ== Zb5buo9Jofj4dn/HFwng3T3gxKTrP2Dh74CAH4L0M5yrF9fzk5TCcQ==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2025-10-26T10:48:06Z" lastmodified: "2026-01-20T10:48:54Z"
mac: ENC[AES256_GCM,data:tdD/wHe3bY+YakN4hRgCf+TLWVSiKM06jkAZnu0XBMrECwXa6Zsr9aGr2uYTFMpzcKgWarFkCFL+Ok6tDtkN2bcq3h+uV3Jxyb7oMr0sn5eb3bCu3UJ5cZ7sIaqnzHPL1j3bLBvb6WxSAm+OKJ2yIrJ8eCGAikaoExi2iNWSz9E=,iv:L2cFb0LE3erGRl61evj7Y4FgMHCQnGHygdzBCMZVOzs=,tag:OHgf5MWkQkQKJWuEGaZaAg==,type:str] mac: ENC[AES256_GCM,data:V2yELzjqVDmsOynY4esySxqJcvdluwJcimQ/fP+QjoyUp6gE01+uwHZqRfLwVxqtFKkG37dAmfiDQlmmw1Xg4A1navZFwY1wsJtHknH3gJJFrjvSD808nAcIERqmXhkoG/MyuTnFuQjFxe2S+2bGiGTY39nQTz5Ou5YqE7oeiuM=,iv:YSu5iMl5wpDXnWMI9pfAe/4bTtlzWQoiOVmBe+SkkcY=,tag:EoNZG7i/EIE/T7bKogjWAg==,type:str]
unencrypted_suffix: _unencrypted unencrypted_suffix: _unencrypted
version: 3.11.0 version: 3.11.0