Add hm programs, migrate to znver4 kernel & add sched_ext

This commit is contained in:
Tristan D. 2024-07-09 16:40:07 +02:00
parent c22453fc1c
commit eb3363dc69
Signed by: tristan
SSH key fingerprint: SHA256:9oFM1J63hYWJjCnLG6C0fxBS15rwNcWwdQNMOHYKJ/4
5 changed files with 194 additions and 53 deletions

View file

@ -84,8 +84,6 @@
inputs.nix-alien.overlays.default inputs.nix-alien.overlays.default
inputs.nix-ld-rs.overlays.default inputs.nix-ld-rs.overlays.default
]; ];
pkgs-args = {
inherit system overlays;
config = { config = {
allowUnfree = true; allowUnfree = true;
permittedInsecurePackages = [ permittedInsecurePackages = [
@ -94,8 +92,9 @@
# "electron-25.9.0" # "electron-25.9.0"
]; ];
}; };
pkgs = import nixpkgs {
inherit config system overlays;
}; };
pkgs = import nixpkgs pkgs-args;
hmModules = [ hmModules = [
nix-index-database.hmModules.nix-index nix-index-database.hmModules.nix-index
nur.hmModules.nur nur.hmModules.nur
@ -144,7 +143,10 @@
[ [
./systems/${host} ./systems/${host}
{ {
nixpkgs.pkgs = pkgs; nixpkgs = {
inherit config system overlays;
};
# nixpkgs.pkgs = pkgs;
nix.registry.nixpkgs.flake = nixpkgs; nix.registry.nixpkgs.flake = nixpkgs;
home-manager.sharedModules = hmModules; home-manager.sharedModules = hmModules;
home-manager.extraSpecialArgs = args; home-manager.extraSpecialArgs = args;

View file

@ -22,7 +22,6 @@ let
]); ]);
in in
{ {
programs = { programs = {
alacritty = { alacritty = {
enable = true; enable = true;
@ -34,17 +33,18 @@ in
}; };
}; };
}; };
bash = {
enable = true;
enableVteIntegration = true;
};
btop.enable = true;
direnv.enable = true;
rbw = { fd.enable = true;
fzf.enable = true;
lsd = {
enable = true; enable = true;
settings = { enableAliases = true;
base_url = "https://bw.vlt81.de";
email = "tristandruyen@vault81.de";
};
};
starship = {
enable = true;
package = pkgs.starship;
}; };
fish = { fish = {
@ -53,11 +53,16 @@ in
interactiveShellInit = '' interactiveShellInit = ''
any-nix-shell fish --info-right | source any-nix-shell fish --info-right | source
direnv hook fish | source function starship_transient_rprompt_func
set width "$(calc "($(tput cols)-12)/2")"
echo -n " <"
string repeat -n$width
echo -n " "
starship module time
end
cat /var/lib/rust-motd/motd cat /var/lib/rust-motd/motd
''; '';
loginShellInit = '' loginShellInit = ''
direnv hook fish | source
''; '';
functions = { functions = {
@ -99,10 +104,120 @@ in
package = pkgs.git; package = pkgs.git;
}; };
lazygit.enable = true;
nix-index = { nix-index = {
enable = true; enable = true;
enableFishIntegration = true; enableFishIntegration = true;
}; };
pandoc.enable = true;
rbw = {
enable = true;
settings = {
base_url = "https://bw.vlt81.de";
email = "tristandruyen@vault81.de";
};
};
starship = {
enable = true;
package = pkgs.starship;
enableTransience = true;
settings = {
format = lib.concatStrings [
"$username"
"$hostname"
"$localip"
"$directory"
"$vcsh"
"$fossil_branch"
"$fossil_metrics"
"$git_branch"
"$git_commit"
"$git_state"
"$git_metrics"
"$git_status"
"$docker_context"
"$package"
"$c"
"$cmake"
"$cobol"
"$daml"
"$dart"
"$deno"
"$dotnet"
"$elixir"
"$elm"
"$erlang"
"$fennel"
"$gleam"
"$golang"
"$haskell"
"$haxe"
"$helm"
"$java"
"$julia"
"$kotlin"
"$lua"
"$nim"
"$nodejs"
"$ocaml"
"$opa"
"$perl"
"$php"
"$python"
"$rlang"
"$red"
"$ruby"
"$rust"
"$scala"
"$solidity"
"$swift"
"$terraform"
"$typst"
"$vlang"
"$vagrant"
"$zig"
"$buf"
"$nix_shell"
"$conda"
"$spack"
"$memory_usage"
"$aws"
"$gcloud"
"$openstack"
"$azure"
"$nats"
"$direnv"
"$env_var"
"$crystal"
"$custom"
"$sudo"
"$cmd_duration"
"$line_break"
"$jobs"
"$battery"
"$status"
"$os"
"$container"
"$shell"
"$shlvl"
"$character"
];
direnv.disabled = false;
memory_usage.disabled = false;
shlvl = {
disabled = false;
format = "[$symbol]($style)";
repeat = true;
symbol = "";
repeat_offset = 2;
threshold = 0;
};
time.disabled = false;
};
};
ssh = { ssh = {
enable = true; enable = true;
@ -130,17 +245,20 @@ in
}; };
}; };
gpg = { gpg.enable = true;
enable = true;
package = pkgs.gnupg; ripgrep = {
enable = true;
package = pkgs.ripgrep.override { withPCRE2 = true; };
}; };
zoxide = { zellij = {
enable = true; enable = true;
enableFishIntegration = true;
package = pkgs.zoxide; enableBashIntegration = true;
}; };
zoxide.enable = true;
}; };
services = { services = {
@ -180,6 +298,8 @@ in
sessionVariables = { sessionVariables = {
TERMINAL = "alacritty"; TERMINAL = "alacritty";
ZELLIJ_AUTO_EXIT = "true";
ZELLIJ_AUTO_ATTACH = "true";
}; };
packages = with pkgs; [ packages = with pkgs; [
@ -193,26 +313,21 @@ in
aspellDicts.en-science aspellDicts.en-science
aspellDicts.de aspellDicts.de
binutils binutils
btop
calc calc
cmake cmake
curl curl
direnv
exercism exercism
filezilla filezilla
fd
gnutls gnutls
gnumake gnumake
gcc gcc
imagemagick imagemagick
imagemagick
libtool libtool
neofetch neofetch
nil nil
nixpkgs-fmt nixpkgs-fmt
nodejs_20 nodejs_20
tree tree
pandoc
python312Full python312Full
python312Packages.epc python312Packages.epc
python312Packages.orjson python312Packages.orjson
@ -220,7 +335,6 @@ in
rcm rcm
(lib.mkIf config.services.gpg-agent.enable (lib.mkIf config.services.gpg-agent.enable
pinentry-emacs) pinentry-emacs)
(ripgrep.override { withPCRE2 = true; })
shellcheck shellcheck
shfmt shfmt
statix statix
@ -230,11 +344,9 @@ in
wget wget
wl-clipboard wl-clipboard
zeal zeal
zellij
zstd zstd
neovim neovim
lazydocker lazydocker
lazygit
]; ];
}; };
} }

View file

@ -0,0 +1,12 @@
{
nix = {
settings = {
substituters = [
"https://nixcache.vlt81.de"
];
trusted-public-keys = [
"nixcache.vlt81.de:nw0FfUpePtL6P3IMNT9X6oln0Wg9REZINtkkI9SisqQ="
];
};
};
}

View file

@ -14,7 +14,9 @@
options = "--delete-older-than 2w"; options = "--delete-older-than 2w";
randomizedDelaySec = "45min"; randomizedDelaySec = "45min";
}; };
settings.auto-optimise-store = true; settings = {
auto-optimise-store = true;
};
package = pkgs.nixFlakes; package = pkgs.nixFlakes;
extraOptions = '' extraOptions = ''
experimental-features = nix-command flakes experimental-features = nix-command flakes

View file

@ -25,26 +25,39 @@
./disks.nix ./disks.nix
]; ];
security.sudo-rs.wheelNeedsPassword = lib.mkForce true; security.sudo-rs.wheelNeedsPassword = lib.mkForce true; # unneded due to fp sensor
# Power mgmt
services.power-profiles-daemon.enable = true; services.power-profiles-daemon.enable = true;
powerManagement.powertop.enable = true; powerManagement.powertop.enable = true;
programs.corectrl.gpuOverclock.enable = lib.mkForce false; # TODO Check if needed programs.corectrl.gpuOverclock.enable = lib.mkForce false; # TODO Check if needed
####
nix.settings.system-features = [
"benchmark"
"big-parallel"
"kvm"
"nixos-test"
"gccarch-znver4"
];
chaotic = {
scx = {
enable = true;
scheduler = "scx_rusty";
package = pkgs.scx;
};
nyx = {
overlay.enable = true;
overlay.onTopOf = "user-pkgs";
overlay.flakeNixpkgs.config = pkgs.config;
};
};
# nix.settings.system-features = [
# "benchmark"
# "big-parallel"
# "kvm"
# "nixos-test"
# "gccarch-x86-64-v3"
# "gccarch-znver2"
# ];
boot = { boot = {
# kernelPackages = pkgs.pkgsx86_64_v3.linuxPackages_cachyos; # TODO Switch to x86_64_v4 ? # kernelPackages = pkgs.linuxPackages_cachyos; # bootstrap
kernelPackages = pkgs.linuxPackages_cachyos; kernelPackages = pkgs.pkgsAMD64Microarchs.znver4.linuxPackages_cachyos; # TODO see above, include into module
kernelPatches = [ ]; kernelPatches = [ ];
kernelParams = [ kernelParams = [
# "systemd.unit=emergency.target" # "systemd.unit=emergency.target"