From eb3363dc69f2cd78c398fce9892a78f207f38d19 Mon Sep 17 00:00:00 2001 From: Tristan Druyen Date: Tue, 9 Jul 2024 16:40:07 +0200 Subject: [PATCH] Add hm programs, migrate to znver4 kernel & add sched_ext --- flake.nix | 26 ++--- home-mods/shell/default.nix | 166 ++++++++++++++++++++++++++------ os-mods/cachix/caches/vlt81.nix | 12 +++ os-mods/common/default.nix | 4 +- systems/nixos-fw16/default.nix | 39 +++++--- 5 files changed, 194 insertions(+), 53 deletions(-) create mode 100644 os-mods/cachix/caches/vlt81.nix diff --git a/flake.nix b/flake.nix index d9a5623..23e5233 100644 --- a/flake.nix +++ b/flake.nix @@ -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; diff --git a/home-mods/shell/default.nix b/home-mods/shell/default.nix index 76f0498..cbbd767 100644 --- a/home-mods/shell/default.nix +++ b/home-mods/shell/default.nix @@ -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 ]; }; } diff --git a/os-mods/cachix/caches/vlt81.nix b/os-mods/cachix/caches/vlt81.nix new file mode 100644 index 0000000..240011b --- /dev/null +++ b/os-mods/cachix/caches/vlt81.nix @@ -0,0 +1,12 @@ +{ + nix = { + settings = { + substituters = [ + "https://nixcache.vlt81.de" + ]; + trusted-public-keys = [ + "nixcache.vlt81.de:nw0FfUpePtL6P3IMNT9X6oln0Wg9REZINtkkI9SisqQ=" + ]; + }; + }; +} diff --git a/os-mods/common/default.nix b/os-mods/common/default.nix index 127d938..7858c03 100644 --- a/os-mods/common/default.nix +++ b/os-mods/common/default.nix @@ -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 diff --git a/systems/nixos-fw16/default.nix b/systems/nixos-fw16/default.nix index 23b017c..2ec3cb5 100644 --- a/systems/nixos-fw16/default.nix +++ b/systems/nixos-fw16/default.nix @@ -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"