move some stuff around
This commit is contained in:
197
home-manager/no-gui.nix
Normal file
197
home-manager/no-gui.nix
Normal file
@@ -0,0 +1,197 @@
|
||||
{
|
||||
pkgs,
|
||||
inputs,
|
||||
lib,
|
||||
homeDirectory,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
{
|
||||
home.stateVersion = "24.11";
|
||||
|
||||
home.packages = with pkgs; [
|
||||
#hex viewer
|
||||
hexyl
|
||||
|
||||
#rust stuff
|
||||
(rust-bin.selectLatestNightlyWith (
|
||||
toolchain:
|
||||
toolchain.default.override {
|
||||
extensions = [
|
||||
"rust-src"
|
||||
"rust-analyzer"
|
||||
"clippy"
|
||||
"rustfmt"
|
||||
"rust-std"
|
||||
"cargo"
|
||||
];
|
||||
#thumbv7m-none-eabi target for stm32
|
||||
targets = [ "thumbv7m-none-eabi" ];
|
||||
}
|
||||
))
|
||||
|
||||
#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`
|
||||
|
||||
#adds `sensors` command
|
||||
lm_sensors
|
||||
|
||||
#rssfeed
|
||||
newsboat
|
||||
|
||||
#HTML/CSS/JSON/ESLint language servers
|
||||
vscode-langservers-extracted
|
||||
|
||||
just
|
||||
|
||||
pfetch-rs
|
||||
waypipe
|
||||
htop
|
||||
bottom
|
||||
wget
|
||||
unzip
|
||||
mold
|
||||
gcc
|
||||
compsize
|
||||
killall
|
||||
gnumake
|
||||
|
||||
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
|
||||
]
|
||||
))
|
||||
|
||||
binwalk
|
||||
|
||||
smartmontools
|
||||
|
||||
nil # nix lsp
|
||||
yaml-language-server # yaml lsp
|
||||
marksman # markdown lsp
|
||||
|
||||
#clang-format and clang-tidy
|
||||
clang-tools
|
||||
|
||||
# inputs.binsider.packages.${pkgs.system}.binsider
|
||||
|
||||
lldb
|
||||
|
||||
fio
|
||||
|
||||
age
|
||||
|
||||
git-crypt
|
||||
];
|
||||
|
||||
home.file.".cargo/config.toml".text = ''
|
||||
[target.${lib.strings.removeSuffix "-linux" pkgs.system}-unknown-linux-gnu]
|
||||
linker = "${pkgs.clang}/bin/clang"
|
||||
rustflags = ["-C", "link-arg=-fuse-ld=${pkgs.mold}/bin/mold"]
|
||||
'';
|
||||
|
||||
#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;
|
||||
|
||||
#master -> main
|
||||
extraConfig = {
|
||||
init = {
|
||||
defaultBranch = "main";
|
||||
};
|
||||
push.autoSetupRemote = true;
|
||||
};
|
||||
|
||||
#gpg signing keys
|
||||
signing = {
|
||||
key = "9AB28AC10ECE533D";
|
||||
signByDefault = true;
|
||||
};
|
||||
};
|
||||
|
||||
age.secrets.serverpass = {
|
||||
file = ./secrets/server-password.age;
|
||||
path = "${homeDirectory}/.secrets/serverpass";
|
||||
};
|
||||
|
||||
age.secrets.gnupg = {
|
||||
file = ./secrets/my-gpg.age;
|
||||
path = "${homeDirectory}/.secrets/my-gpg.asc";
|
||||
};
|
||||
|
||||
home.activation.extractGnuPG = ''
|
||||
${pkgs.gnupg}/bin/gpg --import ${config.age.secrets.gnupg.path}
|
||||
'';
|
||||
|
||||
#fish shell!
|
||||
programs.fish = import ./progs/fish.nix { inherit pkgs; };
|
||||
|
||||
#text editor
|
||||
programs.helix = import ./progs/helix.nix { inherit pkgs; };
|
||||
|
||||
# Let Home Manager install and manage itself.
|
||||
programs.home-manager.enable = true;
|
||||
}
|
||||
Reference in New Issue
Block a user