diff --git a/modules/home-manager/base.nix b/modules/home-manager/base.nix deleted file mode 100644 index 507ac6b..0000000 --- a/modules/home-manager/base.nix +++ /dev/null @@ -1,5 +0,0 @@ -{outputs, ...}: { - imports = with outputs.homeManagerModules; [ - sway - ]; -} diff --git a/modules/home-manager/bat.nix b/modules/home-manager/bat.nix deleted file mode 100644 index 7f2ea6a..0000000 --- a/modules/home-manager/bat.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ - # pkgs, - # colors, - ... -}: { - programs.bat = { - enable = true; - config = { - theme = "ansi"; - }; - # themes = { - # "Catppuccin-mocha" = builtins.readFile (pkgs.fetchFromGitHub - # { - # owner = "catppuccin"; - # repo = "bat"; - # rev = "477622171ec0529505b0ca3cada68fc9433648c6"; - # sha256 = "6WVKQErGdaqb++oaXnY3i6/GuH2FhTgK0v4TN4Y0Wbw="; - # } - # + "/Catppuccin-mocha.tmTheme"); - # }; - }; - - home.shellAliases = { - cat = "bat"; - }; -} diff --git a/modules/home-manager/broot.nix b/modules/home-manager/broot.nix deleted file mode 100644 index ad7c8ac..0000000 --- a/modules/home-manager/broot.nix +++ /dev/null @@ -1,34 +0,0 @@ -{colors, ...}: { - programs.broot = { - enable = true; - enableFishIntegration = true; - settings = { - modal = true; # vim mode? - - verbs = [ - { - invocation = "edit"; - shortcut = "e"; - execution = "$EDITOR {file}"; - } - ]; - - skin = with colors.withHashPrefix; { - status_normal_fg = fg; - status_normal_bg = bg; - status_error_fg = red; - status_error_bg = yellow; - tree_fg = red; - selected_line_bg = bg2; - permissions_fg = purple; - size_bar_full_bg = red; - size_bar_void_bg = bg; - directory_fg = yellow; - input_fg = blue; - flag_value_fg = yellow; - table_border_fg = red; - code_fg = yellow; - }; - }; - }; -} diff --git a/modules/home-manager/cargo.nix b/modules/home-manager/cargo.nix deleted file mode 100644 index 9318238..0000000 --- a/modules/home-manager/cargo.nix +++ /dev/null @@ -1,13 +0,0 @@ -{config, ...}: { - home.file."${config.home.homeDirectory}/.cargo/config.toml" = { - enable = true; - text = '' - [build] - rustdocflags = ["--default-theme=ayu"] - ''; - }; - - # home.sessionVariables = { - # RUSTDOCFLAGS = "--default-theme=ayu"; - # }; -} diff --git a/modules/home-manager/common.nix b/modules/home-manager/common.nix deleted file mode 100644 index 8363500..0000000 --- a/modules/home-manager/common.nix +++ /dev/null @@ -1,112 +0,0 @@ -{ - pkgs, - lib, - config, - ... -}: let - inherit (pkgs) system; -in { - imports = with homeManagerModules; [ - # nix-colors.homeManagerModules.default - fish - bat - helix - git - zellij - broot - nnn - htop - tmux - ]; - - programs.home-manager.enable = true; - - # services.ssh-agent.enable = true; - - home = { - username = lib.mkDefault "lytedev"; - homeDirectory = lib.mkDefault "/home/lytedev"; - stateVersion = lib.mkDefault "23.11"; - - sessionVariables = { - EDITOR = "hx"; - VISUAL = "hx"; - PAGER = "less"; - MANPAGER = "less"; - }; - - packages = with pkgs; [ - # tools I use when editing nix code - nil - alejandra - gnupg - (pkgs.buildEnv { - name = "my-common-scripts"; - paths = [./scripts/common]; - }) - ]; - }; - - programs.direnv = { - enable = true; - nix-direnv.enable = true; - }; - - programs.eza = { - enable = true; - }; - - programs.skim = { - # https://github.com/lotabout/skim/issues/494 - enable = false; - enableFishIntegration = true; - defaultOptions = ["--no-clear-start" "--color=16"]; - }; - - programs.atuin = { - enable = true; - enableBashIntegration = config.programs.bash.enable; - enableFishIntegration = config.programs.fish.enable; - enableZshIntegration = config.programs.zsh.enable; - enableNushellIntegration = config.programs.nushell.enable; - - flags = [ - "--disable-up-arrow" - ]; - - settings = { - auto_sync = true; - sync_frequency = "1m"; - sync_address = "https://atuin.h.lyte.dev"; - keymap_mode = "vim-insert"; - inline_height = 10; - show_preview = true; - - sync = { - records = true; - }; - - dotfiles = { - enabled = true; - }; - }; - }; - - programs.fzf = { - # using good ol' fzf until skim sucks less out of the box I guess - enable = true; - # enableFishIntegration = true; - # defaultCommand = "fd --type f"; - # defaultOptions = ["--height 40%"]; - # fileWidgetOptions = ["--preview 'head {}'"]; - }; - - # TODO: regular cron or something? - programs.nix-index = { - enable = true; - - enableBashIntegration = config.programs.bash.enable; - enableFishIntegration = config.programs.fish.enable; - enableZshIntegration = config.programs.zsh.enable; - }; -} diff --git a/modules/home-manager/desktop.nix b/modules/home-manager/desktop.nix deleted file mode 100644 index c8a42a9..0000000 --- a/modules/home-manager/desktop.nix +++ /dev/null @@ -1,52 +0,0 @@ -{ - pkgs, - outputs, - ... -}: { - imports = with outputs.homeManagerModules; [ - kitty - wezterm - { - programs.gitui = { - enable = true; - theme = '' - ( - selected_tab: Some(Reset), - command_fg: Some(Rgb(205, 214, 244)), - selection_bg: Some(Rgb(88, 91, 112)), - selection_fg: Some(Rgb(205, 214, 244)), - cmdbar_bg: Some(Rgb(24, 24, 37)), - cmdbar_extra_lines_bg: Some(Rgb(24, 24, 37)), - disabled_fg: Some(Rgb(127, 132, 156)), - diff_line_add: Some(Rgb(166, 227, 161)), - diff_line_delete: Some(Rgb(243, 139, 168)), - diff_file_added: Some(Rgb(249, 226, 175)), - diff_file_removed: Some(Rgb(235, 160, 172)), - diff_file_moved: Some(Rgb(203, 166, 247)), - diff_file_modified: Some(Rgb(250, 179, 135)), - commit_hash: Some(Rgb(180, 190, 254)), - commit_time: Some(Rgb(186, 194, 222)), - commit_author: Some(Rgb(116, 199, 236)), - danger_fg: Some(Rgb(243, 139, 168)), - push_gauge_bg: Some(Rgb(137, 180, 250)), - push_gauge_fg: Some(Rgb(30, 30, 46)), - tag_fg: Some(Rgb(245, 224, 220)), - branch_fg: Some(Rgb(148, 226, 213)) - ) - ''; - # package = pkgs.gitui.overrideAttrs { - # version = "5b3e2c9ae3913855f5dbe463c5ae1c04430e7532"; - - # src = pkgs.fetchFromGitHub { - # owner = "extrawurst"; - # repo = "gitui"; - # rev = "5b3e2c9ae3913855f5dbe463c5ae1c04430e7532"; - # hash = "sha256-Uf1hGvau6tdZGBHmmNnTd3p/Wlw5Eb3ASI2xaETWnF0="; - # }; - - # cargoSha256 = ""; - # }; - }; - } - ]; -} diff --git a/modules/home-manager/development-tools.nix b/modules/home-manager/development-tools.nix deleted file mode 100644 index 6237150..0000000 --- a/modules/home-manager/development-tools.nix +++ /dev/null @@ -1,46 +0,0 @@ -{ - # pkgs, - # outputs, - ... -}: { - programs.gitui = { - enable = true; - theme = '' - ( - selected_tab: Some(Reset), - command_fg: Some(Rgb(205, 214, 244)), - selection_bg: Some(Rgb(88, 91, 112)), - selection_fg: Some(Rgb(205, 214, 244)), - cmdbar_bg: Some(Rgb(24, 24, 37)), - cmdbar_extra_lines_bg: Some(Rgb(24, 24, 37)), - disabled_fg: Some(Rgb(127, 132, 156)), - diff_line_add: Some(Rgb(166, 227, 161)), - diff_line_delete: Some(Rgb(243, 139, 168)), - diff_file_added: Some(Rgb(249, 226, 175)), - diff_file_removed: Some(Rgb(235, 160, 172)), - diff_file_moved: Some(Rgb(203, 166, 247)), - diff_file_modified: Some(Rgb(250, 179, 135)), - commit_hash: Some(Rgb(180, 190, 254)), - commit_time: Some(Rgb(186, 194, 222)), - commit_author: Some(Rgb(116, 199, 236)), - danger_fg: Some(Rgb(243, 139, 168)), - push_gauge_bg: Some(Rgb(137, 180, 250)), - push_gauge_fg: Some(Rgb(30, 30, 46)), - tag_fg: Some(Rgb(245, 224, 220)), - branch_fg: Some(Rgb(148, 226, 213)) - ) - ''; - # package = pkgs.gitui.overrideAttrs { - # version = "5b3e2c9ae3913855f5dbe463c5ae1c04430e7532"; - - # src = pkgs.fetchFromGitHub { - # owner = "extrawurst"; - # repo = "gitui"; - # rev = "5b3e2c9ae3913855f5dbe463c5ae1c04430e7532"; - # hash = "sha256-Uf1hGvau6tdZGBHmmNnTd3p/Wlw5Eb3ASI2xaETWnF0="; - # }; - - # cargoSha256 = ""; - # }; - }; -} diff --git a/modules/home-manager/firefox-no-tabs.nix b/modules/home-manager/firefox-no-tabs.nix deleted file mode 100644 index 92290f6..0000000 --- a/modules/home-manager/firefox-no-tabs.nix +++ /dev/null @@ -1,22 +0,0 @@ -{...}: { - programs.firefox = { - profiles = { - daniel = { - userChrome = '' - #TabsToolbar { - visibility: collapse; - } - - #main-window[tabsintitlebar="true"]:not([extradragspace="true"]) #TabsToolbar>.toolbar-items { - opacity: 0; - pointer-events: none; - } - - #main-window:not([tabsintitlebar="true"]) #TabsToolbar { - visibility: collapse !important; - } - ''; - }; - }; - }; -} diff --git a/modules/home-manager/firefox.nix b/modules/home-manager/firefox.nix deleted file mode 100644 index 3a9d01b..0000000 --- a/modules/home-manager/firefox.nix +++ /dev/null @@ -1,40 +0,0 @@ -{pkgs, ...}: { - programs.firefox = { - # TODO: this should be able to work on macos, no? - # TODO: enable dark theme by default - enable = true; - - # TODO: uses nixpkgs.pass so pass otp doesn't work - package = pkgs.firefox.override {nativeMessagingHosts = [pkgs.passff-host];}; - - # extensions = with pkgs.nur.repos.rycee.firefox-addons; [ - # ublock-origin - # ]; # TODO: would be nice to have _all_ my firefox stuff managed here instead of Firefox Sync maybe? - - profiles = { - daniel = { - id = 0; - settings = { - "general.smoothScroll" = true; - "browser.zoom.siteSpecific" = false; - }; - - extraConfig = '' - user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true); - // user_pref("full-screen-api.ignore-widgets", true); - user_pref("media.ffmpeg.vaapi.enabled", true); - user_pref("media.rdd-vpx.enabled", true); - ''; - - userChrome = '' - #webrtcIndicator { - display: none; - } - ''; - - # userContent = '' - # ''; - }; - }; - }; -} diff --git a/modules/home-manager/flanfam.nix b/modules/home-manager/flanfam.nix deleted file mode 100644 index 32f5060..0000000 --- a/modules/home-manager/flanfam.nix +++ /dev/null @@ -1,12 +0,0 @@ -{...}: { - home-manager = { - users.flanfam = { - imports = [./common.nix]; - home = { - username = "flanfam"; - homeDirectory = "/home/flanfam"; - stateVersion = "23.11"; - }; - }; - }; -} diff --git a/modules/home-manager/flanfamkiosk.nix b/modules/home-manager/flanfamkiosk.nix deleted file mode 100644 index b3bc46c..0000000 --- a/modules/home-manager/flanfamkiosk.nix +++ /dev/null @@ -1,12 +0,0 @@ -{...}: { - home-manager = { - users.flanfamkiosk = { - imports = [./common.nix]; - home = { - username = "flanfamkiosk"; - homeDirectory = "/home/flanfamkiosk"; - stateVersion = "23.11"; - }; - }; - }; -} diff --git a/modules/home-manager/git.nix b/modules/home-manager/git.nix deleted file mode 100644 index 203d2ea..0000000 --- a/modules/home-manager/git.nix +++ /dev/null @@ -1,109 +0,0 @@ -{lib, ...}: let - email = lib.mkDefault "daniel@lyte.dev"; -in { - programs.git = { - enable = true; - - userName = lib.mkDefault "Daniel Flanagan"; - userEmail = email; - - delta = { - enable = true; - options = {}; - }; - - lfs = { - enable = true; - }; - - # signing = { - # signByDefault = false; - # key = ~/.ssh/personal-ed25519; - # }; - - aliases = { - a = "add -A"; - ac = "commit -a"; - acm = "commit -a -m"; - c = "commit"; - cm = "commit -m"; - co = "checkout"; - - b = "rev-parse --symbolic-full-name HEAD"; - cnv = "commit --no-verify"; - cns = "commit --no-gpg-sign"; - cnvs = "commit --no-verify --no-gpg-sign"; - cnsv = "commit --no-verify --no-gpg-sign"; - - d = "diff"; - ds = "diff --staged"; - dt = "difftool"; - - f = "fetch"; - fa = "fetch --all"; - - l = "log --graph --abbrev-commit --decorate --oneline --all"; - plainlog = " log --pretty=format:'%h %ad%x09%an%x09%s' --date=short --decorate"; - ls = "ls-files"; - mm = "merge master"; - p = "push"; - pf = "push --force-with-lease"; - pl = "pull"; - rim = "rebase -i master"; - s = "status"; - }; - - # TODO: https://blog.scottlowe.org/2023/12/15/conditional-git-configuration/ - extraConfig = { - commit = { - verbose = true; - # gpgSign = true; - }; - - tag = { - # gpgSign = true; - sort = "version:refname"; - }; - - # include.path = local.gitconfig - - gpg.format = "ssh"; - log.date = "local"; - - init.defaultBranch = "main"; - - merge.conflictstyle = "zdiff3"; - - push.autoSetupRemote = true; - - branch.autoSetupMerge = true; - - sendemail = { - smtpserver = "smtp.mailgun.org"; - smtpuser = email; - smtrpencryption = "tls"; - smtpserverport = 587; - }; - - url = { - # TODO: how to have per-machine not-in-git configuration? - "git@git.hq.bill.com:" = { - insteadOf = "https://git.hq.bill.com"; - }; - }; - }; - }; - - programs.fish.functions = { - g = { - wraps = "git"; - body = '' - if test (count $argv) -gt 0 - git $argv - else - git status - end - ''; - }; - }; -} diff --git a/modules/home-manager/gnome.nix b/modules/home-manager/gnome.nix deleted file mode 100644 index 74eebb7..0000000 --- a/modules/home-manager/gnome.nix +++ /dev/null @@ -1,7 +0,0 @@ -{...}: { - dconf.settings = { - "org/gnome/mutter" = { - experimental-features = ["scale-monitor-framebuffer"]; - }; - }; -} diff --git a/modules/home-manager/helix.nix b/modules/home-manager/helix.nix deleted file mode 100644 index a9538d2..0000000 --- a/modules/home-manager/helix.nix +++ /dev/null @@ -1,529 +0,0 @@ -{ - config, - pkgs, - ... -}: let - inherit (pkgs) system; -in { - # helix rust debugger stuff - # https://github.com/helix-editor/helix/wiki/Debugger-Configurations - home.file."${config.xdg.configHome}/lldb_vscode_rustc_primer.py" = { - text = '' - import subprocess - import pathlib - import lldb - - # Determine the sysroot for the active Rust interpreter - rustlib_etc = pathlib.Path(subprocess.getoutput('rustc --print sysroot')) / 'lib' / 'rustlib' / 'etc' - if not rustlib_etc.exists(): - raise RuntimeError('Unable to determine rustc sysroot') - - # Load lldb_lookup.py and execute lldb_commands with the correct path - lldb.debugger.HandleCommand(f"""command script import "{rustlib_etc / 'lldb_lookup.py'}" """) - lldb.debugger.HandleCommand(f"""command source -s 0 "{rustlib_etc / 'lldb_commands'}" """) - ''; - }; - - # NOTE: Currently, helix crashes when editing markdown in certain scenarios, - # presumably due to an old markdown treesitter grammar - # https://github.com/helix-editor/helix/issues/9011 - # https://github.com/helix-editor/helix/issues/8821 - # https://github.com/tree-sitter-grammars/tree-sitter-markdown/issues/114 - - programs.helix = { - enable = true; - package = inputs.helix.packages.${system}.helix; - languages = { - language-server = { - lexical = { - command = "lexical"; - args = ["start"]; - }; - - # next-ls = { - # command = "next-ls"; - # args = ["--stdout"]; - # }; - - # deno = { - # command = "deno"; - # args = ["lsp"]; - # config = { - # enable = true; - # lint = true; - # unstable = true; - # }; - # }; - }; - - language = [ - # { - # name = "heex"; - # scope = "source.heex"; - # injection-regex = "heex"; - # language-servers = ["lexical"]; # "lexical" "next-ls" ? - # auto-format = true; - # file-types = ["heex"]; - # roots = ["mix.exs" "mix.lock"]; - # indent = { - # tab-width = 2; - # unit = " "; - # }; - # } - # { - # name = "elixir"; - # language-servers = ["lexical"]; # "lexical" "next-ls" ? - # auto-format = true; - # } - { - name = "rust"; - - debugger = { - name = "lldb-vscode"; - transport = "stdio"; - command = "lldb-vscode"; - templates = [ - { - name = "binary"; - request = "launch"; - completion = [ - { - name = "binary"; - completion = "filename"; - } - ]; - args = { - program = "{0}"; - initCommands = ["command script import ${config.xdg.configHome}/lldb_vscode_rustc_primer.py"]; - }; - } - ]; - }; - } - { - name = "html"; - file-types = ["html"]; - scope = "source.html"; - auto-format = false; - } - { - name = "nix"; - file-types = ["nix"]; - scope = "source.nix"; - auto-format = true; - formatter = { - command = "alejandra"; - args = ["-"]; - }; - } - { - name = "fish"; - file-types = ["fish"]; - scope = "source.fish"; - auto-format = true; - indent = { - tab-width = 2; - unit = "\t"; - }; - } - - # { - # name = "javascript"; - # language-id = "javascript"; - # grammar = "javascript"; - # scope = "source.js"; - # injection-regex = "^(js|javascript)$"; - # file-types = ["js" "mjs"]; - # shebangs = ["deno"]; - # language-servers = ["deno"]; - # roots = ["deno.jsonc" "deno.json"]; - # formatter = { - # command = "deno"; - # args = ["fmt"]; - # }; - # auto-format = true; - # comment-token = "//"; - # indent = { - # tab-width = 2; - # unit = "\t"; - # }; - # } - - # { - # name = "typescript"; - # language-id = "typescript"; - # grammar = "typescript"; - # scope = "source.ts"; - # injection-regex = "^(ts|typescript)$"; - # file-types = ["ts"]; - # shebangs = ["deno"]; - # language-servers = ["deno"]; - # roots = ["deno.jsonc" "deno.json"]; - # formatter = { - # command = "deno"; - # args = ["fmt"]; - # }; - # auto-format = true; - # comment-token = "//"; - # indent = { - # tab-width = 2; - # unit = "\t"; - # }; - # } - - # { - # name = "jsonc"; - # language-id = "json"; - # grammar = "jsonc"; - # scope = "source.jsonc"; - # injection-regex = "^(jsonc)$"; - # roots = ["deno.jsonc" "deno.json"]; - # file-types = ["jsonc"]; - # language-servers = ["deno"]; - # indent = { - # tab-width = 2; - # unit = " "; - # }; - # auto-format = true; - # } - ]; - }; - - settings = { - theme = "custom"; - - editor = { - soft-wrap.enable = true; - auto-pairs = false; - # auto-save = false; - # completion-trigger-len = 1; - # color-modes = false; - bufferline = "multiple"; - # scrolloff = 8; - rulers = [81 121]; - cursorline = true; - - cursor-shape = { - normal = "block"; - insert = "bar"; - select = "underline"; - }; - - file-picker.hidden = false; - indent-guides = { - render = true; - character = "▏"; - }; - - lsp = { - display-messages = true; - # display-inlay-hints = true; - }; - statusline = { - separator = " "; - mode = { - "normal" = "N"; - "insert" = "I"; - "select" = "S"; - }; - left = [ - "file-name" - "mode" - # "selections" - # "primary-selection-length" - # "position" - # "position-percentage" - "spinner" - "diagnostics" - "workspace-diagnostics" - ]; - }; - # center = ["file-name"]; - # right = ["version-control" "total-line-numbers" "file-encoding"]; - # }; - }; - keys = { - insert = { - j = { - k = "normal_mode"; - j = "normal_mode"; - K = "normal_mode"; - J = "normal_mode"; - }; - }; - - normal = { - "C-k" = "jump_view_up"; - "C-j" = "jump_view_down"; - "C-h" = "jump_view_left"; - "C-l" = "jump_view_right"; - "C-q" = ":quit-all!"; - # "L" = "repeat_last_motion"; - space = { - q = ":reflow 80"; - Q = ":reflow 120"; - C = ":bc!"; - h = ":toggle lsp.display-inlay-hints"; - # O = ["select_textobject_inner WORD", ":pipe-to xargs xdg-open"]; - }; - }; - - select = { - space = { - q = ":reflow 80"; - Q = ":reflow 120"; - }; - # "L" = "repeat_last_motion"; - }; - }; - }; - - themes = with colors.withHashPrefix; { - custom = { - "type" = orange; - - "constructor" = blue; - - "constant" = orange; - "constant.builtin" = orange; - "constant.character" = yellow; - "constant.character.escape" = orange; - - "string" = green; - "string.regexp" = orange; - "string.special" = blue; - - "comment" = { - fg = fgdim; - modifiers = ["italic"]; - }; - - "variable" = text; - "variable.parameter" = { - fg = red; - modifiers = ["italic"]; - }; - "variable.builtin" = red; - "variable.other.member" = text; - - "label" = blue; - - "punctuation" = fgdim; - "punctuation.special" = blue; - - "keyword" = purple; - "keyword.storage.modifier.ref" = yellow; - "keyword.control.conditional" = { - fg = purple; - modifiers = ["italic"]; - }; - - "operator" = blue; - - "function" = blue; - "function.macro" = purple; - - "tag" = purple; - "attribute" = blue; - - "namespace" = { - fg = blue; - modifiers = ["italic"]; - }; - - "special" = blue; - - "markup.heading.marker" = { - fg = orange; - modifiers = ["bold"]; - }; - "markup.heading.1" = blue; - "markup.heading.2" = yellow; - "markup.heading.3" = green; - "markup.heading.4" = orange; - "markup.heading.5" = red; - "markup.heading.6" = fg3; - "markup.list" = purple; - "markup.bold" = {modifiers = ["bold"];}; - "markup.italic" = {modifiers = ["italic"];}; - "markup.strikethrough" = {modifiers = ["crossed_out"];}; - "markup.link.url" = { - fg = red; - modifiers = ["underlined"]; - }; - "markup.link.text" = blue; - "markup.raw" = red; - - "diff.plus" = green; - "diff.minus" = red; - "diff.delta" = blue; - - "ui.linenr" = {fg = fgdim;}; - "ui.linenr.selected" = {fg = fg2;}; - - "ui.statusline" = { - fg = fgdim; - bg = bg; - }; - "ui.statusline.inactive" = { - fg = fg3; - bg = bg2; - }; - "ui.statusline.normal" = { - fg = bg; - bg = purple; - modifiers = ["bold"]; - }; - "ui.statusline.insert" = { - fg = bg; - bg = green; - modifiers = ["bold"]; - }; - "ui.statusline.select" = { - fg = bg; - bg = red; - modifiers = ["bold"]; - }; - - "ui.popup" = { - fg = text; - bg = bg2; - }; - "ui.window" = {fg = fgdim;}; - "ui.help" = { - fg = fg2; - bg = bg2; - }; - - "ui.bufferline" = { - fg = fgdim; - bg = bg2; - }; - "ui.bufferline.background" = {bg = bg2;}; - - "ui.text" = text; - "ui.text.focus" = { - fg = text; - bg = bg3; - modifiers = ["bold"]; - }; - "ui.text.inactive" = {fg = fg2;}; - - "ui.virtual" = fg2; - "ui.virtual.ruler" = {bg = bg3;}; - "ui.virtual.indent-guide" = bg3; - "ui.virtual.inlay-hint" = { - fg = bg3; - bg = bg; - }; - - "ui.selection" = {bg = bg5;}; - - "ui.cursor" = { - fg = bg; - bg = text; - }; - "ui.cursor.primary" = { - fg = bg; - bg = red; - }; - "ui.cursor.match" = { - fg = orange; - modifiers = ["bold"]; - }; - - "ui.cursor.primary.normal" = { - fg = bg; - bg = text; - }; - "ui.cursor.primary.insert" = { - fg = bg; - bg = text; - }; - "ui.cursor.primary.select" = { - fg = bg; - bg = text; - }; - - "ui.cursor.normal" = { - fg = bg; - bg = fg; - }; - "ui.cursor.insert" = { - fg = bg; - bg = fg; - }; - "ui.cursor.select" = { - fg = bg; - bg = fg; - }; - - "ui.cursorline.primary" = {bg = bg3;}; - - "ui.highlight" = { - bg = bg3; - fg = bg; - modifiers = ["bold"]; - }; - - "ui.menu" = { - fg = fg3; - bg = bg2; - }; - "ui.menu.selected" = { - fg = text; - bg = bg3; - modifiers = ["bold"]; - }; - - "diagnostic.error" = { - underline = { - color = red; - style = "curl"; - }; - }; - "diagnostic.warning" = { - underline = { - color = orange; - style = "curl"; - }; - }; - "diagnostic.info" = { - underline = { - color = blue; - style = "curl"; - }; - }; - "diagnostic.hint" = { - underline = { - color = blue; - style = "curl"; - }; - }; - - error = red; - warning = orange; - info = blue; - hint = yellow; - "ui.background" = { - bg = bg; - fg = fgdim; - }; - - # "ui.cursorline.primary" = { bg = "default" } - # "ui.cursorline.secondary" = { bg = "default" } - "ui.cursorcolumn.primary" = {bg = bg3;}; - "ui.cursorcolumn.secondary" = {bg = bg3;}; - - "ui.bufferline.active" = { - fg = primary; - bg = bg3; - underline = { - color = primary; - style = ""; - }; - }; - }; - }; - }; -} diff --git a/modules/home-manager/htop.nix b/modules/home-manager/htop.nix deleted file mode 100644 index 994d0e6..0000000 --- a/modules/home-manager/htop.nix +++ /dev/null @@ -1,74 +0,0 @@ -{ - programs.htop = { - enable = true; - settings = { - # hide_kernel_threads = 1; - # hide_userland_threads = 1; - # show_program_path = 0; - # header_margin = 0; - # show_cpu_frequency = 1; - # highlight_base_name = 1; - # tree_view = 0; - # htop_version = "3.2.2"; - # config_reader_min_version = 3; - fields = "0 48 17 18 38 39 40 2 46 47 49 1"; - hide_kernel_threads = 1; - hide_userland_threads = 1; - show_program_path = 0; - header_margin = 0; - show_cpu_frequency = 1; - highlight_base_name = 1; - tree_view = 0; - hide_running_in_container = 0; - shadow_other_users = 0; - show_thread_names = 0; - highlight_deleted_exe = 1; - shadow_distribution_path_prefix = 0; - highlight_megabytes = 1; - highlight_threads = 1; - highlight_changes = 0; - highlight_changes_delay_secs = 5; - find_comm_in_cmdline = 1; - strip_exe_from_cmdline = 1; - show_merged_command = 0; - screen_tabs = 1; - detailed_cpu_time = 0; - cpu_count_from_one = 0; - show_cpu_usage = 1; - show_cpu_temperature = 0; - degree_fahrenheit = 0; - update_process_names = 0; - account_guest_in_cpu_meter = 0; - enable_mouse = 1; - delay = 15; - hide_function_bar = 0; - header_layout = "two_50_50"; - column_meters_0 = "LeftCPUs Memory Swap"; - column_meter_modes_0 = "1 1 1"; - column_meters_1 = "RightCPUs Tasks LoadAverage Uptime"; - column_meter_modes_1 = "1 2 2 2"; - sort_key = 47; - tree_sort_key = 0; - sort_direction = -1; - tree_sort_direction = 1; - tree_view_always_by_pid = 0; - all_branches_collapsed = 0; - # screen:Main=PID USER PRIORITY NICE M_VIRT M_RESIDENT M_SHARE STATE PERCENT_CPU PERCENT_MEM TIME Command - # .sort_key=PERCENT_MEM - # .tree_sort_key=PID - # .tree_view=0 - # .tree_view_always_by_pid=0 - # .sort_direction=-1 - # .tree_sort_direction=1 - # .all_branches_collapsed=0 - # screen:I/O=PID USER IO_PRIORITY IO_RATE IO_READ_RATE IO_WRITE_RATE Command - # .sort_key=IO_RATE - # .tree_sort_key=PID - # .tree_view=0 - # .tree_view_always_by_pid=0 - # .sort_direction=-1 - # .tree_sort_direction=1 - # .all_branches_collapsed=0 - }; - }; -} diff --git a/modules/home-manager/iex.nix b/modules/home-manager/iex.nix deleted file mode 100644 index c1abb33..0000000 --- a/modules/home-manager/iex.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ - home.file.".iex.exs" = { - enable = true; - text = '' - Application.put_env(:elixir, :ansi_enabled, true) - - # PROTIP: to break, `#iex:break` - - IEx.configure( - colors: [enabled: true], - inspect: [ - pretty: true, - printable_limit: :infinity, - limit: :infinity, - charlists: :as_lists - ], - default_prompt: [ - # ANSI CHA, move cursor to column 1 - # "\e[G", - :magenta, - # IEx prompt variable - "%prefix", - "#", - # IEx prompt variable - "%counter", - # plain string - ">", - :reset - ] - |> IO.ANSI.format() - |> IO.chardata_to_string() - ) - ''; - }; -} diff --git a/modules/home-manager/kde-connect.nix b/modules/home-manager/kde-connect.nix deleted file mode 100644 index 544c162..0000000 --- a/modules/home-manager/kde-connect.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - services.kdeconnect = { - enable = true; - indicator = true; - }; -} diff --git a/modules/home-manager/linux-desktop.nix b/modules/home-manager/linux-desktop.nix deleted file mode 100644 index ee00f78..0000000 --- a/modules/home-manager/linux-desktop.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ - pkgs, - outputs, - # font, - ... -}: { - imports = with outputs.homeManagerModules; [ - linux - desktop - firefox - ]; - - gtk.theme = { - name = "Catppuccin-Mocha-Compact-Sapphire-Dark"; - package = pkgs.catppuccin-gtk.override { - accents = ["sapphire"]; - size = "compact"; - tweaks = ["rimless"]; - variant = "mocha"; - }; - }; - - home.pointerCursor = { - name = "Bibata-Modern-Classic"; - package = pkgs.bibata-cursors; - size = 40; # TODO: this doesn't seem to work -- at least in Sway - # some icons are also missing (hand2?) - }; -} diff --git a/modules/home-manager/linux.nix b/modules/home-manager/linux.nix deleted file mode 100644 index 5f9e36f..0000000 --- a/modules/home-manager/linux.nix +++ /dev/null @@ -1,34 +0,0 @@ -{pkgs, ...}: { - home = { - sessionVariables = { - MOZ_ENABLE_WAYLAND = "1"; - }; - }; - - programs.fish = { - shellAliases = { - disks = "df -h && lsblk"; - sctl = "sudo systemctl"; - bt = "bluetoothctl"; - pa = "pulsemixer"; - sctlu = "systemctl --user"; - }; - - functions = { - pp = '' - if test (count $argv) -gt 0 - while true; ping -O -i 1 -w 5 -c 10000000 $argv; sleep 1; end - else - while true; ping -O -i 1 -w 5 -c 10000000 1.1.1.1; sleep 1; end - end - ''; - }; - }; - - home.packages = [ - (pkgs.buildEnv { - name = "my-linux-scripts"; - paths = [./scripts/linux]; - }) - ]; -} diff --git a/modules/home-manager/macos.nix b/modules/home-manager/macos.nix deleted file mode 100644 index 8b35607..0000000 --- a/modules/home-manager/macos.nix +++ /dev/null @@ -1,6 +0,0 @@ -{outputs, ...}: { - imports = with outputs.homeManagerModules; [ - desktop - pass - ]; -} diff --git a/modules/home-manager/melee.nix b/modules/home-manager/melee.nix deleted file mode 100644 index b738463..0000000 --- a/modules/home-manager/melee.nix +++ /dev/null @@ -1,5 +0,0 @@ -{inputs, ...}: { - imports = [ - inputs.slippi.homeManagerModules.default - ]; -} diff --git a/modules/home-manager/nnn.nix b/modules/home-manager/nnn.nix deleted file mode 100644 index d7fc465..0000000 --- a/modules/home-manager/nnn.nix +++ /dev/null @@ -1,5 +0,0 @@ -{...}: { - programs.nnn = { - enable = true; - }; -} diff --git a/modules/home-manager/pass.nix b/modules/home-manager/pass.nix deleted file mode 100644 index 1ed9380..0000000 --- a/modules/home-manager/pass.nix +++ /dev/null @@ -1,6 +0,0 @@ -{pkgs, ...}: { - programs.password-store = { - enable = true; - package = pkgs.pass.withExtensions (exts: [exts.pass-otp]); - }; -} diff --git a/modules/home-manager/senpai.nix b/modules/home-manager/senpai.nix deleted file mode 100644 index 699db5b..0000000 --- a/modules/home-manager/senpai.nix +++ /dev/null @@ -1,19 +0,0 @@ -{config, ...}: { - programs.senpai = { - enable = true; - config = { - address = "irc+insecure://beefcake:6667"; - nickname = "lytedev"; - password-cmd = ["pass" "soju"]; - }; - }; - - home.file."${config.xdg.configHome}/senpai/senpai.scfg" = { - enable = true; - text = '' - address irc+insecure://beefcake:6667 - nickname lytedev - password-cmd pass soju - ''; - }; -} diff --git a/modules/home-manager/thinker.nix b/modules/home-manager/thinker.nix deleted file mode 100644 index 0d4ac30..0000000 --- a/modules/home-manager/thinker.nix +++ /dev/null @@ -1,7 +0,0 @@ -{outputs, ...}: { - imports = with outputs.homeManagerModules; [ - sway - sway-laptop - hyprland - ]; -} diff --git a/modules/home-manager/tmux.nix b/modules/home-manager/tmux.nix deleted file mode 100644 index a6e53fb..0000000 --- a/modules/home-manager/tmux.nix +++ /dev/null @@ -1,126 +0,0 @@ -{ - # colors, - # font, - ... -}: { - programs.tmux = { - enable = true; - baseIndex = 1; - clock24 = true; - extraConfig = '' - unbind C-b - set -g prefix C-s - - # enable tmux to support helix colors - set -g default-terminal "tmux-256color" - set -g terminal-overrides ",xterm-256color:RGB" - - set -g update-environment "WAYLAND_DISPLAY DISPLAY" - - bind R source-file "$HOME/.tmux.conf" \; display-message "Reloaded $HOME/.tmux.conf" - bind o display-message "Saved pane output to #(tmux-save-buffer '#S')" - bind O run "tmux-edit-buffer" - - bind D attach-session -t . -c '#{pane_current_path}' \; display-message "Set session path to #{pane_current_path}" - - bind H set -s status # toggle status bar - - bind v split-window -h -c "#{pane_current_path}" - bind b split-window -c "#{pane_current_path}" - bind h split-window -c "#{pane_current_path}" - - bind -n C-l select-pane -R - bind -n C-k select-pane -U - - bind -n C-j select-pane -D - # enabling a ^J hotkey causes breakage when pasting anything that start with a newline, since it triggers the hotkey and some weird interaction with bracketed paste causes the pane to enter a broken state - - bind -n C-h select-pane -L - - bind -n C-M-l split-window -h -c "#{pane_current_path}" - bind -n C-M-j split-window -v -c "#{pane_current_path}" - - # tab creation - bind -n C-t new-window - - # tab nav is the default p and n binds - # window and session switcher is the default w bind - - set -g mouse on - set -g escape-time 0 - - set -g monitor-activity on - set -g visual-bell off - set -g bell-action other - set -g activity-action none - - set -g mode-keys vi - set -g history-limit 1000000 - - set -g status on - set -g status-position bottom - set -g status-style "fg=colour8 bg=default" - set -g status-interval 5 - set -g status-left-length 50 - set -g window-status-style "fg=colour8 bg=default" - set -g window-status-format "#W" - set -g window-status-separator " " - set -g window-status-activity-style "fg=colour7 bg=default" - set -g window-status-bell-style "fg=colour1 bg=default" - set -g window-status-current-style "fg=colour4 bg=default" - set -g window-status-current-format " #W " - set -g status-left "#{client_user}@#h:#S " - set -g status-right "#(kubeline && printf ' ')" - set -g status-left-length 1000 - - set -g message-style "fg=colour7 bg=default" - set -g pane-active-border-style fg=blue - set -g pane-border-style fg=colour0 - set -g clock-mode-colour colour8 - set -g base-index 1 - set -g pane-base-index 1 - - set -g window-status-current-format "#W" - - # present a menu of urls to open from the visible pane - # TODO: fuzzy search this - # bind u capture-pane \;\ - # save-buffer /tmp/tmux-buffer \;\ - # split-window -l 10 "urlscan /tmp/tmux-buffer" - - bind -T copy-mode-vi "y" send-keys -X copy-pipe-no-clear 'clip' \; display-message 'Copied to clipboard!' - bind -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-no-clear 'clip' \; display-message 'Copied to clipboard!' - - bind K kill-pane - bind C-S-k kill-window - - # Activate OFF mode - bind -n M-o \ - set prefix None \;\ - set key-table off \;\ - set -ag status-right " OFF" - - # Disable OFF mode - bind -T off M-O \ - set -u prefix \;\ - set -u key-table \;\ - source-file "$HOME/.config/tmux/tmux.conf" - - # set -g @plugin 'tmux-plugins/tpm' - # set -g @plugin 'tmux-plugins/tmux-resurrect' - # set -g @plugin 'tmux-plugins/tmux-continuum' - - # set -g @resurrect-capture-pane-contents 'on' - # set -g @resurrect-processes 'helix hx vi vim nvim emacs man less more tail top htop btm irssi weechat mutt "git log" iex mix deno watchexec mosh-client ssh senpai broot nnn iex mix' - - # bind A run-shell "#{@resurrect-save-script-path}" - # bind L run-shell "#{@resurrect-restore-script-path}" - - # set -g @continuum-restore 'on' - # set -g @continuum-save-interval '120' - ''; - }; - home.shellAliases = { - t = "tmux"; - }; -} diff --git a/modules/home-manager/wallpaper-manager.nix b/modules/home-manager/wallpaper-manager.nix deleted file mode 100644 index 6278b93..0000000 --- a/modules/home-manager/wallpaper-manager.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ - pkgs, - lib, - ... -}: { - systemd.user.services.variety = { - Unit = { - Description = "Wallapaper downloader and changer"; - After = ["graphical-session.target"]; - }; - Install.WantedBy = ["graphical-session.target"]; - Service = { - Environment = [ - "PATH=${lib.makeBinPath (with pkgs; [ - variety - dbus - (lib.getBin pkgs.plasma5Packages.qttools) - libsForQt5.kdialog - ])}" - ]; - ExecStart = '' - ${pkgs.variety}/bin/variety - ''; - }; - }; -} diff --git a/modules/home-manager/wezterm.nix b/modules/home-manager/wezterm.nix deleted file mode 100644 index f41f51c..0000000 --- a/modules/home-manager/wezterm.nix +++ /dev/null @@ -1,75 +0,0 @@ -{ - pkgs, - # font, - colors, - ... -}: { - # docs: https://wezfurlong.org/wezterm/config/appearance.html#defining-your-own-colors - programs.wezterm = with colors.withHashPrefix; { - enable = true; - extraConfig = builtins.readFile ./wezterm/config.lua; - colorSchemes = { - catppuccin-mocha-sapphire = { - ansi = map (x: colors.withHashPrefix.${toString x}) (pkgs.lib.lists.range 0 7); - brights = map (x: colors.withHashPrefix.${toString (x + 8)}) (pkgs.lib.lists.range 0 7); - - foreground = fg; - background = bg; - - cursor_fg = bg; - cursor_bg = text; - cursor_border = text; - - selection_fg = bg; - selection_bg = yellow; - - scrollbar_thumb = bg2; - - split = bg5; - - # indexed = { [136] = '#af8700' }, - tab_bar = { - background = bg3; - - active_tab = { - bg_color = primary; - fg_color = bg; - italic = false; - }; - inactive_tab = { - bg_color = bg2; - fg_color = fgdim; - italic = false; - }; - inactive_tab_hover = { - bg_color = bg3; - fg_color = primary; - italic = false; - }; - new_tab = { - bg_color = bg2; - fg_color = fgdim; - italic = false; - }; - new_tab_hover = { - bg_color = bg3; - fg_color = primary; - italic = false; - }; - }; - - compose_cursor = orange; - - # copy_mode_active_highlight_bg = { Color = '#000000' }, - # copy_mode_active_highlight_fg = { AnsiColor = 'Black' }, - # copy_mode_inactive_highlight_bg = { Color = '#52ad70' }, - # copy_mode_inactive_highlight_fg = { AnsiColor = 'White' }, - - # quick_select_label_bg = { Color = 'peru' }, - # quick_select_label_fg = { Color = '#ffffff' }, - # quick_select_match_bg = { AnsiColor = 'Navy' }, - # quick_select_match_fg = { Color = '#ffffff' }, - }; - }; - }; -} diff --git a/modules/home-manager/zellij.nix b/modules/home-manager/zellij.nix deleted file mode 100644 index 15af12e..0000000 --- a/modules/home-manager/zellij.nix +++ /dev/null @@ -1,513 +0,0 @@ -{ - colors, - lib, - ... -}: { - # zellij does not support modern terminal keyboard input: - # https://github.com/zellij-org/zellij/issues/735 - programs.zellij = { - # uses home manager's toKDL generator - enable = true; - # enableFishIntegration = true; - settings = { - pane_frames = false; - simplified_ui = true; - default_mode = "locked"; - mouse_mode = true; - copy_clipboard = "primary"; - copy_on_select = true; - mirror_session = false; - - keybinds = with builtins; let - binder = bind: let - keys = elemAt bind 0; - action = elemAt bind 1; - argKeys = map (k: "\"${k}\"") (lib.lists.flatten [keys]); - in { - name = "bind ${concatStringsSep " " argKeys}"; - value = action; - }; - layer = binds: (listToAttrs (map binder binds)); - in { - # _props = {clear-defaults = true;}; - normal = {}; - locked = layer [ - [["Ctrl g"] {SwitchToMode = "Normal";}] - [["Ctrl L"] {NewPane = "Right";}] - [["Ctrl Z"] {NewPane = "Right";}] - [["Ctrl J"] {NewPane = "Down";}] - [["Ctrl h"] {MoveFocus = "Left";}] - [["Ctrl l"] {MoveFocus = "Right";}] - [["Ctrl j"] {MoveFocus = "Down";}] - [["Ctrl k"] {MoveFocus = "Up";}] - ]; - resize = layer [ - [["Ctrl n"] {SwitchToMode = "Normal";}] - [["h" "Left"] {Resize = "Increase Left";}] - [["j" "Down"] {Resize = "Increase Down";}] - [["k" "Up"] {Resize = "Increase Up";}] - [["l" "Right"] {Resize = "Increase Right";}] - [["H"] {Resize = "Decrease Left";}] - [["J"] {Resize = "Decrease Down";}] - [["K"] {Resize = "Decrease Up";}] - [["L"] {Resize = "Decrease Right";}] - [["=" "+"] {Resize = "Increase";}] - [["-"] {Resize = "Decrease";}] - ]; - pane = layer [ - [["Ctrl p"] {SwitchToMode = "Normal";}] - [["h" "Left"] {MoveFocus = "Left";}] - [["l" "Right"] {MoveFocus = "Right";}] - [["j" "Down"] {MoveFocus = "Down";}] - [["k" "Up"] {MoveFocus = "Up";}] - [["p"] {SwitchFocus = [];}] - [ - ["n"] - { - NewPane = []; - SwitchToMode = "Normal"; - } - ] - [ - ["d"] - { - NewPane = "Down"; - SwitchToMode = "Normal"; - } - ] - [ - ["r"] - { - NewPane = "Right"; - SwitchToMode = "Normal"; - } - ] - [ - ["x"] - { - CloseFocus = []; - SwitchToMode = "Normal"; - } - ] - [ - ["f"] - { - ToggleFocusFullscreen = []; - SwitchToMode = "Normal"; - } - ] - [ - ["z"] - { - TogglePaneFrames = []; - SwitchToMode = "Normal"; - } - ] - [ - ["w"] - { - ToggleFloatingPanes = []; - SwitchToMode = "Normal"; - } - ] - [ - ["e"] - { - TogglePaneEmbedOrFloating = []; - SwitchToMode = "Normal"; - } - ] - [ - ["c"] - { - SwitchToMode = "RenamePane"; - PaneNameInput = 0; - } - ] - ]; - move = layer [ - [["Ctrl h"] {SwitchToMode = "Normal";}] - [["n" "Tab"] {MovePane = [];}] - [["p"] {MovePaneBackwards = [];}] - [["h" "Left"] {MovePane = "Left";}] - [["j" "Down"] {MovePane = "Down";}] - [["k" "Up"] {MovePane = "Up";}] - [["l" "Right"] {MovePane = "Right";}] - ]; - tab = layer [ - [["Ctrl t"] {SwitchToMode = "Normal";}] - [ - ["r"] - { - SwitchToMode = "RenameTab"; - TabNameInput = 0; - } - ] - [["h" "Left" "Up" "k"] {GoToPreviousTab = [];}] - [["l" "Right" "Down" "j"] {GoToNextTab = [];}] - [ - ["n"] - { - NewTab = []; - SwitchToMode = "Normal"; - } - ] - [ - ["x"] - { - CloseTab = []; - SwitchToMode = "Normal"; - } - ] - [ - ["s"] - { - ToggleActiveSyncTab = []; - SwitchToMode = "Normal"; - } - ] - [ - ["1"] - { - GoToTab = 1; - SwitchToMode = "Normal"; - } - ] - [ - ["2"] - { - GoToTab = 2; - SwitchToMode = "Normal"; - } - ] - [ - ["3"] - { - GoToTab = 3; - SwitchToMode = "Normal"; - } - ] - [ - ["4"] - { - GoToTab = 4; - SwitchToMode = "Normal"; - } - ] - [ - ["5"] - { - GoToTab = 5; - SwitchToMode = "Normal"; - } - ] - [ - ["6"] - { - GoToTab = 6; - SwitchToMode = "Normal"; - } - ] - [ - ["7"] - { - GoToTab = 7; - SwitchToMode = "Normal"; - } - ] - [ - ["8"] - { - GoToTab = 8; - SwitchToMode = "Normal"; - } - ] - [ - ["9"] - { - GoToTab = 9; - SwitchToMode = "Normal"; - } - ] - [["Tab"] {ToggleTab = [];}] - ]; - scroll = layer [ - [["Ctrl s"] {SwitchToMode = "Normal";}] - [ - ["e"] - { - EditScrollback = []; - SwitchToMode = "Normal"; - } - ] - [ - ["s"] - { - SwitchToMode = "EnterSearch"; - SearchInput = 0; - } - ] - [ - ["Ctrl c"] - { - ScrollToBottom = []; - SwitchToMode = "Normal"; - } - ] - [["j" "Down"] {ScrollDown = [];}] - [["k" "Up"] {ScrollUp = [];}] - [["Ctrl f" "PageDown" "Right" "l"] {PageScrollDown = [];}] - [["Ctrl b" "PageUp" "Left" "h"] {PageScrollUp = [];}] - [["d"] {HalfPageScrollDown = [];}] - [["u"] {HalfPageScrollUp = [];}] - # uncomment this and adjust key if using copy_on_select=false - # bind "Alt c" { Copy; } - ]; - search = layer [ - [["Ctrl s"] {SwitchToMode = "Normal";}] - [ - ["Ctrl c"] - { - ScrollToBottom = []; - SwitchToMode = "Normal"; - } - ] - [["j" "Down"] {ScrollDown = [];}] - [["k" "Up"] {ScrollUp = [];}] - [["Ctrl f" "PageDown" "Right" "l"] {PageScrollDown = [];}] - [["Ctrl b" "PageUp" "Left" "h"] {PageScrollUp = [];}] - [["d"] {HalfPageScrollDown = [];}] - [["u"] {HalfPageScrollUp = [];}] - [["n"] {Search = "down";}] - [["p"] {Search = "up";}] - [["c"] {SearchToggleOption = "CaseSensitivity";}] - [["w"] {SearchToggleOption = "Wrap";}] - [["o"] {SearchToggleOption = "WholeWord";}] - ]; - entersearch = layer [ - [["Ctrl c" "Esc"] {SwitchToMode = "Scroll";}] - [["Enter"] {SwitchToMode = "Search";}] - ]; - renametab = layer [ - [["Ctrl c"] {SwitchToMode = "Normal";}] - [ - ["Esc"] - { - UndoRenameTab = []; - SwitchToMode = "Tab"; - } - ] - ]; - renamepane = layer [ - [["Ctrl c"] {SwitchToMode = "Normal";}] - [ - ["Esc"] - { - UndoRenamePane = []; - SwitchToMode = "Pane"; - } - ] - ]; - session = layer [ - [["Ctrl o"] {SwitchToMode = "Normal";}] - [["Ctrl s"] {SwitchToMode = "Scroll";}] - [["d"] {Detach = [];}] - ]; - tmux = layer [ - [["["] {SwitchToMode = "Scroll";}] - [ - ["Ctrl b"] - { - Write = 2; - SwitchToMode = "Normal"; - } - ] - [ - ["\\\""] - { - NewPane = "Down"; - SwitchToMode = "Normal"; - } - ] - [ - ["%"] - { - NewPane = "Right"; - SwitchToMode = "Normal"; - } - ] - [ - ["z"] - { - ToggleFocusFullscreen = []; - SwitchToMode = "Normal"; - } - ] - [ - ["c"] - { - NewTab = []; - SwitchToMode = "Normal"; - } - ] - [[","] {SwitchToMode = "RenameTab";}] - [ - ["p"] - { - GoToPreviousTab = []; - SwitchToMode = "Normal"; - } - ] - [ - ["n"] - { - GoToNextTab = []; - SwitchToMode = "Normal"; - } - ] - [ - ["Left"] - { - MoveFocus = "Left"; - SwitchToMode = "Normal"; - } - ] - [ - ["Right"] - { - MoveFocus = "Right"; - SwitchToMode = "Normal"; - } - ] - [ - ["Down"] - { - MoveFocus = "Down"; - SwitchToMode = "Normal"; - } - ] - [ - ["Up"] - { - MoveFocus = "Up"; - SwitchToMode = "Normal"; - } - ] - [ - ["h"] - { - MoveFocus = "Left"; - SwitchToMode = "Normal"; - } - ] - [ - ["l"] - { - MoveFocus = "Right"; - SwitchToMode = "Normal"; - } - ] - [ - ["j"] - { - MoveFocus = "Down"; - SwitchToMode = "Normal"; - } - ] - [ - ["k"] - { - MoveFocus = "Up"; - SwitchToMode = "Normal"; - } - ] - [["o"] {FocusNextPane = [];}] - [["d"] {Detach = [];}] - [["Space"] {NextSwapLayout = [];}] - [ - ["x"] - { - CloseFocus = []; - SwitchToMode = "Normal"; - } - ] - ]; - "shared_except \"locked\"" = layer [ - [["Ctrl g"] {SwitchToMode = "Locked";}] - [["Ctrl q"] {Quit = [];}] - [["Alt n"] {NewPane = [];}] - [["Alt h" "Alt Left"] {MoveFocusOrTab = "Left";}] - [["Alt l" "Alt Right"] {MoveFocusOrTab = "Right";}] - [["Alt j" "Alt Down"] {MoveFocus = "Down";}] - [["Alt k" "Alt Up"] {MoveFocus = "Up";}] - [["Alt ]" "Alt +"] {Resize = "Increase";}] - [["Alt -"] {Resize = "Decrease";}] - [["Alt ["] {PreviousSwapLayout = [];}] - [["Alt ]"] {NextSwapLayout = [];}] - ]; - "shared_except \"normal\" \"locked\"" = layer [ - [["Enter" "Esc"] {SwitchToMode = "Normal";}] - ]; - "shared_except \"pane\" \"locked\"" = layer [ - [["Ctrl p"] {SwitchToMode = "Pane";}] - ]; - "shared_except \"resize\" \"locked\"" = layer [ - [["Ctrl n"] {SwitchToMode = "Resize";}] - ]; - "shared_except \"scroll\" \"locked\"" = layer [ - [["Ctrl s"] {SwitchToMode = "Scroll";}] - ]; - "shared_except \"session\" \"locked\"" = layer [ - [["Ctrl o"] {SwitchToMode = "Session";}] - ]; - "shared_except \"tab\" \"locked\"" = layer [ - [["Ctrl t"] {SwitchToMode = "Tab";}] - ]; - "shared_except \"move\" \"locked\"" = layer [ - [["Ctrl h"] {SwitchToMode = "Move";}] - ]; - "shared_except \"tmux\" \"locked\"" = layer [ - [["Ctrl b"] {SwitchToMode = "Tmux";}] - ]; - }; - - default_layout = "compact"; - theme = "match"; - - themes = { - match = with colors.withHashPrefix; { - fg = fg; - bg = bg; - - black = bg; - white = fg; - - red = red; - green = green; - yellow = yellow; - blue = blue; - magenta = purple; - cyan = blue; - orange = orange; - }; - }; - # TODO: port config - - plugins = { - # tab-bar = {path = "tab-bar";}; - # compact-bar = {path = "compact-bar";}; - }; - - ui = { - pane_frames = { - rounded_corners = true; - hide_session_name = true; - }; - }; - }; - }; - - home.shellAliases = { - z = "zellij"; - }; -}