{ pkgs, inputs, lib, homeDirectory, config, ... }: { imports = [ ./progs/fish.nix ./progs/helix.nix ]; home.stateVersion = "24.11"; home.enableNixpkgsReleaseCheck = false; home.packages = with pkgs; [ # hex viewer hexyl # rust stuff (rust-bin.stable.latest.default.override ({ extensions = [ "rust-src" "rust-analyzer" "clippy" "rustfmt" "rust-std" "cargo" ]; # thumbv7m-none-eabi target for stm32 targets = [ "thumbv7m-none-eabi" ]; })) cargo-expand rust-script # find typos in code typos # python formatter ruff # for website generation hugo # java development google-java-format # formatter jdk # java jdt-language-server # lsp server # for benchmaking stuff hyperfine # replacements for common posix tools eza # ls replacement bat # pretty `cat` clone delta # viewer for `git` and `diff` output dust # pretty `du` version duf # better `df` clone gping # `ping`... but with a graph!! tldr # `man` but more straight-forward and simpler ripgrep # grep, but written in rust, respects .gitignore, and very very fast, command is `rg` lurk # better strace # adds `sensors` command lm_sensors # rssfeed newsboat # HTML/CSS/JSON/ESLint language servers vscode-langservers-extracted just pfetch-rs waypipe htop bottom wget unzip compsize killall sshfs # nix formatter nixfmt-rfc-style # serial viewer minicom # "~~matt's~~ my trace route" mtr file b3sum ffmpeg-full # microcontroller tooling probe-rs (python312.withPackages ( ps: with ps; [ python-lsp-server # lsp python-lsp-ruff # ruff integration mypy # type checking pyserial numpy matplotlib notebook ] )) # dep fails to build # binwalk smartmontools nil # nix lsp yaml-language-server # yaml lsp marksman # markdown lsp typescript-language-server # typescript lsp cmake-language-server # cmake lsp # clang-format and clang-tidy clang-tools clang # broken # lldb fio age git-crypt imagemagick nixpkgs-review nmap # terminal image viewer timg lsof tcpdump cargo-flamegraph borgbackup ]; # https://github.com/flamegraph-rs/flamegraph home.file.".cargo/config.toml".text = '' [target.${lib.strings.removeSuffix "-linux" pkgs.system}-unknown-linux-gnu] linker = "${pkgs.clang}/bin/clang" rustflags = ["-Clink-arg=-Wl,--no-rosegment"] ''; # default applications home.sessionVariables = { EDITOR = "hx"; }; # feed reader programs.newsboat = { enable = true; # store rss feeds in a separate file because it's *a lot* urls = import ./progs/rss.nix; }; # git (self explanatory) programs.git = { enable = true; package = pkgs.git; userName = "Simon Gardling"; userEmail = "titaniumtown@proton.me"; # better way to view diffs delta.enable = true; lfs.enable = true; extraConfig = { init = { # master -> main defaultBranch = "main"; }; push.autoSetupRemote = true; }; # gpg signing keys signing = { key = "9AB28AC10ECE533D"; signByDefault = true; }; }; programs.home-manager.enable = true; }