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,18 +84,17 @@
inputs.nix-alien.overlays.default
inputs.nix-ld-rs.overlays.default
];
pkgs-args = {
inherit system overlays;
config = {
allowUnfree = true;
permittedInsecurePackages = [
# "electron-22.3.27"
# "electron-24.8.6"
# "electron-25.9.0"
];
};
config = {
allowUnfree = true;
permittedInsecurePackages = [
# "electron-22.3.27"
# "electron-24.8.6"
# "electron-25.9.0"
];
};
pkgs = import nixpkgs {
inherit config system overlays;
};
pkgs = import nixpkgs pkgs-args;
hmModules = [
nix-index-database.hmModules.nix-index
nur.hmModules.nur
@ -144,7 +143,10 @@
[
./systems/${host}
{
nixpkgs.pkgs = pkgs;
nixpkgs = {
inherit config system overlays;
};
# nixpkgs.pkgs = pkgs;
nix.registry.nixpkgs.flake = nixpkgs;
home-manager.sharedModules = hmModules;
home-manager.extraSpecialArgs = args;

View file

@ -22,7 +22,6 @@ let
]);
in
{
programs = {
alacritty = {
enable = true;
@ -34,17 +33,18 @@ in
};
};
};
rbw = {
bash = {
enable = true;
settings = {
base_url = "https://bw.vlt81.de";
email = "tristandruyen@vault81.de";
};
enableVteIntegration = true;
};
starship = {
btop.enable = true;
direnv.enable = true;
fd.enable = true;
fzf.enable = true;
lsd = {
enable = true;
package = pkgs.starship;
enableAliases = true;
};
fish = {
@ -52,12 +52,17 @@ in
package = pkgs.fish;
interactiveShellInit = ''
any-nix-shell fish --info-right | source
direnv hook fish | source
cat /var/lib/rust-motd/motd
any-nix-shell fish --info-right | 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
'';
loginShellInit = ''
direnv hook fish | source
'';
functions = {
@ -99,10 +104,120 @@ in
package = pkgs.git;
};
lazygit.enable = true;
nix-index = {
enable = 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 = {
enable = true;
@ -130,17 +245,20 @@ in
};
};
gpg = {
enable = true;
gpg.enable = true;
package = pkgs.gnupg;
ripgrep = {
enable = true;
package = pkgs.ripgrep.override { withPCRE2 = true; };
};
zoxide = {
zellij = {
enable = true;
package = pkgs.zoxide;
enableFishIntegration = true;
enableBashIntegration = true;
};
zoxide.enable = true;
};
services = {
@ -180,6 +298,8 @@ in
sessionVariables = {
TERMINAL = "alacritty";
ZELLIJ_AUTO_EXIT = "true";
ZELLIJ_AUTO_ATTACH = "true";
};
packages = with pkgs; [
@ -193,26 +313,21 @@ in
aspellDicts.en-science
aspellDicts.de
binutils
btop
calc
cmake
curl
direnv
exercism
filezilla
fd
gnutls
gnumake
gcc
imagemagick
imagemagick
libtool
neofetch
nil
nixpkgs-fmt
nodejs_20
tree
pandoc
python312Full
python312Packages.epc
python312Packages.orjson
@ -220,7 +335,6 @@ in
rcm
(lib.mkIf config.services.gpg-agent.enable
pinentry-emacs)
(ripgrep.override { withPCRE2 = true; })
shellcheck
shfmt
statix
@ -230,11 +344,9 @@ in
wget
wl-clipboard
zeal
zellij
zstd
neovim
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";
randomizedDelaySec = "45min";
};
settings.auto-optimise-store = true;
settings = {
auto-optimise-store = true;
};
package = pkgs.nixFlakes;
extraOptions = ''
experimental-features = nix-command flakes

View file

@ -25,26 +25,39 @@
./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;
powerManagement.powertop.enable = true;
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 = {
# kernelPackages = pkgs.pkgsx86_64_v3.linuxPackages_cachyos; # TODO Switch to x86_64_v4 ?
kernelPackages = pkgs.linuxPackages_cachyos;
# kernelPackages = pkgs.linuxPackages_cachyos; # bootstrap
kernelPackages = pkgs.pkgsAMD64Microarchs.znver4.linuxPackages_cachyos; # TODO see above, include into module
kernelPatches = [ ];
kernelParams = [
# "systemd.unit=emergency.target"