refactor(treewide): clean-up, flatten, rework module system
This commit is contained in:
		
							parent
							
								
									4ddf9d2b35
								
							
						
					
					
						commit
						5590c8a951
					
				
					 58 changed files with 397 additions and 635 deletions
				
			
		|  | @ -1,18 +1,21 @@ | ||||||
| { inputs, config, pkgs, lib, ... }: | { 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 = [ |   imports = [ | ||||||
|     ./languages.nix |     ./languages.nix | ||||||
|   ]; |   ]; | ||||||
|    |    | ||||||
|   config = lib.mkIf cfg.enable { |   config = mkIf (cfg.enable || console.editor == "helix") { | ||||||
|     programs.helix = { |     programs.helix = { | ||||||
|       enable = true; |       enable = true; | ||||||
|       defaultEditor = lib.mkIf cfg.default true; |       defaultEditor = mkIf (console.editor == "helix") true; | ||||||
|       package = inputs.helix.packages.${pkgs.system}.default.overrideAttrs (old: { |       package = inputs.helix.packages.${pkgs.system}.default.overrideAttrs (old: { | ||||||
|         makeWrapperArgs = with pkgs; |         makeWrapperArgs = with pkgs; | ||||||
|           old.makeWrapperArgs |           old.makeWrapperArgs | ||||||
|  |  | ||||||
|  | @ -1,11 +1,13 @@ | ||||||
| { pkgs, lib, config, ... }:  | { pkgs, lib, config, ... }:  | ||||||
| 
 | 
 | ||||||
| let | let | ||||||
|   cfg = config.ooknet.console.editor.helix; |   inherit (lib) mkIf getExe; | ||||||
|  |   cfg = config.ooknet.editor.helix; | ||||||
|  |   console = config.ooknet.console; | ||||||
| in | in | ||||||
| 
 | 
 | ||||||
| { | { | ||||||
|   config = lib.mkIf cfg.enable { |   config = mkIf (cfg.enable || console.editor == "helix") { | ||||||
|     programs.helix.languages = { |     programs.helix.languages = { | ||||||
|       language = let |       language = let | ||||||
|         deno = lang: { |         deno = lang: { | ||||||
|  | @ -89,12 +91,12 @@ in | ||||||
|         }; |         }; | ||||||
| 
 | 
 | ||||||
|         nil = { |         nil = { | ||||||
|           command = lib.getExe pkgs.nil; |           command = getExe pkgs.nil; | ||||||
|           config.nil.formatting.command = ["${lib.getExe pkgs.alejandra}" "-q"]; |           config.nil.formatting.command = ["${getExe pkgs.alejandra}" "-q"]; | ||||||
|         }; |         }; | ||||||
| 
 | 
 | ||||||
|         dprint = { |         dprint = { | ||||||
|           command = lib.getExe pkgs.dprint; |           command = getExe pkgs.dprint; | ||||||
|           args = ["lsp"]; |           args = ["lsp"]; | ||||||
|         }; |         }; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -2,7 +2,9 @@ | ||||||
| 
 | 
 | ||||||
| let | let | ||||||
|   inherit (config.colorscheme) palette; |   inherit (config.colorscheme) palette; | ||||||
|   cfg = config.ooknet.console.editor.nvim; |   inherit (lib) mkIf; | ||||||
|  |   cfg = config.ooknet.editor.nvim; | ||||||
|  |   console = config.ooknet.console; | ||||||
| in | in | ||||||
|    |    | ||||||
| { | { | ||||||
|  | @ -13,7 +15,7 @@ in | ||||||
|     ./plugins |     ./plugins | ||||||
|   ]; |   ]; | ||||||
|    |    | ||||||
|   config = lib.mkIf cfg.enable { |   config = mkIf (cfg.enable || console.editor == "nvim") { | ||||||
|     programs.neovim = { |     programs.neovim = { | ||||||
|       viAlias = true; |       viAlias = true; | ||||||
|       vimAlias = true;   |       vimAlias = true;   | ||||||
|  |  | ||||||
|  | @ -1,11 +1,13 @@ | ||||||
| { config, lib, ... }: | { config, lib, ... }: | ||||||
| 
 | 
 | ||||||
| let | let | ||||||
|   cfg = config.ooknet.console.editor.nvim; |   inherit (lib) mkIf mapAttrsToList; | ||||||
|  |   cfg = config.ooknet.editor.nvim; | ||||||
|  |   console = config.ooknet.console; | ||||||
| in | in | ||||||
| 
 | 
 | ||||||
| { | { | ||||||
|   config = lib.mkIf cfg.enable { |   config = mkIf (cfg.enable || console.editor == "nvim") { | ||||||
|     programs.nixvim = { |     programs.nixvim = { | ||||||
|       globals = { |       globals = { | ||||||
|         mapleader = " "; |         mapleader = " "; | ||||||
|  | @ -14,7 +16,7 @@ in | ||||||
| 
 | 
 | ||||||
|       keymaps = let |       keymaps = let | ||||||
|         normal =  |         normal =  | ||||||
|           lib.mapAttrsToList |           mapAttrsToList | ||||||
|           (key: action: { |           (key: action: { | ||||||
|             mode = "n"; |             mode = "n"; | ||||||
|             inherit action key; |             inherit action key; | ||||||
|  | @ -25,7 +27,7 @@ in | ||||||
|             "Y" = "$y"; |             "Y" = "$y"; | ||||||
|           }; |           }; | ||||||
|           visual = |           visual = | ||||||
|             lib.mapAttrsToList |             mapAttrsToList | ||||||
|             (key: action: { |             (key: action: { | ||||||
|               mode = "v"; |               mode = "v"; | ||||||
|               inherit action key; |               inherit action key; | ||||||
|  |  | ||||||
|  | @ -1,28 +1,7 @@ | ||||||
| { lib, ... }: |  | ||||||
| 
 |  | ||||||
| { | { | ||||||
|   imports = [  |   imports = [  | ||||||
|     ./indent.nix |     ./indent.nix | ||||||
|     ./telescope.nix |     ./telescope.nix | ||||||
|     ./lualine.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"; |  | ||||||
|     }; |  | ||||||
|   }; |  | ||||||
|    |  | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -1,11 +1,13 @@ | ||||||
| { config, lib, ... }: | { config, lib, ... }: | ||||||
| 
 | 
 | ||||||
| let | let | ||||||
|   cfg = config.ooknet.console.editor.nvim.plugins; |   inherit (lib) mkIf; | ||||||
|  |   cfg = config.ooknet.editor.nvim; | ||||||
|  |   console = config.ooknet.console; | ||||||
| in | in | ||||||
| 
 | 
 | ||||||
| { | { | ||||||
|   config = lib.mkIf cfg.indentBlankline { |   config = mkIf (cfg.enable || console.editor == "nvim") { | ||||||
|     programs.nixvim.plugins.indent-blankline = { |     programs.nixvim.plugins.indent-blankline = { | ||||||
|       enable = true; |       enable = true; | ||||||
|     }; |     }; | ||||||
|  |  | ||||||
|  | @ -1,11 +1,13 @@ | ||||||
| { config, lib, ... }: | { config, lib, ... }: | ||||||
| 
 | 
 | ||||||
| let | let | ||||||
|   cfg = config.ooknet.console.editor.nvim.plugins; |   inherit (lib) mkIf; | ||||||
|  |   cfg = config.ooknet.editor.nvim; | ||||||
|  |   console = config.ooknet.console; | ||||||
| in | in | ||||||
| 
 | 
 | ||||||
| { | { | ||||||
|   config = lib.mkIf cfg.lualine { |   config = mkIf (cfg.enable || console.editor == "nvim") { | ||||||
|     programs.nixvim.plugins.lualine = { |     programs.nixvim.plugins.lualine = { | ||||||
|       enable = true; |       enable = true; | ||||||
|       theme = "base16"; |       theme = "base16"; | ||||||
|  |  | ||||||
|  | @ -1,11 +1,13 @@ | ||||||
| { config, lib, ... }: | { config, lib, ... }: | ||||||
| 
 | 
 | ||||||
| let | let | ||||||
|   cfg = config.ooknet.console.editor.nvim.plugins; |   inherit (lib) mkIf; | ||||||
|  |   cfg = config.ooknet.editor.nvim; | ||||||
|  |   console = config.ooknet.console; | ||||||
| in | in | ||||||
| 
 | 
 | ||||||
| { | { | ||||||
|   config = lib.mkIf cfg.telescope { |   config = mkIf (cfg.enable || console.editor == "nvim") { | ||||||
|     programs.nixvim = { |     programs.nixvim = { | ||||||
|       plugins.telescope = { |       plugins.telescope = { | ||||||
|         enable = true; |         enable = true; | ||||||
|  |  | ||||||
|  | @ -2,11 +2,13 @@ | ||||||
| 
 | 
 | ||||||
| let | let | ||||||
|   inherit (config.colorscheme) palette; |   inherit (config.colorscheme) palette; | ||||||
|   cfg = config.ooknet.console.editor.nvim; |   inherit (lib) mkIf; | ||||||
|  |   cfg = config.ooknet.editor.nvim; | ||||||
|  |   console = config.ooknet.console; | ||||||
| in | in | ||||||
| 
 | 
 | ||||||
| { | { | ||||||
|   config = lib.mkIf cfg.enable { |   config = mkIf (cfg.enable || console.editor == "nvim") { | ||||||
|     programs.nixvim = { |     programs.nixvim = { | ||||||
|       options = { |       options = { | ||||||
|         relativenumber = true; |         relativenumber = true; | ||||||
|  |  | ||||||
|  | @ -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"; |  | ||||||
|       }; |  | ||||||
|     }; |  | ||||||
|   }; |  | ||||||
| } |  | ||||||
|  | @ -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"; |  | ||||||
|         "<a-f>" = "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 ]; |  | ||||||
|   }; |  | ||||||
| } |  | ||||||
|  | @ -1,12 +1,14 @@ | ||||||
| { config, lib, pkgs, ... }: | { config, lib, pkgs, ... }: | ||||||
| 
 | 
 | ||||||
| let | let | ||||||
|   cfg = config.ooknet.console.multiplexer.tmux; |  | ||||||
|   inherit (config.colorscheme) palette; |   inherit (config.colorscheme) palette; | ||||||
|  |   inherit (lib) mkIf; | ||||||
|  |   cfg = config.ooknet.multiplexer.tmux; | ||||||
|  |   console = config.ooknet.console; | ||||||
| in | in | ||||||
| 
 | 
 | ||||||
| { | { | ||||||
|   config = lib.mkIf cfg.enable { |   config = mkIf (cfg.enable || console.multiplexer == "tmux") { | ||||||
|     programs.tmux = { |     programs.tmux = { | ||||||
|       enable = true; |       enable = true; | ||||||
|       shell = "${pkgs.fish}/bin/fish"; |       shell = "${pkgs.fish}/bin/fish"; | ||||||
|  |  | ||||||
|  | @ -1,11 +1,13 @@ | ||||||
| { lib, config, pkgs, ... }: | { lib, config, pkgs, ... }: | ||||||
| let | let | ||||||
|   inherit (config.colorscheme) palette; |   inherit (config.colorscheme) palette; | ||||||
|   cfg = config.ooknet.console.multiplexer.zellij; |   inherit (lib) mkIf; | ||||||
|  |   cfg = config.ooknet.multiplexer.zellij; | ||||||
|  |   console = config.ooknet.console; | ||||||
| in | in | ||||||
| 
 | 
 | ||||||
| { | { | ||||||
|   config = lib.mkIf cfg.enable { |   config = mkIf (cfg.enable || console.multiplexer == "zellij") { | ||||||
|     programs.zellij = { |     programs.zellij = { | ||||||
|       enable = true; |       enable = true; | ||||||
|       settings = { |       settings = { | ||||||
|  |  | ||||||
|  | @ -1,9 +1,13 @@ | ||||||
| { config, lib, ... }: | { config, lib, osConfig, ... }: | ||||||
|  | 
 | ||||||
| let | let | ||||||
|   cfg = config.ooknet.console.shell.bash; |   inherit (lib) mkIf; | ||||||
|  |   cfg = config.ooknet.shell.bash; | ||||||
|  |   admin = osConfig.ooknet.host.admin; | ||||||
| in | in | ||||||
|  | 
 | ||||||
| { | { | ||||||
|   config = lib.mkIf cfg.enable { |   config = mkIf (cfg.enable || admin.shell == "bash") { | ||||||
|     programs.bash.enable = true; |     programs.bash.enable = true; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -1,17 +1,7 @@ | ||||||
| { lib, ... }: |  | ||||||
| { | { | ||||||
|   imports = [ |   imports = [ | ||||||
|     ./fish |     ./fish | ||||||
|     ./bash |     ./bash | ||||||
|     ./zsh |     ./zsh | ||||||
|   ]; |   ]; | ||||||
| 
 |  | ||||||
|   options.ooknet.console.shell = { |  | ||||||
|     fish = { |  | ||||||
|       enable = lib.mkEnableOption "Enable fish configuration"; |  | ||||||
|     }; |  | ||||||
|     bash = { |  | ||||||
|       enable = lib.mkEnableOption "Enable bash configuration"; |  | ||||||
|     }; |  | ||||||
|   }; |  | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -1,14 +1,15 @@ | ||||||
| { lib, config, ... }: | { lib, config, osConfig, ... }: | ||||||
| let | let | ||||||
|   cfg = config.ooknet.console.shell.fish; |   inherit (lib) mkIf any; | ||||||
|   inherit (lib) mkIf; |   cfg = config.ooknet.shell.fish; | ||||||
|   hasPackage = pname: lib.any (p: p ? pname && p.pname == pname) config.home.packages; |   admin = osConfig.ooknet.host.admin; | ||||||
|  |   hasPackage = pname: any (p: p ? pname && p.pname == pname) config.home.packages; | ||||||
|   hasEza = hasPackage "eza"; |   hasEza = hasPackage "eza"; | ||||||
|   hasBat = hasPackage "bat"; |   hasBat = hasPackage "bat"; | ||||||
| in | in | ||||||
| { | { | ||||||
|   config = { |   config = mkIf (cfg.enable || admin.shell == "fish") { | ||||||
|     programs.fish = mkIf cfg.enable { |     programs.fish = { | ||||||
|       enable = true; |       enable = true; | ||||||
|       shellAbbrs = { |       shellAbbrs = { | ||||||
|         fe = "cd $FLAKE; $EDITOR $FLAKE"; |         fe = "cd $FLAKE; $EDITOR $FLAKE"; | ||||||
|  |  | ||||||
|  | @ -1,14 +1,13 @@ | ||||||
| { lib, config, ... }: | { lib, config, osConfig, ... }: | ||||||
| 
 | 
 | ||||||
| let | let | ||||||
|   inherit (lib) mkIf mkEnableOption; |   inherit (lib) mkIf; | ||||||
|   cfg = config.ooknet.console.shell.zsh; |   cfg = config.ooknet.shell.zsh; | ||||||
|  |   admin = osConfig.ooknet.host.admin; | ||||||
| in | in | ||||||
| 
 | 
 | ||||||
| { | { | ||||||
|   options.ooknet.console.shell.zsh.enable = mkEnableOption ""; |   config = mkIf (cfg.enable || admin.shell == "zsh") { | ||||||
| 
 |  | ||||||
|   config = mkIf cfg.enable { |  | ||||||
|     programs.zsh = { |     programs.zsh = { | ||||||
|       enable = true; |       enable = true; | ||||||
|       autocd = true; |       autocd = true; | ||||||
|  |  | ||||||
							
								
								
									
										12
									
								
								home/modules/console/tools/ffmpeg.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								home/modules/console/tools/ffmpeg.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -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 ]; | ||||||
|  |   }; | ||||||
|  | } | ||||||
|  | @ -1,8 +1,9 @@ | ||||||
| { | { | ||||||
|   imports = [ |   imports = [ | ||||||
|     ./desktop |     ./base # default configuration modules for home-manager. | ||||||
|     ./console |     ./desktop # gui modules | ||||||
|     ./config |     ./console # cli modules | ||||||
|     ./theme |     ./appearance # modules for configuring themes ie: fonts, wallpapers, color-schemes, etc... | ||||||
|  |     ./options # all module options live here | ||||||
|   ]; |   ]; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -1,29 +1,7 @@ | ||||||
| { lib, ... }: |  | ||||||
| { | { | ||||||
| 
 |  | ||||||
|   imports = [ |   imports = [ | ||||||
|     ./firefox |     ./firefox | ||||||
|     # ./schizofox |  | ||||||
|     #./chrome -- still needs to be implemented |     #./chrome -- still needs to be implemented | ||||||
|     #./brave -- still needs tio 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"; |  | ||||||
|       }; |  | ||||||
|     }; |  | ||||||
|   }; |  | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -2,18 +2,17 @@ | ||||||
| 
 | 
 | ||||||
| let | let | ||||||
|   addons = inputs.firefox-addons.packages.${pkgs.system}; |   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; |   inherit (lib) mkIf; | ||||||
| in | in | ||||||
| { | { | ||||||
| 
 | 
 | ||||||
|   config = { |   config = mkIf (cfg.enable || browser == "firefox") { | ||||||
|     nixpkgs.config.allowUnfree = true; |     home.sessionVariables.BROWSER = mkIf (browser == "firefox") "firefox"; | ||||||
|     home.sessionVariables = mkIf cfg.default { |     ooknet.binds.browser = mkIf (browser == "firefox") "firefox"; | ||||||
|       BROWSER = "firefox"; |  | ||||||
|     }; |  | ||||||
|    |    | ||||||
|     programs.firefox = mkIf cfg.enable { |     programs.firefox = { | ||||||
|       enable = true; |       enable = true; | ||||||
|       profiles.ooks = { |       profiles.ooks = { | ||||||
|         extensions = with addons; [ |         extensions = with addons; [ | ||||||
|  |  | ||||||
|  | @ -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; |  | ||||||
|       }; |  | ||||||
|     }; |  | ||||||
|   }; |  | ||||||
| } |  | ||||||
|  | @ -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"; |   imports = [ | ||||||
|   config = mkIf cfg.enable { |     ./vesktop.nix | ||||||
|     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; |  | ||||||
|           } |  | ||||||
|       } |  | ||||||
|     ''; |  | ||||||
|   }; |  | ||||||
| } | } | ||||||
|  |  | ||||||
							
								
								
									
										154
									
								
								home/modules/desktop/communication/discord/vesktop.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										154
									
								
								home/modules/desktop/communication/discord/vesktop.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -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; | ||||||
|  |           } | ||||||
|  |       } | ||||||
|  |     ''; | ||||||
|  |   }; | ||||||
|  | } | ||||||
							
								
								
									
										12
									
								
								home/modules/desktop/creative/audacity.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								home/modules/desktop/creative/audacity.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -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 ]; | ||||||
|  |   }; | ||||||
|  | } | ||||||
|  | @ -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 ]; |  | ||||||
|   }; |  | ||||||
| } |  | ||||||
|  | @ -1,7 +1,6 @@ | ||||||
| { | { | ||||||
|   imports = [ |   imports = [ | ||||||
|     ./audio |     ./audacity.nix | ||||||
|     ./image |     ./inkscape.nix | ||||||
|     # ./video |  | ||||||
|   ]; |   ]; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -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 ]; |  | ||||||
|   }; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
							
								
								
									
										13
									
								
								home/modules/desktop/creative/inkscape.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								home/modules/desktop/creative/inkscape.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -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 ]; | ||||||
|  |   }; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @ -1,13 +1,5 @@ | ||||||
| { lib, ... }: |  | ||||||
| { | { | ||||||
|   imports = [ |   imports = [ | ||||||
|     ./imv |     ./imv.nix | ||||||
|   ]; |   ]; | ||||||
| 
 |  | ||||||
|   options.ooknet.desktop.media.image = { |  | ||||||
|     imv = { |  | ||||||
|       enable = lib.mkEnableOption "Enable imv image viewer"; |  | ||||||
|     }; |  | ||||||
|   }; |  | ||||||
| 
 |  | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -1,9 +1,12 @@ | ||||||
| { lib, config, ... }: | { lib, config, ... }: | ||||||
|  | 
 | ||||||
| let | let | ||||||
|   cfg = config.ooknet.desktop.media.image.imv; |   inherit (lib) mkIf; | ||||||
|  |   cfg = config.ooknet.media.image.imv; | ||||||
| in | in | ||||||
|  | 
 | ||||||
| { | { | ||||||
|   config = lib.mkIf cfg.enable { |   config = mkIf cfg.enable { | ||||||
|     programs = { |     programs = { | ||||||
|       imv = { |       imv = { | ||||||
|         enable = true; |         enable = true; | ||||||
|  | @ -1,17 +1,6 @@ | ||||||
| { lib, ... }: |  | ||||||
| { | { | ||||||
|   imports = [ |   imports = [ | ||||||
|     #./spotify --- still needs to be implemented |     #./spotify --- still needs to be implemented | ||||||
|     ./easyeffects |  | ||||||
|     ./tui |     ./tui | ||||||
|   ]; |   ]; | ||||||
| 
 |  | ||||||
|   options.ooknet.desktop.media.music = { |  | ||||||
|     tui = { |  | ||||||
|       enable = lib.mkEnableOption "Enable tui music"; |  | ||||||
|     }; |  | ||||||
|     spotify = { |  | ||||||
|       enable = lib.mkEnableOption "Enable spotify"; |  | ||||||
|     }; |  | ||||||
|   }; |  | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -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; |  | ||||||
|     }; |  | ||||||
|   }; |  | ||||||
| } |  | ||||||
|  | @ -2,8 +2,13 @@ | ||||||
| 
 | 
 | ||||||
| let | let | ||||||
|   inherit (config.colorscheme) palette; |   inherit (config.colorscheme) palette; | ||||||
|  |   inherit (lib) mkIf; | ||||||
|  | 
 | ||||||
|   cfg = config.ooknet.desktop.media.music.tui; |   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 { |   spotify-cli = pkgs.spotify-player.override { | ||||||
|     withImage = false; |     withImage = false; | ||||||
|     withSixel = false; |     withSixel = false; | ||||||
|  | @ -11,15 +16,14 @@ let | ||||||
| in | in | ||||||
| 
 | 
 | ||||||
| { | { | ||||||
| 
 |   config = mkIf cfg.enable { | ||||||
|   |  | ||||||
|   config = lib.mkIf cfg.enable { |  | ||||||
|     home.packages = with pkgs; [ |     home.packages = with pkgs; [ | ||||||
|       termusic |       termusic | ||||||
|       spotify-cli |       spotify-cli | ||||||
|       alsa-utils |       alsa-utils | ||||||
|       mpv |       mpv | ||||||
|     ]; |     ]; | ||||||
|  | 
 | ||||||
|     programs.cava = { |     programs.cava = { | ||||||
|       enable = true; |       enable = true; | ||||||
|       settings = { |       settings = { | ||||||
|  | @ -35,6 +39,7 @@ in | ||||||
|         }; |         }; | ||||||
|       }; |       }; | ||||||
|     }; |     }; | ||||||
|  | 
 | ||||||
|     xdg.configFile."spotify-player/app.toml".text =  /* toml */ '' |     xdg.configFile."spotify-player/app.toml".text =  /* toml */ '' | ||||||
|       theme = "default" |       theme = "default" | ||||||
|       client_id = "fc4c3656d7cc4a7ea70c6080965f8b1a" |       client_id = "fc4c3656d7cc4a7ea70c6080965f8b1a" | ||||||
|  | @ -68,7 +73,7 @@ in | ||||||
|       normalization = false |       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 { |       layout { | ||||||
|       default_tab_template { |       default_tab_template { | ||||||
|           pane size=2 borderless=true { |           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"; |       zjm = "zellij --layout music"; | ||||||
|     }; |     }; | ||||||
|   }; |   }; | ||||||
|  | @ -1,20 +1,7 @@ | ||||||
| { lib, ... }: |  | ||||||
| { | { | ||||||
|   imports = [ |   imports = [ | ||||||
|     ./youtube |     ./youtube.nix | ||||||
|     ./jellyfin |     ./jellyfin-player.nix | ||||||
|     ./mpv |     ./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"; |  | ||||||
|     }; |  | ||||||
|   }; |  | ||||||
| } | } | ||||||
|  |  | ||||||
							
								
								
									
										12
									
								
								home/modules/desktop/media/video/jellyfin-player.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								home/modules/desktop/media/video/jellyfin-player.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -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 ]; | ||||||
|  |   }; | ||||||
|  | } | ||||||
|  | @ -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 ]; |  | ||||||
|   }; |  | ||||||
| } |  | ||||||
							
								
								
									
										14
									
								
								home/modules/desktop/media/video/mpv.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								home/modules/desktop/media/video/mpv.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -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; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | } | ||||||
|  | @ -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 ]; |  | ||||||
|   }; |  | ||||||
| } |  | ||||||
							
								
								
									
										15
									
								
								home/modules/desktop/media/video/youtube.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								home/modules/desktop/media/video/youtube.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -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; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | } | ||||||
|  | @ -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; |  | ||||||
|     }; |  | ||||||
|   }; |  | ||||||
| } |  | ||||||
|  | @ -2,17 +2,8 @@ | ||||||
| 
 | 
 | ||||||
| { | { | ||||||
|   imports = [ |   imports = [ | ||||||
|     ./obsidian |  | ||||||
|     ./zathura |  | ||||||
|     ./office |     ./office | ||||||
|  |     ./notes | ||||||
|  |     ./pdf | ||||||
|   ]; |   ]; | ||||||
| 
 |  | ||||||
|   options.ooknet.desktop.productivity = { |  | ||||||
|     obsidian = { |  | ||||||
|       enable = lib.mkEnableOption "enable obsidian home module"; |  | ||||||
|     }; |  | ||||||
|     zathura = { |  | ||||||
|       enable = lib.mkEnableOption "enable zathura home module"; |  | ||||||
|     }; |  | ||||||
|   }; |  | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| { | { | ||||||
|   imports = [ |   imports = [ | ||||||
|     ./inkscape |     ./obsidian.nix | ||||||
|   ]; |   ]; | ||||||
| } | } | ||||||
|  | @ -1,15 +1,14 @@ | ||||||
| { lib, config, pkgs, ... }: | { lib, config, pkgs, ... }: | ||||||
| 
 | 
 | ||||||
| let | let | ||||||
|   inherit (lib) mkIf mkEnableOption; |   inherit (lib) mkIf; | ||||||
|   cfg = config.ooknet.productivity.notes.obsidian; |   cfg = config.ooknet.productivity.notes.obsidian; | ||||||
|   notes = config.ooknet.desktop.notes; |   notes = config.ooknet.desktop.notes; | ||||||
| in | in | ||||||
| 
 | 
 | ||||||
| { | { | ||||||
|   options.ooknet.productivity.notes.obsidian.enable = mkEnableOption ""; |  | ||||||
|   config = mkIf (cfg.enable || notes == "obsidian") { |   config = mkIf (cfg.enable || notes == "obsidian") { | ||||||
|     home.packages = [ pkgs.obsidian ]; |     home.packages = [ pkgs.obsidian ]; | ||||||
|      |     ooknet.binds.notes = mkIf (notes == "obsidian") "obsidian"; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -1,13 +1,6 @@ | ||||||
| { lib, config, pkgs, ... }: | # TODO: add openoffice | ||||||
| 
 |  | ||||||
| let |  | ||||||
|   inherit (lib) mkIf mkEnableOption; |  | ||||||
|   cfg = config.ooknet.desktop.productivity.office; |  | ||||||
| in |  | ||||||
| 
 |  | ||||||
| { | { | ||||||
|   options.ooknet.desktop.productivity.office.enable = mkEnableOption "enable office home module"; |   imports = [ | ||||||
|   config = mkIf cfg.enable { |     ./libreoffice.nix | ||||||
|     home.packages = [ pkgs.libreoffice ]; |   ]; | ||||||
|   }; |  | ||||||
| } | } | ||||||
|  |  | ||||||
							
								
								
									
										13
									
								
								home/modules/desktop/productivity/office/libreoffice.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								home/modules/desktop/productivity/office/libreoffice.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -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 ]; | ||||||
|  |   }; | ||||||
|  | } | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| { | { | ||||||
|   imports = [ |   imports = [ | ||||||
|     ./audacity |     ./zathura.nix | ||||||
|   ]; |   ]; | ||||||
| } | } | ||||||
|  | @ -1,13 +1,15 @@ | ||||||
| { lib, config, ... }: | { lib, config, ... }: | ||||||
| 
 | 
 | ||||||
| let | let | ||||||
|   cfg = config.ooknet.desktop.productivity.zathura; |  | ||||||
|   inherit (config.colorscheme) palette; |   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 | in | ||||||
| 
 | 
 | ||||||
| { | { | ||||||
|   config = lib.mkIf cfg.enable { |   config = mkIf (cfg.enable || pdf == "zathura") { | ||||||
|     programs.zathura = { |     programs.zathura = { | ||||||
|       enable = true; |       enable = true; | ||||||
|       options = { |       options = { | ||||||
|  |  | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| { | { | ||||||
|   imports = [ |   imports = [ | ||||||
|     ./polkit |     ./polkit.nix | ||||||
|   ]; |   ]; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -1,43 +1,6 @@ | ||||||
| { lib, config, ... }: |  | ||||||
|   let |  | ||||||
|     cfg = config.ooknet.desktop.terminal; |  | ||||||
|   in |  | ||||||
| { | { | ||||||
| 
 |  | ||||||
|   imports = [ |   imports = [ | ||||||
|     ./foot |     ./foot.nix | ||||||
|     ./kitty |     ./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"; |  | ||||||
|       } |  | ||||||
|     ]; |  | ||||||
|   }; |  | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -2,16 +2,22 @@ | ||||||
| 
 | 
 | ||||||
| let | let | ||||||
|   inherit (config.colorscheme) palette; |   inherit (config.colorscheme) palette; | ||||||
|   fonts = config.ooknet.theme.fonts; |   inherit (lib) mkIf; | ||||||
|  |   fonts = config.ooknet.fonts; | ||||||
|   cfg = config.ooknet.desktop.terminal.foot; |   cfg = config.ooknet.desktop.terminal.foot; | ||||||
|  |   terminal = config.ooknet.desktop.terminal; | ||||||
| in | in | ||||||
| 
 | 
 | ||||||
| { | { | ||||||
|   config = lib.mkIf cfg.enable { |   config = mkIf (cfg.enable || terminal == "foot") { | ||||||
|     home.sessionVariables = lib.mkIf cfg.default { |     home.sessionVariables = mkIf (terminal == "foot") { | ||||||
|       TERMINAL = "foot"; |       TERMINAL = "foot"; | ||||||
|       TERM = "foot"; |       TERM = "foot"; | ||||||
|     }; |     }; | ||||||
|  | 
 | ||||||
|  |     ooknet.binds.terminal = mkIf (terminal == "foot") "foot"; | ||||||
|  |     ooknet.binds.terminalLaunch = mkIf (terminal == "foot") "foot"; | ||||||
|  | 
 | ||||||
|     programs.foot = { |     programs.foot = { | ||||||
|       enable = true; |       enable = true; | ||||||
|       server.enable = true; |       server.enable = true; | ||||||
|  | @ -38,6 +44,7 @@ in | ||||||
|           style = "beam"; |           style = "beam"; | ||||||
|           blink = "yes"; |           blink = "yes"; | ||||||
|         }; |         }; | ||||||
|  | 
 | ||||||
|         colors = { |         colors = { | ||||||
|           alpha = 1.0; |           alpha = 1.0; | ||||||
|           foreground = "${palette.base05}"; |           foreground = "${palette.base05}"; | ||||||
|  | @ -1,25 +1,32 @@ | ||||||
| { config, lib, ... }: | { config, lib, osConfig, ... }: | ||||||
| 
 | 
 | ||||||
| let | let | ||||||
|  |   inherit (lib) mkIf; | ||||||
|   inherit (config.colorscheme) palette; |   inherit (config.colorscheme) palette; | ||||||
|   fonts = config.ooknet.theme.font; |   fonts = config.ooknet.fonts; | ||||||
|   cfg = config.ooknet.desktop.terminal.kitty; |   cfg = config.ooknet.terminal.kitty; | ||||||
|   fish = config.ooknet.console.shell.fish; |   terminal = config.ooknet.desktop.terminal; | ||||||
|  |   shell = osConfig.ooknet.host.admin.shell; | ||||||
| in | 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"; |       TERMINAL = "kitty -1"; | ||||||
|       TERM = "kitty -1"; |       TERM = "kitty -1"; | ||||||
|     }; |     }; | ||||||
|  | 
 | ||||||
|  |     ooknet.binds.terminal = mkIf (terminal == "kitty") "kitty -1"; | ||||||
|  |     ooknet.binds.terminalLaunch = mkIf (terminal == "kitty") "kitty -e"; | ||||||
|  | 
 | ||||||
|     programs.kitty = { |     programs.kitty = { | ||||||
|       enable = true; |       enable = true; | ||||||
|       font = { |       font = { | ||||||
|         name = fonts.monospace.family; |         name = fonts.monospace.family; | ||||||
|         size = 12; |         size = 12; | ||||||
|       }; |       }; | ||||||
|       shellIntegration.enableFishIntegration = lib.mkif fish.enable true; |       shellIntegration.enableFishIntegration = mkIf (shell == "fish") true; | ||||||
|       settings = { |       settings = { | ||||||
|         scrollback_lines = 4000; |         scrollback_lines = 4000; | ||||||
|         scrollback_pager_history_size = 2048; |         scrollback_pager_history_size = 2048; | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| { | { | ||||||
|   imports = [ |   imports = [ | ||||||
|     ./kdeconnect |     ./kdeconnect.nix | ||||||
|   ]; |   ]; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -16,5 +16,6 @@ in | ||||||
|     nixIndex.enable = mkEnableOption ""; |     nixIndex.enable = mkEnableOption ""; | ||||||
|     starship.enable = mkEnableOption ""; |     starship.enable = mkEnableOption ""; | ||||||
|     utils.enable = mkEnableOption ""; |     utils.enable = mkEnableOption ""; | ||||||
|  |     ffmpeg.enable = mkEnableOption ""; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -15,7 +15,7 @@ in | ||||||
|       youtube.enable = mkEnableOption ""; |       youtube.enable = mkEnableOption ""; | ||||||
|     }; |     }; | ||||||
|     music = { |     music = { | ||||||
|       spotifyCli.enable = mkEnableOption ""; |       tui.enable = mkEnableOption ""; | ||||||
|     }; |     }; | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -11,10 +11,6 @@ in | ||||||
|       type = nullOr (enum ["helix" "nvim"]); |       type = nullOr (enum ["helix" "nvim"]); | ||||||
|       default = "helix"; |       default = "helix"; | ||||||
|     }; |     }; | ||||||
|     shell = mkOption { |  | ||||||
|       type = nullOr (enum ["fish" "bash" "zsh"]); |  | ||||||
|       default = "zsh"; |  | ||||||
|     }; |  | ||||||
|     multiplexer = mkOption { |     multiplexer = mkOption { | ||||||
|       type = nullOr (enum ["tmux" "zellij"]); |       type = nullOr (enum ["tmux" "zellij"]); | ||||||
|       default = null; |       default = null; | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue