diff --git a/flake.lock b/flake.lock
index 4cdad74..43b0777 100644
--- a/flake.lock
+++ b/flake.lock
@@ -76,18 +76,34 @@
"locked": {
"lastModified": 1651948785,
"narHash": "sha256-3UoMx0cLnFJt4/2HpMGrlOqWUFJfuLMgKqi1ytL8GxM=",
- "owner": "nixos",
+ "owner": "NixOS",
"repo": "nixpkgs",
"rev": "ac4d124eeed195db518712120fbf2b384a254ca2",
"type": "github"
},
"original": {
- "owner": "nixos",
+ "owner": "NixOS",
"ref": "nixpkgs-21.11-darwin",
"repo": "nixpkgs",
"type": "github"
}
},
+ "nixpkgs-master": {
+ "locked": {
+ "lastModified": 1651974066,
+ "narHash": "sha256-cwqBq1jwqVHvg034IZsK5dgpnbwmgReaONJ1zeAZg6w=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "06f6e05c4e25ac4b626645b03cd2922f093275ee",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "master",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
"nixpkgs-unstable": {
"locked": {
"lastModified": 1651927509,
@@ -111,6 +127,7 @@
"flake-utils": "flake-utils",
"home-manager": "home-manager",
"nixpkgs": "nixpkgs",
+ "nixpkgs-master": "nixpkgs-master",
"nixpkgs-unstable": "nixpkgs-unstable"
}
}
diff --git a/home/kitty.nix b/home/kitty.nix
index f7c12db..136f32a 100644
--- a/home/kitty.nix
+++ b/home/kitty.nix
@@ -72,4 +72,11 @@ in
end
'';
# }}}
+
+ # Fix icon config
+ programs.kitty.extras.fixIcon = {
+ enable = true;
+ appPath = "~/Applications/Home\ Manager\ Apps/kitty.app";
+ iconPath = "~/Development/kitty-icon/kitty-dark.icns";
+ };
}
diff --git a/modules/home/programs/kitty/extras.nix b/modules/home/programs/kitty/extras.nix
index 95491df..c87fdea 100644
--- a/modules/home/programs/kitty/extras.nix
+++ b/modules/home/programs/kitty/extras.nix
@@ -45,7 +45,7 @@ in
type = types.bool;
default = false;
description = ''
- When enable, commands term-dark and term-light will
+ When enabled, commands term-dark and term-light will
toggle between your dark and a light colors.
term-background which accepts one argument (the value of which should
be dark or light) is also avaible.
@@ -100,6 +100,28 @@ in
'';
};
+ fixIcon = {
+ enable = mkOption {
+ type = types.bool;
+ default = false;
+ description = ''
+ When enabled, uses fileicon (should be installed via homebrew) to fixup the icon.
+ '';
+ };
+
+ appPath = mkOption {
+ type = types.str;
+ default = null;
+ description = ''Path to kitty.app'';
+ };
+
+ iconPath = mkOption {
+ type = types.str;
+ default = null;
+ description = ''Path to kitty icns'';
+ };
+ };
+
};
config = mkIf config.programs.kitty.enable {
@@ -110,6 +132,12 @@ in
term-background
];
+ home.activation = mkIf (pkgs.stdenv.isDarwin && cfg.fixIcon.enable) {
+ fixKittyIcon = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
+ sudo /opt/homebrew/bin/fileicon set ${cfg.fixIcon.appPath} ${cfg.fixIcon.iconPath}
+ '';
+ };
+
programs.kitty.settings = optionalAttrs cfg.colors.enable
(