From 859d0203b2a8f7ec18f9c6a75755d148f59fda5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20R=C3=B6ger?= Date: Thu, 23 Oct 2025 16:46:12 +0200 Subject: [PATCH] Home Gen546 @ 2025-10-23-16:42 by jonas@comfy-station --- home/admin-jroeger.nix | 1 + home/jonas@comfy-station.nix | 15 +-------------- home/jonas@monolith.nix | 1 + modules/default.nix | 15 ++++++++------- modules/home/jj.nix | 36 ++++++++++++++++++++++++++++++++++++ modules/home/zsh/default.nix | 1 - 6 files changed, 47 insertions(+), 22 deletions(-) create mode 100644 modules/home/jj.nix diff --git a/home/admin-jroeger.nix b/home/admin-jroeger.nix index f759965..4c94469 100644 --- a/home/admin-jroeger.nix +++ b/home/admin-jroeger.nix @@ -18,6 +18,7 @@ hive.doom.withShellPkgs = true; hive.doom.withCXXPkgs = true; hive.doom.withPythonPkgs = true; + hive.jj.enable = true; # This value determines the Home Manager release that your configuration is # compatible with. This helps avoid breakage when a new Home Manager release diff --git a/home/jonas@comfy-station.nix b/home/jonas@comfy-station.nix index 65300b0..6dbdb48 100644 --- a/home/jonas@comfy-station.nix +++ b/home/jonas@comfy-station.nix @@ -1,6 +1,5 @@ { config, - pkgs, lib, ... }: { @@ -49,6 +48,7 @@ hive.doom.withNixPkgs = true; hive.doom.withShellPkgs = true; hive.doom.withPythonPkgs = true; + hive.jj.enable = true; # Make session variables available in systemd units # SEE: https://github.com/nix-community/home-manager/pull/5543 @@ -101,17 +101,4 @@ key = "4000EB35E1AE0F07"; }; }; - - programs.jujutsu = { - enable = true; - settings = { - user = { - name = config.programs.git.userName; - email = config.programs.git.userEmail; - }; - ui = { - diff-formatter = ["${pkgs.difftastic}/bin/difft" "--color=always" "$left" "$right"]; - }; - }; - }; } diff --git a/home/jonas@monolith.nix b/home/jonas@monolith.nix index b18c010..9fdd221 100644 --- a/home/jonas@monolith.nix +++ b/home/jonas@monolith.nix @@ -33,6 +33,7 @@ hive.themes.layan.enable = true; hive.yubikey.enable = true; hive.zsh.enable = true; + hive.jj.enable = true; # Make session variables available in systemd units # SEE: https://github.com/nix-community/home-manager/pull/5543 diff --git a/modules/default.nix b/modules/default.nix index 5efbd59..347c458 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -35,21 +35,22 @@ ++ lib.optionals isHM [ # pure home-manager modules ./home/doom + ./home/firefox.nix + ./home/flameshot.nix ./home/hyprland + ./home/jj.nix + ./home/kdeconnect.nix ./home/kitty ./home/nextcloud + ./home/plasma.nix ./home/ranger + ./home/ssh.nix ./home/swaync + ./home/themes/layan.nix ./home/waybar ./home/wlogout ./home/wofi - ./home/zsh - ./home/firefox.nix - ./home/flameshot.nix - ./home/kdeconnect.nix - ./home/plasma.nix - ./home/ssh.nix ./home/yubikey.nix - ./home/themes/layan.nix + ./home/zsh ]; } diff --git a/modules/home/jj.nix b/modules/home/jj.nix new file mode 100644 index 0000000..9c6c07d --- /dev/null +++ b/modules/home/jj.nix @@ -0,0 +1,36 @@ +{ + config, + lib, + pkgs, + ... +}: let + cfg = config.hive.jj; +in { + options.hive.jj = { + enable = lib.mkEnableOption "Enable jj vcs"; + followGit = lib.mkOption { + type = lib.types.bool; + default = true; + description = "Follow the current git configuration"; + }; + }; + + config = lib.mkIf cfg.enable { + home.packages = with pkgs; [ + jujutsu + ]; + + programs.jujutsu = { + enable = true; + settings = { + user = lib.optionalAttrs cfg.followGit { + name = config.programs.git.userName; + email = config.programs.git.userEmail; + }; + ui = lib.optionalAttrs (cfg.followGit && config.programs.git.difftastic.enable) { + diff-formatter = ["${pkgs.difftastic}/bin/difft" "--color=always" "$left" "$right"]; + }; + }; + }; + }; +} diff --git a/modules/home/zsh/default.nix b/modules/home/zsh/default.nix index d019275..ab6c3c8 100644 --- a/modules/home/zsh/default.nix +++ b/modules/home/zsh/default.nix @@ -60,7 +60,6 @@ in { fzf git htop - jujutsu killall nh nix-output-monitor