From 15c18a2a995398d39020e371b6e36ccc07795334 Mon Sep 17 00:00:00 2001
From: willifan <willifan@proton.me>
Date: Thu, 19 Sep 2024 17:12:09 +0200
Subject: [PATCH] added nixvim

---
 flake.lock                                   | 254 +++++++++++++++++--
 flake.nix                                    |  10 +-
 users/willifan/common/default.nix            |   1 +
 users/willifan/common/nixvim.nix             |  45 ++++
 users/willifan/desktop/theme/.stylix.nix.swp | Bin 12288 -> 0 bytes
 5 files changed, 289 insertions(+), 21 deletions(-)
 create mode 100644 users/willifan/common/nixvim.nix
 delete mode 100644 users/willifan/desktop/theme/.stylix.nix.swp

diff --git a/flake.lock b/flake.lock
index 66eba43..f4676a7 100644
--- a/flake.lock
+++ b/flake.lock
@@ -114,6 +114,27 @@
         "type": "github"
       }
     },
+    "devshell": {
+      "inputs": {
+        "nixpkgs": [
+          "nixvim",
+          "nixpkgs"
+        ]
+      },
+      "locked": {
+        "lastModified": 1722113426,
+        "narHash": "sha256-Yo/3loq572A8Su6aY5GP56knpuKYRvM2a1meP9oJZCw=",
+        "owner": "numtide",
+        "repo": "devshell",
+        "rev": "67cce7359e4cd3c45296fb4aaf6a19e2a9c757ae",
+        "type": "github"
+      },
+      "original": {
+        "owner": "numtide",
+        "repo": "devshell",
+        "type": "github"
+      }
+    },
     "disko": {
       "inputs": {
         "nixpkgs": [
@@ -121,11 +142,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1723685519,
-        "narHash": "sha256-GkXQIoZmW2zCPp1YFtAYGg/xHNyFH/Mgm79lcs81rq0=",
+        "lastModified": 1726730453,
+        "narHash": "sha256-Kdi7liMdbr1/uyMhMDl19O5b9LESxcnYgBRZblrJi9E=",
         "owner": "nix-community",
         "repo": "disko",
-        "rev": "276a0d055a720691912c6a34abb724e395c8e38a",
+        "rev": "a31fe5ef162f2f963308289e6e27d37e3948a983",
         "type": "github"
       },
       "original": {
@@ -135,6 +156,36 @@
       }
     },
     "flake-compat": {
+      "locked": {
+        "lastModified": 1696426674,
+        "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
+        "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
+        "revCount": 57,
+        "type": "tarball",
+        "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz"
+      },
+      "original": {
+        "type": "tarball",
+        "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"
+      }
+    },
+    "flake-compat_2": {
+      "flake": false,
+      "locked": {
+        "lastModified": 1696426674,
+        "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
+        "owner": "edolstra",
+        "repo": "flake-compat",
+        "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
+        "type": "github"
+      },
+      "original": {
+        "owner": "edolstra",
+        "repo": "flake-compat",
+        "type": "github"
+      }
+    },
+    "flake-compat_3": {
       "flake": false,
       "locked": {
         "lastModified": 1673956053,
@@ -150,6 +201,27 @@
         "type": "github"
       }
     },
+    "flake-parts": {
+      "inputs": {
+        "nixpkgs-lib": [
+          "nixvim",
+          "nixpkgs"
+        ]
+      },
+      "locked": {
+        "lastModified": 1726153070,
+        "narHash": "sha256-HO4zgY0ekfwO5bX0QH/3kJ/h4KvUDFZg8YpkNwIbg1U=",
+        "owner": "hercules-ci",
+        "repo": "flake-parts",
+        "rev": "bcef6817a8b2aa20a5a6dbb19b43e63c5bf8619a",
+        "type": "github"
+      },
+      "original": {
+        "owner": "hercules-ci",
+        "repo": "flake-parts",
+        "type": "github"
+      }
+    },
     "flake-utils": {
       "inputs": {
         "systems": [
@@ -187,6 +259,55 @@
         "type": "github"
       }
     },
+    "git-hooks": {
+      "inputs": {
+        "flake-compat": "flake-compat_2",
+        "gitignore": "gitignore",
+        "nixpkgs": [
+          "nixvim",
+          "nixpkgs"
+        ],
+        "nixpkgs-stable": [
+          "nixvim",
+          "nixpkgs"
+        ]
+      },
+      "locked": {
+        "lastModified": 1725513492,
+        "narHash": "sha256-tyMUA6NgJSvvQuzB7A1Sf8+0XCHyfSPRx/b00o6K0uo=",
+        "owner": "cachix",
+        "repo": "git-hooks.nix",
+        "rev": "7570de7b9b504cfe92025dd1be797bf546f66528",
+        "type": "github"
+      },
+      "original": {
+        "owner": "cachix",
+        "repo": "git-hooks.nix",
+        "type": "github"
+      }
+    },
+    "gitignore": {
+      "inputs": {
+        "nixpkgs": [
+          "nixvim",
+          "git-hooks",
+          "nixpkgs"
+        ]
+      },
+      "locked": {
+        "lastModified": 1709087332,
+        "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
+        "owner": "hercules-ci",
+        "repo": "gitignore.nix",
+        "rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
+        "type": "github"
+      },
+      "original": {
+        "owner": "hercules-ci",
+        "repo": "gitignore.nix",
+        "type": "github"
+      }
+    },
     "gnome-shell": {
       "flake": false,
       "locked": {
@@ -211,11 +332,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1720042825,
-        "narHash": "sha256-A0vrUB6x82/jvf17qPCpxaM+ulJnD8YZwH9Ci0BsAzE=",
+        "lastModified": 1726592409,
+        "narHash": "sha256-2Y6CDvD/BD43WLS77PHu6dUHbdUfFhuzkY8oJAecD/U=",
         "owner": "nix-community",
         "repo": "home-manager",
-        "rev": "e1391fb22e18a36f57e6999c7a9f966dc80ac073",
+        "rev": "2ab00f89dd3ecf8012f5090e6d7ca1a7ea30f594",
         "type": "github"
       },
       "original": {
@@ -226,6 +347,28 @@
       }
     },
     "home-manager_2": {
+      "inputs": {
+        "nixpkgs": [
+          "nixvim",
+          "nixpkgs"
+        ]
+      },
+      "locked": {
+        "lastModified": 1726592409,
+        "narHash": "sha256-2Y6CDvD/BD43WLS77PHu6dUHbdUfFhuzkY8oJAecD/U=",
+        "owner": "nix-community",
+        "repo": "home-manager",
+        "rev": "2ab00f89dd3ecf8012f5090e6d7ca1a7ea30f594",
+        "type": "github"
+      },
+      "original": {
+        "owner": "nix-community",
+        "ref": "release-24.05",
+        "repo": "home-manager",
+        "type": "github"
+      }
+    },
+    "home-manager_3": {
       "inputs": {
         "nixpkgs": [
           "stylix",
@@ -246,13 +389,34 @@
         "type": "github"
       }
     },
+    "nix-darwin": {
+      "inputs": {
+        "nixpkgs": [
+          "nixvim",
+          "nixpkgs"
+        ]
+      },
+      "locked": {
+        "lastModified": 1726188813,
+        "narHash": "sha256-Vop/VRi6uCiScg/Ic+YlwsdIrLabWUJc57dNczp0eBc=",
+        "owner": "lnl7",
+        "repo": "nix-darwin",
+        "rev": "21fe31f26473c180390cfa81e3ea81aca0204c80",
+        "type": "github"
+      },
+      "original": {
+        "owner": "lnl7",
+        "repo": "nix-darwin",
+        "type": "github"
+      }
+    },
     "nixos-hardware": {
       "locked": {
-        "lastModified": 1723310128,
-        "narHash": "sha256-IiH8jG6PpR4h9TxSGMYh+2/gQiJW9MwehFvheSb5rPc=",
+        "lastModified": 1726724509,
+        "narHash": "sha256-sVeAM1tgVi52S1e29fFBTPUAFSzgQwgLon3CrztXGm8=",
         "owner": "nixos",
         "repo": "nixos-hardware",
-        "rev": "c54cf53e022b0b3c1d3b8207aa0f9b194c24f0cf",
+        "rev": "10d5e0ecc32984c1bf1a9a46586be3451c42fd94",
         "type": "github"
       },
       "original": {
@@ -263,11 +427,11 @@
     },
     "nixpkgs": {
       "locked": {
-        "lastModified": 1723688146,
-        "narHash": "sha256-sqLwJcHYeWLOeP/XoLwAtYjr01TISlkOfz+NG82pbdg=",
+        "lastModified": 1726447378,
+        "narHash": "sha256-2yV8nmYE1p9lfmLHhOCbYwQC/W8WYfGQABoGzJOb1JQ=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "c3d4ac725177c030b1e289015989da2ad9d56af0",
+        "rev": "086b448a5d54fd117f4dc2dee55c9f0ff461bdc1",
         "type": "github"
       },
       "original": {
@@ -279,11 +443,11 @@
     },
     "nixpkgs-unstable": {
       "locked": {
-        "lastModified": 1723637854,
-        "narHash": "sha256-med8+5DSWa2UnOqtdICndjDAEjxr5D7zaIiK4pn0Q7c=",
+        "lastModified": 1726463316,
+        "narHash": "sha256-gI9kkaH0ZjakJOKrdjaI/VbaMEo9qBbSUl93DnU7f4c=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "c3aa7b8938b17aebd2deecf7be0636000d62a2b9",
+        "rev": "99dc8785f6a0adac95f5e2ab05cc2e1bf666d172",
         "type": "github"
       },
       "original": {
@@ -309,6 +473,34 @@
         "type": "github"
       }
     },
+    "nixvim": {
+      "inputs": {
+        "devshell": "devshell",
+        "flake-compat": "flake-compat",
+        "flake-parts": "flake-parts",
+        "git-hooks": "git-hooks",
+        "home-manager": "home-manager_2",
+        "nix-darwin": "nix-darwin",
+        "nixpkgs": [
+          "nixpkgs"
+        ],
+        "treefmt-nix": "treefmt-nix"
+      },
+      "locked": {
+        "lastModified": 1725350106,
+        "narHash": "sha256-TaMMlI2KPJ3wCyxJk6AShOLhNuTeabHCnvYRkLBlEFs=",
+        "owner": "nix-community",
+        "repo": "nixvim",
+        "rev": "0f2c31e6a57a83ed4e6fa3adc76749620231055d",
+        "type": "github"
+      },
+      "original": {
+        "owner": "nix-community",
+        "ref": "nixos-24.05",
+        "repo": "nixvim",
+        "type": "github"
+      }
+    },
     "root": {
       "inputs": {
         "disko": "disko",
@@ -316,6 +508,7 @@
         "nixos-hardware": "nixos-hardware",
         "nixpkgs": "nixpkgs",
         "nixpkgs-unstable": "nixpkgs-unstable",
+        "nixvim": "nixvim",
         "stylix": "stylix"
       }
     },
@@ -328,19 +521,19 @@
         "base16-kitty": "base16-kitty",
         "base16-tmux": "base16-tmux",
         "base16-vim": "base16-vim",
-        "flake-compat": "flake-compat",
+        "flake-compat": "flake-compat_3",
         "flake-utils": "flake-utils",
         "gnome-shell": "gnome-shell",
-        "home-manager": "home-manager_2",
+        "home-manager": "home-manager_3",
         "nixpkgs": "nixpkgs_2",
         "systems": "systems"
       },
       "locked": {
-        "lastModified": 1725290973,
-        "narHash": "sha256-+jwXF9KI0HfvDgpsoJGvOdfOGGSKOrID1wQB79zjUbo=",
+        "lastModified": 1726497442,
+        "narHash": "sha256-fieyqmLEJQqqnuJcg2CAnQ8kHapXHhg9rL48NNWjnPw=",
         "owner": "danth",
         "repo": "stylix",
-        "rev": "ef81ad9e85e60420cc83d4642619c14b57139d33",
+        "rev": "149b313ddf91c3cc94309170498b162cec666675",
         "type": "github"
       },
       "original": {
@@ -363,6 +556,27 @@
         "repo": "default",
         "type": "github"
       }
+    },
+    "treefmt-nix": {
+      "inputs": {
+        "nixpkgs": [
+          "nixvim",
+          "nixpkgs"
+        ]
+      },
+      "locked": {
+        "lastModified": 1725271838,
+        "narHash": "sha256-VcqxWT0O/gMaeWTTjf1r4MOyG49NaNxW4GHTO3xuThE=",
+        "owner": "numtide",
+        "repo": "treefmt-nix",
+        "rev": "9fb342d14b69aefdf46187f6bb80a4a0d97007cd",
+        "type": "github"
+      },
+      "original": {
+        "owner": "numtide",
+        "repo": "treefmt-nix",
+        "type": "github"
+      }
     }
   },
   "root": "root",
diff --git a/flake.nix b/flake.nix
index b1da2a5..c620f58 100644
--- a/flake.nix
+++ b/flake.nix
@@ -22,6 +22,11 @@
 
     stylix.url = "github:danth/stylix";
 
+    nixvim = {
+      url = "github:nix-community/nixvim/nixos-24.05";
+      inputs.nixpkgs.follows = "nixpkgs";
+    };
+
 #    # Secrets management. See ./docs/secretsmgmt.md
 #    sops-nix = {
 #      url = "github:mic92/sops-nix";
@@ -30,7 +35,7 @@
 
   };
 
-  outputs = { self, nixpkgs, nixpkgs-unstable, stylix, ... }@attrs: 
+  outputs = { self, nixpkgs, nixpkgs-unstable, stylix, nixvim, ... }@attrs: 
   let
       system = "x86_64-linux";
       lib = nixpkgs.lib;
@@ -61,6 +66,8 @@
             }
           attrs.disko.nixosModules.disko
           stylix.nixosModules.stylix
+#          nixvim.homeManagerModules.nixvim
+          nixvim.nixosModules.nixvim
           attrs.nixos-hardware.nixosModules.framework-12th-gen-intel
           ./hosts
           ./users/willifan
@@ -88,6 +95,7 @@
               home-manager.useUserPackages = true;
             }
           attrs.disko.nixosModules.disko
+          stylix.nixosModules.stylix
           attrs.nixos-hardware.nixosModules.common-cpu-amd
           attrs.nixos-hardware.nixosModules.common-cpu-amd-pstate
           attrs.nixos-hardware.nixosModules.common-cpu-amd-zenpower
diff --git a/users/willifan/common/default.nix b/users/willifan/common/default.nix
index 2de4ace..582421a 100644
--- a/users/willifan/common/default.nix
+++ b/users/willifan/common/default.nix
@@ -5,6 +5,7 @@
     ./git.nix
     ./hyfetch.nix
     ./locales.nix
+    ./nixvim.nix
     #./ssh.nix
     ./user.nix
     ./zsh.nix
diff --git a/users/willifan/common/nixvim.nix b/users/willifan/common/nixvim.nix
new file mode 100644
index 0000000..41e15f0
--- /dev/null
+++ b/users/willifan/common/nixvim.nix
@@ -0,0 +1,45 @@
+{ pkgs, ... }:
+{
+
+  programs.nixvim = {
+    enable = true;
+    plugins = {
+      neo-tree = {
+        enable = true;
+        sources = ["filesystem" "buffers" "git_status" "document_symbols"];
+        addBlankLineAtTop = false;
+
+        filesystem = {
+          bindToCwd = false;
+          followCurrentFile = {
+            enabled = true;
+          };
+        };
+
+        defaultComponentConfigs = {
+          indent = {
+            withExpanders = true;
+            expanderCollapsed = "󰅂";
+            expanderExpanded = "󰅀";
+            expanderHighlight = "NeoTreeExpander";
+          };
+
+          gitStatus = {
+            symbols = {
+              added = " ";
+              conflict = "󰩌 ";
+              deleted = "󱂥";
+              ignored = " ";
+              modified = " ";
+              renamed = "󰑕";
+              staged = "󰩍";
+              unstaged = "";
+              untracked = " ";
+            };
+          };
+	};
+      };
+    };
+  };
+
+}
diff --git a/users/willifan/desktop/theme/.stylix.nix.swp b/users/willifan/desktop/theme/.stylix.nix.swp
deleted file mode 100644
index c52fc854cf3600204b840f720ed0a2f902ae304a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 12288
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
JDb!jq001$Lh93X`