diff --git a/home/ivand/default.nix b/home/ivand/default.nix index ed5d0cc..aa48c77 100644 --- a/home/ivand/default.nix +++ b/home/ivand/default.nix @@ -41,6 +41,7 @@ programs = { nv.enable = true; shell.enable = true; + common.enable = true; }; xdg.configFile = { diff --git a/modules/programs/default.nix b/modules/programs/default.nix index b73500f..da02e0f 100644 --- a/modules/programs/default.nix +++ b/modules/programs/default.nix @@ -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; }; }; } diff --git a/modules/programs/zsh.nix b/modules/programs/zsh.nix index acd0dad..c36df6c 100644 --- a/modules/programs/zsh.nix +++ b/modules/programs/zsh.nix @@ -1,6 +1,6 @@ { pkgs, lib, config, ... }: let - cfg = config.programs.nv; + cfg = config.programs.shell; in {