aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArpit Chakladar <arpitchakladar+git@gmail.com>2026-09-03 03:43:12 +0530
committerArpit Chakladar <arpitchakladar+git@gmail.com>2026-09-03 03:43:12 +0530
commit6169300d684126a04a6edf4f6fc65e57eb3d697d (patch)
tree537e07bd00dc1a86ab3abfcb63b806e7c5e3ab90
parentf6ef02e1a420b0bc79c05a04e572eb47ec7e0203 (diff)
parent6caeb2125491af72efdb8d8d2021ad467db4e071 (diff)
downloadhome-manager-config-6169300d684126a04a6edf4f6fc65e57eb3d697d.tar.gz
home-manager-config-6169300d684126a04a6edf4f6fc65e57eb3d697d.zip
Merge branch 'desktop-items'
-rw-r--r--assets/icons/apps/calcurse.svg1
-rw-r--r--assets/icons/apps/git.svg1
-rw-r--r--assets/icons/apps/gpg.svg88
-rw-r--r--assets/icons/apps/opencode.svg1
-rw-r--r--assets/icons/apps/systemd.svg1
-rw-r--r--modules/development/lazygit/default.nix16
-rw-r--r--modules/development/opencode/default.nix16
-rw-r--r--modules/office/calcurse/default.nix17
-rw-r--r--modules/security/gpg-tui/default.nix14
-rw-r--r--modules/system/systemctl-tui/default.nix14
10 files changed, 169 insertions, 0 deletions
diff --git a/assets/icons/apps/calcurse.svg b/assets/icons/apps/calcurse.svg
new file mode 100644
index 0000000..7e2fdf9
--- /dev/null
+++ b/assets/icons/apps/calcurse.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#abb2bf" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar-range-icon lucide-calendar-range"><rect x="3" y="3" width="18" height="18" rx="2"/><path d="M16 2v3"/><path d="M3 9h18"/><path d="M8 2v3"/><path d="M17 13h-6"/><path d="M13 17H7"/><path d="M7 13h.01"/><path d="M17 17h.01"/></svg>
diff --git a/assets/icons/apps/git.svg b/assets/icons/apps/git.svg
new file mode 100644
index 0000000..1efd9e6
--- /dev/null
+++ b/assets/icons/apps/git.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="92pt" height="92pt" viewBox="0 0 78 78"><path fill="#f03c2e" transform="translate(10 10) rotate(-45 29 29)" d="M5,58c-2.76142,0 -5,-2.23858 -5,-5v-48c0,-2.76142 2.23858,-5 5,-5h33v12.54404c-2.06553,0.94801 -3.5,3.03446 -3.5,5.45596c0,0.73514 0.13221,1.43941 0.37415,2.09031l-15.28384,15.28384c-0.6509,-0.24194 -1.35517,-0.37415 -2.09031,-0.37415c-3.31371,0 -6,2.68629 -6,6c0,3.31371 2.68629,6 6,6c3.31371,0 6,-2.68629 6,-6c0,-0.73514 -0.13221,-1.43941 -0.37415,-2.09031l14.87415,-14.87415l0,11.50851c-2.06553,0.94801 -3.5,3.03446 -3.5,5.45596c0,3.31371 2.68629,6 6,6c3.31371,0 6,-2.68629 6,-6c0,-2.42149 -1.43447,-4.50795 -3.5,-5.45596l0,-12.08808c2.06553,-0.94801 3.5,-3.03446 3.5,-5.45596c0,-2.42149 -1.43447,-4.50795 -3.5,-5.45596l0,-12.54404h10c2.76142,0 5,2.23858 5,5v48c0,2.76142 -2.23858,5 -5,5z"/></svg> \ No newline at end of file
diff --git a/assets/icons/apps/gpg.svg b/assets/icons/apps/gpg.svg
new file mode 100644
index 0000000..7671d73
--- /dev/null
+++ b/assets/icons/apps/gpg.svg
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ id="svg2"
+ sodipodi:version="0.32"
+ inkscape:version="0.45"
+ width="70"
+ height="92"
+ version="1.0"
+ sodipodi:docbase="D:\Desktop"
+ sodipodi:docname="GnuPG-Logo.png"
+ sodipodi:modified="true">
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs5" />
+ <sodipodi:namedview
+ inkscape:window-height="975"
+ inkscape:window-width="1280"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ guidetolerance="10.0"
+ gridtolerance="10.0"
+ objecttolerance="10.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ width="70px"
+ height="92px"
+ inkscape:zoom="4"
+ inkscape:cx="37.678772"
+ inkscape:cy="50.578436"
+ inkscape:window-x="-4"
+ inkscape:window-y="-4"
+ inkscape:current-layer="svg2" />
+ <rect
+ style="opacity:1;fill:#0093dd;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect3132"
+ width="70"
+ height="47.099998"
+ x="0"
+ y="44.900002" />
+ <rect
+ style="opacity:1;fill:#0093dd;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect4103"
+ width="15.009007"
+ height="19.485378"
+ x="4.7396865"
+ y="25.468845" />
+ <rect
+ style="opacity:1;fill:#0093dd;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect4105"
+ width="15.18455"
+ height="19.239996"
+ x="50.117794"
+ y="25.694933" />
+ <path
+ style="opacity:1;fill:#0093dd;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 35.625,0 C 13.155955,0.16164779 4.75,20.998357 4.75,25.5625 C 10.896546,25.562499 17.561658,25.90625 18.96875,25.90625 C 19.298759,25.90625 19.367598,25.906322 19.6875,25.90625 C 21.365862,19.035999 27.552617,13.9375 34.9375,13.9375 C 42.289526,13.9375 48.445364,18.988532 50.15625,25.8125 C 50.543323,25.812313 50.720292,25.8125 51.125,25.8125 C 63.764162,25.8125 65.25,25.90625 65.25,25.90625 C 65.25,25.90625 60.201152,-0.17554394 35.625,0 z "
+ id="path6045" />
+ <path
+ style="fill:#ffffff;fill-rule:evenodd;stroke:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;fill-opacity:1"
+ d="M 10.269321,25.20553 C 21.691029,1.9172856 37.700972,5.1573508 46.958242,6.5921309 C 46.958242,6.5921309 34.785164,0.76242296 23.084029,6.5100997 C 11.608567,12.146925 10.269321,25.20553 10.269321,25.20553 z "
+ id="path7026"
+ sodipodi:nodetypes="ccsc" />
+ <path
+ style="fill:#ffffff;fill-rule:evenodd;stroke:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;fill-opacity:1"
+ d="M -0.25,68.25 C -0.25,68.25 7.5390098,59.548683 13.8125,57.25 C 22,54.25 32,55.1875 48.5625,51.875 C 54.425075,50.702485 56.25,49.25 65.1875,44.625 C 65.942492,44.234305 70.5625,44.3125 70.5625,44.3125 L 70.1875,50.5625 C 60,61.25 36.75,67.21875 34.8125,67.125 C 54.479984,69.763423 64.97809,59.568082 69.25,58.9375 C 59.3125,80.0625 24.0625,79 24.0625,79 C 44.5,84.5625 61.125,76.25 61.125,76.25 C 51.8125,91.65625 17.4375,89.5625 17.4375,89.5625 C 13.84375,89.875 10.9375,92.1875 10.9375,92.1875 L -0.125,92.5 L -0.25,68.25 z "
+ id="path7997"
+ sodipodi:nodetypes="cssscccccccccc" />
+</svg>
diff --git a/assets/icons/apps/opencode.svg b/assets/icons/apps/opencode.svg
new file mode 100644
index 0000000..da63e3b
--- /dev/null
+++ b/assets/icons/apps/opencode.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#abb2bf" fill-rule="evenodd"><title>opencode</title><path d="M16 6H8v12h8V6zm4 16H4V2h16v20z"></path></svg> \ No newline at end of file
diff --git a/assets/icons/apps/systemd.svg b/assets/icons/apps/systemd.svg
new file mode 100644
index 0000000..ea245bc
--- /dev/null
+++ b/assets/icons/apps/systemd.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" shape-rendering="geometricPrecision" text-rendering="geometricPrecision" image-rendering="optimizeQuality" fill-rule="evenodd" clip-rule="evenodd" viewBox="0 0 512 501.57"><path fill="#4A9EFF" fill-rule="nonzero" d="M.01 447.974c-.361-37.494 9.408-76.309 40.373-101.243 16.382-13.192 36.861-21.347 57.433-24.098 33.595-4.491 61.551-9.05 73.376-49.659 3.06 2.681 6.274 5.386 9.55 8.3 30.602 27.206 65.084 28.387 94.568-.045 2.422-2.344 4.791-4.549 7.059-6.695 3.074 6.841 6.999 12.534 11.557 17.313-20.495 24.91-32.874 57.206-32.874 92.486 0 22.863 5.2 44.478 14.439 63.641H.01z"/><path fill="#D2A75F" fill-rule="nonzero" d="M282.368 274.542c3.074 6.838 7 12.529 11.555 17.308a143.79 143.79 0 00-23.102 39.632c-43.09 11.456-90.764 3.69-129.06-19.657 16.211-8.731 24.329-21.374 29.414-38.86 3.06 2.68 6.283 5.386 9.567 8.308 30.603 27.208 65.085 28.388 94.568-.044 2.422-2.343 4.792-4.549 7.058-6.687z"/><path fill="#DBB26F" fill-rule="nonzero" d="M230.908 336.697c-31.12.138-62.422-8.584-89.147-24.872 16.151-8.696 24.476-21.538 29.423-38.86 3.068 2.68 6.274 5.386 9.557 8.308 16.074 14.289 33.233 21.399 50.167 20.813v34.611z"/><path fill="#E9BE79" d="M122.826 181.5c4.039-11.559 13.429-7.842 26.809-2.959-5.344-24.235.963-43.164 19.937-56.288 40.48-28.008 58.776-4.035 102.65-39.365 25.206 12.695 47.758 34.156 36.265 101.202 12.165-9.217 29.705-8.358 24.187 12.061l-7.536 21.347c-1.802 5.109-3.007 6.961-9.463 6.615-2.854-.152-5.722-1.25-8.583-3.141 2.643 31.499-12.65 41.775-31.787 60.247-29.476 28.444-63.96 27.27-94.555.052-17.922-15.94-33.837-25.621-34.631-58.391-4.648 1.424-9.04 1.683-12.878-.498-7.644-4.351-10.429-17.014-10.848-25.126-.166-3.259-.028-12.435.433-15.756z"/><path fill="#F2CD8C" d="M122.827 181.5c4.042-11.56 13.426-7.839 26.809-2.959l-.12-.577.12.065c6.974-73.223 43.33-62.212 81.269-71.564v195.619c-16.93.593-34.082-6.511-50.158-20.813-17.919-15.94-33.837-25.618-34.626-58.388-4.645 1.419-9.041 1.68-12.876-.501-11.136-6.338-12.034-29.257-10.418-40.882z"/><path fill="#C0783B" d="M99.694 80.499C158.728 7.55 226.77-32.126 277.863 32.768c62.611 3.288 84.332 105.45 31.818 145.307 4.207-55.49-12.22-80.377-37.619-92.883-48.342 52.714-112.882-4.788-122.426 95.389l-23.169-12.067c-2.301-28.731 4.429-78.578-26.773-88.015z"/><path fill="#9AA0A6" d="M398.815 267.098c62.531 0 113.185 52.5 113.185 117.236 0 64.769-50.686 117.236-113.185 117.236-62.531 0-113.185-52.5-113.185-117.236 0-64.771 50.686-117.236 113.185-117.236z"/><path fill="#B9BEC4" d="M399.396 267.201c24.312 0 46.824 7.938 65.267 21.443 36.231 78.596-14.573 192.049-101.981 206.72-44.498-15.796-76.472-59.499-76.472-110.927 0-64.772 50.687-117.236 113.186-117.236z"/><path fill="#fff" fill-rule="nonzero" d="M435.498 322.269c-3.265-2.238-7.591-1.396-9.862 1.885l-6.227 8.785c-4.207-1.885-9.576-3.113-14.136-3.77l-1.952-11.477c-.741-3.854-4.141-6.345-8.045-5.604l-14.388 2.558c-3.77.757-6.446 4.19-5.739 8.061l1.834 10.484c-4.426 1.852-8.818 4.544-12.554 7.557l-9.761-6.715c-3.265-2.255-7.371-1.548-9.626 1.716l-8.297 11.831c-2.255 3.265-1.582 7.489 1.717 9.744l8.767 6.227c-1.851 4.174-3.113 9.609-3.769 14.136l-11.461 1.953c-3.887.74-6.327 4.106-5.62 8.044l2.557 14.389c.758 3.752 4.207 6.478 8.061 5.738l10.485-1.834c1.935 4.594 4.577 8.717 7.556 12.689l-6.714 9.626c-2.256 3.265-1.532 7.371 1.716 9.626l11.948 8.415c3.181 2.238 7.557 1.295 9.879-1.7l6.21-8.903c4.275 1.885 9.525 3.08 14.153 3.787l1.952 11.46c.707 3.871 4.157 6.345 8.045 5.604l14.388-2.558c3.753-.757 6.446-4.19 5.722-8.044l-1.817-10.484c4.628-1.953 8.666-4.578 12.672-7.573l9.643 6.715c3.281 2.271 7.472 1.598 9.744-1.717l8.414-11.949c2.205-3.181 1.296-7.539-1.699-9.878l-8.903-6.092c1.851-4.174 3.113-9.61 3.77-14.137l11.46-1.952c3.854-.74 6.362-4.123 5.621-8.044l-2.558-14.389c-.757-3.753-4.207-6.479-8.061-5.739l-10.484 1.835c-2.02-4.561-4.427-8.667-7.556-12.554l6.714-9.761c2.255-3.265 1.532-7.372-1.716-9.644l-12.083-8.347zm-36.671 31.319c16.981 0 30.746 13.766 30.746 30.746 0 16.981-13.765 30.747-30.746 30.747-16.98 0-30.746-13.766-30.746-30.747 0-16.98 13.766-30.746 30.746-30.746z"/></svg> \ No newline at end of file
diff --git a/modules/development/lazygit/default.nix b/modules/development/lazygit/default.nix
index 027ef7f..60913c0 100644
--- a/modules/development/lazygit/default.nix
+++ b/modules/development/lazygit/default.nix
@@ -14,6 +14,22 @@
};
};
config = {
+ home.file.".local/share/icons/hicolor/scalable/apps/git.svg" =
+ lib.mkIf config.development.lazygit.enable
+ {
+ source = ../../../assets/icons/apps/git.svg;
+ };
+
+ xdg.desktopEntries."lazygit" = lib.mkIf config.development.lazygit.enable {
+ name = "lazygit";
+ exec = "${lib.getExe config.terminal.kitty.package} --class lazygit -e ${lib.getExe config.development.lazygit.package}";
+ icon = "git";
+ categories = [ "Development" ];
+ comment = "A simple terminal UI for git commands";
+ terminal = false;
+ type = "Application";
+ };
+
programs.lazygit = lib.mkIf config.development.lazygit.enable {
enable = true;
enableBashIntegration = config.terminal.bash.enable;
diff --git a/modules/development/opencode/default.nix b/modules/development/opencode/default.nix
index 3cbc05e..04796d9 100644
--- a/modules/development/opencode/default.nix
+++ b/modules/development/opencode/default.nix
@@ -17,6 +17,22 @@
};
config = lib.mkIf config.development.opencode.enable {
+ home.file.".local/share/icons/hicolor/scalable/apps/opencode.svg" =
+ lib.mkIf config.development.opencode.enable
+ {
+ source = ../../../assets/icons/apps/opencode.svg;
+ };
+
+ xdg.desktopEntries."opencode" = {
+ name = "opencode";
+ exec = "${lib.getExe config.terminal.kitty.package} --class opencode -e ${lib.getExe config.development.opencode.package}";
+ icon = "opencode";
+ categories = [ "Development" ];
+ comment = "AI-powered coding assistant";
+ terminal = false;
+ type = "Application";
+ };
+
programs.opencode = {
enable = true;
package = pkgs.opencode;
diff --git a/modules/office/calcurse/default.nix b/modules/office/calcurse/default.nix
index 3296f95..18a863b 100644
--- a/modules/office/calcurse/default.nix
+++ b/modules/office/calcurse/default.nix
@@ -74,6 +74,23 @@ in
config = lib.mkIf config.office.calcurse.enable (
lib.mkMerge [
{
+ home.file.".local/share/icons/hicolor/scalable/apps/calcurse.svg" = {
+ source = ../../../assets/icons/apps/calcurse.svg;
+ };
+
+ xdg.desktopEntries."calcurse" = {
+ name = "calcurse";
+ exec = "${lib.getExe config.terminal.kitty.package} --class calcurse -e ${lib.getExe config.office.calcurse.package}";
+ icon = "calcurse";
+ categories = [
+ "Office"
+ "Calendar"
+ ];
+ comment = "Text-based calendar and scheduling application";
+ terminal = false;
+ type = "Application";
+ };
+
home.packages = [ config.office.calcurse.package ];
xdg.configFile."calcurse/conf" = {
source = ./conf;
diff --git a/modules/security/gpg-tui/default.nix b/modules/security/gpg-tui/default.nix
index 22e2c75..ea9364f 100644
--- a/modules/security/gpg-tui/default.nix
+++ b/modules/security/gpg-tui/default.nix
@@ -17,6 +17,20 @@
};
config = lib.mkIf config.security.gpg-tui.enable {
+ home.file.".local/share/icons/hicolor/scalable/apps/gpg.svg" = {
+ source = ../../../assets/icons/apps/gpg.svg;
+ };
+
+ xdg.desktopEntries."gpg-tui" = {
+ name = "gpg-tui";
+ exec = "${lib.getExe config.terminal.kitty.package} --class gpg-tui -e ${lib.getExe config.security.gpg-tui.package}";
+ icon = "gpg";
+ categories = [ "Security" ];
+ comment = "Terminal UI for GnuPG";
+ terminal = false;
+ type = "Application";
+ };
+
home.packages = [ config.security.gpg-tui.package ];
};
}
diff --git a/modules/system/systemctl-tui/default.nix b/modules/system/systemctl-tui/default.nix
index e95a41b..7483db6 100644
--- a/modules/system/systemctl-tui/default.nix
+++ b/modules/system/systemctl-tui/default.nix
@@ -17,6 +17,20 @@
};
config = lib.mkIf config.system.systemctl-tui.enable {
+ home.file.".local/share/icons/hicolor/scalable/apps/systemd.svg" = {
+ source = ../../../assets/icons/apps/systemd.svg;
+ };
+
+ xdg.desktopEntries."systemctl-tui" = {
+ name = "systemctl-tui";
+ exec = "${lib.getExe config.terminal.kitty.package} --class systemctl-tui -e ${lib.getExe config.system.systemctl-tui.package}";
+ icon = "systemd";
+ categories = [ "System" ];
+ comment = "TUI for systemctl";
+ terminal = false;
+ type = "Application";
+ };
+
home.packages = [ config.system.systemctl-tui.package ];
};
}