{ nix-config, inputs, pkgs, ... }: { home.packages = with pkgs; [ inputs.isd.packages.x86_64-linux.default just readline rlwrap yt-dlp erdtree age figlet ffmpeg-full ouch pinentry gcr gnutar libnotify unzip zip stdenv tldr glow delta htop gnupg imagemagick gnutls gettext gnumake nix-index nix-du usbutils pciutils util-linux coreutils binutils editorconfig-core-c openssl exiftool libsecret samba4Full shellcheck libffi.dev nodejs_18 platformio-core icloudpd pkg-config ftgl gperf numbat glpng nurl neofetch nvd ripgrep-all silver-searcher maestral maestral-gui powertop age kdotool caligula # global node packages nodePackages.typescript-language-server nodePackages.vscode-langservers-extracted nodePackages.prettier nodePackages.javascript-typescript-langserver nodePackages.stylelint nodePackages.svelte-language-server nodePackages.typescript nodePackages.js-beautify nixd nixdoc nix-init git-annex bfg-repo-cleaner fishPlugins.foreign-env fishPlugins.fzf-fish fishPlugins.bass fishPlugins.autopair fishPlugins.forgit fishPlugins.colored-man-pages imgcat ghostscript playerctl ]; programs = { direnv = { enable = true; nix-direnv.enable = true; }; fish = { enable = true; shellAliases = { "ls" = "eza"; ".j" = "just -g"; "em" = "emacsclient -n -r"; "mkdir" = "mkdir -pv"; }; interactiveShellInit = '' bind --erase \ct ''; plugins = [ { name = "upto"; src = pkgs.fetchFromGitHub { owner = "Markcial"; repo = "upto"; rev = "2d1f35453fb55747d50da8c1cb1809840f99a646"; sha256 = "sha256-Lv2XtP2x9dkIkUUjMBWVpAs/l55Ztu7gIjKYH6ZzK4s="; }; } ]; }; zoxide = { enable = true; }; starship = { enable = true; }; ripgrep = { enable = true; }; thefuck = { enable = true; }; ghostty = { enable = true; enableFishIntegration = true; installBatSyntax = true; settings = { command = "/home/emenel/.nix-profile/bin/fish --login --interactive"; theme = "Adventure"; font-family = "JetBrains Mono"; font-size = 12; background = 111111; selection-foreground = "ffffff"; selection-background = 444444; bold-is-bright = true; cursor-style = "bar"; adjust-cursor-thickness = 2; resize-overlay = "never"; cursor-click-to-move = true; clipboard-paste-protection = true; keybind = [ "ctrl+t=new_tab" "ctrl+w=close_surface" "ctrl+enter=new_split:down" "ctrl+shift+enter=new_split:right" "ctrl+alt+enter=equalize_splits" "ctrl+alt+z=toggle_split_zoom" "ctrl+alt+left=previous_tab" "ctrl+alt+right=next_tab" "ctrl+alt+up=goto_split:left" "ctrl+alt+down=goto_split:right" "ctrl+backspace=text:\x1b\x7f" ]; }; }; # zellij = { # enable = true; # }; wezterm = { enable = true; package = inputs.wezterm.packages.${pkgs.system}.default; # extraConfig = lib.readFile ./dotfiles/dot_config/wezterm/wezterm.lua; }; bat = { enable = true; }; borgmatic = { enable = true; backups = { eddie = { location = { patterns = [ "R /home/emenel" "- home/emenel/.cache" "- home/emenel/.nix*" "- home/emenel/.steam*" "- home/emenel/Dropbox" "- home/emenel/Sync" "- home/emenel/.dropbox*" "- home/emenel/.BitwigStudio" "- home/emenel/.local/share/bitwig" ]; repositories = [ { "path" = "ssh://oyi3ydnz@oyi3ydnz.repo.borgbase.com/./repo"; "label" = "eddie on borgbase"; } ]; }; retention = { keepDaily = 3; keepHourly = 3; keepMonthly = 2; }; }; }; }; eza = { enable = true; }; fd = { enable = true; }; fzf = { enable = true; enableFishIntegration = false; }; broot = { enable = true; }; git = { enable = true; lfs.enable = true; }; htop.enable = true; lazygit.enable = true; jq.enable = true; rbw = { enable = true; package = nix-config.packages.x86_64-linux.rbw-latest; }; }; home.file.".ssh/config".source = ../../homes/emenel/dotfiles/dot_ssh/config; xdg.configFile."starship.toml".source = ../../homes/emenel/dotfiles/dot_config/starship.toml; xdg.configFile."wezterm" = { recursive = true; source = ../../homes/emenel/dotfiles/dot_config/wezterm; }; xdg.configFile."just/justfile".source = ../../homes/emenel/dotfiles/dot_config/just/justfile; xdg.configFile."git".source = ../../homes/emenel/dotfiles/dot_config/git; xdg.configFile."rbw".source = ../../homes/emenel/dotfiles/dot_config/rbw; home.file.".config/fish/functions" = { source = ../../homes/emenel/dotfiles/dot_config/fish/functions; recursive = true; }; home.file.".config/fish/completions" = { source = ../../homes/emenel/dotfiles/dot_config/fish/completions; recursive = true; }; home.file.".local/share/flf".source = ../../homes/emenel/dotfiles/dot_local/share/flf; }