mirror of
https://github.com/youwen5/liminalOS.git
synced 2025-06-20 05:59:51 -07:00
refactor: massively overhaul home manager module system
This commit is contained in:
parent
b2270408fc
commit
a506d2aed4
64 changed files with 5201 additions and 64 deletions
95
hm/modules/linux/programs/default.nix
Normal file
95
hm/modules/linux/programs/default.nix
Normal file
|
@ -0,0 +1,95 @@
|
|||
{
|
||||
pkgs,
|
||||
inputs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.liminalOS.programs;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./bulk-programs.nix
|
||||
];
|
||||
|
||||
options.liminalOS.programs = {
|
||||
enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Whether to set up many default desktop programs.
|
||||
'';
|
||||
};
|
||||
terminal.enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = cfg.enable;
|
||||
description = ''
|
||||
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 {
|
||||
programs.kitty = lib.mkIf cfg.terminal.enable {
|
||||
enable = true;
|
||||
font.name = "CaskaydiaCove Nerd Font";
|
||||
shellIntegration.enableFishIntegration = true;
|
||||
shellIntegration.enableBashIntegration = true;
|
||||
settings = {
|
||||
font_size = 11;
|
||||
window_padding_width = "8 8";
|
||||
confirm_os_window_close = -1;
|
||||
enable_audio_bell = "no";
|
||||
background_opacity = pkgs.lib.mkForce "0.8";
|
||||
allow_remote_control = "yes";
|
||||
listen_on = "unix:/tmp/kitty";
|
||||
scrollback_pager = ''nvim --noplugin -c "set signcolumn=no showtabline=0" -c "silent write! /tmp/kitty_scrollback_buffer | te cat /tmp/kitty_scrollback_buffer - "'';
|
||||
cursor = pkgs.lib.mkForce "#c0caf5";
|
||||
cursor_text_color = pkgs.lib.mkForce "#1a1b26";
|
||||
cursor_trail = 3;
|
||||
};
|
||||
keybindings = {
|
||||
"kitty_mod+h" = "show_scrollback";
|
||||
};
|
||||
};
|
||||
|
||||
programs.spotify-player.enable = true;
|
||||
|
||||
programs.neovide = {
|
||||
enable = false;
|
||||
settings = {
|
||||
font = {
|
||||
normal = [ "CaskaydiaCove Nerd Font" ];
|
||||
size = if config.liminalOS.formFactor == "laptop" then 11 else 13;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
xdg.mimeApps = lib.mkIf cfg.zen.enable {
|
||||
enable = true;
|
||||
defaultApplications = {
|
||||
"text/html" = [ "zen.desktop" ];
|
||||
"x-scheme-handler/http" = [ "zen.desktop" ];
|
||||
"x-scheme-handler/https" = [ "zen.desktop" ];
|
||||
"x-scheme-handler/about" = [ "zen.desktop" ];
|
||||
"x-scheme-handler/unknown" = [ "zen.desktop" ];
|
||||
};
|
||||
};
|
||||
|
||||
home.packages = lib.mkIf cfg.zen.enable [
|
||||
inputs.zen-browser.packages.${pkgs.system}.default
|
||||
];
|
||||
|
||||
home.sessionVariables.DEFAULT_BROWSER = lib.mkIf cfg.zen.enable "${
|
||||
inputs.zen-browser.packages.${pkgs.system}.default
|
||||
}/bin/zen";
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue