diff --git a/home/modules/console/editor/helix/default.nix b/home/modules/console/editor/helix/default.nix index c8f8e2f..c15d1eb 100644 --- a/home/modules/console/editor/helix/default.nix +++ b/home/modules/console/editor/helix/default.nix @@ -1,18 +1,21 @@ { inputs, config, pkgs, lib, ... }: -let - cfg = config.ooknet.console.editor.helix; - inherit (config) colorscheme; -in -{ +let + inherit (config) colorscheme; + inherit (lib) mkIf; + cfg = config.ooknet.editor.helix; + console = config.ooknet.console; +in + +{ imports = [ ./languages.nix ]; - config = lib.mkIf cfg.enable { + config = mkIf (cfg.enable || console.editor == "helix") { programs.helix = { enable = true; - defaultEditor = lib.mkIf cfg.default true; + defaultEditor = mkIf (console.editor == "helix") true; package = inputs.helix.packages.${pkgs.system}.default.overrideAttrs (old: { makeWrapperArgs = with pkgs; old.makeWrapperArgs diff --git a/home/modules/console/editor/helix/languages.nix b/home/modules/console/editor/helix/languages.nix index f4c369b..f67bd88 100644 --- a/home/modules/console/editor/helix/languages.nix +++ b/home/modules/console/editor/helix/languages.nix @@ -1,11 +1,13 @@ { pkgs, lib, config, ... }: let - cfg = config.ooknet.console.editor.helix; + inherit (lib) mkIf getExe; + cfg = config.ooknet.editor.helix; + console = config.ooknet.console; in { - config = lib.mkIf cfg.enable { + config = mkIf (cfg.enable || console.editor == "helix") { programs.helix.languages = { language = let deno = lang: { @@ -89,12 +91,12 @@ in }; nil = { - command = lib.getExe pkgs.nil; - config.nil.formatting.command = ["${lib.getExe pkgs.alejandra}" "-q"]; + command = getExe pkgs.nil; + config.nil.formatting.command = ["${getExe pkgs.alejandra}" "-q"]; }; dprint = { - command = lib.getExe pkgs.dprint; + command = getExe pkgs.dprint; args = ["lsp"]; }; diff --git a/home/modules/console/editor/nvim/default.nix b/home/modules/console/editor/nvim/default.nix index 6dcdf27..30ef0fc 100644 --- a/home/modules/console/editor/nvim/default.nix +++ b/home/modules/console/editor/nvim/default.nix @@ -2,7 +2,9 @@ let inherit (config.colorscheme) palette; - cfg = config.ooknet.console.editor.nvim; + inherit (lib) mkIf; + cfg = config.ooknet.editor.nvim; + console = config.ooknet.console; in { @@ -13,7 +15,7 @@ in ./plugins ]; - config = lib.mkIf cfg.enable { + config = mkIf (cfg.enable || console.editor == "nvim") { programs.neovim = { viAlias = true; vimAlias = true; diff --git a/home/modules/console/editor/nvim/keymapping.nix b/home/modules/console/editor/nvim/keymapping.nix index aa07722..72fcba0 100644 --- a/home/modules/console/editor/nvim/keymapping.nix +++ b/home/modules/console/editor/nvim/keymapping.nix @@ -1,11 +1,13 @@ { config, lib, ... }: let - cfg = config.ooknet.console.editor.nvim; + inherit (lib) mkIf mapAttrsToList; + cfg = config.ooknet.editor.nvim; + console = config.ooknet.console; in { - config = lib.mkIf cfg.enable { + config = mkIf (cfg.enable || console.editor == "nvim") { programs.nixvim = { globals = { mapleader = " "; @@ -14,7 +16,7 @@ in keymaps = let normal = - lib.mapAttrsToList + mapAttrsToList (key: action: { mode = "n"; inherit action key; @@ -25,7 +27,7 @@ in "Y" = "$y"; }; visual = - lib.mapAttrsToList + mapAttrsToList (key: action: { mode = "v"; inherit action key; diff --git a/home/modules/console/editor/nvim/plugins/default.nix b/home/modules/console/editor/nvim/plugins/default.nix index f3b83d1..601a076 100644 --- a/home/modules/console/editor/nvim/plugins/default.nix +++ b/home/modules/console/editor/nvim/plugins/default.nix @@ -1,28 +1,7 @@ -{ lib, ... }: - { imports = [ ./indent.nix ./telescope.nix ./lualine.nix ]; - - options.ooknet.console.editor.nvim.plugins = { - indentBlankline = lib.mkOption { - type = lib.types.bool; - default = false; - description = "Enable indent-blankline nvim plugin module"; - }; - lualine = lib.mkOption { - type = lib.types.bool; - default = false; - description = "Enable lualine nvim plugin module"; - }; - telescope = lib.mkOption { - type = lib.types.bool; - default = false; - description = "Enable telescope nvim plugin module"; - }; - }; - } diff --git a/home/modules/console/editor/nvim/plugins/indent.nix b/home/modules/console/editor/nvim/plugins/indent.nix index 382b960..dbb7ee9 100644 --- a/home/modules/console/editor/nvim/plugins/indent.nix +++ b/home/modules/console/editor/nvim/plugins/indent.nix @@ -1,11 +1,13 @@ { config, lib, ... }: let - cfg = config.ooknet.console.editor.nvim.plugins; + inherit (lib) mkIf; + cfg = config.ooknet.editor.nvim; + console = config.ooknet.console; in { - config = lib.mkIf cfg.indentBlankline { + config = mkIf (cfg.enable || console.editor == "nvim") { programs.nixvim.plugins.indent-blankline = { enable = true; }; diff --git a/home/modules/console/editor/nvim/plugins/lualine.nix b/home/modules/console/editor/nvim/plugins/lualine.nix index 48bb2d5..d6584a4 100644 --- a/home/modules/console/editor/nvim/plugins/lualine.nix +++ b/home/modules/console/editor/nvim/plugins/lualine.nix @@ -1,11 +1,13 @@ { config, lib, ... }: let - cfg = config.ooknet.console.editor.nvim.plugins; + inherit (lib) mkIf; + cfg = config.ooknet.editor.nvim; + console = config.ooknet.console; in { - config = lib.mkIf cfg.lualine { + config = mkIf (cfg.enable || console.editor == "nvim") { programs.nixvim.plugins.lualine = { enable = true; theme = "base16"; diff --git a/home/modules/console/editor/nvim/plugins/telescope.nix b/home/modules/console/editor/nvim/plugins/telescope.nix index 1657324..1a5fd1c 100644 --- a/home/modules/console/editor/nvim/plugins/telescope.nix +++ b/home/modules/console/editor/nvim/plugins/telescope.nix @@ -1,11 +1,13 @@ { config, lib, ... }: let - cfg = config.ooknet.console.editor.nvim.plugins; + inherit (lib) mkIf; + cfg = config.ooknet.editor.nvim; + console = config.ooknet.console; in { - config = lib.mkIf cfg.telescope { + config = mkIf (cfg.enable || console.editor == "nvim") { programs.nixvim = { plugins.telescope = { enable = true; diff --git a/home/modules/console/editor/nvim/settings.nix b/home/modules/console/editor/nvim/settings.nix index e0b955c..9e67cee 100644 --- a/home/modules/console/editor/nvim/settings.nix +++ b/home/modules/console/editor/nvim/settings.nix @@ -2,11 +2,13 @@ let inherit (config.colorscheme) palette; - cfg = config.ooknet.console.editor.nvim; + inherit (lib) mkIf; + cfg = config.ooknet.editor.nvim; + console = config.ooknet.console; in { - config = lib.mkIf cfg.enable { + config = mkIf (cfg.enable || console.editor == "nvim") { programs.nixvim = { options = { relativenumber = true; diff --git a/home/modules/console/fileManager/default.nix b/home/modules/console/fileManager/default.nix deleted file mode 100644 index e553e64..0000000 --- a/home/modules/console/fileManager/default.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ lib, ... }: - -{ - - imports = [ - ./lf #configuration still needs some work - # ./ranger - ]; - - options.ooknet.console.fileManager = { - lf = { - enable = lib.mkEnableOption "Enable lf file manager"; - default = lib.mkOption { - type = lib.types.bool; - default = false; - description = "Set lf as the default terminal file manager"; - }; - }; - ranger = { - enable = lib.mkEnableOption "Enable ranger file manager"; - default = lib.mkOption { - type = lib.types.bool; - default = false; - description = "Set ranger as the default terminal file manager"; - }; - }; - }; -} diff --git a/home/modules/console/fileManager/lf/default.nix b/home/modules/console/fileManager/lf/default.nix deleted file mode 100644 index 212d55d..0000000 --- a/home/modules/console/fileManager/lf/default.nix +++ /dev/null @@ -1,65 +0,0 @@ -{ pkgs, lib, config, ... }: -#TODO - mkif wayland for previewer -# - manage previewer dependencies better -# - ripdrag support -# - color parity with eza -let - cfg = config.ooknet.console.fileManager.lf; -in - -{ - config = lib.mkIf cfg.enable { - home.sessionVariables.FILEMANAGER = lib.mkIf cfg.default "lf"; - - xdg.configFile."lf/icons".source = ./icons; - - programs.lf = { - enable = true; - settings = { - hidden = true; - ignorecase = true; - drawbox = true; - icons = true; - }; - previewer = { - keybinding = "i"; - source = "${pkgs.ctpv}/bin/ctpv"; - }; - commands = { - fzf-lf = '' - ''${{ - res="$(find -L . \( -path '*/\.*' -o -fstype 'dev' -o -fstype 'proc' \) -prune -o -print 2> /dev/null | sed 1d | cut -b3- | fzf +m)" - if [ -d "$res" ] ; then - cmd="cd" - elif [ -f "$res" ] ; then - cmd="select" - else - exit 0 - fi - lf -remote "send $id $cmd \"$res\"" - }} - ''; - mkdir = '' - ''${{ - printf "Directory Name: " - read DIR - mkdir $DIR - }} - ''; - }; - keybindings = { - c = "mkdir"; - "" = "fzf-lf"; - }; - extraConfig = '' - &${pkgs.ctpv}/bin/ctpv -s $id - cmd on-quit %${pkgs.ctpv}/bin/ctpv -e $id - set cleaner ${pkgs.ctpv}/bin/ctpvclear - set sixel true - ''; - }; - - - home.packages = with pkgs; [ chafa ctpv glow ]; - }; -} diff --git a/home/modules/console/multiplexer/tmux/default.nix b/home/modules/console/multiplexer/tmux/default.nix index 7f9d1cc..ac694ae 100644 --- a/home/modules/console/multiplexer/tmux/default.nix +++ b/home/modules/console/multiplexer/tmux/default.nix @@ -1,12 +1,14 @@ { config, lib, pkgs, ... }: let - cfg = config.ooknet.console.multiplexer.tmux; inherit (config.colorscheme) palette; + inherit (lib) mkIf; + cfg = config.ooknet.multiplexer.tmux; + console = config.ooknet.console; in { - config = lib.mkIf cfg.enable { + config = mkIf (cfg.enable || console.multiplexer == "tmux") { programs.tmux = { enable = true; shell = "${pkgs.fish}/bin/fish"; diff --git a/home/modules/console/multiplexer/zellij/default.nix b/home/modules/console/multiplexer/zellij/default.nix index 69eadf5..a797e7f 100644 --- a/home/modules/console/multiplexer/zellij/default.nix +++ b/home/modules/console/multiplexer/zellij/default.nix @@ -1,11 +1,13 @@ { lib, config, pkgs, ... }: let inherit (config.colorscheme) palette; - cfg = config.ooknet.console.multiplexer.zellij; + inherit (lib) mkIf; + cfg = config.ooknet.multiplexer.zellij; + console = config.ooknet.console; in { - config = lib.mkIf cfg.enable { + config = mkIf (cfg.enable || console.multiplexer == "zellij") { programs.zellij = { enable = true; settings = { diff --git a/home/modules/console/shell/bash/default.nix b/home/modules/console/shell/bash/default.nix index 5b4e550..7ecea99 100644 --- a/home/modules/console/shell/bash/default.nix +++ b/home/modules/console/shell/bash/default.nix @@ -1,9 +1,13 @@ -{ config, lib, ... }: +{ config, lib, osConfig, ... }: + let - cfg = config.ooknet.console.shell.bash; + inherit (lib) mkIf; + cfg = config.ooknet.shell.bash; + admin = osConfig.ooknet.host.admin; in + { - config = lib.mkIf cfg.enable { + config = mkIf (cfg.enable || admin.shell == "bash") { programs.bash.enable = true; }; } diff --git a/home/modules/console/shell/default.nix b/home/modules/console/shell/default.nix index 41b4809..296c71d 100644 --- a/home/modules/console/shell/default.nix +++ b/home/modules/console/shell/default.nix @@ -1,17 +1,7 @@ -{ lib, ... }: { imports = [ ./fish ./bash ./zsh ]; - - options.ooknet.console.shell = { - fish = { - enable = lib.mkEnableOption "Enable fish configuration"; - }; - bash = { - enable = lib.mkEnableOption "Enable bash configuration"; - }; - }; } diff --git a/home/modules/console/shell/fish/default.nix b/home/modules/console/shell/fish/default.nix index 521c3d4..8b67a89 100644 --- a/home/modules/console/shell/fish/default.nix +++ b/home/modules/console/shell/fish/default.nix @@ -1,14 +1,15 @@ -{ lib, config, ... }: +{ lib, config, osConfig, ... }: let - cfg = config.ooknet.console.shell.fish; - inherit (lib) mkIf; - hasPackage = pname: lib.any (p: p ? pname && p.pname == pname) config.home.packages; + inherit (lib) mkIf any; + cfg = config.ooknet.shell.fish; + admin = osConfig.ooknet.host.admin; + hasPackage = pname: any (p: p ? pname && p.pname == pname) config.home.packages; hasEza = hasPackage "eza"; hasBat = hasPackage "bat"; in { - config = { - programs.fish = mkIf cfg.enable { + config = mkIf (cfg.enable || admin.shell == "fish") { + programs.fish = { enable = true; shellAbbrs = { fe = "cd $FLAKE; $EDITOR $FLAKE"; diff --git a/home/modules/console/shell/zsh/default.nix b/home/modules/console/shell/zsh/default.nix index aa12938..1f8fbd4 100644 --- a/home/modules/console/shell/zsh/default.nix +++ b/home/modules/console/shell/zsh/default.nix @@ -1,14 +1,13 @@ -{ lib, config, ... }: +{ lib, config, osConfig, ... }: let - inherit (lib) mkIf mkEnableOption; - cfg = config.ooknet.console.shell.zsh; + inherit (lib) mkIf; + cfg = config.ooknet.shell.zsh; + admin = osConfig.ooknet.host.admin; in { - options.ooknet.console.shell.zsh.enable = mkEnableOption ""; - - config = mkIf cfg.enable { + config = mkIf (cfg.enable || admin.shell == "zsh") { programs.zsh = { enable = true; autocd = true; diff --git a/home/modules/console/tools/ffmpeg.nix b/home/modules/console/tools/ffmpeg.nix new file mode 100644 index 0000000..c836762 --- /dev/null +++ b/home/modules/console/tools/ffmpeg.nix @@ -0,0 +1,12 @@ +{ lib, config, pkgs, ... }: + +let + inherit (lib) mkIf; + cfg = config.ooknet.tools.ffmpeg; +in + +{ + config = mkIf cfg.enable { + home.packages = [ pkgs.ffmpeg ]; + }; +} diff --git a/home/modules/default.nix b/home/modules/default.nix index 2b139f3..5df7837 100644 --- a/home/modules/default.nix +++ b/home/modules/default.nix @@ -1,8 +1,9 @@ { imports = [ - ./desktop - ./console - ./config - ./theme + ./base # default configuration modules for home-manager. + ./desktop # gui modules + ./console # cli modules + ./appearance # modules for configuring themes ie: fonts, wallpapers, color-schemes, etc... + ./options # all module options live here ]; } diff --git a/home/modules/desktop/browser/default.nix b/home/modules/desktop/browser/default.nix index e3adccc..be7e23d 100644 --- a/home/modules/desktop/browser/default.nix +++ b/home/modules/desktop/browser/default.nix @@ -1,29 +1,7 @@ -{ lib, ... }: { - imports = [ ./firefox - # ./schizofox #./chrome -- still needs to be implemented #./brave -- still needs tio be implemented ]; - - options.ooknet.desktop.browser = { - firefox = { - enable = lib.mkEnableOption "Enable firefox browser"; - default = lib.mkOption { - type = lib.types.bool; - default = false; - description = "Set Firefox as default browser"; - }; - }; - schizofox = { - enable = lib.mkEnableOption "Enable schizofox browser"; - default = lib.mkOption { - type = lib.types.bool; - default = false; - description = "Set schizofox as default browser"; - }; - }; - }; } diff --git a/home/modules/desktop/browser/firefox/default.nix b/home/modules/desktop/browser/firefox/default.nix index 1838fab..6cd46a4 100644 --- a/home/modules/desktop/browser/firefox/default.nix +++ b/home/modules/desktop/browser/firefox/default.nix @@ -2,18 +2,17 @@ let addons = inputs.firefox-addons.packages.${pkgs.system}; - cfg = config.ooknet.desktop.browser.firefox; + cfg = config.ooknet.browser.firefox; + browser = config.ooknet.desktop.browser; inherit (lib) mkIf; in { - config = { - nixpkgs.config.allowUnfree = true; - home.sessionVariables = mkIf cfg.default { - BROWSER = "firefox"; - }; + config = mkIf (cfg.enable || browser == "firefox") { + home.sessionVariables.BROWSER = mkIf (browser == "firefox") "firefox"; + ooknet.binds.browser = mkIf (browser == "firefox") "firefox"; - programs.firefox = mkIf cfg.enable { + programs.firefox = { enable = true; profiles.ooks = { extensions = with addons; [ diff --git a/home/modules/desktop/browser/schizofox/default.nix b/home/modules/desktop/browser/schizofox/default.nix deleted file mode 100644 index ddc10ed..0000000 --- a/home/modules/desktop/browser/schizofox/default.nix +++ /dev/null @@ -1,72 +0,0 @@ -{ inputs, config, lib, ... }: - -let - cfg = config.ooknet.desktop.browser.schizofox; - fonts = config.ooknet.theme.fonts; - inherit (config.colorscheme) palette; -in - -{ - imports = [inputs.schizofox.homeManagerModule]; - - config = lib.mkIf cfg.enable { - home.sessionVariables.BROWSER = lib.mkIf cfg.default "firefox"; - programs.schizofox = { - enable = true; - theme = { - font = "${fonts.regular.family}"; - colors = { - background-darker = "${palette.base00}"; - background = "${palette.base01}"; - foreground = "${palette.base07}"; - }; - }; - - security = { - sanitizeOnShutdown = false; - sandbox = true; - noSessionRestore = false; - userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:106.0) Gecko/20100101 Firefox/106.0"; - }; - - misc = { - drmFix = true; - disableWebgl = false; - }; - - extensions = { - extraExtensions = let - mkUrl = name: "https://addons.mozilla.org/firefox/downloads/latest/${name}/latest.xpi"; - extensions = [ - { - id = "1018e4d6-728f-4b20-ad56-37578a4de76"; - name = "flagfox"; - } - { - id = "{c2c003ee-bd69-42a2-b0e9-6f34222cb046}"; - name = "auto-tab-discard"; - } - { - id = "{d634138d-c276-4fc8-924b-40a0ea21d284}"; - name = "1password-x-password-manager"; - } - { - id = "{a4c4eda4-fb84-4a84-b4a1-f7c1cbf2a1ad}"; - name = "refined-github-"; - } - { - id = "sponsorBlocker@ajay.app"; - name = "sponsorblock"; - } - { - id = "{tridactyl.vim@cmcaine.co.uk}"; - name = "tridactyl-vim"; - } - ]; - extraExtensions = builtins.foldl' (acc: ext: acc // {ext.id = {install_url = mkUrl ext.name;};}) {} extensions; - in - extraExtensions; - }; - }; - }; -} diff --git a/home/modules/desktop/communication/discord/default.nix b/home/modules/desktop/communication/discord/default.nix index 78a3a23..676a4ab 100644 --- a/home/modules/desktop/communication/discord/default.nix +++ b/home/modules/desktop/communication/discord/default.nix @@ -1,153 +1,5 @@ -{ config, lib, pkgs, ... }: - -let - cfg = config.ooknet.desktop.communication.discord; - fonts = config.ooknet.theme.fonts; - inherit (config.colorscheme) palette; - inherit (lib) mkIf mkEnableOption; -in - { - options.ooknet.desktop.communication.discord.enable = mkEnableOption "Enable discord home manager module"; - config = mkIf cfg.enable { - home.packages = [ pkgs.vesktop ]; - - xdg.configFile."vesktop/themes/nix.css".text = /* css */ '' - /** - * @name nix-colors-minimal - * @author aoku - * @description minimal theme designed with nix colors - */ - - :root { - --nix-bg1: #${palette.base00}; - --nix-bg2: #${palette.base01}; - --nix-bg3: #${palette.base02}; - - --nix-fg1: #${palette.base05}; - --nix-fg2: #${palette.base07}; - --nix-fg3: #${palette.base03}; - --nix-link: #${palette.base0D}; - - --nix-accent: #${palette.base08}; - --nix-hi: #${palette.base0B}; - - --font-mono: ${fonts.monospace.family}, monospace; - --font-regular: ${fonts.regular.family}, sans serif; - - /* server collapse */ - --sb-collapsed-width: 12px; - --sb-transition-duration: 0s; - } - - .theme-dark { - --background-primary: var(--nix-bg1); - --background-secondary: var(--nix-bg1); - --background-secondary-alt: var(--nix-bg1); - --background-accent: var(--nix-accent); - --background-tertiary: var(--nix-bg1); - --background-floating: var(--nix-bg1); - --background-mentioned: var(--nix-bg1); - --background-mentioned-hover: var(--nix-bg1); - --background-mobile: var(--nix-bg1); - --background-mobile-secondary: var(--nix-bg2); - --background-modifier-selected: var(--nix-bg1); - --channeltextarea-background:var(--nix-bg1); - --background-modifier-hover:var(--nix-bg1); - --activity-card-background: var(--nix-bg2); - - --header-primary: var(--nix-fg2); - --header-secondary: var(--nix-fg1); - - --text-normal: var(--nix-fg1); - --text-muted: var(--nix-fg1); - --text-link: var(--nix-link); - --text-warning: var(--nix-accent); - --font-primary: var(--font-mono); - --font-headline: var(--font-mono); - --font-display: var(--font-mono); - - --interactive-normal: var(--nix-fg1); /*base05*/ - --interactive-hover: var(--nix-hi); /*base0B*/ - --interactive-active: var(--nix-fg2); - --interactive-muted: var(--nix-fg3); /*base03*/ - --channels-default: var(--nix-fg1); - - --scrollbar-thin-thumb: transparent; - --scrollbar-thin-track: transparent; - --scrollbar-auto-thumb: var(--nix-fg1); - --scrollbar-auto-track:var(--nix-bg1); - --scrollbar-auto-scrollbar-color-thumb: var(--nix-accent); - } - - .messagesWrapper_ea2b0b { - font-family: var(--font-regular); - } - - .titleWrapper__482dc { - font-family: var(--font-mono); - } - - .link__95dc0 /* text channel*/{ - border-radius: 0px; - margin-left: -10px; - font-family: var(--font-mono); - } - - .container_ca50b9 .avatar_f8541f { /*avatar*/ - display: none; - } - - .form__13a2c /* text input box resize */ { - height: 50px; - font-family: var(--font-regular); - } - - .containerDefault__3187b .wrapper__7bcde:before /* text channel */{ - content: ""; - display:inline-block; - background: var(--nix-hi); - height: 100%; - position: absolute; - left: 0; - } - - - /* server collapse */ - .guilds__2b93a /* servers */{ - overflow: hidden !important; - width: var(--sb-collapsed-width, 75px); - transition: width var(--sb-transition-duration); - } - .guilds__2b93a:hover /* expand server bar on hover */{ - width: 70px; - overflow: visible !important; - animation: server-bar-overflow 0s linear 0ms forwards - } - .guilds__2b93a ~ .base__3e6af /* friends list, chat */{ - position: absolute; - left: var(--sb-collapsed-left, var(--sb-collapsed-width)); - top: var(--sb-collapsed-top, 0px); - bottom: var(--sb-collapsed-bottom, 0px); - right: var(--sb-collapsed-right, 0px); - transition-property: var(--sb-transition-property, left); - transition-duration: var(--sb-transition-duration); - } - .guilds__2b93a:hover ~ .base__3e6af /* friends list, chat */{ - position: absolute; - left: var(--sb-left, 70px); - top: var(--sb-top, 0px); - bottom: var(--sb-bottom, 0px); - right: var(--sb-right, 0px); - } - @keyframes server-bar-overflow{ - from{ - overflow: hidden; - } - to{ - overflow: visible; - } - } - ''; - }; + imports = [ + ./vesktop.nix + ] } diff --git a/home/modules/desktop/communication/discord/vesktop.nix b/home/modules/desktop/communication/discord/vesktop.nix new file mode 100644 index 0000000..105a038 --- /dev/null +++ b/home/modules/desktop/communication/discord/vesktop.nix @@ -0,0 +1,154 @@ +{ config, lib, pkgs, ... }: + +let + inherit (config.colorscheme) palette; + inherit (lib) mkIf; + cfg = config.ooknet.communication.discord; + discord = config.ooknet.desktop.discord; + fonts = config.ooknet.theme.fonts; +in + +{ + config = mkIf (cfg.enable || discord == "vesktop") { + home.packages = [ pkgs.vesktop ]; + ooknet.binds.discord = "vesktop"; + xdg.configFile."vesktop/themes/nix.css".text = /* css */ '' + /** + * @name nix-colors-minimal + * @author aoku + * @description minimal theme designed with nix colors + */ + + :root { + /* Palette */ + --nix-bg1: #${palette.base00}; + --nix-bg2: #${palette.base01}; + --nix-bg3: #${palette.base02}; + + --nix-fg1: #${palette.base05}; + --nix-fg2: #${palette.base07}; + --nix-fg3: #${palette.base03}; + --nix-link: #${palette.base0D}; + + --nix-accent: #${palette.base08}; + --nix-hi: #${palette.base0B}; + + --font-mono: ${fonts.monospace.family}, monospace; + --font-regular: ${fonts.regular.family}, sans serif; + + /* server collapse */ + --sb-collapsed-width: 12px; + --sb-transition-duration: 0s; + } + + .theme-dark { + --background-primary: var(--nix-bg1); + --background-secondary: var(--nix-bg1); + --background-secondary-alt: var(--nix-bg1); + --background-accent: var(--nix-accent); + --background-tertiary: var(--nix-bg1); + --background-floating: var(--nix-bg1); + --background-mentioned: var(--nix-bg1); + --background-mentioned-hover: var(--nix-bg1); + --background-mobile: var(--nix-bg1); + --background-mobile-secondary: var(--nix-bg2); + --background-modifier-selected: var(--nix-bg1); + --channeltextarea-background:var(--nix-bg1); + --background-modifier-hover:var(--nix-bg1); + --activity-card-background: var(--nix-bg2); + + --header-primary: var(--nix-fg2); + --header-secondary: var(--nix-fg1); + + --text-normal: var(--nix-fg1); + --text-muted: var(--nix-fg1); + --text-link: var(--nix-link); + --text-warning: var(--nix-accent); + --font-primary: var(--font-mono); + --font-headline: var(--font-mono); + --font-display: var(--font-mono); + + --interactive-normal: var(--nix-fg1); /*base05*/ + --interactive-hover: var(--nix-hi); /*base0B*/ + --interactive-active: var(--nix-fg2); + --interactive-muted: var(--nix-fg3); /*base03*/ + --channels-default: var(--nix-fg1); + + --scrollbar-thin-thumb: transparent; + --scrollbar-thin-track: transparent; + --scrollbar-auto-thumb: var(--nix-fg1); + --scrollbar-auto-track:var(--nix-bg1); + --scrollbar-auto-scrollbar-color-thumb: var(--nix-accent); + } + + .messagesWrapper_ea2b0b { + font-family: var(--font-regular); + } + + .titleWrapper__482dc { + font-family: var(--font-mono); + } + + .link__95dc0 /* text channel*/{ + border-radius: 0px; + margin-left: -10px; + font-family: var(--font-mono); + } + + .container_ca50b9 .avatar_f8541f { /*avatar*/ + display: none; + } + + .form__13a2c /* text input box resize */ { + height: 50px; + font-family: var(--font-regular); + } + + .containerDefault__3187b .wrapper__7bcde:before /* text channel */{ + content: ""; + display:inline-block; + background: var(--nix-hi); + height: 100%; + position: absolute; + left: 0; + } + + + /* server collapse */ + .guilds__2b93a /* servers */{ + overflow: hidden !important; + width: var(--sb-collapsed-width, 75px); + transition: width var(--sb-transition-duration); + } + .guilds__2b93a:hover /* expand server bar on hover */{ + width: 70px; + overflow: visible !important; + animation: server-bar-overflow 0s linear 0ms forwards + } + .guilds__2b93a ~ .base__3e6af /* friends list, chat */{ + position: absolute; + left: var(--sb-collapsed-left, var(--sb-collapsed-width)); + top: var(--sb-collapsed-top, 0px); + bottom: var(--sb-collapsed-bottom, 0px); + right: var(--sb-collapsed-right, 0px); + transition-property: var(--sb-transition-property, left); + transition-duration: var(--sb-transition-duration); + } + .guilds__2b93a:hover ~ .base__3e6af /* friends list, chat */{ + position: absolute; + left: var(--sb-left, 70px); + top: var(--sb-top, 0px); + bottom: var(--sb-bottom, 0px); + right: var(--sb-right, 0px); + } + @keyframes server-bar-overflow{ + from{ + overflow: hidden; + } + to{ + overflow: visible; + } + } + ''; + }; +} diff --git a/home/modules/desktop/creative/audacity.nix b/home/modules/desktop/creative/audacity.nix new file mode 100644 index 0000000..46a335e --- /dev/null +++ b/home/modules/desktop/creative/audacity.nix @@ -0,0 +1,12 @@ +{ lib, config, pkgs, ... }: + +let + inherit (lib) mkIf; + cfg = config.ooknet.creative.audacity; +in + +{ + config = mkIf cfg.enable { + home.packages = [ pkgs.audacity ]; + }; +} diff --git a/home/modules/desktop/creative/audio/audacity/default.nix b/home/modules/desktop/creative/audio/audacity/default.nix deleted file mode 100644 index 2c83bdf..0000000 --- a/home/modules/desktop/creative/audio/audacity/default.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ lib, config, pkgs, ... }: - -let - cfg = config.ooknet.desktop.creative.audio.audacity; - inherit (lib) mkIf mkEnableOption; -in - -{ - options.ooknet.desktop.creative.audio.audacity.enable = mkEnableOption "Enable audacity home module"; - config = mkIf cfg.enable { - home.packages = [ pkgs.audacity ]; - }; -} diff --git a/home/modules/desktop/creative/default.nix b/home/modules/desktop/creative/default.nix index 2693eda..4573ac6 100644 --- a/home/modules/desktop/creative/default.nix +++ b/home/modules/desktop/creative/default.nix @@ -1,7 +1,6 @@ { imports = [ - ./audio - ./image - # ./video + ./audacity.nix + ./inkscape.nix ]; } diff --git a/home/modules/desktop/creative/image/inkscape/default.nix b/home/modules/desktop/creative/image/inkscape/default.nix deleted file mode 100644 index d563ce5..0000000 --- a/home/modules/desktop/creative/image/inkscape/default.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ lib, config, pkgs, ... }: - -let - cfg = config.ooknet.desktop.creative.audio.inkscape; - inherit (lib) mkIf mkEnableOption; -in - -{ - options.ooknet.desktop.creative.audio.inkscape.enable = mkEnableOption "Enable inkscape home module"; - config = mkIf cfg.enable { - home.packages = [ pkgs.inkscape-with-extensions ]; - }; -} - diff --git a/home/modules/desktop/creative/inkscape.nix b/home/modules/desktop/creative/inkscape.nix new file mode 100644 index 0000000..94fefaf --- /dev/null +++ b/home/modules/desktop/creative/inkscape.nix @@ -0,0 +1,13 @@ +{ lib, config, pkgs, ... }: + +let + inherit (lib) mkIf; + cfg = config.ooknet.creative.inkscape; +in + +{ + config = mkIf cfg.enable { + home.packages = [ pkgs.inkscape-with-extensions ]; + }; +} + diff --git a/home/modules/desktop/media/image/default.nix b/home/modules/desktop/media/image/default.nix index 54c743f..8fb5e93 100644 --- a/home/modules/desktop/media/image/default.nix +++ b/home/modules/desktop/media/image/default.nix @@ -1,13 +1,5 @@ -{ lib, ... }: { imports = [ - ./imv + ./imv.nix ]; - - options.ooknet.desktop.media.image = { - imv = { - enable = lib.mkEnableOption "Enable imv image viewer"; - }; - }; - } diff --git a/home/modules/desktop/media/image/imv/default.nix b/home/modules/desktop/media/image/imv.nix similarity index 54% rename from home/modules/desktop/media/image/imv/default.nix rename to home/modules/desktop/media/image/imv.nix index 9c9e2f3..e101dc9 100644 --- a/home/modules/desktop/media/image/imv/default.nix +++ b/home/modules/desktop/media/image/imv.nix @@ -1,9 +1,12 @@ { lib, config, ... }: + let - cfg = config.ooknet.desktop.media.image.imv; + inherit (lib) mkIf; + cfg = config.ooknet.media.image.imv; in + { - config = lib.mkIf cfg.enable { + config = mkIf cfg.enable { programs = { imv = { enable = true; diff --git a/home/modules/desktop/media/music/default.nix b/home/modules/desktop/media/music/default.nix index 9144298..9365467 100644 --- a/home/modules/desktop/media/music/default.nix +++ b/home/modules/desktop/media/music/default.nix @@ -1,17 +1,6 @@ -{ lib, ... }: { imports = [ #./spotify --- still needs to be implemented - ./easyeffects ./tui ]; - - options.ooknet.desktop.media.music = { - tui = { - enable = lib.mkEnableOption "Enable tui music"; - }; - spotify = { - enable = lib.mkEnableOption "Enable spotify"; - }; - }; } diff --git a/home/modules/desktop/media/music/easyeffects/default.nix b/home/modules/desktop/media/music/easyeffects/default.nix deleted file mode 100644 index 15084e1..0000000 --- a/home/modules/desktop/media/music/easyeffects/default.nix +++ /dev/null @@ -1,15 +0,0 @@ -{lib, config, ... }: - -let - cfg = config.ooknet.desktop.media.music.easyeffects; - inherit (lib) mkIf mkEnableOption; -in - -{ - options.ooknet.desktop.media.music.easyeffects.enable = mkEnableOption "Enable easy effects home module"; - config = mkIf cfg.enable { - services.easyeffects = { - enable = true; - }; - }; -} diff --git a/home/modules/desktop/media/music/tui/default.nix b/home/modules/desktop/media/music/tui.nix similarity index 89% rename from home/modules/desktop/media/music/tui/default.nix rename to home/modules/desktop/media/music/tui.nix index abe49a1..027671e 100644 --- a/home/modules/desktop/media/music/tui/default.nix +++ b/home/modules/desktop/media/music/tui.nix @@ -2,8 +2,13 @@ let inherit (config.colorscheme) palette; + inherit (lib) mkIf; + cfg = config.ooknet.desktop.media.music.tui; - zellij = config.ooknet.console.multiplexer.zellij; + zellij = config.ooknet.multiplexer.zellij; + multiplexer= config.ooknet.console.multiplexer; + + # removed image support because it was causing issues with zellij spotify-cli = pkgs.spotify-player.override { withImage = false; withSixel = false; @@ -11,15 +16,14 @@ let in { - - - config = lib.mkIf cfg.enable { + config = mkIf cfg.enable { home.packages = with pkgs; [ termusic spotify-cli alsa-utils mpv ]; + programs.cava = { enable = true; settings = { @@ -35,6 +39,7 @@ in }; }; }; + xdg.configFile."spotify-player/app.toml".text = /* toml */ '' theme = "default" client_id = "fc4c3656d7cc4a7ea70c6080965f8b1a" @@ -68,7 +73,7 @@ in normalization = false ''; - xdg.configFile."zellij/layouts/music.kdl".text = lib.mkIf zellij.enable /* kdl */ '' + xdg.configFile."zellij/layouts/music.kdl".text = mkIf (zellij.enable || multiplexer == "zellij") /* kdl */ '' layout { default_tab_template { pane size=2 borderless=true { @@ -114,7 +119,7 @@ in } } ''; - home.shellAliases = lib.mkIf zellij.enable { + home.shellAliases = mkIf (zellij.enable || multiplexer == "zellij") { zjm = "zellij --layout music"; }; }; diff --git a/home/modules/desktop/media/video/default.nix b/home/modules/desktop/media/video/default.nix index 02d8048..a576fe2 100644 --- a/home/modules/desktop/media/video/default.nix +++ b/home/modules/desktop/media/video/default.nix @@ -1,20 +1,7 @@ -{ lib, ... }: { imports = [ - ./youtube - ./jellyfin - ./mpv + ./youtube.nix + ./jellyfin-player.nix + ./mpv.nix ]; - - options.ooknet.desktop.media.video = { - mpv = { - enable = lib.mkEnableOption "Enable mpv video player"; - }; - youtube = { - enable = lib.mkEnableOption "Enable youtube tui player"; - }; - jellyfin = { - enable = lib.mkEnableOption "Enable jellyifn media player"; - }; - }; } diff --git a/home/modules/desktop/media/video/jellyfin-player.nix b/home/modules/desktop/media/video/jellyfin-player.nix new file mode 100644 index 0000000..64cb247 --- /dev/null +++ b/home/modules/desktop/media/video/jellyfin-player.nix @@ -0,0 +1,12 @@ +{ pkgs, lib, config, ... }: + +let + inherit (lib) mkIf; + cfg = config.ooknet.media.video.jellyfinPlayer; +in + +{ + config = mkIf cfg.enable { + home.packages = [ pkgs.jellyfin-media-player ]; + }; +} diff --git a/home/modules/desktop/media/video/jellyfin/default.nix b/home/modules/desktop/media/video/jellyfin/default.nix deleted file mode 100644 index 8d29826..0000000 --- a/home/modules/desktop/media/video/jellyfin/default.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ pkgs, lib, config, ... }: -let - cfg = config.ooknet.desktop.media.video.jellyfin; -in -{ - config = lib.mkIf cfg.enable { - home.packages = with pkgs; [ jellyfin-media-player ]; - }; -} diff --git a/home/modules/desktop/media/video/mpv.nix b/home/modules/desktop/media/video/mpv.nix new file mode 100644 index 0000000..0de1074 --- /dev/null +++ b/home/modules/desktop/media/video/mpv.nix @@ -0,0 +1,14 @@ +{ lib, config, ... }: + +let + inherit (lib) mkIf; + cfg = config.ooknet.media.video.mpv; +in + +{ + config = mkIf cfg.enable { + programs.mpv = { + enable = true; + }; + }; +} diff --git a/home/modules/desktop/media/video/mpv/default.nix b/home/modules/desktop/media/video/mpv/default.nix deleted file mode 100644 index 4d7972d..0000000 --- a/home/modules/desktop/media/video/mpv/default.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ lib, config, pkgs, ... }: - -let - cfg = config.ooknet.desktop.media.video.mpv; -in -{ - config = { - programs.mpv = lib.mkIf cfg.enable { - enable = true; - }; - home.packages = [ pkgs.ffmpeg ]; - }; -} diff --git a/home/modules/desktop/media/video/youtube.nix b/home/modules/desktop/media/video/youtube.nix new file mode 100644 index 0000000..4e7d130 --- /dev/null +++ b/home/modules/desktop/media/video/youtube.nix @@ -0,0 +1,15 @@ +{ lib, config, pkgs, ...}: + +let + inherit (lib) mkIf; + cfg = config.ooknet.media.video.youtube; +in + +{ + config = mkIf cfg.enable { + home.packages = [ pkgs.youtube-tui ]; + programs.yt-dlp = { + enable = true; + }; + }; +} diff --git a/home/modules/desktop/media/video/youtube/default.nix b/home/modules/desktop/media/video/youtube/default.nix deleted file mode 100644 index 733e531..0000000 --- a/home/modules/desktop/media/video/youtube/default.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ lib, config, pkgs, ...}: -let - cfg = config.ooknet.desktop.media.video.youtube; -in -{ - config = lib.mkIf cfg.enable { - home.packages = with pkgs; [ youtube-tui ]; - programs.yt-dlp = { - enable = true; - }; - }; -} diff --git a/home/modules/desktop/productivity/default.nix b/home/modules/desktop/productivity/default.nix index e740f59..b3f1292 100644 --- a/home/modules/desktop/productivity/default.nix +++ b/home/modules/desktop/productivity/default.nix @@ -2,17 +2,8 @@ { imports = [ - ./obsidian - ./zathura ./office + ./notes + ./pdf ]; - - options.ooknet.desktop.productivity = { - obsidian = { - enable = lib.mkEnableOption "enable obsidian home module"; - }; - zathura = { - enable = lib.mkEnableOption "enable zathura home module"; - }; - }; } diff --git a/home/modules/desktop/creative/image/default.nix b/home/modules/desktop/productivity/notes/default.nix similarity index 54% rename from home/modules/desktop/creative/image/default.nix rename to home/modules/desktop/productivity/notes/default.nix index bd0af77..e68bedc 100644 --- a/home/modules/desktop/creative/image/default.nix +++ b/home/modules/desktop/productivity/notes/default.nix @@ -1,5 +1,5 @@ { imports = [ - ./inkscape + ./obsidian.nix ]; } diff --git a/home/modules/desktop/productivity/notes/obsidian.nix b/home/modules/desktop/productivity/notes/obsidian.nix index e3018ff..983df39 100644 --- a/home/modules/desktop/productivity/notes/obsidian.nix +++ b/home/modules/desktop/productivity/notes/obsidian.nix @@ -1,15 +1,14 @@ { lib, config, pkgs, ... }: let - inherit (lib) mkIf mkEnableOption; + inherit (lib) mkIf; cfg = config.ooknet.productivity.notes.obsidian; notes = config.ooknet.desktop.notes; in { - options.ooknet.productivity.notes.obsidian.enable = mkEnableOption ""; config = mkIf (cfg.enable || notes == "obsidian") { home.packages = [ pkgs.obsidian ]; - + ooknet.binds.notes = mkIf (notes == "obsidian") "obsidian"; }; } diff --git a/home/modules/desktop/productivity/office/default.nix b/home/modules/desktop/productivity/office/default.nix index f335511..656754a 100644 --- a/home/modules/desktop/productivity/office/default.nix +++ b/home/modules/desktop/productivity/office/default.nix @@ -1,13 +1,6 @@ -{ lib, config, pkgs, ... }: - -let - inherit (lib) mkIf mkEnableOption; - cfg = config.ooknet.desktop.productivity.office; -in - +# TODO: add openoffice { - options.ooknet.desktop.productivity.office.enable = mkEnableOption "enable office home module"; - config = mkIf cfg.enable { - home.packages = [ pkgs.libreoffice ]; - }; + imports = [ + ./libreoffice.nix + ]; } diff --git a/home/modules/desktop/productivity/office/libreoffice.nix b/home/modules/desktop/productivity/office/libreoffice.nix new file mode 100644 index 0000000..f335511 --- /dev/null +++ b/home/modules/desktop/productivity/office/libreoffice.nix @@ -0,0 +1,13 @@ +{ lib, config, pkgs, ... }: + +let + inherit (lib) mkIf mkEnableOption; + cfg = config.ooknet.desktop.productivity.office; +in + +{ + options.ooknet.desktop.productivity.office.enable = mkEnableOption "enable office home module"; + config = mkIf cfg.enable { + home.packages = [ pkgs.libreoffice ]; + }; +} diff --git a/home/modules/desktop/creative/audio/default.nix b/home/modules/desktop/productivity/pdf/default.nix similarity index 56% rename from home/modules/desktop/creative/audio/default.nix rename to home/modules/desktop/productivity/pdf/default.nix index 69862c7..4a14fa5 100644 --- a/home/modules/desktop/creative/audio/default.nix +++ b/home/modules/desktop/productivity/pdf/default.nix @@ -1,5 +1,5 @@ { imports = [ - ./audacity + ./zathura.nix ]; } diff --git a/home/modules/desktop/productivity/pdf/zathura.nix b/home/modules/desktop/productivity/pdf/zathura.nix index e474fac..a4410e4 100644 --- a/home/modules/desktop/productivity/pdf/zathura.nix +++ b/home/modules/desktop/productivity/pdf/zathura.nix @@ -1,13 +1,15 @@ { lib, config, ... }: let - cfg = config.ooknet.desktop.productivity.zathura; inherit (config.colorscheme) palette; - fonts = config.ooknet.theme.fonts; + inherit (lib) mkIf; + cfg = config.ooknet.productivity.pdf.zathura; + pdf = config.ooknet.desktop.pdf; + fonts = config.ooknet.fonts; in { - config = lib.mkIf cfg.enable { + config = mkIf (cfg.enable || pdf == "zathura") { programs.zathura = { enable = true; options = { diff --git a/home/modules/desktop/security/default.nix b/home/modules/desktop/security/default.nix index 5e3aa78..586ca7a 100644 --- a/home/modules/desktop/security/default.nix +++ b/home/modules/desktop/security/default.nix @@ -1,5 +1,5 @@ { imports = [ - ./polkit + ./polkit.nix ]; } diff --git a/home/modules/desktop/security/polkit/default.nix b/home/modules/desktop/security/polkit.nix similarity index 100% rename from home/modules/desktop/security/polkit/default.nix rename to home/modules/desktop/security/polkit.nix diff --git a/home/modules/desktop/terminal/default.nix b/home/modules/desktop/terminal/default.nix index 8275a2a..26a470d 100644 --- a/home/modules/desktop/terminal/default.nix +++ b/home/modules/desktop/terminal/default.nix @@ -1,43 +1,6 @@ -{ lib, config, ... }: - let - cfg = config.ooknet.desktop.terminal; - in { - imports = [ - ./foot - ./kitty + ./foot.nix + ./kitty.nix ]; - - options.ooknet.desktop.terminal = { - foot = { - enable = lib.mkEnableOption "Enable foot terminal"; - default = lib.mkOption { - type = lib.types.bool; - default = false; - description = "Set foot as default terminal in environment variables"; - }; - }; - kitty = { - enable = lib.mkEnableOption "Enable kitty terminal"; - default = lib.mkOption { - type = lib.types.bool; - default = false; - description = "Set kitty as default terminal in environment variables"; - }; - }; - }; - - config = { - assertions = [ - { - assertion = - (lib.length (lib.filter (x: x) [ - cfg.foot.default or false - cfg.kitty.default or false - ]) <= 1); - message = "Only one terminal can be default in the configuration"; - } - ]; - }; } diff --git a/home/modules/desktop/terminal/foot/default.nix b/home/modules/desktop/terminal/foot.nix similarity index 87% rename from home/modules/desktop/terminal/foot/default.nix rename to home/modules/desktop/terminal/foot.nix index 8cb572d..11cd2f5 100644 --- a/home/modules/desktop/terminal/foot/default.nix +++ b/home/modules/desktop/terminal/foot.nix @@ -2,16 +2,22 @@ let inherit (config.colorscheme) palette; - fonts = config.ooknet.theme.fonts; + inherit (lib) mkIf; + fonts = config.ooknet.fonts; cfg = config.ooknet.desktop.terminal.foot; + terminal = config.ooknet.desktop.terminal; in { - config = lib.mkIf cfg.enable { - home.sessionVariables = lib.mkIf cfg.default { + config = mkIf (cfg.enable || terminal == "foot") { + home.sessionVariables = mkIf (terminal == "foot") { TERMINAL = "foot"; TERM = "foot"; }; + + ooknet.binds.terminal = mkIf (terminal == "foot") "foot"; + ooknet.binds.terminalLaunch = mkIf (terminal == "foot") "foot"; + programs.foot = { enable = true; server.enable = true; @@ -38,6 +44,7 @@ in style = "beam"; blink = "yes"; }; + colors = { alpha = 1.0; foreground = "${palette.base05}"; diff --git a/home/modules/desktop/terminal/kitty/default.nix b/home/modules/desktop/terminal/kitty.nix similarity index 78% rename from home/modules/desktop/terminal/kitty/default.nix rename to home/modules/desktop/terminal/kitty.nix index 75919ad..5c649fe 100644 --- a/home/modules/desktop/terminal/kitty/default.nix +++ b/home/modules/desktop/terminal/kitty.nix @@ -1,25 +1,32 @@ -{ config, lib, ... }: +{ config, lib, osConfig, ... }: let + inherit (lib) mkIf; inherit (config.colorscheme) palette; - fonts = config.ooknet.theme.font; - cfg = config.ooknet.desktop.terminal.kitty; - fish = config.ooknet.console.shell.fish; + fonts = config.ooknet.fonts; + cfg = config.ooknet.terminal.kitty; + terminal = config.ooknet.desktop.terminal; + shell = osConfig.ooknet.host.admin.shell; in -{ - config = lib.mkIf cfg.enable { - home.sessionVariables = lib.mkIf cfg.default { +{ + config = mkIf (cfg.enable || terminal == "kitty") { + + home.sessionVariables = mkIf (terminal == "kitty") { TERMINAL = "kitty -1"; TERM = "kitty -1"; }; + + ooknet.binds.terminal = mkIf (terminal == "kitty") "kitty -1"; + ooknet.binds.terminalLaunch = mkIf (terminal == "kitty") "kitty -e"; + programs.kitty = { enable = true; font = { name = fonts.monospace.family; size = 12; }; - shellIntegration.enableFishIntegration = lib.mkif fish.enable true; + shellIntegration.enableFishIntegration = mkIf (shell == "fish") true; settings = { scrollback_lines = 4000; scrollback_pager_history_size = 2048; diff --git a/home/modules/desktop/tools/default.nix b/home/modules/desktop/tools/default.nix index 6ecfc03..229e9d3 100644 --- a/home/modules/desktop/tools/default.nix +++ b/home/modules/desktop/tools/default.nix @@ -1,5 +1,5 @@ { imports = [ - ./kdeconnect + ./kdeconnect.nix ]; } diff --git a/home/modules/desktop/tools/kdeconnect/default.nix b/home/modules/desktop/tools/kdeconnect.nix similarity index 100% rename from home/modules/desktop/tools/kdeconnect/default.nix rename to home/modules/desktop/tools/kdeconnect.nix diff --git a/home/modules/options/console/tools.nix b/home/modules/options/console/tools.nix index 33ea889..ebab3a2 100644 --- a/home/modules/options/console/tools.nix +++ b/home/modules/options/console/tools.nix @@ -16,5 +16,6 @@ in nixIndex.enable = mkEnableOption ""; starship.enable = mkEnableOption ""; utils.enable = mkEnableOption ""; + ffmpeg.enable = mkEnableOption ""; }; } diff --git a/home/modules/options/desktop/media.nix b/home/modules/options/desktop/media.nix index 7f4712f..b46e4bb 100644 --- a/home/modules/options/desktop/media.nix +++ b/home/modules/options/desktop/media.nix @@ -15,7 +15,7 @@ in youtube.enable = mkEnableOption ""; }; music = { - spotifyCli.enable = mkEnableOption ""; + tui.enable = mkEnableOption ""; }; }; } diff --git a/home/modules/options/profiles/console.nix b/home/modules/options/profiles/console.nix index 6803a82..327223b 100644 --- a/home/modules/options/profiles/console.nix +++ b/home/modules/options/profiles/console.nix @@ -11,10 +11,6 @@ in type = nullOr (enum ["helix" "nvim"]); default = "helix"; }; - shell = mkOption { - type = nullOr (enum ["fish" "bash" "zsh"]); - default = "zsh"; - }; multiplexer = mkOption { type = nullOr (enum ["tmux" "zellij"]); default = null;