feat: add textfox

This commit is contained in:
Youwen Wu 2025-06-21 10:55:49 -07:00
parent 8a0286a3fe
commit a5e6da58c1
Signed by: youwen
GPG key ID: 865658ED1FE61EC3
7 changed files with 178 additions and 24 deletions

74
flake.lock generated
View file

@ -801,6 +801,30 @@
} }
}, },
"nur": { "nur": {
"inputs": {
"flake-parts": [
"flake-parts"
],
"nixpkgs": [
"nixpkgs"
],
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1750524442,
"narHash": "sha256-QTDJj9V6b5HIgFhCjx47hxJaa+I9Lv68Ad4+/SZY6L0=",
"owner": "nix-community",
"repo": "NUR",
"rev": "ef3d60dd864730eb6f57aaaa904cde37f9524681",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "NUR",
"type": "github"
}
},
"nur_2": {
"inputs": { "inputs": {
"flake-parts": [ "flake-parts": [
"stylix", "stylix",
@ -810,7 +834,7 @@
"stylix", "stylix",
"nixpkgs" "nixpkgs"
], ],
"treefmt-nix": "treefmt-nix" "treefmt-nix": "treefmt-nix_2"
}, },
"locked": { "locked": {
"lastModified": 1748730660, "lastModified": 1748730660,
@ -872,8 +896,10 @@
"nix-index-database": "nix-index-database", "nix-index-database": "nix-index-database",
"nixos-wsl": "nixos-wsl", "nixos-wsl": "nixos-wsl",
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs_2",
"nur": "nur",
"spicetify": "spicetify", "spicetify": "spicetify",
"stylix": "stylix", "stylix": "stylix",
"textfox": "textfox",
"ucode": "ucode", "ucode": "ucode",
"valkyrie": "valkyrie", "valkyrie": "valkyrie",
"viminal": "viminal", "viminal": "viminal",
@ -980,7 +1006,7 @@
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"nur": "nur", "nur": "nur_2",
"systems": "systems_4", "systems": "systems_4",
"tinted-foot": "tinted-foot", "tinted-foot": "tinted-foot",
"tinted-kitty": "tinted-kitty", "tinted-kitty": "tinted-kitty",
@ -1062,6 +1088,29 @@
"type": "github" "type": "github"
} }
}, },
"textfox": {
"inputs": {
"nixpkgs": [
"nixpkgs"
],
"nur": [
"nur"
]
},
"locked": {
"lastModified": 1750526509,
"narHash": "sha256-MBQ/LDzndzvej6G/Zu13rFbzg3lgh+cl0nBIPRLd03c=",
"owner": "youwen5",
"repo": "textfox",
"rev": "a2b2f5998cf58bebb2b721bb978bf93c404c280a",
"type": "github"
},
"original": {
"owner": "youwen5",
"repo": "textfox",
"type": "github"
}
},
"tinted-foot": { "tinted-foot": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -1144,6 +1193,27 @@
} }
}, },
"treefmt-nix": { "treefmt-nix": {
"inputs": {
"nixpkgs": [
"nur",
"nixpkgs"
]
},
"locked": {
"lastModified": 1733222881,
"narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "49717b5af6f80172275d47a418c9719a31a78b53",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
},
"treefmt-nix_2": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"stylix", "stylix",

View file

@ -87,6 +87,18 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
nur = {
url = "github:nix-community/NUR";
inputs.nixpkgs.follows = "nixpkgs";
inputs.flake-parts.follows = "flake-parts";
};
textfox = {
url = "github:youwen5/textfox";
inputs.nixpkgs.follows = "nixpkgs";
inputs.nur.follows = "nur";
};
nixos-wsl = { nixos-wsl = {
url = "github:nix-community/NixOS-WSL"; url = "github:nix-community/NixOS-WSL";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
@ -184,6 +196,7 @@
inputs.stylix.nixosModules.stylix inputs.stylix.nixosModules.stylix
inputs.agenix.nixosModules.age inputs.agenix.nixosModules.age
inputs.musnix.nixosModules.musnix inputs.musnix.nixosModules.musnix
inputs.nur.modules.nixos.default
./modules/default.nix ./modules/default.nix
./overlays ./overlays
( (
@ -214,6 +227,7 @@
inputs.nix-index-database.hmModules.nix-index inputs.nix-index-database.hmModules.nix-index
inputs.spicetify.homeManagerModules.default inputs.spicetify.homeManagerModules.default
inputs.agenix.homeManagerModules.age inputs.agenix.homeManagerModules.age
inputs.textfox.homeManagerModules.textfox
./hm/modules/default.nix ./hm/modules/default.nix
]; ];
}; };

View file

@ -64,10 +64,10 @@ in
"$mod, Tab, workspace, previous" "$mod, Tab, workspace, previous"
''$mod+Shift, P, exec, ${lib.getExe pkgs.grim} - | ${lib.getExe pkgs.swappy} -f -'' # Screenshot full screen ''$mod+Shift, P, exec, ${lib.getExe pkgs.grim} - | ${lib.getExe pkgs.swappy} -f -'' # Screenshot full screen
''$mod, P, exec, ${lib.getExe pkgs.grim} -g "$(${lib.getExe pkgs.slurp})" - | ${lib.getExe pkgs.swappy} -f -'' # Screenshot ''$mod, P, exec, ${lib.getExe pkgs.grim} -g "$(${lib.getExe pkgs.slurp})" - | ${lib.getExe pkgs.swappy} -f -'' # Screenshot
# browser
"$mod, B, exec, ${lib.getExe config.liminalOS.programs.defaultBrowser}"
] ]
++ (lib.optionals config.liminalOS.programs.zen.enable [
"$mod, B, exec, zen"
])
++ (lib.optionals config.liminalOS.desktop.swaync.enable [ ++ (lib.optionals config.liminalOS.desktop.swaync.enable [
"$mod, N, exec, sleep 0.1 && ${pkgs.swaynotificationcenter}/bin/swaync-client -t -sw" "$mod, N, exec, sleep 0.1 && ${pkgs.swaynotificationcenter}/bin/swaync-client -t -sw"
]) ])

View file

@ -21,6 +21,20 @@ in
Whether to set up many default desktop programs. Whether to set up many default desktop programs.
''; '';
}; };
defaultBrowser = lib.mkOption {
type = lib.types.package;
default = pkgs.zen-browser;
description = ''
Default browser for the system.
'';
};
browserDesktopFile = lib.mkOption {
type = lib.types.str;
default = "zen.desktop";
description = ''
Name of desktop file of browser.
'';
};
terminal.enable = lib.mkOption { terminal.enable = lib.mkOption {
type = lib.types.bool; type = lib.types.bool;
default = cfg.enable; default = cfg.enable;
@ -28,13 +42,6 @@ in
Whether to set up kitty terminal. Whether to set up kitty terminal.
''; '';
}; };
zen.enable = lib.mkOption {
type = lib.types.bool;
default = cfg.enable;
description = ''
Whether to install Zen Browser and set it as the default browser.
'';
};
}; };
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
@ -73,21 +80,23 @@ in
}; };
}; };
xdg.mimeApps = lib.mkIf cfg.zen.enable { xdg.mimeApps = {
enable = true; enable = true;
defaultApplications = { defaultApplications =
"text/html" = [ "zen.desktop" ]; let
"x-scheme-handler/http" = [ "zen.desktop" ]; desktopFile = cfg.browserDesktopFile;
"x-scheme-handler/https" = [ "zen.desktop" ]; in
"x-scheme-handler/about" = [ "zen.desktop" ]; {
"x-scheme-handler/unknown" = [ "zen.desktop" ]; "text/html" = [ desktopFile ];
}; "x-scheme-handler/http" = [ desktopFile ];
"x-scheme-handler/https" = [ desktopFile ];
"x-scheme-handler/about" = [ desktopFile ];
"x-scheme-handler/unknown" = [ desktopFile ];
};
}; };
home.packages = lib.mkIf cfg.zen.enable [ home.packages = [ cfg.defaultBrowser ];
pkgs.zen-browser
];
home.sessionVariables.DEFAULT_BROWSER = lib.mkIf cfg.zen.enable "${lib.getExe pkgs.zen-browser}"; home.sessionVariables.DEFAULT_BROWSER = lib.getExe cfg.defaultBrowser;
}; };
} }

View file

@ -13,6 +13,13 @@
starship.enable = false; starship.enable = false;
rofi.enable = false; rofi.enable = false;
mako.enable = false; mako.enable = false;
firefox = {
enable = true;
profileNames = [
"youwen"
];
colorTheme.enable = true;
};
}; };
}; };
} }

View file

@ -111,6 +111,8 @@
nix.settings.trusted-users = [ "youwen" ]; nix.settings.trusted-users = [ "youwen" ];
programs.firefox.nativeMessagingHosts.tridactyl = true;
fonts.packages = [ fonts.packages = [
inputs.valkyrie.packages.${pkgs.system}.default inputs.valkyrie.packages.${pkgs.system}.default
]; ];

View file

@ -23,6 +23,8 @@
liminalOS = { liminalOS = {
utils.easyeffects.enable = true; utils.easyeffects.enable = true;
programs.defaultBrowser = pkgs.firefox;
programs.browserDesktopFile = "firefox.desktop";
}; };
programs.git = { programs.git = {
@ -34,6 +36,56 @@
}; };
}; };
programs.firefox = {
# package = pkgs.;
profiles.youwen = {
extensions.force = true;
extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; [
tridactyl
ublock-origin
bitwarden
refined-github
];
};
};
home.packages = with pkgs; [
tridactyl-native
];
textfox = {
enable = true;
profile = "youwen";
useLegacyExtensions = false;
config = {
background = {
color = "#${config.lib.stylix.colors.base00}";
};
border = {
color = "#${config.lib.stylix.colors.base0B}";
width = "3px";
transition = "1.0s ease";
radius = "0px";
};
displayHorizontalTabs = false;
displayWindowControls = false;
displayNavButtons = true;
displayUrlbarIcons = true;
displaySidebarTools = false;
displayTitles = true;
newtabLogo = " __ __ ____ \A / /____ _ __/ /_/ __/___ _ __\A / __/ _ \\| |/_/ __/ /_/ __ \\| |/_/\A / /_/ __/> </ /_/ __/ /_/ /> < \A \\__/\\___/_/|_|\\__/_/ \\____/_/|_| ";
font = {
family = "CaskaydiaCove Nerd Font";
size = "15px";
accent = "#${config.lib.stylix.colors.base0B}";
};
tabs.vertical = {
margin = "1.0rem";
};
tabs.horizontal.enable = false;
};
};
programs.iamb = { programs.iamb = {
enable = true; enable = true;
package = inputs.iamb.packages.${pkgs.stdenv.targetPlatform.system}.default; package = inputs.iamb.packages.${pkgs.stdenv.targetPlatform.system}.default;