diff --git a/flake.lock b/flake.lock index 3891fe3b..df572d1b 100644 --- a/flake.lock +++ b/flake.lock @@ -449,6 +449,28 @@ "type": "github" } }, + "helix": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ], + "rust-overlay": "rust-overlay_2" + }, + "locked": { + "lastModified": 1763684023, + "narHash": "sha256-qqs3d78CjGiU/6kebCLnrZZ5RSe3d89dDNnWohYooII=", + "owner": "mattwparas", + "repo": "helix", + "rev": "9044221322996b579c75bc1733f55da27301ad05", + "type": "github" + }, + "original": { + "owner": "mattwparas", + "ref": "steel-event-system", + "repo": "helix", + "type": "github" + } + }, "hercules-ci-effects": { "inputs": { "flake-parts": [ @@ -525,7 +547,7 @@ "nixpkgs" ], "pre-commit-hooks-nix": "pre-commit-hooks-nix", - "rust-overlay": "rust-overlay_2" + "rust-overlay": "rust-overlay_3" }, "locked": { "lastModified": 1762205063, @@ -959,7 +981,7 @@ "nixpkgs": [ "nixpkgs" ], - "rust-overlay": "rust-overlay_3" + "rust-overlay": "rust-overlay_4" }, "locked": { "lastModified": 1731006591, @@ -1068,6 +1090,7 @@ "disko": "disko", "ghostty": "ghostty", "haumea": "haumea", + "helix": "helix", "home-manager": "home-manager_2", "lanzaboote": "lanzaboote", "my-asahi-firmware": "my-asahi-firmware", @@ -1110,6 +1133,27 @@ } }, "rust-overlay_2": { + "inputs": { + "nixpkgs": [ + "helix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1759631821, + "narHash": "sha256-V8A1L0FaU/aSXZ1QNJScxC12uP4hANeRBgI4YdhHeRM=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "1d7cbdaad90f8a5255a89a6eddd8af24dc89cafe", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "rust-overlay_3": { "inputs": { "nixpkgs": [ "lanzaboote", @@ -1130,7 +1174,7 @@ "type": "github" } }, - "rust-overlay_3": { + "rust-overlay_4": { "inputs": { "flake-utils": "flake-utils_2", "nixpkgs": [ diff --git a/flake.nix b/flake.nix index e0f8b524..5c440a76 100644 --- a/flake.nix +++ b/flake.nix @@ -143,6 +143,13 @@ niri.url = "github:sodiboo/niri-flake"; + helix = { + # Helix with steel as plugin system + # https://github.com/helix-editor/helix/pull/8675 + url = "github:mattwparas/helix/steel-event-system"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + # -------------- Gaming --------------------- nix-gaming = { diff --git a/home/base/core/editors/helix/default.nix b/home/base/core/editors/helix/default.nix index 32640c68..5a1d9194 100644 --- a/home/base/core/editors/helix/default.nix +++ b/home/base/core/editors/helix/default.nix @@ -1,6 +1,4 @@ { pkgs, ... }: { - programs.helix = { - enable = true; - }; + programs.helix.enable = true; } diff --git a/home/base/gui/terminal/ghostty.nix b/home/base/gui/terminal/ghostty.nix index d86dee36..1825d051 100644 --- a/home/base/gui/terminal/ghostty.nix +++ b/home/base/gui/terminal/ghostty.nix @@ -16,7 +16,7 @@ pkgs.hello # pkgs.ghostty is currently broken on darwin else pkgs.ghostty; # the stable version - # package = ghostty.packages.${pkgs.system}.default; # the latest version + # package = ghostty.packages.${pkgs.stdenv.hostPlatform.system}.default; # the latest version enableBashIntegration = false; installBatSyntax = false; # installVimSyntax = true; diff --git a/home/base/tui/editors/helix/default.nix b/home/base/tui/editors/helix/default.nix index 9b822747..8319476d 100644 --- a/home/base/tui/editors/helix/default.nix +++ b/home/base/tui/editors/helix/default.nix @@ -1,8 +1,20 @@ -{ pkgs, ... }: +{ pkgs, helix, ... }: + +let + helixPackages = helix.packages.${pkgs.stdenv.hostPlatform.system}; +in { + home.packages = with pkgs; [ + steel + ]; + programs.helix = { enable = true; - package = pkgs.helix; + # https://github.com/helix-editor/helix/pull/8675 + package = helixPackages.default.overrideAttrs (prevAttrs: { + # enable steel as the plugin system + cargoBuildFeatures = prevAttrs.cargoBuildFeatures or [ ] ++ [ "steel" ]; + }); settings = { editor = { line-number = "relative"; diff --git a/home/linux/gui/base/creative.nix b/home/linux/gui/base/creative.nix index 2ccdb2b4..b0651341 100644 --- a/home/linux/gui/base/creative.nix +++ b/home/linux/gui/base/creative.nix @@ -20,11 +20,11 @@ # aseprite # Animated sprite editor & pixel art tool # this app consumes a lot of storage, so do not install it currently - # kicad # 3d printing, eletrical engineering + # kicad # 3d printing, electrical engineering ] ++ (lib.optionals pkgs.stdenv.isx86_64 [ # https://github.com/edolstra/nix-warez/blob/master/blender/flake.nix - blender-bin.packages.${pkgs.system}.blender_4_2 # 3d modeling + blender-bin.packages.${pkgs.stdenv.hostPlatform.system}.blender_4_2 # 3d modeling ldtk # A modern, versatile 2D level editor @@ -33,7 +33,7 @@ # yosys # fpga synthesis # nextpnr # fpga place and route # openfpgaloader # fpga programming - # nur-ryan4yin.packages.${pkgs.system}.gowin-eda-edu-ide # app: `gowin-env` => `gw_ide` / `gw_pack` / ... + # nur-ryan4yin.packages.${pkgs.stdenv.hostPlatform.system}.gowin-eda-edu-ide # app: `gowin-env` => `gw_ide` / `gw_pack` / ... ]); programs = { diff --git a/home/linux/gui/base/desktop/anyrun.nix b/home/linux/gui/base/desktop/anyrun.nix index 27e984a9..87a2d009 100644 --- a/home/linux/gui/base/desktop/anyrun.nix +++ b/home/linux/gui/base/desktop/anyrun.nix @@ -5,7 +5,7 @@ }: let - anyrunPackages = anyrun.packages.${pkgs.system}; + anyrunPackages = anyrun.packages.${pkgs.stdenv.hostPlatform.system}; in { diff --git a/hosts/idols-aquamarine/gitea.nix b/hosts/idols-aquamarine/gitea.nix index 162257da..4b5aaba5 100644 --- a/hosts/idols-aquamarine/gitea.nix +++ b/hosts/idols-aquamarine/gitea.nix @@ -49,7 +49,7 @@ ENABLED = true; MAILER_TYPE = "sendmail"; FROM = "do-not-reply@writefor.fun"; - SENDMAIL_PATH = "${pkgs.system-sendmail}/bin/sendmail"; + SENDMAIL_PATH = "${pkgs.stdenv.hostPlatform.system-sendmail}/bin/sendmail"; }; other = { SHOW_FOOTER_VERSION = false; diff --git a/modules/nixos/desktop/virtualisation.nix b/modules/nixos/desktop/virtualisation.nix index 1d8abe8d..fee0b9e9 100644 --- a/modules/nixos/desktop/virtualisation.nix +++ b/modules/nixos/desktop/virtualisation.nix @@ -65,7 +65,7 @@ # https://github.com/casualsnek/waydroid_script # https://github.com/AtaraxiaSjel/nur/tree/master/pkgs/waydroid-script # https://wiki.archlinux.org/title/Waydroid#ARM_Apps_Incompatible - # nur-ataraxiasjel.packages.${pkgs.system}.waydroid-script + # nur-ataraxiasjel.packages.${pkgs.stdenv.hostPlatform.system}.waydroid-script # Need to add [File (in the menu bar) -> Add connection] when start for the first time # virt-manager diff --git a/secrets/darwin.nix b/secrets/darwin.nix index 8bfe964a..b406442c 100644 --- a/secrets/darwin.nix +++ b/secrets/darwin.nix @@ -18,7 +18,7 @@ }; environment.systemPackages = [ - agenix.packages."${pkgs.system}".default + agenix.packages."${pkgs.stdenv.hostPlatform.system}".default ]; # if you changed this key, you need to regenerate all encrypt files from the decrypt contents! diff --git a/secrets/nixos.nix b/secrets/nixos.nix index 4d07fcc5..71e90698 100644 --- a/secrets/nixos.nix +++ b/secrets/nixos.nix @@ -53,7 +53,7 @@ in config = mkIf (cfg.desktop.enable || enabledServerSecrets) (mkMerge [ { environment.systemPackages = [ - agenix.packages."${pkgs.system}".default + agenix.packages."${pkgs.stdenv.hostPlatform.system}".default ]; # if you changed this key, you need to regenerate all encrypt files from the decrypt contents!