merge programs.nix with common shared programs
This commit is contained in:
parent
241ecaf5ab
commit
d6b317ce1c
@ -363,8 +363,8 @@ binds {
|
||||
Mod+R { switch-preset-column-width; }
|
||||
Mod+Shift+R { reset-window-height; }
|
||||
// Fullscreen - consistent with sway/hyprland
|
||||
Mod+F { fullscreen-window; }
|
||||
Mod+Shift+F { maximize-column; }
|
||||
Mod+F { maximize-column; }
|
||||
Mod+Shift+F { fullscreen-window; }
|
||||
|
||||
// Floating toggle
|
||||
Mod+Space { toggle-window-floating; }
|
||||
|
||||
@ -17,15 +17,10 @@ let
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
../../../shared/modules/apps/firefox/firefox.nix
|
||||
../../../shared/modules/apps/ghostty.nix
|
||||
../../../shared/modules/apps/helix.nix
|
||||
../../../shared/modules/home-manager/programs.nix
|
||||
../../../shared/modules/home-manager/git-autosync.nix
|
||||
../../../shared/modules/home-manager/noctalia.nix
|
||||
../../../shared/modules/home-manager/json2nix.nix
|
||||
../../../shared/modules/home-manager/style-preview.nix
|
||||
../niri/niri_home.nix
|
||||
./programs.nix
|
||||
];
|
||||
|
||||
home.username = userName;
|
||||
@ -33,19 +28,9 @@ in
|
||||
programs.home-manager.enable = true;
|
||||
home.stateVersion = "25.05"; # Please read the comment before changing.
|
||||
|
||||
firefoxApp.enable = true;
|
||||
ghosttyApp.enable = true;
|
||||
helixApp.enable = true;
|
||||
stylePreview.enable = true;
|
||||
json2nix.enable = true;
|
||||
sharedPrograms.enable = true;
|
||||
fonts.fontconfig.enable = true;
|
||||
|
||||
# enable OpenCode here to generate Stylix theming (using unstable package)
|
||||
programs.opencode = {
|
||||
enable = true;
|
||||
package = unstable.opencode;
|
||||
};
|
||||
|
||||
# Stylix auto-theming - applies to all programs.<name>.enable apps
|
||||
stylix = {
|
||||
autoEnable = true;
|
||||
|
||||
@ -1,41 +0,0 @@
|
||||
# Stylix-themed program configurations
|
||||
# All programs here are managed via programs.<name>.enable for Stylix auto-theming
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
programs = {
|
||||
#
|
||||
# Terminals
|
||||
#
|
||||
# Ghostty config is in shared/modules/apps/ghostty.nix (enable with ghosttyApp.enable = true)
|
||||
|
||||
foot = {
|
||||
enable = true;
|
||||
# Stylix handles colors and fonts
|
||||
settings = {
|
||||
main = {
|
||||
pad = "4x4";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
#
|
||||
# CLI Tools
|
||||
#
|
||||
bat.enable = true;
|
||||
|
||||
fzf = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
};
|
||||
|
||||
btop.enable = true;
|
||||
|
||||
mpv.enable = true;
|
||||
|
||||
#
|
||||
# Launcher
|
||||
#
|
||||
wofi.enable = true;
|
||||
};
|
||||
}
|
||||
@ -317,8 +317,8 @@ binds {
|
||||
Mod+R { switch-preset-column-width; }
|
||||
Mod+Shift+R { reset-window-height; }
|
||||
// Fullscreen
|
||||
Mod+F { fullscreen-window; }
|
||||
Mod+Shift+F { maximize-column; }
|
||||
Mod+F { maximize-column; }
|
||||
Mod+Shift+F { fullscreen-window; }
|
||||
|
||||
// Floating toggle
|
||||
Mod+Space { toggle-window-floating; }
|
||||
|
||||
@ -14,15 +14,10 @@ let
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
../../../shared/modules/apps/firefox/firefox.nix
|
||||
../../../shared/modules/apps/ghostty.nix
|
||||
../../../shared/modules/apps/helix.nix
|
||||
../../../shared/modules/home-manager/programs.nix
|
||||
../../../shared/modules/home-manager/git-autosync.nix
|
||||
../../../shared/modules/home-manager/noctalia.nix
|
||||
../../../shared/modules/home-manager/json2nix.nix
|
||||
../../../shared/modules/home-manager/style-preview.nix
|
||||
../niri/niri_home.nix
|
||||
./programs.nix
|
||||
];
|
||||
|
||||
home.username = userName;
|
||||
@ -30,11 +25,7 @@ in
|
||||
programs.home-manager.enable = true;
|
||||
home.stateVersion = "23.11"; # Please read the comment before changing.
|
||||
|
||||
firefoxApp.enable = true;
|
||||
ghosttyApp.enable = true;
|
||||
helixApp.enable = true;
|
||||
stylePreview.enable = true;
|
||||
json2nix.enable = true;
|
||||
sharedPrograms.enable = true;
|
||||
fonts.fontconfig.enable = true;
|
||||
|
||||
# Stylix auto-theming - applies to all programs.<name>.enable apps
|
||||
|
||||
@ -1,41 +0,0 @@
|
||||
# Stylix-themed program configurations
|
||||
# All programs here are managed via programs.<name>.enable for Stylix auto-theming
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
programs = {
|
||||
#
|
||||
# Terminals
|
||||
#
|
||||
# Ghostty config is in shared/modules/apps/ghostty.nix (enable with ghosttyApp.enable = true)
|
||||
|
||||
foot = {
|
||||
enable = true;
|
||||
# Stylix handles colors and fonts
|
||||
settings = {
|
||||
main = {
|
||||
pad = "4x4";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
#
|
||||
# CLI Tools
|
||||
#
|
||||
bat.enable = true;
|
||||
|
||||
fzf = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
};
|
||||
|
||||
btop.enable = true;
|
||||
|
||||
mpv.enable = true;
|
||||
|
||||
#
|
||||
# Launcher
|
||||
#
|
||||
wofi.enable = true;
|
||||
};
|
||||
}
|
||||
@ -402,8 +402,8 @@ binds {
|
||||
Mod+R { switch-preset-column-width; }
|
||||
Mod+Shift+R { reset-window-height; }
|
||||
// Fullscreen - consistent with sway/hyprland
|
||||
Mod+F { fullscreen-window; }
|
||||
Mod+Shift+F { maximize-column; }
|
||||
Mod+F { maximize-column; }
|
||||
Mod+Shift+F { fullscreen-window; }
|
||||
|
||||
// Floating toggle
|
||||
Mod+Space { toggle-window-floating; }
|
||||
|
||||
@ -17,14 +17,9 @@ let
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
../../../shared/modules/apps/firefox/firefox.nix
|
||||
../../../shared/modules/apps/ghostty.nix
|
||||
../../../shared/modules/apps/helix.nix
|
||||
../../../shared/modules/home-manager/programs.nix
|
||||
../../../shared/modules/home-manager/git-autosync.nix
|
||||
../../../shared/modules/home-manager/noctalia.nix
|
||||
../../../shared/modules/home-manager/json2nix.nix
|
||||
../../../shared/modules/home-manager/style-preview.nix
|
||||
../niri/niri_home.nix
|
||||
../vpn-proxy/vpn-proxy.nix
|
||||
];
|
||||
@ -47,20 +42,9 @@ in
|
||||
};
|
||||
|
||||
# Enable shared modules
|
||||
firefoxApp.enable = true;
|
||||
ghosttyApp.enable = true;
|
||||
helixApp.enable = true;
|
||||
sharedPrograms.enable = true;
|
||||
stylePreview.enable = true;
|
||||
json2nix.enable = true;
|
||||
fonts.fontconfig.enable = true;
|
||||
|
||||
# OpenCode with Stylix theming (using unstable package)
|
||||
programs.opencode = {
|
||||
enable = true;
|
||||
package = unstable.opencode;
|
||||
};
|
||||
|
||||
# Enable VPN proxy script
|
||||
vpnProxy.enable = true;
|
||||
|
||||
@ -144,6 +128,7 @@ in
|
||||
neofetch
|
||||
unzip
|
||||
nmap
|
||||
file
|
||||
|
||||
#
|
||||
# Photo / Video
|
||||
@ -166,7 +151,6 @@ in
|
||||
# Other
|
||||
#
|
||||
chromium
|
||||
keepassxc
|
||||
obs-studio
|
||||
gnome-disk-utility
|
||||
hugo
|
||||
|
||||
@ -358,8 +358,8 @@ binds {
|
||||
Mod+R { switch-preset-column-width; }
|
||||
Mod+Shift+R { reset-window-height; }
|
||||
// Fullscreen - consistent with sway/hyprland
|
||||
Mod+F { fullscreen-window; }
|
||||
Mod+Shift+F { maximize-column; }
|
||||
Mod+F { maximize-column; }
|
||||
Mod+Shift+F { fullscreen-window; }
|
||||
|
||||
// Floating toggle
|
||||
Mod+Space { toggle-window-floating; }
|
||||
|
||||
@ -7,14 +7,9 @@
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
../../../shared/modules/apps/firefox/firefox.nix
|
||||
../../../shared/modules/apps/ghostty.nix
|
||||
../../../shared/modules/apps/helix.nix
|
||||
../../../shared/modules/home-manager/programs.nix
|
||||
../../../shared/modules/home-manager/git-autosync.nix
|
||||
../../../shared/modules/home-manager/noctalia.nix
|
||||
../../../shared/modules/home-manager/json2nix.nix
|
||||
../../../shared/modules/home-manager/style-preview.nix
|
||||
../niri/niri_home.nix
|
||||
];
|
||||
|
||||
@ -28,20 +23,9 @@
|
||||
stylix.autoEnable = true;
|
||||
|
||||
# Enable shared modules
|
||||
firefoxApp.enable = true;
|
||||
ghosttyApp.enable = true;
|
||||
helixApp.enable = true;
|
||||
sharedPrograms.enable = true;
|
||||
stylePreview.enable = true;
|
||||
json2nix.enable = true;
|
||||
fonts.fontconfig.enable = true;
|
||||
|
||||
# OpenCode with Stylix theming (using unstable package)
|
||||
programs.opencode = {
|
||||
enable = true;
|
||||
package = unstable.opencode;
|
||||
};
|
||||
|
||||
# Git autosync for star-command
|
||||
services.git-autosync = {
|
||||
enable = true;
|
||||
|
||||
@ -1,21 +0,0 @@
|
||||
[General]
|
||||
ConfigVersion=2
|
||||
|
||||
[Browser]
|
||||
CustomProxyLocation=
|
||||
Enabled=true
|
||||
|
||||
[GUI]
|
||||
ApplicationTheme=dark
|
||||
TrayIconAppearance=monochrome-light
|
||||
|
||||
[KeeShare]
|
||||
Active="<?xml version=\"1.0\"?><KeeShare><Active/></KeeShare>\n"
|
||||
Own="<?xml version=\"1.0\"?><KeeShare><PrivateKey>MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC8OYI/I2otsVMdam8HqfnEYa6emzV2EzXAST+1A4IOC8ojOJdGbhKbvScu5MwgPAWDRiS0yIr6fjNHpTfHCMqY/K8+UsaubHIAjVVR5SDrBvAroTfts/oIqFcW8ab9DYMPpopaxnXh25gGrmEBb33GzuL2LJ4kXz40BEYjsOSffOM83/RstRhmXaV86nPmtbswyLwSEGsPZZliMIgMEoT/Y2qcjfwRJIRIEWNybmlgrHWAzVj5sr00KQhfTRo6dQG/yBMoElYGNvKSTmQDy7WVR+Mh+rYPKOwb2v8D7UrPDKd1n+GheEBKpvE8mDcSg/vGlXOHirOBdtuk+/xhqAqxAgMBAAECggEAETzLs/WN0+5r4q3sdM1juCY2pC7UTWJtUeqYtilClVUOEiisw0CcXVKMI+wZ0jqSSgHipa3B+zZogtSw0Cj6yNpHQD67aZ45LdoY/ggs+hPSFeTMpu0MZmjoROEk6QLTmwYmSzGRT88DqVpPPEmWFrQRWU3KaSFRzy4JsFtoVz9OYeFw37d9pG8BYeruqE7kx+uzCYWRjQXrjmofFpbxGWhkIUcvbVZ8wUVso4gT4JxAQks6nryL5M9NXefU+x/e1Rkopa5aRG/H0dPMYX/8uV2lsr/AW4+kaMPrKoAsPUhErrrJDwNL2zCmcAzNgsthUo/6yLLKlnk+THAGnruEawKBgQDDG9qpvR+OCQrV1rUiX2JmomkMPKIkAf4xLFNAdOwnPMRnq1mRCn0OJmmPmRF+I5fM/64tFzGK/KD5fxll3ybN+mpA540ho9Gvk89AbILXmp9MQMEh92H5tf4/q1EKgsFjMM0aplg2zupsimyi4LuI6tCBUhWun5X5yxUsbyBW2wKBgQD296WmxLJEQJcHfHN/RYBs9HAKCWZTn8kLgoFgCxTHHTB+i5N9yug78N3LmsYUBYwbshpVewxcv6xrfxQJ/igB+zXAgDAghhvbqw+kAiFo+OapchX+Yvm6LzHdnpOIUEDcVhP/IPyGwCNqL3DYhX0A7Qudk4/g73MStAS5aHucYwKBgG4/RweyvincIitC74dErq2gCAvKFzSRi7jtev1pFCf3xmNuB2ZVruRYAD4MGD5Wjmhf8WO5P11x8uQIVamitqKdZXzXWoAvuUSlGO8mYajCzlCgJoGy78HSfKAthdWSnQQXh04PwLj3oq9CaLCAnHd5d+gbIfVSZ8SGZKh/Ap8RAoGADF8dgjwqPfcKWcqnMoH1y/92uVn9MUU42gXAm2ISuWLB8iTlz5Bhj9ciFTf8ojYg7aY/YXbXiLHlXkEwbMu5j1fZOnpxbr+pF5j7IJkmuU52p5had7LXlbcVhWeTNmnmxeLd/5LUc5+eZoxX19DgETLOuScSNw9nsVEpR2xvfMcCgYEAgR4j9M8Nq088dA5Z3VGGxJ/l3GI+gChogZBRmyG48GuBygMVujJ5Kowqid0a3ImAnvxa8BGvEJlinmAsKmyi1UsmXMCLzOWO+jRNuIRoscFk1m2D3IfG43NnjoOhr9aJZHga8DHd1FXNPTqT74jkePHlDzpGOaHXQUN5CyGNouA=</PrivateKey><PublicKey><Signer>nate</Signer><Key>MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC8OYI/I2otsVMdam8HqfnEYa6emzV2EzXAST+1A4IOC8ojOJdGbhKbvScu5MwgPAWDRiS0yIr6fjNHpTfHCMqY/K8+UsaubHIAjVVR5SDrBvAroTfts/oIqFcW8ab9DYMPpopaxnXh25gGrmEBb33GzuL2LJ4kXz40BEYjsOSffOM83/RstRhmXaV86nPmtbswyLwSEGsPZZliMIgMEoT/Y2qcjfwRJIRIEWNybmlgrHWAzVj5sr00KQhfTRo6dQG/yBMoElYGNvKSTmQDy7WVR+Mh+rYPKOwb2v8D7UrPDKd1n+GheEBKpvE8mDcSg/vGlXOHirOBdtuk+/xhqAqxAgMBAAECggEAETzLs/WN0+5r4q3sdM1juCY2pC7UTWJtUeqYtilClVUOEiisw0CcXVKMI+wZ0jqSSgHipa3B+zZogtSw0Cj6yNpHQD67aZ45LdoY/ggs+hPSFeTMpu0MZmjoROEk6QLTmwYmSzGRT88DqVpPPEmWFrQRWU3KaSFRzy4JsFtoVz9OYeFw37d9pG8BYeruqE7kx+uzCYWRjQXrjmofFpbxGWhkIUcvbVZ8wUVso4gT4JxAQks6nryL5M9NXefU+x/e1Rkopa5aRG/H0dPMYX/8uV2lsr/AW4+kaMPrKoAsPUhErrrJDwNL2zCmcAzNgsthUo/6yLLKlnk+THAGnruEawKBgQDDG9qpvR+OCQrV1rUiX2JmomkMPKIkAf4xLFNAdOwnPMRnq1mRCn0OJmmPmRF+I5fM/64tFzGK/KD5fxll3ybN+mpA540ho9Gvk89AbILXmp9MQMEh92H5tf4/q1EKgsFjMM0aplg2zupsimyi4LuI6tCBUhWun5X5yxUsbyBW2wKBgQD296WmxLJEQJcHfHN/RYBs9HAKCWZTn8kLgoFgCxTHHTB+i5N9yug78N3LmsYUBYwbshpVewxcv6xrfxQJ/igB+zXAgDAghhvbqw+kAiFo+OapchX+Yvm6LzHdnpOIUEDcVhP/IPyGwCNqL3DYhX0A7Qudk4/g73MStAS5aHucYwKBgG4/RweyvincIitC74dErq2gCAvKFzSRi7jtev1pFCf3xmNuB2ZVruRYAD4MGD5Wjmhf8WO5P11x8uQIVamitqKdZXzXWoAvuUSlGO8mYajCzlCgJoGy78HSfKAthdWSnQQXh04PwLj3oq9CaLCAnHd5d+gbIfVSZ8SGZKh/Ap8RAoGADF8dgjwqPfcKWcqnMoH1y/92uVn9MUU42gXAm2ISuWLB8iTlz5Bhj9ciFTf8ojYg7aY/YXbXiLHlXkEwbMu5j1fZOnpxbr+pF5j7IJkmuU52p5had7LXlbcVhWeTNmnmxeLd/5LUc5+eZoxX19DgETLOuScSNw9nsVEpR2xvfMcCgYEAgR4j9M8Nq088dA5Z3VGGxJ/l3GI+gChogZBRmyG48GuBygMVujJ5Kowqid0a3ImAnvxa8BGvEJlinmAsKmyi1UsmXMCLzOWO+jRNuIRoscFk1m2D3IfG43NnjoOhr9aJZHga8DHd1FXNPTqT74jkePHlDzpGOaHXQUN5CyGNouA=</Key></PublicKey></KeeShare>\n"
|
||||
QuietSuccess=true
|
||||
|
||||
[PasswordGenerator]
|
||||
AdditionalChars=
|
||||
ExcludedChars=
|
||||
Length=25
|
||||
SpecialChars=false
|
||||
@ -161,7 +161,7 @@ in
|
||||
|
||||
# Selection
|
||||
j = "join_selections";
|
||||
J = "yank"
|
||||
J = "yank_joined";
|
||||
C-s = "split_selection_on_newline";
|
||||
C-minus = "merge_selections";
|
||||
C-_ = "merge_consecutive_selections";
|
||||
|
||||
@ -1,31 +1,87 @@
|
||||
{config, lib, ...}:
|
||||
{
|
||||
inputs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.sharedPrograms;
|
||||
unstable = import inputs.nixpkgs-unstable {
|
||||
system = "x86_64-linux";
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
in
|
||||
{
|
||||
options.sharedPrograms = {
|
||||
enable = lib.mkEnableOption "enable all basic programs with Stylix auto-theming";
|
||||
imports = [
|
||||
../apps/firefox/firefox.nix
|
||||
../apps/ghostty.nix
|
||||
../apps/helix.nix
|
||||
./json2nix.nix
|
||||
./style-preview.nix
|
||||
];
|
||||
|
||||
options.sharedPrograms = {
|
||||
enable = lib.mkEnableOption "enable all shared programs with Stylix auto-theming";
|
||||
|
||||
# CLI tools
|
||||
bat.enable = lib.mkEnableOption "enable bat (cat replacement)";
|
||||
fzf.enable = lib.mkEnableOption "enable fzf (fuzzy finder)";
|
||||
btop.enable = lib.mkEnableOption "enable btop (system monitor)";
|
||||
mpv.enable = lib.mkEnableOption "enable mpv (media player)";
|
||||
wofi.enable = lib.mkEnableOption "enable wofi (application launcher)";
|
||||
foot.enable = lib.mkEnableOption "enable foot (terminal emulator)";
|
||||
keepassxc.enable = lib.mkEnableOption "enable keepassxc (password manager)";
|
||||
opencode.enable = lib.mkEnableOption "enable opencode (AI coding assistant)";
|
||||
|
||||
# Apps (pass-through to underlying modules)
|
||||
firefox.enable = lib.mkEnableOption "enable firefox (web browser)";
|
||||
|
||||
ghostty = {
|
||||
enable = lib.mkEnableOption "enable ghostty (terminal emulator)";
|
||||
fontFamily = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "Maple Mono NF";
|
||||
description = "Font family for Ghostty";
|
||||
};
|
||||
enableLigatures = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
description = "Enable font ligatures in Ghostty";
|
||||
};
|
||||
};
|
||||
|
||||
helix = {
|
||||
enable = lib.mkEnableOption "enable helix (text editor)";
|
||||
themeOverrides = lib.mkOption {
|
||||
type = lib.types.attrsOf lib.types.anything;
|
||||
default = { };
|
||||
description = "Override minimal theme scopes for helix";
|
||||
};
|
||||
};
|
||||
|
||||
stylePreview.enable = lib.mkEnableOption "enable style preview (Stylix color viewer)";
|
||||
json2nix.enable = lib.mkEnableOption "enable json2nix (JSON to Nix converter)";
|
||||
};
|
||||
|
||||
config = lib.mkMerge [
|
||||
# When sharedPrograms.enable is true, enable all programs
|
||||
# When sharedPrograms.enable is true, enable all programs by default
|
||||
(lib.mkIf cfg.enable {
|
||||
sharedPrograms.bat.enable = lib.mkDefault true;
|
||||
sharedPrograms.fzf.enable = lib.mkDefault true;
|
||||
sharedPrograms.btop.enable = lib.mkDefault true;
|
||||
sharedPrograms.mpv.enable = lib.mkDefault true;
|
||||
sharedPrograms.wofi.enable = lib.mkDefault true;
|
||||
sharedPrograms.foot.enable = lib.mkDefault true;
|
||||
sharedPrograms = {
|
||||
bat.enable = lib.mkDefault true;
|
||||
fzf.enable = lib.mkDefault true;
|
||||
btop.enable = lib.mkDefault true;
|
||||
mpv.enable = lib.mkDefault true;
|
||||
wofi.enable = lib.mkDefault true;
|
||||
keepassxc.enable = lib.mkDefault true;
|
||||
opencode.enable = lib.mkDefault true;
|
||||
firefox.enable = lib.mkDefault true;
|
||||
ghostty.enable = lib.mkDefault true;
|
||||
helix.enable = lib.mkDefault true;
|
||||
stylePreview.enable = lib.mkDefault true;
|
||||
json2nix.enable = lib.mkDefault true;
|
||||
};
|
||||
})
|
||||
|
||||
# Individual program configurations
|
||||
# CLI tools
|
||||
(lib.mkIf cfg.bat.enable {
|
||||
programs.bat.enable = true;
|
||||
})
|
||||
@ -49,15 +105,69 @@ in
|
||||
programs.wofi.enable = true;
|
||||
})
|
||||
|
||||
(lib.mkIf cfg.foot.enable {
|
||||
programs.foot = {
|
||||
(lib.mkIf cfg.keepassxc.enable {
|
||||
programs.keepassxc = {
|
||||
enable = true;
|
||||
autostart = false;
|
||||
settings = {
|
||||
main = {
|
||||
pad = "4x4";
|
||||
Browser = {
|
||||
Enabled = true;
|
||||
UpdateBinaryPath = false;
|
||||
};
|
||||
|
||||
PasswordGenerator = {
|
||||
Length = 25;
|
||||
SpecialChars = false;
|
||||
};
|
||||
|
||||
GUI = {
|
||||
AdvancedSettings = true;
|
||||
ApplicationTheme = "dark";
|
||||
CompactMode = true;
|
||||
HidePasswords = true;
|
||||
};
|
||||
|
||||
Security = {
|
||||
ClearClipboardTimeout = 20;
|
||||
LockDatabaseIdleSeconds = 21600;
|
||||
};
|
||||
};
|
||||
};
|
||||
})
|
||||
|
||||
(lib.mkIf cfg.opencode.enable {
|
||||
programs.opencode = {
|
||||
enable = true;
|
||||
package = unstable.opencode;
|
||||
};
|
||||
})
|
||||
|
||||
# Apps — wire to underlying module options
|
||||
(lib.mkIf cfg.firefox.enable {
|
||||
firefoxApp.enable = true;
|
||||
})
|
||||
|
||||
(lib.mkIf cfg.ghostty.enable {
|
||||
ghosttyApp = {
|
||||
enable = true;
|
||||
fontFamily = cfg.ghostty.fontFamily;
|
||||
enableLigatures = cfg.ghostty.enableLigatures;
|
||||
};
|
||||
})
|
||||
|
||||
(lib.mkIf cfg.helix.enable {
|
||||
helixApp = {
|
||||
enable = true;
|
||||
themeOverrides = cfg.helix.themeOverrides;
|
||||
};
|
||||
})
|
||||
|
||||
(lib.mkIf cfg.stylePreview.enable {
|
||||
stylePreview.enable = true;
|
||||
})
|
||||
|
||||
(lib.mkIf cfg.json2nix.enable {
|
||||
json2nix.enable = true;
|
||||
})
|
||||
];
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user