240 lines
		
	
	
	
		
			6.8 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			240 lines
		
	
	
	
		
			6.8 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
{
 | 
						|
  lib,
 | 
						|
  osConfig,
 | 
						|
  ...
 | 
						|
}: let
 | 
						|
  inherit (lib) mkIf;
 | 
						|
  inherit (osConfig.ooknet.appearance) colorscheme fonts;
 | 
						|
  inherit (colorscheme) palette;
 | 
						|
  inherit (osConfig.ooknet.workstation) default;
 | 
						|
  cfg = osConfig.ooknet.workstation.programs.firefox;
 | 
						|
in {
 | 
						|
  config = mkIf (default.browser == "firefox" || cfg.enable) {
 | 
						|
    xdg.configFile = {
 | 
						|
      "tridactyl/tridactylrc".text = ''
 | 
						|
 | 
						|
        sanitise tridactyllocal tridactylsync
 | 
						|
 | 
						|
        colorscheme ooknet
 | 
						|
 | 
						|
        set searchurls.nix https://sourcegraph.com/search?q=context:global+lang:nix %s
 | 
						|
 | 
						|
        unbind --mode=normal gt
 | 
						|
 | 
						|
        bind / fillcmdline find
 | 
						|
        bind n findnext 1
 | 
						|
        bind N findnext -1
 | 
						|
 | 
						|
        bind gtr open http://192.168.1.210:9091/transmission/web/
 | 
						|
 | 
						|
        bind gem open https://gmail.com
 | 
						|
 | 
						|
        bind gjf open http://192.168.1.210:8096
 | 
						|
 | 
						|
        bindurl next\.duckduckgo\.com ;f hint -Jc  a.result__a
 | 
						|
        bindurl next\.duckduckgo\.com ;F hint -Jbc a.result__a
 | 
						|
 | 
						|
        bindurl www\.google\.com ;f hint -Jc .rc > .yuRUbf > a
 | 
						|
        bindurl www\.google\.com ;F hint -Jbc .rc > .yuRUbf > a
 | 
						|
 | 
						|
        bindurl github\.com/.*/.*/issues ;f hint -Jc a.h4
 | 
						|
        bindurl github\.com/.*/.*/issues ;F hint -Jbc a.h4
 | 
						|
        bindurl github\.com/.*/.*/commits ;f hint -Jc a.message
 | 
						|
        bindurl github\.com/.*/.*/commits ;F hint -Jbc a.messag
 | 
						|
 | 
						|
        set externalclipboardcmd wl-copy
 | 
						|
        set yankto both
 | 
						|
      '';
 | 
						|
 | 
						|
      # based off base16 themes
 | 
						|
      # source: <https://github.com/bezmi/base16-tridactyl>
 | 
						|
      "tridactyl/themes/ooknet.css".text =
 | 
						|
        /*
 | 
						|
        css
 | 
						|
        */
 | 
						|
        ''
 | 
						|
          :root {
 | 
						|
            --font: ${fonts.monospace.family};
 | 
						|
            --bg: #${palette.base00};
 | 
						|
            --fg: #${palette.base05};
 | 
						|
            --red: #${palette.base08};
 | 
						|
            --green: #${palette.base0B};
 | 
						|
            --blue: #${palette.base0D};
 | 
						|
            --yellow: #${palette.base0A};
 | 
						|
            --purple: #${palette.base0E};
 | 
						|
            --orange: #${palette.base09};
 | 
						|
            --cyan: #${palette.base0C};
 | 
						|
            --comment: #${palette.base04};
 | 
						|
            --selectedline: #${palette.base02};
 | 
						|
 | 
						|
 | 
						|
            --tridactyl-fg: var(--fg);
 | 
						|
            --tridactyl-bg: var(--bg);
 | 
						|
 | 
						|
            --tridactyl-url-fg: var(--green);
 | 
						|
            --tridactyl-url-bg: var(--bg);
 | 
						|
 | 
						|
            --tridactyl-highlight-box-bg: var(--selectedline);
 | 
						|
            --tridactyl-highlight-box-fg: var(--fg);
 | 
						|
 | 
						|
            --tridactyl-of-fg: var(--fg);
 | 
						|
            --tridactyl-of-bg: var(--selectedline);
 | 
						|
 | 
						|
            --tridactyl-cmdl-fg: var(--bg);
 | 
						|
            --tridactyl-cmdl-font-family: var(--selectedline);
 | 
						|
 | 
						|
            --tridactyl-cmplt-font-family: var(--font);
 | 
						|
 | 
						|
            --tridactyl-hintspan-font-family: var(--font);
 | 
						|
            --tridactyl-hintspan-fg: var(--bg) !important;
 | 
						|
            --tridactyl-hintspan-bg: var(--orange) !important;
 | 
						|
 | 
						|
            --tridactyl-hint-active-fg: none;
 | 
						|
            --tridactyl-hint-active-bg: var(--tridactyl-bg);
 | 
						|
            --tridactyl-hint-active-outline: var(--green);
 | 
						|
            --tridactyl-hint-bg: none;
 | 
						|
            --tridactyl-hint-outline: none;
 | 
						|
          }
 | 
						|
 | 
						|
          #tridactyl-colon::before {
 | 
						|
            content: " ";
 | 
						|
            font-family: var(--font);
 | 
						|
            font-size: 1.5rem;
 | 
						|
            color: var(--green);
 | 
						|
            display: inline;
 | 
						|
            margin-left: 15px;
 | 
						|
          }
 | 
						|
 | 
						|
          #command-line-holder {
 | 
						|
            order: 1;
 | 
						|
            display: flex;
 | 
						|
            justify-content: center;
 | 
						|
            align-items: center;
 | 
						|
            border: 2px solid var(--tridactyl-fg);
 | 
						|
            background: var(--tridactyl-bg);
 | 
						|
          }
 | 
						|
 | 
						|
          #tridactyl-input {
 | 
						|
            padding: 1rem;
 | 
						|
            color: var(--tridactyl-fg);
 | 
						|
            width: 90%;
 | 
						|
            font-family: var(--font);
 | 
						|
            font-size: 1.5rem;
 | 
						|
            line-height: 1.5;
 | 
						|
            background: var(--tridactyl-bg);
 | 
						|
            padding-left: unset;
 | 
						|
            padding: 1rem;
 | 
						|
          }
 | 
						|
 | 
						|
 | 
						|
          #completions table {
 | 
						|
            font-size: 0.8rem;
 | 
						|
            font-weight: 200;
 | 
						|
            border-spacing: 0;
 | 
						|
            table-layout: fixed;
 | 
						|
            padding: 1rem;
 | 
						|
            padding-top: 1rem;
 | 
						|
            padding-bottom: 1rem;
 | 
						|
          }
 | 
						|
 | 
						|
          #completions > div {
 | 
						|
            max-height: calc(20 * var(--option-height));
 | 
						|
            min-height: calc(10 * var(--option-height));
 | 
						|
          }
 | 
						|
 | 
						|
          #completions {
 | 
						|
            --option-height: 1.4em;
 | 
						|
            color: var(--tridactyl-fg);
 | 
						|
            background: var(--tridactyl-bg);
 | 
						|
            display: inline-block;
 | 
						|
            font-size: unset;
 | 
						|
            font-weight: 200;
 | 
						|
            overflow: hidden;
 | 
						|
            width: 100%;
 | 
						|
            border-top: unset;
 | 
						|
            order: 2;
 | 
						|
          }
 | 
						|
 | 
						|
          #completions .HistoryCompletionSource {
 | 
						|
            max-height: unset;
 | 
						|
            min-height: unset;
 | 
						|
          }
 | 
						|
 | 
						|
          #completions .HistoryCompletionSource table {
 | 
						|
            width: 100%;
 | 
						|
            font-size: 9pt;
 | 
						|
            border-spacing: 0;
 | 
						|
            table-layout: fixed;
 | 
						|
          }
 | 
						|
 | 
						|
          #completions .BmarkCompletionSource {
 | 
						|
            max-height: unset;
 | 
						|
            min-height: unset;
 | 
						|
          }
 | 
						|
 | 
						|
          #completions table tr td.prefix,
 | 
						|
          #completions table tr td.privatewindow,
 | 
						|
          #completions table tr td.container,
 | 
						|
          #completions table tr td.icon {
 | 
						|
            display: none;
 | 
						|
          }
 | 
						|
 | 
						|
          #completions .BufferCompletionSource table {
 | 
						|
            width: unset;
 | 
						|
            font-size: unset;
 | 
						|
            border-spacing: unset;
 | 
						|
            table-layout: unset;
 | 
						|
          }
 | 
						|
 | 
						|
          #completions table tr .title {
 | 
						|
            width: 50%;
 | 
						|
          }
 | 
						|
 | 
						|
          #completions table tr {
 | 
						|
            white-space: nowrap;
 | 
						|
            overflow: hidden;
 | 
						|
            text-overflow: ellipsis;
 | 
						|
          }
 | 
						|
 | 
						|
          #completions .sectionHeader {
 | 
						|
            background: unset;
 | 
						|
            font-weight: bold;
 | 
						|
            border-bottom: unset;
 | 
						|
            padding: 1rem !important;
 | 
						|
            padding-left: unset;
 | 
						|
            padding-bottom: 0.2rem;
 | 
						|
          }
 | 
						|
 | 
						|
          #cmdline_iframe {
 | 
						|
            position: fixed !important;
 | 
						|
            bottom: unset;
 | 
						|
            top: 25% !important;
 | 
						|
            left: 10% !important;
 | 
						|
            z-index: 2147483647 !important;
 | 
						|
            width: 80% !important;
 | 
						|
            box-shadow: rgba(0, 0, 0, 0.5) 0px 0px 20px !important;
 | 
						|
          }
 | 
						|
 | 
						|
          .TridactylStatusIndicator {
 | 
						|
            position: fixed !important;
 | 
						|
            bottom: 0 !important;
 | 
						|
            background: var(--tridactyl-bg) !important;
 | 
						|
            border: unset !important;
 | 
						|
            border: 1px var(--green) solid !important;
 | 
						|
            font-size: 12pt !important;
 | 
						|
            padding: 0.8ex !important;
 | 
						|
          }
 | 
						|
 | 
						|
          #completions .focused {
 | 
						|
            background: var(--green);
 | 
						|
            color: var(--bg);
 | 
						|
          }
 | 
						|
 | 
						|
          #completions .focused .url {
 | 
						|
            background: var(--green);
 | 
						|
            color: var(--bg);
 | 
						|
          }
 | 
						|
        '';
 | 
						|
    };
 | 
						|
  };
 | 
						|
}
 |