From c569cb3ac5f2262b8b35cd49c4c6d2279a007647 Mon Sep 17 00:00:00 2001 From: "info@data-pro.nu" Date: Fri, 27 Mar 2026 08:18:37 +0000 Subject: [PATCH] Regenerated --- Droidnix/Prompt | 107 ++++++++++++++---- Droidnix/README.org | 6 +- Droidnix/flake.lock | 38 +++++++ .../modules/traveldroid/apps/emacs/emacs.nix | 6 +- 4 files changed, 133 insertions(+), 24 deletions(-) diff --git a/Droidnix/Prompt b/Droidnix/Prompt index 4c99c3b87..4d1228470 100644 --- a/Droidnix/Prompt +++ b/Droidnix/Prompt @@ -1,38 +1,91 @@ -Rewrite my ./generated/modules/traveldroid/system/bluetooth.nix to integrate nicely with my existing flake.nix en host.nix +Rewrite my ./generated/modules/traveldroid/apps/emax.nix to integrate nicely with my existing flake.nix en host.nix +This version does not install emacs Avoid infinite recursion Just look at how to rewrite this, ignore previous interactions around this nix. -Solve the error. That is really important. Look at hyprland.nix to see how to avoid the home error ------------------------------------------------------------------------ -{ config, pkgs, ... }: +{ lib, pkgs, flakeRoot, home-manager, config, ... }: -{ - ############################ - # Bluetooth hardware - ############################ - hardware.bluetooth = { - enable = true; # turn on the daemon - powerOnBoot = true; # auto-power on - package = pkgs.bluez; # singular, not a list - }; +let + username = config.defaultUser or "henrov"; - ############################ - # GUI Bluetooth manager - ############################ - environment.systemPackages = with pkgs; [ - blueman # graphical Bluetooth manager + emacsPkg = pkgs.emacs-pgtk.override { withTreeSitter = true; }; + + emacsExtraPackages = epkgs: [ + epkgs.manualPackages.treesit-grammars.with-all-grammars + epkgs.nerd-icons + epkgs.doom-modeline + epkgs.diminish + epkgs.eldoc + epkgs.pulsar + epkgs.which-key + epkgs.expreg + epkgs.vundo + epkgs.puni + epkgs.avy + epkgs.consult + epkgs.vertico + epkgs.marginalia + epkgs.crux + epkgs.magit + epkgs.nerd-icons-corfu + epkgs.corfu + epkgs.cape + epkgs.orderless + epkgs.yasnippet + epkgs.yasnippet-snippets + epkgs.rg + epkgs.exec-path-from-shell + epkgs.eat + epkgs.rust-mode + epkgs.rustic + epkgs.nix-mode + epkgs.hcl-mode + epkgs.shell-pop + epkgs.envrc + epkgs.nixpkgs-fmt + epkgs.f + epkgs.gptel + epkgs.catppuccin-theme + epkgs.eldoc-box + epkgs.sideline + epkgs.sideline-flymake + epkgs.sideline-eglot ]; - ############################ - # PipeWire for Bluetooth audio - ############################ - # services.pipewire.enable = true; + # Emacs config files + earlyInitFile = "${flakeRoot}/generated/.config/emacs/early-init.el"; + initFile = "${flakeRoot}/generated/.config/emacs/init.el"; + +in +{ + _module.args.hmUsers = { + ${username} = { + + home.sessionVariables = { + EDITOR = "emacs"; + XDG_SCREENSHOTS_DIR = "~/screenshots"; + }; + + programs.emacs = { + enable = true; + package = emacsPkg; + extraPackages = emacsExtraPackages; + }; + + home.file = { + ".emacs.d/early-init.el" = { source = earlyInitFile; }; + ".emacs.d/init.el" = { source = initFile; }; + }; + }; + }; } + ------------------------------------------------------------------------ flake.nix @@ -55,6 +108,11 @@ flake.nix inputs.nixpkgs.follows = "nixpkgs"; }; + emacs-overlay = { + url = "github:nix-community/emacs-overlay"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + zen-browser = { url = "github:youwen5/zen-browser-flake"; inputs.nixpkgs.follows = "nixpkgs"; @@ -63,7 +121,7 @@ flake.nix hyprland.url = "github:hyprwm/Hyprland"; }; - outputs = { self, nixpkgs, home-manager, import-tree, stylix, hyprland, zen-browser, ... }: + outputs = { self, nixpkgs, home-manager, import-tree, stylix, hyprland, emacs-overlay, zen-browser, ... }: let system = "x86_64-linux"; flakeRoot = self; @@ -73,7 +131,11 @@ flake.nix inherit system; modules = [ + ({ ... }: { + nixpkgs.overlays = [ emacs-overlay.overlays.default ]; + }) ./generated/hosts/traveldroid/host.nix + ]; specialArgs = { @@ -85,6 +147,7 @@ flake.nix }; } + ------------------------------------------------------------------------ host.nix diff --git a/Droidnix/README.org b/Droidnix/README.org index b491fa84e..0256e3048 100644 --- a/Droidnix/README.org +++ b/Droidnix/README.org @@ -1201,13 +1201,15 @@ fi ** =generated/modules/traveldroid/apps/emacs/emacs.nix= This installs emacs #+BEGIN_SRC nix :tangle generated/modules/traveldroid/apps/emacs/emacs.nix :noweb tangle :mkdirp yes -{ lib, pkgs, flakeRoot, home-manager, config, ... }: +{ lib, pkgs, flakeRoot, home-manager, ... }: let username = config.defaultUser or "henrov"; + # Emacs package with Tree-sitter support emacsPkg = pkgs.emacs-pgtk.override { withTreeSitter = true; }; + # Extra packages for Emacs via Home Manager emacsExtraPackages = epkgs: [ epkgs.manualPackages.treesit-grammars.with-all-grammars epkgs.nerd-icons @@ -1256,8 +1258,10 @@ let in { + # Home Manager user configuration _module.args.hmUsers = { ${username} = { + home.packages = [ emacsPkg ]; home.sessionVariables = { EDITOR = "emacs"; diff --git a/Droidnix/flake.lock b/Droidnix/flake.lock index 34841f4a2..18abb47b2 100644 --- a/Droidnix/flake.lock +++ b/Droidnix/flake.lock @@ -101,6 +101,27 @@ "type": "github" } }, + "emacs-overlay": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ], + "nixpkgs-stable": "nixpkgs-stable" + }, + "locked": { + "lastModified": 1774577696, + "narHash": "sha256-8ZXYqauyfGM9VO88hVwfNTYrrXhVx/H0cBBeStSIT5A=", + "owner": "nix-community", + "repo": "emacs-overlay", + "rev": "f3141a658f22d6e5e8b4f85811d7612f32a09a9d", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "emacs-overlay", + "type": "github" + } + }, "firefox-gnome-theme": { "flake": false, "locked": { @@ -581,6 +602,22 @@ "type": "github" } }, + "nixpkgs-stable": { + "locked": { + "lastModified": 1774388614, + "narHash": "sha256-tFwzTI0DdDzovdE9+Ras6CUss0yn8P9XV4Ja6RjA+nU=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1073dad219cb244572b74da2b20c7fe39cb3fa9e", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-25.11", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs_2": { "locked": { "lastModified": 1774106199, @@ -647,6 +684,7 @@ }, "root": { "inputs": { + "emacs-overlay": "emacs-overlay", "home-manager": "home-manager", "hyprland": "hyprland", "import-tree": "import-tree", diff --git a/Droidnix/generated/modules/traveldroid/apps/emacs/emacs.nix b/Droidnix/generated/modules/traveldroid/apps/emacs/emacs.nix index b54b17cd3..bf9a706e5 100644 --- a/Droidnix/generated/modules/traveldroid/apps/emacs/emacs.nix +++ b/Droidnix/generated/modules/traveldroid/apps/emacs/emacs.nix @@ -1,10 +1,12 @@ -{ lib, pkgs, flakeRoot, home-manager, config, ... }: +{ lib, pkgs, flakeRoot, home-manager, ... }: let username = config.defaultUser or "henrov"; + # Emacs package with Tree-sitter support emacsPkg = pkgs.emacs-pgtk.override { withTreeSitter = true; }; + # Extra packages for Emacs via Home Manager emacsExtraPackages = epkgs: [ epkgs.manualPackages.treesit-grammars.with-all-grammars epkgs.nerd-icons @@ -53,8 +55,10 @@ let in { + # Home Manager user configuration _module.args.hmUsers = { ${username} = { + home.packages = [ emacsPkg ]; home.sessionVariables = { EDITOR = "emacs";