modular common programs

This commit is contained in:
Ivan Dimitrov 2023-11-14 19:57:53 +02:00
parent 4a70e04625
commit 911b6e8f3d
3 changed files with 53 additions and 42 deletions

View File

@ -41,6 +41,7 @@
programs = {
nv.enable = true;
shell.enable = true;
common.enable = true;
};
xdg.configFile = {

View File

@ -1,49 +1,59 @@
{ pkgs, ... }: {
{ pkgs, lib, config, ... }:
let
cfg = config.programs.common;
in
{
imports = [ ./neovim ./neomutt ./sway ./tmux.nix ./zsh.nix ./lf ];
programs = {
thunderbird = {
enable = true;
profiles = { ivan = { isDefault = true; }; };
};
chromium = {
enable = true;
package = pkgs.ungoogled-chromium;
};
swaylock = {
enable = true;
settings = {
color = "000000";
line-color = "ffffff";
show-failed-attempts = true;
options.programs.common = {
enable = lib.mkEnableOption "common";
};
config = lib.mkIf cfg.enable {
programs = {
thunderbird = {
enable = true;
profiles = { ivan = { isDefault = true; }; };
};
};
obs-studio = {
enable = true;
plugins = with pkgs.obs-studio-plugins; [ wlrobs ];
};
kitty = {
enable = true;
settings = {
enable_tab_bar = false;
background_opacity = "0.96";
cursor_shape = "beam";
chromium = {
enable = true;
package = pkgs.ungoogled-chromium;
};
};
git = {
enable = true;
userName = "Ivan Dimitrov";
userEmail = "ivan@idimitrov.dev";
extraConfig = {
color.ui = "auto";
pull.rebase = true;
swaylock = {
enable = true;
settings = {
color = "000000";
line-color = "ffffff";
show-failed-attempts = true;
};
};
obs-studio = {
enable = true;
plugins = with pkgs.obs-studio-plugins; [ wlrobs ];
};
kitty = {
enable = true;
settings = {
enable_tab_bar = false;
background_opacity = "0.96";
cursor_shape = "beam";
};
};
git = {
enable = true;
userName = "Ivan Dimitrov";
userEmail = "ivan@idimitrov.dev";
extraConfig = {
color.ui = "auto";
pull.rebase = true;
};
};
browserpass.enable = true;
newsboat = {
enable = true;
autoReload = true;
reloadTime = 1;
};
};
browserpass.enable = true;
newsboat = {
enable = true;
autoReload = true;
reloadTime = 1;
};
};
}

View File

@ -1,6 +1,6 @@
{ pkgs, lib, config, ... }:
let
cfg = config.programs.nv;
cfg = config.programs.shell;
in
{