diff options
Diffstat (limited to 'modules/tools')
34 files changed, 103 insertions, 76 deletions
diff --git a/modules/tools/atac/default.nix b/modules/tools/atac/default.nix index 8d97fef..bc28761 100644 --- a/modules/tools/atac/default.nix +++ b/modules/tools/atac/default.nix @@ -4,7 +4,7 @@ options.tools.atac = { enable = lib.mkEnableOption "Enables atac."; }; - + config = lib.mkIf config.tools.atac.enable { home.packages = with pkgs; [ atac diff --git a/modules/tools/bluetui/default.nix b/modules/tools/bluetui/default.nix index 2a7847d..0555b44 100644 --- a/modules/tools/bluetui/default.nix +++ b/modules/tools/bluetui/default.nix @@ -4,7 +4,7 @@ options.tools.bluetui = { enable = lib.mkEnableOption "Enables bluetui."; }; - + config = lib.mkIf config.tools.bluetui.enable { home.packages = with pkgs; [ bluetui diff --git a/modules/tools/bottles/default.nix b/modules/tools/bottles/default.nix index 74dc551..e9261dc 100644 --- a/modules/tools/bottles/default.nix +++ b/modules/tools/bottles/default.nix @@ -4,7 +4,7 @@ options.tools.bottles = { enable = lib.mkEnableOption "Enables bottles."; }; - + config = lib.mkIf config.tools.bottles.enable { home.packages = with pkgs; [ (bottles.override { diff --git a/modules/tools/bottom/default.nix b/modules/tools/bottom/default.nix index c307047..e330576 100644 --- a/modules/tools/bottom/default.nix +++ b/modules/tools/bottom/default.nix @@ -4,7 +4,7 @@ options.tools.bottom = { enable = lib.mkEnableOption "Enables bottom."; }; - + config = lib.mkIf config.tools.bottom.enable { programs.bottom.enable = true; }; diff --git a/modules/tools/brightnessctl/default.nix b/modules/tools/brightnessctl/default.nix index a35e3e4..7c539a9 100644 --- a/modules/tools/brightnessctl/default.nix +++ b/modules/tools/brightnessctl/default.nix @@ -4,7 +4,7 @@ options.tools.brightnessctl = { enable = lib.mkEnableOption "Enables brightnessctl."; }; - + config = lib.mkIf config.tools.brightnessctl.enable { home.packages = with pkgs; [ brightnessctl diff --git a/modules/tools/cloudflare-warp/default.nix b/modules/tools/cloudflare-warp/default.nix index 5f94ef9..d644dee 100644 --- a/modules/tools/cloudflare-warp/default.nix +++ b/modules/tools/cloudflare-warp/default.nix @@ -4,7 +4,7 @@ options.tools.cloudflare-warp = { enable = lib.mkEnableOption "Enables CloudFlare Warp VPN."; }; - + config = lib.mkIf config.tools.cloudflare-warp.enable { home.packages = with pkgs; [ cloudflare-warp diff --git a/modules/tools/devenv/default.nix b/modules/tools/devenv/default.nix index 5ff8f95..a77149b 100644 --- a/modules/tools/devenv/default.nix +++ b/modules/tools/devenv/default.nix @@ -5,9 +5,28 @@ enable = lib.mkEnableOption "Enables devenv."; }; - config = lib.mkIf config.tools.devenv.enable { + config = let + # Use --no-reload by default for devenv shell + shellIntegration = '' +devenv() { + for arg in "$@"; do + if [[ "$arg" == "--reload" || "$arg" == "--no-reload" ]]; then + command devenv "$@" + return + fi + done + + command devenv "$@" --no-reload +} +''; + in lib.mkIf config.tools.devenv.enable { home.packages = with pkgs; [ devenv ]; + + programs.zsh.initContent = lib.mkIf config.programs.zsh.enable + (lib.mkAfter shellIntegration); + programs.bash.initExtra = lib.mkIf config.programs.bash.enable + (lib.mkAfter shellIntegration); }; } diff --git a/modules/tools/fastfetch/default.nix b/modules/tools/fastfetch/default.nix index 30ba375..edd1873 100644 --- a/modules/tools/fastfetch/default.nix +++ b/modules/tools/fastfetch/default.nix @@ -1,10 +1,10 @@ -{ config, lib, pkgs, ... }: +{ config, lib, ... }: { options.tools.fastfetch = { enable = lib.mkEnableOption "Enables fastfetch."; }; - + config = lib.mkIf config.tools.fastfetch.enable { programs.fastfetch = { enable = true; diff --git a/modules/tools/fzf/default.nix b/modules/tools/fzf/default.nix index f971ca9..3d19eca 100644 --- a/modules/tools/fzf/default.nix +++ b/modules/tools/fzf/default.nix @@ -4,11 +4,17 @@ options.tools.fzf = { enable = lib.mkEnableOption "Enables fzf."; }; - - config = lib.mkIf config.tools.fzf.enable { + + config = let + shellIntegration = '' +${if config.tools.zsh.enable then + "eval \"$(fzf --zsh)\"" +else "eval \"$(fzf --bash)\""} + ''; + in lib.mkIf config.tools.fzf.enable { programs.fzf = { enable = true; - + defaultOptions = [ "--height 100%" "--layout=reverse" @@ -21,18 +27,18 @@ "--no-info" "--margin=\"1,2\"" ]; - + colors = with config.scheme.withHashtag; { fg = base05; # Foreground bg = "-1"; # Background (-1 for transparent) hl = base0D; # Highlight - + "fg+" = base07; # Foreground for selected item "bg+" = "-1"; # Background for selected item "hl+" = base0D; # Highlight for selected item - + gutter = "-1"; # Remove the white margin at the left - + info = base0B; # Info text (usually count of items) border = base03; # Border color prompt = base0A; # Prompt text color @@ -41,5 +47,10 @@ spinner = base0C; # Spinner color (during search) }; }; + + programs.zsh.initContent = lib.mkIf config.programs.zsh.enable + (lib.mkAfter shellIntegration); + programs.bash.initExtra = lib.mkIf config.programs.bash.enable + (lib.mkAfter shellIntegration); }; } diff --git a/modules/tools/git/default.nix b/modules/tools/git/default.nix index f6082f4..09ac973 100644 --- a/modules/tools/git/default.nix +++ b/modules/tools/git/default.nix @@ -12,7 +12,7 @@ description = "Git email."; }; }; - + config = lib.mkIf config.tools.git.enable { programs.git = { enable = true; @@ -25,7 +25,7 @@ core.askPass = ""; }; }; - + # The base directory of the credential file must exist home.activation.createGitCacheDirectory = lib.hm.dag.entryAfter diff --git a/modules/tools/htop/default.nix b/modules/tools/htop/default.nix index f418054..9b61fb2 100644 --- a/modules/tools/htop/default.nix +++ b/modules/tools/htop/default.nix @@ -4,7 +4,7 @@ options.tools.htop = { enable = lib.mkEnableOption "Enables htop."; }; - + config = lib.mkIf config.tools.htop.enable { programs.htop = { enable = true; diff --git a/modules/tools/impala/default.nix b/modules/tools/impala/default.nix index d973fac..7a80c6d 100644 --- a/modules/tools/impala/default.nix +++ b/modules/tools/impala/default.nix @@ -4,7 +4,7 @@ options.tools.impala = { enable = lib.mkEnableOption "Enables impala."; }; - + config = lib.mkIf config.tools.impala.enable { home.packages = with pkgs; [ impala diff --git a/modules/tools/kitty/default.nix b/modules/tools/kitty/default.nix index 2bb7731..3fd298e 100644 --- a/modules/tools/kitty/default.nix +++ b/modules/tools/kitty/default.nix @@ -4,7 +4,7 @@ options.tools.kitty = { enable = lib.mkEnableOption "Enables kitty. WARNING! Currently faces problems with color rendering with picom."; }; - + config = lib.mkIf config.tools.kitty.enable { programs.kitty = { enable = true; @@ -15,13 +15,13 @@ filter_notification = "all"; update_check_interval = 0; scrollback_indicator_opacity = "0.5"; - + dynamic_background_opacity = false; enable_audio_bell = false; - + background = base00; foreground = base05; - + color0 = base00; color1 = base08; color2 = base0B; @@ -38,10 +38,10 @@ color13 = base0E; color14 = base0F; color15 = base07; - + selection_background = base05; selection_foreground = base00; - + allow_remote_control = "yes"; listen_on = "unix:/tmp/kitty"; shell = lib.mkIf config.tools.zsh.enable "zsh"; diff --git a/modules/tools/libreoffice/default.nix b/modules/tools/libreoffice/default.nix index fe2a387..c73d7ab 100644 --- a/modules/tools/libreoffice/default.nix +++ b/modules/tools/libreoffice/default.nix @@ -4,7 +4,7 @@ options.tools.libreoffice = { enable = lib.mkEnableOption "Enables libreoffice."; }; - + config = lib.mkIf config.tools.libreoffice.enable { home.packages = with pkgs; [ libreoffice diff --git a/modules/tools/librewolf/default.nix b/modules/tools/librewolf/default.nix index 522b76b..aa10982 100644 --- a/modules/tools/librewolf/default.nix +++ b/modules/tools/librewolf/default.nix @@ -4,7 +4,7 @@ options.tools.librewolf = { enable = lib.mkEnableOption "Enables librewolf."; }; - + config = lib.mkIf config.tools.librewolf.enable { programs.librewolf = { enable = true; diff --git a/modules/tools/lsd/default.nix b/modules/tools/lsd/default.nix index 31a69cc..da8e81f 100644 --- a/modules/tools/lsd/default.nix +++ b/modules/tools/lsd/default.nix @@ -4,7 +4,7 @@ options.tools.lsd = { enable = lib.mkEnableOption "Enables lsd."; }; - + config = lib.mkIf config.tools.lsd.enable { programs.lsd = { enable = true; diff --git a/modules/tools/maim/default.nix b/modules/tools/maim/default.nix index 55f9ef9..95c2f5b 100644 --- a/modules/tools/maim/default.nix +++ b/modules/tools/maim/default.nix @@ -4,7 +4,7 @@ options.tools.maim = { enable = lib.mkEnableOption "Enables maim."; }; - + config = lib.mkIf config.tools.maim.enable { home.packages = with pkgs; [ maim diff --git a/modules/tools/nixvim/colorscheme.nix b/modules/tools/nixvim/colorscheme.nix index 810111a..b3dbe4c 100644 --- a/modules/tools/nixvim/colorscheme.nix +++ b/modules/tools/nixvim/colorscheme.nix @@ -1,4 +1,4 @@ -{ pkgs, config, lib, ... }: +{ config, lib, ... }: { config = lib.mkIf config.tools.nixvim.enable { diff --git a/modules/tools/nixvim/default.nix b/modules/tools/nixvim/default.nix index 97d58ec..932d343 100644 --- a/modules/tools/nixvim/default.nix +++ b/modules/tools/nixvim/default.nix @@ -6,11 +6,11 @@ ./keymaps.nix ./plugins ]; - + options.tools.nixvim = { enable = lib.mkEnableOption "Enables nixvim."; }; - + config = lib.mkIf config.tools.nixvim.enable { programs.nixvim = { @@ -59,7 +59,7 @@ vim.api.nvim_set_hl(0, 'NotifyINFOBody', { link = 'Normal' }) vim.api.nvim_set_hl(0, 'NotifyDEBUGBody', { link = 'Normal' }) vim.api.nvim_set_hl(0, 'NotifyTRACEBody', { link = 'Normal' }) - + vim.api.nvim_create_autocmd({ "FileType" }, { pattern = "*", callback = function() @@ -69,7 +69,7 @@ vim.opt_local.tabstop = 3 end, }) - + vim.api.nvim_create_autocmd({ "FileType" }, { pattern = { "yaml", "yml" }, callback = function() @@ -85,7 +85,7 @@ combinePlugins.enable = true; }; }; - + home.sessionVariables.EDITOR = "nvim"; }; } diff --git a/modules/tools/nnn/default.nix b/modules/tools/nnn/default.nix index 641e3a5..7a9f30f 100644 --- a/modules/tools/nnn/default.nix +++ b/modules/tools/nnn/default.nix @@ -4,14 +4,14 @@ options.tools.nnn = { enable = lib.mkEnableOption "Enables nnn."; }; - + config = lib.mkIf config.tools.nnn.enable { home.sessionVariables = { # Start nnn in detail mode + show hidden items by default NNN_OPTS = "dH"; NNN_FIFO = "/tmp/nnn.fifo"; }; - + programs.nnn = { enable = true; package = pkgs.nnn.override ({ withNerdIcons = true; }); diff --git a/modules/tools/nvtop/default.nix b/modules/tools/nvtop/default.nix index 7fcbac0..d21b952 100644 --- a/modules/tools/nvtop/default.nix +++ b/modules/tools/nvtop/default.nix @@ -4,7 +4,7 @@ options.tools.nvtop = { enable = lib.mkEnableOption "Enables nvtop."; }; - + config = lib.mkIf config.tools.nvtop.enable { home.packages = with pkgs; [ nvtopPackages.full diff --git a/modules/tools/pamixer/default.nix b/modules/tools/pamixer/default.nix index d224ed2..1ae7679 100644 --- a/modules/tools/pamixer/default.nix +++ b/modules/tools/pamixer/default.nix @@ -4,7 +4,7 @@ options.tools.pamixer = { enable = lib.mkEnableOption "Enables pamixer."; }; - + config = lib.mkIf config.tools.pamixer.enable { home.packages = with pkgs; [ pamixer diff --git a/modules/tools/playerctl/default.nix b/modules/tools/playerctl/default.nix index 8b4487c..faf5d1c 100644 --- a/modules/tools/playerctl/default.nix +++ b/modules/tools/playerctl/default.nix @@ -4,7 +4,7 @@ options.tools.playerctl = { enable = lib.mkEnableOption "Enables playerctl."; }; - + config = lib.mkIf config.tools.playerctl.enable { home.packages = with pkgs; [ playerctl diff --git a/modules/tools/rofi/default.nix b/modules/tools/rofi/default.nix index 78c1614..ef4e87b 100644 --- a/modules/tools/rofi/default.nix +++ b/modules/tools/rofi/default.nix @@ -4,7 +4,7 @@ options.tools.rofi = { enable = lib.mkEnableOption "Enables rofi."; }; - + config = lib.mkIf config.tools.rofi.enable { programs.rofi = { enable = true; @@ -17,7 +17,7 @@ margin = 0; padding = 0; spacing = 0; - + bg = mkLiteral base00; bg-alt = mkLiteral base01; fg = mkLiteral base07; @@ -25,47 +25,47 @@ background-color = mkLiteral "@bg"; text-color = mkLiteral "@fg"; }; - + window = { border-color = mkLiteral base03; }; - + mainbox = { children = map mkLiteral [ "inputbar" "listview" ]; }; - + inputbar = { background-color = mkLiteral "@bg-alt"; children = map mkLiteral [ "prompt" "entry" ]; }; - + entry = { background-color = mkLiteral "inherit"; padding = mkLiteral "12px 3px"; }; - + prompt = { background-color = mkLiteral "inherit"; padding = mkLiteral "12px"; }; - + listview = { lines = 8; }; - + element = { children = map mkLiteral [ "element-text" ]; }; - + element-icon = { padding = mkLiteral "10px 10px"; }; - + element-text = { padding = mkLiteral "10px 10px"; text-color = mkLiteral "@fg-alt"; }; - + "element-text selected" = { text-color = mkLiteral "@fg"; }; diff --git a/modules/tools/starship/default.nix b/modules/tools/starship/default.nix index e8c657c..02e845e 100644 --- a/modules/tools/starship/default.nix +++ b/modules/tools/starship/default.nix @@ -4,7 +4,7 @@ options.tools.starship = { enable = lib.mkEnableOption "Enables starship."; }; - + config = lib.mkIf config.tools.starship.enable { programs.starship = { enable = true; @@ -14,50 +14,50 @@ mkSegment = content: ''[┄\[](red)[${content}]($style)[\]](red)''; in { add_newline = true; - + format = '' [╭─\[](red)$hostname[@](red)$username[\]](red)$directory$git_branch$git_status$nix_shell [╰─](red)$status$character ''; - + character.format = "[](red)"; - + username = { style_user = "blue"; style_root = "red bold"; format = "[$user]($style)"; show_always = true; }; - + hostname = { ssh_only = false; style = "green"; format = "[$hostname]($style)"; }; - + directory = { style = "purple"; truncate_to_repo = false; format = mkSegment "$path"; }; - + git_branch = { style = "bold yellow"; format = ''[┄\[](red)[$symbol$branch(:$remote_branch)]($style)''; }; - + git_status = { style = "cyan"; format = ''( [$all_status$ahead_behind]($style))[\]](red)''; }; - + nix_shell = { format = mkSegment "$symbol $state( \($name\))"; symbol = ""; impure_msg = ""; pure_msg = ""; }; - + status = { disabled = false; format = ''${mkSegment "$symbol $status"}[┄─](red)''; diff --git a/modules/tools/steam/default.nix b/modules/tools/steam/default.nix index 6c5e125..bd23fde 100644 --- a/modules/tools/steam/default.nix +++ b/modules/tools/steam/default.nix @@ -4,7 +4,7 @@ options.tools.steam = { enable = lib.mkEnableOption "Enables steam."; }; - + config = lib.mkIf config.tools.steam.enable { home.packages = with pkgs; [ steam diff --git a/modules/tools/systemctl-tui/default.nix b/modules/tools/systemctl-tui/default.nix index 406493f..0c6916f 100644 --- a/modules/tools/systemctl-tui/default.nix +++ b/modules/tools/systemctl-tui/default.nix @@ -4,7 +4,7 @@ options.tools.systemctl-tui = { enable = lib.mkEnableOption "Enables systemctl-tui."; }; - + config = lib.mkIf config.tools.systemctl-tui.enable { home.packages = with pkgs; [ systemctl-tui diff --git a/modules/tools/tmux/default.nix b/modules/tools/tmux/default.nix index 8e15690..f99cb40 100644 --- a/modules/tools/tmux/default.nix +++ b/modules/tools/tmux/default.nix @@ -4,7 +4,7 @@ options.tools.tmux = { enable = lib.mkEnableOption "Enables tmux."; }; - + config = lib.mkIf config.tools.tmux.enable { programs.tmux.enable = true; }; diff --git a/modules/tools/tor-browser/default.nix b/modules/tools/tor-browser/default.nix index 5bf58c7..7986ff4 100644 --- a/modules/tools/tor-browser/default.nix +++ b/modules/tools/tor-browser/default.nix @@ -4,7 +4,7 @@ options.tools.tor-browser = { enable = lib.mkEnableOption "Enables tor-browser."; }; - + config = lib.mkIf config.tools.tor-browser.enable { home.packages = with pkgs; [ tor-browser diff --git a/modules/tools/unar/default.nix b/modules/tools/unar/default.nix index 3594bec..956c3cd 100644 --- a/modules/tools/unar/default.nix +++ b/modules/tools/unar/default.nix @@ -4,7 +4,7 @@ options.tools.unar = { enable = lib.mkEnableOption "Enables unar."; }; - + config = lib.mkIf config.tools.unar.enable { home.packages = with pkgs; [ unar diff --git a/modules/tools/vlc/default.nix b/modules/tools/vlc/default.nix index eb6f329..8e71593 100644 --- a/modules/tools/vlc/default.nix +++ b/modules/tools/vlc/default.nix @@ -4,7 +4,7 @@ options.tools.vlc = { enable = lib.mkEnableOption "Enables vlc."; }; - + config = lib.mkIf config.tools.vlc.enable { home.packages = with pkgs; [ vlc diff --git a/modules/tools/vscode/default.nix b/modules/tools/vscode/default.nix index 67c3043..7aab6f7 100644 --- a/modules/tools/vscode/default.nix +++ b/modules/tools/vscode/default.nix @@ -4,7 +4,7 @@ options.tools.vscode = { enable = lib.mkEnableOption "Enables vscode."; }; - + config = lib.mkIf config.tools.vscode.enable { programs.vscode = { enable = true; diff --git a/modules/tools/zathura/default.nix b/modules/tools/zathura/default.nix index 1290352..9d7c48a 100644 --- a/modules/tools/zathura/default.nix +++ b/modules/tools/zathura/default.nix @@ -4,7 +4,7 @@ options.tools.zathura = { enable = lib.mkEnableOption "Enables zathura."; }; - + config = lib.mkIf config.tools.zathura.enable { programs.zathura.enable = true; }; diff --git a/modules/tools/zsh/default.nix b/modules/tools/zsh/default.nix index 71e0be3..882653b 100644 --- a/modules/tools/zsh/default.nix +++ b/modules/tools/zsh/default.nix @@ -4,16 +4,13 @@ options.tools.zsh = { enable = lib.mkEnableOption "Enables zsh."; }; - + config = lib.mkIf config.tools.zsh.enable { programs.zsh = { enable = true; dotDir = "${config.xdg.configHome}/zsh"; history.path = "${config.xdg.cacheHome}/zsh/history"; initContent = '' -${if config.tools.fzf.enable then - "eval \"$(fzf --zsh)\"" -else ""} setopt PROMPT_SUBST autoload -U colors && colors @@ -22,7 +19,7 @@ bindkey "^[[3~" delete-char bindkey "^?" backward-delete-char ''; }; - + home.sessionVariables.SHELL = "${config.programs.zsh.package}/bin/zsh"; }; } |
