From e4b87c6908442b1d38a6819703f2d88b7da68b68 Mon Sep 17 00:00:00 2001 From: m3tam3re Date: Tue, 28 Jan 2025 09:57:26 +0100 Subject: [PATCH] rocblas workaround --- flake.lock | 18 ++-- flake.nix | 2 +- home/features/desktop/coding.nix | 131 +++++++++++++++----------- home/m3tam3re/m3-ares.nix | 13 +-- home/m3tam3re/m3-kratos.nix | 5 +- hosts/common/extraServices/ollama.nix | 5 + overlays/default.nix | 2 +- 7 files changed, 100 insertions(+), 76 deletions(-) diff --git a/flake.lock b/flake.lock index 1e48aac..b9d6401 100644 --- a/flake.lock +++ b/flake.lock @@ -221,29 +221,29 @@ "type": "github" } }, - "nixpkgs-b69de56": { + "nixpkgs-d016996": { "locked": { - "lastModified": 1728538411, - "narHash": "sha256-f0SBJz1eZ2yOuKUr5CA9BHULGXVSn6miBuUWdTyhUhU=", + "lastModified": 1737074211, + "narHash": "sha256-BdTeiNTc1DUiEcKhmjjuJ54KRv+8UzyTqRl7QS64AMI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b69de56fac8c2b6f8fd27f2eca01dcda8e0a4221", + "rev": "d0169965cf1ce1cd68e50a63eabff7c8b8959743", "type": "github" }, "original": { "owner": "nixos", "repo": "nixpkgs", - "rev": "b69de56fac8c2b6f8fd27f2eca01dcda8e0a4221", + "rev": "d0169965cf1ce1cd68e50a63eabff7c8b8959743", "type": "github" } }, "nixpkgs-master": { "locked": { - "lastModified": 1738039266, - "narHash": "sha256-/cOXy6HEn+0uj3qQgrsEk/tV6Sf/w907ZuF+VjJbIUo=", + "lastModified": 1738054107, + "narHash": "sha256-7c6saLnHl63aTrzMbxtdYpGH7Pj7rmnibTr2uVvuJC0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "12fbfbc565353ddf1d4628aa8e5074c376dd38ec", + "rev": "a8a8c516eb47ae0005baab36d7a75fe3bc21eeef", "type": "github" }, "original": { @@ -325,7 +325,7 @@ "home-manager": "home-manager_2", "hyprpanel": "hyprpanel", "nixpkgs": "nixpkgs_3", - "nixpkgs-b69de56": "nixpkgs-b69de56", + "nixpkgs-d016996": "nixpkgs-d016996", "nixpkgs-master": "nixpkgs-master", "nixpkgs-stable": "nixpkgs-stable", "rose-pine-hyprcursor": "rose-pine-hyprcursor" diff --git a/flake.nix b/flake.nix index 299aa9f..ae68b46 100644 --- a/flake.nix +++ b/flake.nix @@ -17,7 +17,7 @@ }; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11"; - nixpkgs-b69de56.url = "github:nixos/nixpkgs/b69de56fac8c2b6f8fd27f2eca01dcda8e0a4221"; + nixpkgs-d016996.url = "github:nixos/nixpkgs/d0169965cf1ce1cd68e50a63eabff7c8b8959743"; nixpkgs-master.url = "github:nixos/nixpkgs/master"; agenix.url = "github:ryantm/agenix"; diff --git a/home/features/desktop/coding.nix b/home/features/desktop/coding.nix index 2ff70e6..7f16f14 100644 --- a/home/features/desktop/coding.nix +++ b/home/features/desktop/coding.nix @@ -1,67 +1,84 @@ -{pkgs, ...}: { - home.packages = with pkgs; [bruno insomnia]; - programs.zed-editor = { - enable = true; - userSettings = { - features = { - copilot = false; - }; - telemetry = { - metrics = false; - }; - lsp = { - rust_analyzer = { - binary = {path_lookup = true;}; +{ + config, + lib, + pkgs, + ... +}: +with lib; let + cfg = config.features.desktop.office; +in { + options.features.desktop.coding.enable = + mkEnableOption "install coding related stuff"; + + config = mkIf cfg.enable { + home.packages = with pkgs; [ + bruno + insomnia + ]; + + programs.zed-editor = { + enable = true; + userSettings = { + features = { + copilot = false; }; - }; - languages = { - Nix = { - language_servers = ["nixd"]; - formatter = { - external = { - command = "alejandra"; - arguments = ["-q" "-"]; + telemetry = { + metrics = false; + }; + lsp = { + rust_analyzer = { + binary = {path_lookup = true;}; + }; + }; + languages = { + Nix = { + language_servers = ["nixd"]; + formatter = { + external = { + command = "alejandra"; + arguments = ["-q" "-"]; + }; + }; + }; + Python = { + language_servers = ["pyright"]; + formatter = { + external = { + command = "black"; + arguments = ["-"]; + }; }; }; }; - Python = { - language_servers = ["pyright"]; - formatter = { - external = { - command = "black"; - arguments = ["-"]; - }; + assistant = { + version = "2"; + default_model = { + provider = "zed.dev"; + model = "claude-3-5-sonnet-latest"; }; }; + language_models = { + anthropic = { + version = "1"; + api_url = "https://api.anthropic.com"; + }; + openai = { + version = "1"; + api_url = "https://api.openai.com/v1"; + }; + ollama = { + api_url = "http://localhost:11434"; + }; + }; + auto_update = false; + format_on_save = "on"; + vim_mode = true; + load_direnv = "shell_hook"; + theme = "Dracula"; + buffer_font_family = "FiraCode Nerd Font"; + ui_font_size = 16; + buffer_font_size = 16; }; - assistant = { - version = "2"; - default_model = { - provider = "zed.dev"; - model = "claude-3-5-sonnet-latest"; - }; - }; - language_models = { - anthropic = { - version = "1"; - api_url = "https://api.anthropic.com"; - }; - openai = { - version = "1"; - api_url = "https://api.openai.com/v1"; - }; - ollama = { - api_url = "http://localhost:11434"; - }; - }; - auto_update = false; - format_on_save = "on"; - vim_mode = true; - load_direnv = "shell_hook"; - theme = "Dracula"; - buffer_font_family = "FiraCode Nerd Font"; - ui_font_size = 16; - buffer_font_size = 16; }; }; } diff --git a/home/m3tam3re/m3-ares.nix b/home/m3tam3re/m3-ares.nix index d921479..d491f3b 100644 --- a/home/m3tam3re/m3-ares.nix +++ b/home/m3tam3re/m3-ares.nix @@ -31,16 +31,16 @@ in { associations.added = { "application/zip" = ["org.gnome.FileRoller.desktop"]; "application/csv" = ["calc.desktop"]; - "application/pdf" = ["okularApplication_pdf.desktop"]; + "application/pdf" = ["io.github.zen_browser.zen.desktop"]; "x-scheme-handler/http" = ["io.github.zen_browser.zen.desktop"]; "x-scheme-handler/https" = ["io.github.zen_browser.zen.desktop"]; }; defaultApplications = { "application/zip" = ["org.gnome.FileRoller.desktop"]; "application/csv" = ["calc.desktop"]; - "application/pdf" = ["okularApplication_pdf.desktop"]; - "application/md" = ["nvim.desktop"]; - "application/text" = ["nvim.desktop"]; + "application/pdf" = ["io.github.zen_browser.zen.desktop"]; + "application/md" = ["dev.zed.Zed.desktop"]; + "application/text" = ["dev.zed.Zed.desktop"]; "x-scheme-handler/http" = ["io.github.zen_browser.zen.desktop"]; "x-scheme-handler/https" = ["io.github.zen_browser.zen.desktop"]; }; @@ -55,6 +55,7 @@ in { starship.enable = true; }; desktop = { + coding.enable = true; gaming.enable = true; hyprland.enable = true; media.enable = true; @@ -79,7 +80,7 @@ in { "2, monitor:DP-1" "3, monitor:DP-1" "4, monitor:DP-2" - "5, monitor:DP-1" + "5, monitor:DP-2" "6, monitor:DP-2" "7, monitor:DP-2" ]; @@ -88,7 +89,7 @@ in { "workspace 1,class:dev.zed.Zed" "workspace 2,class:(com.obsproject.Studio)" "workspace 4,opacity 1.0, class:(chromium-browser)" - "workspace 4,opacity 1.0, class:(zen-alpha)" + "workspace 4,opacity 1.0, class:(zen)" ]; }; }; diff --git a/home/m3tam3re/m3-kratos.nix b/home/m3tam3re/m3-kratos.nix index 129b712..6c03515 100644 --- a/home/m3tam3re/m3-kratos.nix +++ b/home/m3tam3re/m3-kratos.nix @@ -55,6 +55,7 @@ in { starship.enable = true; }; desktop = { + coding.enable = true; gaming.enable = true; hyprland.enable = true; media.enable = true; @@ -79,7 +80,7 @@ in { "2, monitor:DP-1" "3, monitor:DP-1" "4, monitor:DP-2" - "5, monitor:DP-1" + "5, monitor:DP-2" "6, monitor:DP-2" "7, monitor:DP-2" ]; @@ -88,7 +89,7 @@ in { "workspace 1,class:dev.zed.Zed" "workspace 2,class:(com.obsproject.Studio)" "workspace 4,opacity 1.0, class:(chromium-browser)" - "workspace 4,opacity 1.0, class:(zen-alpha)" + "workspace 4,opacity 1.0, class:(zen)" ]; }; }; diff --git a/hosts/common/extraServices/ollama.nix b/hosts/common/extraServices/ollama.nix index cced6d3..7c3c76a 100644 --- a/hosts/common/extraServices/ollama.nix +++ b/hosts/common/extraServices/ollama.nix @@ -1,6 +1,7 @@ { config, lib, + pkgs, ... }: with lib; let @@ -11,6 +12,10 @@ in { config = mkIf cfg.enable { services.ollama = { enable = true; + package = + if config.services.xserver.videoDrivers == ["amdgpu"] # rocblas-6.0.2 broken + then pkgs.pinned.ollama + else null; acceleration = if config.services.xserver.videoDrivers == ["amdgpu"] then "rocm" diff --git a/overlays/default.nix b/overlays/default.nix index 71985a2..4f056a5 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -29,7 +29,7 @@ }; pinned-packages = final: _prev: { - pinned = import inputs.nixpkgs-b69de56 { + pinned = import inputs.nixpkgs-d016996 { system = final.system; config.allowUnfree = true; };