From 4aca1f47e34596b7f605adf0d42048a171a1acd5 Mon Sep 17 00:00:00 2001 From: Jonas Hahn Date: Wed, 24 Sep 2025 19:04:35 +0200 Subject: [PATCH] Add garbage collection for better disk management --- hosts/minoxy-workstation/configuration.nix | 1 + modules/essential.nix | 72 ++++++++++------------ modules/hardware/nvidia.nix | 10 +-- 3 files changed, 39 insertions(+), 44 deletions(-) diff --git a/hosts/minoxy-workstation/configuration.nix b/hosts/minoxy-workstation/configuration.nix index 1f27220..b22b3a3 100644 --- a/hosts/minoxy-workstation/configuration.nix +++ b/hosts/minoxy-workstation/configuration.nix @@ -20,6 +20,7 @@ ]; networking.hostName = "minoxy"; + enableCuda = true; systemd.targets.sleep.enable = true; systemd.targets.suspend.enable = true; diff --git a/modules/essential.nix b/modules/essential.nix index b730c7b..ce416dd 100644 --- a/modules/essential.nix +++ b/modules/essential.nix @@ -1,54 +1,46 @@ { pkgs, ... }: { - # Basic services - services.locate.enable = true; - services.openssh.enable = true; + # Basic services + services.locate.enable = true; + services.openssh.enable = true; - # Nix fun - nixpkgs.config.allowUnfree = true; - nix.settings.experimental-features = ["flakes" "nix-command"]; + # Nix fun + nixpkgs.config.allowUnfree = true; + nix.settings.experimental-features = [ "flakes" "nix-command" ]; - time.timeZone = "Europe/Berlin"; - programs.nix-ld.enable = true; # Linking support + time.timeZone = "Europe/Berlin"; + programs.nix-ld.enable = true; # Linking support # For local domains in link locals and other goods services.avahi.enable = true; services.avahi.nssmdns4 = true; - environment = { - systemPackages = with pkgs; [ - git - starship - zoxide - rsync - ]; - }; + environment = { systemPackages = with pkgs; [ git starship zoxide rsync ]; }; - networking = { - networkmanager = { - enable = true; - }; - }; + nix.optimise.automatic = true; - i18n.defaultLocale = "en_US.UTF-8"; - console = { - font = "Lat2-Terminus16"; - keyMap = "us"; - }; + nix.gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 14d"; # Two weeks cache then forget + }; - programs.zsh = { - enable = true; - autosuggestions.enable = true; - ohMyZsh = { - enable = true; - plugins = [ - "history-substring-search" - "git" - "zoxide" - "vi-mode" - "systemadmin" - ]; - }; - }; + networking = { networkmanager = { enable = true; }; }; + + i18n.defaultLocale = "en_US.UTF-8"; + console = { + font = "Lat2-Terminus16"; + keyMap = "us"; + }; + + programs.zsh = { + enable = true; + autosuggestions.enable = true; + ohMyZsh = { + enable = true; + plugins = + [ "history-substring-search" "git" "zoxide" "vi-mode" "systemadmin" ]; + }; + }; } diff --git a/modules/hardware/nvidia.nix b/modules/hardware/nvidia.nix index bf5e7f8..aceef4c 100644 --- a/modules/hardware/nvidia.nix +++ b/modules/hardware/nvidia.nix @@ -31,12 +31,14 @@ in { }; # Apply CUDA-specific settings if enabled - nixpkgs.config.cudaSupport = config.enableCuda; + # Dont do all as this has ridiculous high build times + #nixpkgs.config.cudaSupport = config.enableCuda; hardware.enableAllFirmware = config.enableCuda; - environment.systemPackages = (if config.enableCuda then - [ (pkgs.blender.override { cudaSupport = true; }) ] - else + environment.systemPackages = (if config.enableCuda then [ + (pkgs.blender.override { cudaSupport = true; }) + (pkgs.ollama.override { acceleration = "cuda"; }) + ] else [ ]); }; }