about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAzat Bahawi <azat@bahawi.net>2023-07-30 19:44:06 +0300
committerAzat Bahawi <azat@bahawi.net>2023-07-30 19:44:06 +0300
commit5834fee454d8fbe4d3eace6fa4d1f005cef0cbbb (patch)
treedb1f73878ab12627df270bc4bc998740da7f9728
parent2023-07-20 (diff)
2023-07-30
-rw-r--r--darwinConfigurations/mairon/default.nix1
-rw-r--r--flake.lock172
-rw-r--r--flake.nix15
-rw-r--r--modules/common/common/nix/default.nix1
-rw-r--r--modules/common/default.nix1
-rw-r--r--modules/common/emacs/doom/packages.el6
-rw-r--r--modules/common/fonts.nix4
-rw-r--r--modules/common/neovim/default.nix27
-rw-r--r--modules/common/profiles/dev/containers.nix1
-rw-r--r--modules/common/profiles/headful.nix2
-rw-r--r--modules/nixos/syncthing.nix126
-rw-r--r--nixosConfigurations/eonwe/default.nix1
12 files changed, 243 insertions, 114 deletions
diff --git a/darwinConfigurations/mairon/default.nix b/darwinConfigurations/mairon/default.nix
index 131cf7d..b044535 100644
--- a/darwinConfigurations/mairon/default.nix
+++ b/darwinConfigurations/mairon/default.nix
@@ -27,6 +27,7 @@ with lib; {
       {name = "openlens";}
       {name = "postman";}
       {name = "vial";}
+      {name = "vnc-viewer";}
       {name = "wireshark";}
       {name = "xcodes";}
     ];
diff --git a/flake.lock b/flake.lock
index d5ba9b5..0a38c73 100644
--- a/flake.lock
+++ b/flake.lock
@@ -13,11 +13,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1689334118,
-        "narHash": "sha256-djk5AZv1yU84xlKFaVHqFWvH73U7kIRstXwUAnDJPsk=",
+        "lastModified": 1690228878,
+        "narHash": "sha256-9Xe7JV0krp4RJC9W9W9WutZVlw6BlHTFMiUP/k48LQY=",
         "owner": "ryantm",
         "repo": "agenix",
-        "rev": "0d8c5325fc81daf00532e3e26c6752f7bcde1143",
+        "rev": "d8c973fd228949736dedf61b7f8cc1ece3236792",
         "type": "github"
       },
       "original": {
@@ -101,6 +101,29 @@
         "url": "https://git.azahi.cc/azahi-cc"
       }
     },
+    "beautysh": {
+      "inputs": {
+        "nixpkgs": [
+          "nixvim",
+          "nixpkgs"
+        ],
+        "poetry2nix": "poetry2nix",
+        "utils": "utils"
+      },
+      "locked": {
+        "lastModified": 1680308980,
+        "narHash": "sha256-aUEHV0jk2qIFP3jlsWYWhBbm+w/N9gzH3e4I5DcdB5s=",
+        "owner": "lovesegfault",
+        "repo": "beautysh",
+        "rev": "9845efc3ea3e86cc0d41465d720a47f521b2799c",
+        "type": "github"
+      },
+      "original": {
+        "owner": "lovesegfault",
+        "repo": "beautysh",
+        "type": "github"
+      }
+    },
     "blobs": {
       "flake": false,
       "locked": {
@@ -124,11 +147,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1689516967,
-        "narHash": "sha256-sFAa33wkQHanmij/uhfGduIDK8z4dJAita/rK6u9pvE=",
+        "lastModified": 1690431538,
+        "narHash": "sha256-Uml8ivMMOFPB9fNSDcw72imGHRdJpaK12sRm2DTLLe8=",
         "owner": "LnL7",
         "repo": "nix-darwin",
-        "rev": "61662a63bfe1726588c1da6b412df86d8ca94d63",
+        "rev": "16c07487ac9bc59f58b121d13160c67befa3342e",
         "type": "github"
       },
       "original": {
@@ -264,11 +287,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1689791618,
-        "narHash": "sha256-+GbknQxvqytQDecu8vyAAUipP7DZexdckBbByykVJW0=",
+        "lastModified": 1690652600,
+        "narHash": "sha256-Dy09g7mezToVwtFPyY25fAx1hzqNXv73/QmY5/qyR44=",
         "owner": "nix-community",
         "repo": "home-manager",
-        "rev": "44ba0184376c1bf017b8f2646a6040fb66d9c3e8",
+        "rev": "f58889c07efa8e1328fdf93dc1796ec2a5c47f38",
         "type": "github"
       },
       "original": {
@@ -323,11 +346,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1689646015,
-        "narHash": "sha256-MO05NOUqkBJv9pgTT8n38s9xjaxdwyjlsDmtDZVTZZk=",
+        "lastModified": 1690680804,
+        "narHash": "sha256-lf4FaxRV53UHHEKOZaHjarZ/5rEyvDdPNX4QPvssGxA=",
         "owner": "Infinidoge",
         "repo": "nix-minecraft",
-        "rev": "7b087b7f516ebb32cb38d17b2b2e198f984d11a0",
+        "rev": "54c28279268c91371cfec9c0a8862a612a77c582",
         "type": "github"
       },
       "original": {
@@ -350,11 +373,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1689755083,
-        "narHash": "sha256-yKKMFJBBtEc0orszJYIg4D7ADbsjYAm/tuYoXTWoQs8=",
+        "lastModified": 1690680554,
+        "narHash": "sha256-qx/NVYBC+84EEcP4sATp+qPnIr1Fd6hOuhHDfzxRyT8=",
         "owner": "nix-community",
         "repo": "nix-vscode-extensions",
-        "rev": "b0f8fb071e9821d37eafb2648624186002b6265a",
+        "rev": "d6b6f46182140f13636cbdea69e7f175fef64476",
         "type": "github"
       },
       "original": {
@@ -366,11 +389,11 @@
     },
     "nixos-hardware": {
       "locked": {
-        "lastModified": 1689320556,
-        "narHash": "sha256-vODUkZLWFVCvo1KPK3dC2CbXjxa9antEn5ozwlcTr48=",
+        "lastModified": 1690704397,
+        "narHash": "sha256-sgIWjcz0e+x87xlKg324VtHgH55J5rIuFF0ZWRDvQoE=",
         "owner": "NixOS",
         "repo": "nixos-hardware",
-        "rev": "d4ea64f2063820120c05f6ba93ee02e6d4671d6b",
+        "rev": "96e5a0a0e8568c998135ea05575a9ed2c87f5492",
         "type": "github"
       },
       "original": {
@@ -382,11 +405,11 @@
     },
     "nixpkgs": {
       "locked": {
-        "lastModified": 1689752456,
-        "narHash": "sha256-VOChdECcEI8ixz8QY+YC4JaNEFwQd1V8bA0G4B28Ki0=",
+        "lastModified": 1690720142,
+        "narHash": "sha256-GywuiZjBKfFkntQwpNQfL+Ksa2iGjPprBGL0/psgRZM=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "7f256d7da238cb627ef189d56ed590739f42f13b",
+        "rev": "3acb5c4264c490e7714d503c7166a3fde0c51324",
         "type": "github"
       },
       "original": {
@@ -398,11 +421,11 @@
     },
     "nixpkgs-master": {
       "locked": {
-        "lastModified": 1689797934,
-        "narHash": "sha256-SDGtQfZa1IfByvamNJNcoUGNglNAHhf8n5kM0Fv75T4=",
+        "lastModified": 1690733591,
+        "narHash": "sha256-U/92zwqcCJdZj7UkaNZUwar6ucH6wE7pdIhoYKy3ufI=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "8f15fe7914501fa41904396582cfb9c22962d0ab",
+        "rev": "9333106c652cd0d36df810272183c23a138f7892",
         "type": "github"
       },
       "original": {
@@ -414,11 +437,11 @@
     },
     "nixpkgs-stable": {
       "locked": {
-        "lastModified": 1689786379,
-        "narHash": "sha256-Z4t9R3POzqWTcCfq9wWB297ZcfU7FeWxP6P+kro4m1I=",
+        "lastModified": 1690726002,
+        "narHash": "sha256-cACz6jCJZtsZHGCJAN4vMobxzH5s6FCOTZHMrh/Hu0M=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "242a519286787cfcf83b99222cb883360a4b671f",
+        "rev": "391e8db1f06c3f74c2d313a73135515023af3993",
         "type": "github"
       },
       "original": {
@@ -428,6 +451,34 @@
         "type": "github"
       }
     },
+    "nixvim": {
+      "inputs": {
+        "beautysh": "beautysh",
+        "flake-utils": [
+          "flake-utils"
+        ],
+        "nixpkgs": [
+          "nixpkgs"
+        ],
+        "pre-commit-hooks": [
+          "pre-commit-hooks"
+        ]
+      },
+      "locked": {
+        "lastModified": 1690107839,
+        "narHash": "sha256-ll3j+g3qz239sfLHYhHynKRWhMkxFXsJ9MOAXzSqQMc=",
+        "owner": "nix-community",
+        "repo": "nixvim",
+        "rev": "4c25722d73694245e767839b462026ab2296542b",
+        "type": "github"
+      },
+      "original": {
+        "owner": "nix-community",
+        "ref": "main",
+        "repo": "nixvim",
+        "type": "github"
+      }
+    },
     "nmap-vulners": {
       "flake": false,
       "locked": {
@@ -448,11 +499,11 @@
     "nmap-vulscan": {
       "flake": false,
       "locked": {
-        "lastModified": 1689005517,
-        "narHash": "sha256-4PKuUDRsX0SqANftOFfwCeJTb92rOpoAWG+fBL1faBA=",
+        "lastModified": 1690132505,
+        "narHash": "sha256-V5KX5EmSAMjV/YONykpLyf2QWZpVy8meRUeW3PvRjNQ=",
         "owner": "scipag",
         "repo": "vulscan",
-        "rev": "b1f9a925ca0bb768c01c2b355150e88c1b130bca",
+        "rev": "0c793c490455e7907a7c5cbaf3f7210e80d2ee57",
         "type": "github"
       },
       "original": {
@@ -464,11 +515,11 @@
     },
     "nur": {
       "locked": {
-        "lastModified": 1689795975,
-        "narHash": "sha256-Iz/hKVdr9icP8fnVleyYqN+TfPqFcJtYaysurxWJp/g=",
+        "lastModified": 1690728090,
+        "narHash": "sha256-nHICvBG9jvNtwYeSpstI5y56OBFTvRm1ArL/W+s/0qA=",
         "owner": "nix-community",
         "repo": "NUR",
-        "rev": "94163e73e3d744a423abd5cd08417f19e01bd207",
+        "rev": "8c5ad7f1da09b47f001fd61b697b3ef646d6b861",
         "type": "github"
       },
       "original": {
@@ -478,6 +529,33 @@
         "type": "github"
       }
     },
+    "poetry2nix": {
+      "inputs": {
+        "flake-utils": [
+          "nixvim",
+          "beautysh",
+          "utils"
+        ],
+        "nixpkgs": [
+          "nixvim",
+          "beautysh",
+          "nixpkgs"
+        ]
+      },
+      "locked": {
+        "lastModified": 1658665240,
+        "narHash": "sha256-/wkx7D7enyBPRjIkK0w7QxLQhzEkb3UxNQnjyc3FTUI=",
+        "owner": "nix-community",
+        "repo": "poetry2nix",
+        "rev": "8b8edc85d24661d5a6d0d71d6a7011f3e699780f",
+        "type": "github"
+      },
+      "original": {
+        "owner": "nix-community",
+        "repo": "poetry2nix",
+        "type": "github"
+      }
+    },
     "pollymc": {
       "inputs": {
         "flake-compat": [
@@ -528,11 +606,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1689668210,
-        "narHash": "sha256-XAATwDkaUxH958yXLs1lcEOmU6pSEIkatY3qjqk8X0E=",
+        "lastModified": 1690628027,
+        "narHash": "sha256-OTSbA2hM6VmxyZ/4siYPANffMBzIsKu04GLjXcv8ST0=",
         "owner": "cachix",
         "repo": "pre-commit-hooks.nix",
-        "rev": "eb433bff05b285258be76513add6f6c57b441775",
+        "rev": "1e2443dd3f669eb65433b2fc26a3065e05a7dc9c",
         "type": "github"
       },
       "original": {
@@ -563,6 +641,7 @@
         "nixpkgs": "nixpkgs",
         "nixpkgs-master": "nixpkgs-master",
         "nixpkgs-stable": "nixpkgs-stable",
+        "nixvim": "nixvim",
         "nmap-vulners": "nmap-vulners",
         "nmap-vulscan": "nmap-vulscan",
         "nur": "nur",
@@ -592,11 +671,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1689610936,
-        "narHash": "sha256-g/+hhD6Kpz8EQvE93q3tpP58LBxNyR7f1UhREKZJvXM=",
+        "lastModified": 1689976554,
+        "narHash": "sha256-uWJq3sIhkqfzPmfB2RWd5XFVooGFfSuJH9ER/r302xQ=",
         "owner": "simple-nixos-mailserver",
         "repo": "nixos-mailserver",
-        "rev": "a3b03d1b5af5112bc94b448879a2f401043b42ea",
+        "rev": "c63f6e7b053c18325194ff0e274dba44e8d2271e",
         "type": "gitlab"
       },
       "original": {
@@ -621,6 +700,21 @@
         "type": "github"
       }
     },
+    "utils": {
+      "locked": {
+        "lastModified": 1678901627,
+        "narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=",
+        "owner": "numtide",
+        "repo": "flake-utils",
+        "rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6",
+        "type": "github"
+      },
+      "original": {
+        "owner": "numtide",
+        "repo": "flake-utils",
+        "type": "github"
+      }
+    },
     "xmonad-ng": {
       "inputs": {
         "flake-utils": [
diff --git a/flake.nix b/flake.nix
index dd9473e..c76a436 100644
--- a/flake.nix
+++ b/flake.nix
@@ -74,6 +74,18 @@
       ref = "master";
     };
 
+    nixvim = {
+      type = "github";
+      owner = "nix-community";
+      repo = "nixvim";
+      ref = "main";
+      inputs = {
+        flake-utils.follows = "flake-utils";
+        nixpkgs.follows = "nixpkgs";
+        pre-commit-hooks.follows = "pre-commit-hooks";
+      };
+    };
+
     nix-vscode-extensions = {
       type = "github";
       owner = "nix-community";
@@ -271,7 +283,8 @@
         };
       in {
         packages = with lib;
-          (mapAttrs (_: c: c.config.system.build.toplevel)
+          pkgs
+          // (mapAttrs (_: c: c.config.system.build.toplevel)
             (builtins.removeAttrs self.nixosConfigurations ["iso-arm" "iso-x86"]))
           // (let
             buildIsoImage = name: self.nixosConfigurations.${name}.config.system.build.isoImage;
diff --git a/modules/common/common/nix/default.nix b/modules/common/common/nix/default.nix
index 840bdab..43586d3 100644
--- a/modules/common/common/nix/default.nix
+++ b/modules/common/common/nix/default.nix
@@ -192,7 +192,6 @@ with lib; {
         json-language-server = np.vscode-json-languageserver-bin;
         k3d = kube3d;
         kubelogin = kubelogin-oidc;
-        lua-language-server = sumneko-lua-language-server;
         nix-language-server = rnix-lsp;
         omnisharp = omnisharp-roslyn;
         telepresence = telepresence2;
diff --git a/modules/common/default.nix b/modules/common/default.nix
index a159a87..b360049 100644
--- a/modules/common/default.nix
+++ b/modules/common/default.nix
@@ -12,6 +12,7 @@ _: {
     ./gnupg.nix
     ./htop.nix
     ./mpv.nix
+    ./neovim
     ./nmap.nix
     ./openssh.nix
     ./password-store.nix
diff --git a/modules/common/emacs/doom/packages.el b/modules/common/emacs/doom/packages.el
index 99ead41..033932c 100644
--- a/modules/common/emacs/doom/packages.el
+++ b/modules/common/emacs/doom/packages.el
@@ -1,11 +1,5 @@
 (disable-packages! writegood-mode)
 
-(unpin! evil-collection)
-(package! evil-collection
-  :recipe (:repo "kepi/evil-collection"
-           :branch "mu4e-development"))
-
-(unpin! org-roam)
 (package! org-roam
   :recipe (:host github
            :repo "org-roam/org-roam"
diff --git a/modules/common/fonts.nix b/modules/common/fonts.nix
index 483de0d..f3a79c2 100644
--- a/modules/common/fonts.nix
+++ b/modules/common/fonts.nix
@@ -81,10 +81,10 @@ in {
   };
 
   config = mkIf cfg.enable {
-    fonts.fonts = with pkgs; [
-      iosevka-bin
+    fonts.packages = with pkgs; [
       (iosevka-bin.override {variant = "aile";})
       (iosevka-bin.override {variant = "etoile";})
+      iosevka-bin
       sarasa-gothic
     ];
   };
diff --git a/modules/common/neovim/default.nix b/modules/common/neovim/default.nix
new file mode 100644
index 0000000..1e5f103
--- /dev/null
+++ b/modules/common/neovim/default.nix
@@ -0,0 +1,27 @@
+{
+  config,
+  inputs,
+  lib,
+  ...
+}:
+with lib; let
+  cfg = config.nixfiles.modules.neovim;
+in {
+  options.nixfiles.modules.neovim.enable = mkEnableOption "NeoVim";
+
+  config = mkIf cfg.enable {
+    hm = {
+      imports = [inputs.nixvim.homeManagerModules.nixvim];
+
+      programs.nixvim = {
+        enable = true;
+
+        plugins = {
+          lsp.enable = true;
+          nix.enable = true;
+          surround.enable = true;
+        };
+      };
+    };
+  };
+}
diff --git a/modules/common/profiles/dev/containers.nix b/modules/common/profiles/dev/containers.nix
index cc24ab3..da6b0e1 100644
--- a/modules/common/profiles/dev/containers.nix
+++ b/modules/common/profiles/dev/containers.nix
@@ -35,6 +35,7 @@ in {
           datree
           helm
           istioctl
+          k9s
           kubeconform
           kubectl
           kubectl-doctor
diff --git a/modules/common/profiles/headful.nix b/modules/common/profiles/headful.nix
index 935da31..7ec9d42 100644
--- a/modules/common/profiles/headful.nix
+++ b/modules/common/profiles/headful.nix
@@ -19,6 +19,7 @@ in {
       aria2.enable = true;
       emacs.enable = true;
       mpv.enable = true;
+      neovim.enable = true;
       openssh.client.enable = true;
       password-store.enable = true;
       vscode.enable = true;
@@ -34,7 +35,6 @@ in {
         '';
 
         packages = with pkgs; [
-          anki
           comma
           fd
           ripgrep
diff --git a/modules/nixos/syncthing.nix b/modules/nixos/syncthing.nix
index 24bfbb6..399fb6b 100644
--- a/modules/nixos/syncthing.nix
+++ b/modules/nixos/syncthing.nix
@@ -50,76 +50,13 @@ in {
         overrideDevices = true;
         overrideFolders = true;
 
-        devices = mapAttrs (name: attr:
-          mkIf (attr.syncthing.id != null && hasAttr "wireguard" attr) {
-            inherit (attr.syncthing) id;
-            addresses = ["tcp://${name}.${config.networking.domain}:22000"];
-            introducer = this.isHeadless;
-          })
-        my.configurations;
-
-        folders = let
-          filterDevices = f:
-            attrNames (filterAttrs (_: attr:
-              (attr.hostname != this.hostname)
-              && (attr.syncthing.id != null)
-              && f attr)
-            my.configurations);
-          all = filterDevices (_: true);
-          notHeadless = filterDevices (attr: !attr.isHeadless);
-          notOther = filterDevices (attr: !attr.isOther);
-
-          simple = {
-            type = "simple";
-            params.keep = "5";
-          };
-          trashcan = {
-            type = "trashcan";
-            params.cleanoutDays = "7";
-          };
-        in
-          with config.hm.xdg.userDirs; {
-            share = {
-              path = publicShare;
-              devices = notHeadless;
-              versioning = trashcan;
-            };
-            pass = {
-              path = config.hm.programs.password-store.settings.PASSWORD_STORE_DIR;
-              devices = notOther;
-              versioning = trashcan;
-            };
-            org = {
-              path = "${documents}/org";
-              devices = all;
-              versioning = simple;
-            };
-            roam = {
-              path = "${documents}/roam";
-              devices = notOther;
-              versioning = simple;
-            };
-            elfeed = {
-              path = "${config.my.home}/.elfeed";
-              devices = notOther;
-              versioning = trashcan;
-            };
-            books = {
-              path = "${documents}/books";
-              devices = notOther;
-              versioning = trashcan;
-            };
-          };
-
-        extraOptions = {
+        settings = {
           options = {
-            testOption = false;
             autoUpgradeIntervalH = 0;
             crashReportingEnabled = false;
             globalAnnounceEnabled = false;
             relaysEnabled = false;
             setLowPriority = this.isHeadless;
-            stunKeepaliveMinS = 0;
             stunKeepaliveStartS = 0;
             urAccepted = -1;
           };
@@ -128,6 +65,67 @@ in {
             insecureAdminAccess = true;
             insecureSkipHostcheck = this.isHeadless;
           };
+
+          devices = mapAttrs (name: attr:
+            mkIf (attr.syncthing.id != null && hasAttr "wireguard" attr) {
+              inherit (attr.syncthing) id;
+              addresses = ["tcp://${name}.${config.networking.domain}:22000"];
+              introducer = this.isHeadless;
+            })
+          my.configurations;
+
+          folders = let
+            filterDevices = f:
+              attrNames (filterAttrs (_: attr:
+                (attr.hostname != this.hostname)
+                && (attr.syncthing.id != null)
+                && f attr)
+              my.configurations);
+            all = filterDevices (_: true);
+            notHeadless = filterDevices (attr: !attr.isHeadless);
+            notOther = filterDevices (attr: !attr.isOther);
+
+            simple = {
+              type = "simple";
+              params.keep = "5";
+            };
+            trashcan = {
+              type = "trashcan";
+              params.cleanoutDays = "7";
+            };
+          in
+            with config.hm.xdg.userDirs; {
+              share = {
+                path = publicShare;
+                devices = notHeadless;
+                versioning = trashcan;
+              };
+              pass = {
+                path = config.hm.programs.password-store.settings.PASSWORD_STORE_DIR;
+                devices = notOther;
+                versioning = trashcan;
+              };
+              org = {
+                path = "${documents}/org";
+                devices = all;
+                versioning = simple;
+              };
+              roam = {
+                path = "${documents}/roam";
+                devices = notOther;
+                versioning = simple;
+              };
+              elfeed = {
+                path = "${config.my.home}/.elfeed";
+                devices = notOther;
+                versioning = trashcan;
+              };
+              books = {
+                path = "${documents}/books";
+                devices = notOther;
+                versioning = trashcan;
+              };
+            };
         };
       };
 
diff --git a/nixosConfigurations/eonwe/default.nix b/nixosConfigurations/eonwe/default.nix
index 677006a..a5d3278 100644
--- a/nixosConfigurations/eonwe/default.nix
+++ b/nixosConfigurations/eonwe/default.nix
@@ -30,6 +30,7 @@ with lib; {
 
   hm = {
     home.packages = with pkgs; [
+      anki
       gzdoom
       kdenlive
       obs-studio

Consider giving Nix/NixOS a try! <3