about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAzat Bahawi <azat@bahawi.net>2024-04-15 10:07:12 +0300
committerAzat Bahawi <azat@bahawi.net>2024-04-15 10:07:12 +0300
commit6647f72957dad695dd2aef3acabe3dd1466692f7 (patch)
treebb331db9ac81fd3eed1ed797d3363bc143ce1940
parent2024-04-09 (diff)
2024-04-15
-rw-r--r--darwinConfigurations/mairon/default.nix36
-rw-r--r--flake.lock66
-rw-r--r--modules/common/emacs/default.nix4
-rw-r--r--modules/common/emacs/doom/config.el18
-rw-r--r--modules/nixos/common/locale.nix18
-rw-r--r--modules/nixos/common/stylix.nix2
-rw-r--r--modules/nixos/k3s.nix40
-rw-r--r--modules/nixos/kde.nix11
-rw-r--r--nixosConfigurations/varda/default.nix2
9 files changed, 132 insertions, 65 deletions
diff --git a/darwinConfigurations/mairon/default.nix b/darwinConfigurations/mairon/default.nix
index a004d1d..f9cdbbb 100644
--- a/darwinConfigurations/mairon/default.nix
+++ b/darwinConfigurations/mairon/default.nix
@@ -24,26 +24,26 @@ with lib;
   homebrew = {
     taps = [ { name = "kreuzwerker/homebrew-taps"; } ];
     brews = [
-      {name = "carthage";}
-      {name = "go@1.22";}
-      {name = "m1-terraform-provider-helper";} # kreuzwerker/homebrew-taps
-      {name = "sourcery";}
-      {name = "xcbeautify";}
-      {name = "xcodegen";}
-      {name = "xcodes";}
+      { name = "carthage"; }
+      { name = "go@1.22"; }
+      { name = "m1-terraform-provider-helper"; } # kreuzwerker/homebrew-taps
+      { name = "sourcery"; }
+      { name = "xcbeautify"; }
+      { name = "xcodegen"; }
+      { name = "xcodes"; }
     ];
     casks = [
-      {name = "burp-suite";}
-      {name = "jetbrains-toolbox";}
-      {name = "krita";}
-      {name = "obs";}
-      {name = "openlens";}
-      {name = "orbstack";}
-      {name = "podman-desktop";}
-      {name = "shadowsocksx-ng";}
-      {name = "vial";}
-      {name = "vnc-viewer";}
-      {name = "wireshark";}
+      { name = "burp-suite"; }
+      { name = "jetbrains-toolbox"; }
+      { name = "krita"; }
+      { name = "obs"; }
+      { name = "openlens"; }
+      { name = "orbstack"; }
+      { name = "podman-desktop"; }
+      { name = "shadowsocksx-ng"; }
+      { name = "vial"; }
+      { name = "vnc-viewer"; }
+      { name = "wireshark"; }
     ];
   };
 
diff --git a/flake.lock b/flake.lock
index 7483e81..190c86d 100644
--- a/flake.lock
+++ b/flake.lock
@@ -420,11 +420,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1712462372,
-        "narHash": "sha256-WA3bbBWhd3o1wAgyHZNypjb/LG4oq+IWxFq8ey8yNPU=",
+        "lastModified": 1713131281,
+        "narHash": "sha256-/Jm1X9MPfLXAxZSCdWmQAFNUQggEfNWHol5jSyyzFzw=",
         "owner": "nix-community",
         "repo": "home-manager",
-        "rev": "a561ad6ab38578c812cc9af3b04f2cc60ebf48c9",
+        "rev": "9f32c66a51d05e6d4ec0dea555bbff9135749ec7",
         "type": "github"
       },
       "original": {
@@ -462,11 +462,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1710449465,
-        "narHash": "sha256-2orO8nfplp6uQJBFqKkj1iyNMC6TysmwbWwbb4osTag=",
+        "lastModified": 1713012165,
+        "narHash": "sha256-z/soXKDnz+w4Nw0LkRaM73YqolhSmIYy6cpg1F2ps8I=",
         "owner": "simple-nixos-mailserver",
         "repo": "nixos-mailserver",
-        "rev": "79c8cfcd5873a85559da6201b116fb38b490d030",
+        "rev": "9f6635a0351c190179dc6904545f950108a23dd8",
         "type": "gitlab"
       },
       "original": {
@@ -488,11 +488,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1712539101,
-        "narHash": "sha256-SWWhUvpljUYEYSGvCArN90k0KXpzYybNCxVzzce2dys=",
+        "lastModified": 1712970252,
+        "narHash": "sha256-3flJKxsxg+V0jHQ9SB4tdRCYgxKsgzF/g8ERhj9BN0E=",
         "owner": "Infinidoge",
         "repo": "nix-minecraft",
-        "rev": "74add7a6ba3874d9896088cf120fb3e1551ede79",
+        "rev": "017d276fa8bc6a73520564dd6b0bf2469363612d",
         "type": "github"
       },
       "original": {
@@ -508,11 +508,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1712459390,
-        "narHash": "sha256-e12bNDottaGoBgd0AdH/bQvk854xunlWAdZwr/oHO1c=",
+        "lastModified": 1713067146,
+        "narHash": "sha256-9D20xjblGKEVRVCnM3qWhiizEa9i6OpK6xQJajwcwOQ=",
         "owner": "nix-community",
         "repo": "nix-index-database",
-        "rev": "4676d72d872459e1e3a248d049609f110c570e9a",
+        "rev": "93aed67288be60c9ef6133ba2f8de128f4ef265c",
         "type": "github"
       },
       "original": {
@@ -523,11 +523,11 @@
     },
     "nixos-hardware": {
       "locked": {
-        "lastModified": 1712566108,
-        "narHash": "sha256-c9nT2ZODGqobISP41kUwCQ84Srwg7a/1TmPFQuol2/8=",
+        "lastModified": 1712909959,
+        "narHash": "sha256-7/5ubuwdEbQ7Z+Vqd4u0mM5L2VMNDsBh54visp27CtQ=",
         "owner": "NixOS",
         "repo": "nixos-hardware",
-        "rev": "1e3b3a35b7083f4152f5a516798cf9b21e686465",
+        "rev": "f58b25254be441cd2a9b4b444ed83f1e51244f1f",
         "type": "github"
       },
       "original": {
@@ -538,11 +538,11 @@
     },
     "nixpkgs": {
       "locked": {
-        "lastModified": 1712573573,
-        "narHash": "sha256-xxon7WwNm4/EadMKg1eF40/5s0O78nXUy2ILZt6vT7E=",
+        "lastModified": 1713128889,
+        "narHash": "sha256-aB90ZqzosyRDpBh+rILIcyP5lao8SKz8Sr2PSWvZrzk=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "0d28066770464d19d637f6e8e42e8688420b6ac6",
+        "rev": "2748d22b45a99fb2deafa5f11c7531c212b2cefa",
         "type": "github"
       },
       "original": {
@@ -554,11 +554,11 @@
     },
     "nixpkgs-master": {
       "locked": {
-        "lastModified": 1712612676,
-        "narHash": "sha256-ccfthr2twjsERX5gd1MEp7YOvyGdkCFhJ+/2ICDDKMw=",
+        "lastModified": 1713161803,
+        "narHash": "sha256-bmtqFupVc7eJSbN6Ktar+AP8IgZQdKJJCBP/x0ultHA=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "0b3487168462acfd2b0a8b4433d08f3182e68bf5",
+        "rev": "c092112f4d6492e3f9e101fd0708f5b7d2058001",
         "type": "github"
       },
       "original": {
@@ -570,11 +570,11 @@
     },
     "nixpkgs-stable": {
       "locked": {
-        "lastModified": 1712608516,
-        "narHash": "sha256-Ypvy1sEKH8AmcjZpT4l+nvbEJtgFZpyudRQBYQeif+g=",
+        "lastModified": 1713158720,
+        "narHash": "sha256-1cpJgfuRKIfPOCD156t5yS5A7EHVwX12sfTGWGa3E2g=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "d7329da4b1cd24f4383455071346f4f81b7becba",
+        "rev": "6503c38cf0d34cd9dd0f8eaa7ff5e2c8d20570be",
         "type": "github"
       },
       "original": {
@@ -635,11 +635,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1712579741,
-        "narHash": "sha256-igpsH+pa6yFwYOdah3cFciCk8gw+ytniG9quf5f/q84=",
+        "lastModified": 1712897695,
+        "narHash": "sha256-nMirxrGteNAl9sWiOhoN5tIHyjBbVi5e2tgZUgZlK3Y=",
         "owner": "cachix",
         "repo": "pre-commit-hooks.nix",
-        "rev": "70f504012f0a132ac33e56988e1028d88a48855c",
+        "rev": "40e6053ecb65fcbf12863338a6dcefb3f55f1bf8",
         "type": "github"
       },
       "original": {
@@ -701,11 +701,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1712154372,
-        "narHash": "sha256-2HFQm/gpmxtMokn6pInHlTlU7mBONLb3Y1aN8SlY0tc=",
+        "lastModified": 1713025302,
+        "narHash": "sha256-za4w2wYt1fg9EdTv5fYLwEqAyHgPmPq88HmlxirXuEk=",
         "owner": "danth",
         "repo": "stylix",
-        "rev": "f9b9bc7c8e69942cd2583a3309f86fc5260f1275",
+        "rev": "83866ed8800ed39519a79ea30b18c8eb21f26080",
         "type": "github"
       },
       "original": {
@@ -742,11 +742,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1712580452,
-        "narHash": "sha256-X1LjMY8wpnflD2nq7GuYxTichyWR9qxw8eGmzyEW4h8=",
+        "lastModified": 1713152146,
+        "narHash": "sha256-9YWu+pJRPUPic/7U6vjcfW4EQ0OKAYJoICUy8IKW5Y8=",
         "owner": "nix-community",
         "repo": "nix-vscode-extensions",
-        "rev": "5041ca76d6c80d057673e5202fa4167f81202391",
+        "rev": "926cfa719fef55c3dab86d19b41fd8ee1fc8ea21",
         "type": "github"
       },
       "original": {
diff --git a/modules/common/emacs/default.nix b/modules/common/emacs/default.nix
index 6bbba38..4c43fd5 100644
--- a/modules/common/emacs/default.nix
+++ b/modules/common/emacs/default.nix
@@ -188,7 +188,9 @@ in
 
                     ;; :input japanese
                     (setq migemo-dictionary "${pkgs.cmigemo}/share/migemo/utf-8/migemo-dict"
-                          skk-large-jisyo "${pkgs.skk-dicts}/share/SKK-JISYO.L")
+                          migemo-options '("--quiet" "--emacs")
+                          skk-large-jisyo "${pkgs.skk-dicts}/share/SKK-JISYO.L"
+                          skk-show-inline t)
 
                     ;; :editor parinfer
                     (setq parinfer-rust-auto-download nil
diff --git a/modules/common/emacs/doom/config.el b/modules/common/emacs/doom/config.el
index ac2578e..329931b 100644
--- a/modules/common/emacs/doom/config.el
+++ b/modules/common/emacs/doom/config.el
@@ -4,7 +4,7 @@
 
 (setq frame-title-format '("GNU Emacs"))
 
-(setq-hook! 'prog-mode-hook
+(setq-hook! '(prog-mode-hook yaml-mode-hook)
   display-line-numbers-type 'relative
   scroll-margin 10
   hscroll-margin 10)
@@ -235,3 +235,19 @@
                                  (setq-local company-idle-delay 0.1))))
   :init
   (setq hledger-input-buffer-height 20))
+
+;;
+;;; elfeed
+;;
+
+(add-hook! 'elfeed-new-entry-hook
+           '((elfeed-make-tagger :before "2 weeks ago"
+                                 :remove 'unread)
+             (elfeed-make-tagger :feed-title "SberMarket Tech"
+                                 :entry-title (not ".*(DevOps|Golang).*")
+                                 :add 'junk
+                                 :remove 'unread)
+             (elfeed-make-tagger :feed-title "dotconferences"
+                                 :entry-title (not ".*dotGo.*")
+                                 :add 'junk
+                                 :remove 'unread)))
diff --git a/modules/nixos/common/locale.nix b/modules/nixos/common/locale.nix
index 699f89b..0f79cb7 100644
--- a/modules/nixos/common/locale.nix
+++ b/modules/nixos/common/locale.nix
@@ -1,4 +1,9 @@
-{ lib, pkgs, ... }:
+{
+  config,
+  lib,
+  pkgs,
+  ...
+}:
 with lib;
 {
   i18n = {
@@ -13,10 +18,13 @@ with lib;
 
     inputMethod = {
       enabled = "fcitx5";
-      fcitx5.addons = with pkgs; [
-        fcitx5-configtool
-        fcitx5-mozc
-      ];
+      fcitx5 = {
+        addons = with pkgs; [
+          fcitx5-configtool
+          fcitx5-mozc
+        ];
+        waylandFrontend = config.nixfiles.modules.wayland.enable;
+      };
     };
   };
 
diff --git a/modules/nixos/common/stylix.nix b/modules/nixos/common/stylix.nix
index a89943a..58b4f29 100644
--- a/modules/nixos/common/stylix.nix
+++ b/modules/nixos/common/stylix.nix
@@ -10,7 +10,7 @@ with lib;
   imports = [ inputs.stylix.nixosModules.stylix ];
 
   stylix.cursor = {
-    name = "phinger-cursors";
+    name = "phinger-cursors-light";
     package = pkgs.phinger-cursors;
     size = 32;
   };
diff --git a/modules/nixos/k3s.nix b/modules/nixos/k3s.nix
index a6efd9f..1ad99c3 100644
--- a/modules/nixos/k3s.nix
+++ b/modules/nixos/k3s.nix
@@ -1,4 +1,9 @@
-{ config, lib, ... }:
+{
+  config,
+  lib,
+  pkgs,
+  ...
+}:
 with lib;
 let
   cfg = config.nixfiles.modules.k3s;
@@ -9,6 +14,20 @@ in
   };
 
   config = mkIf cfg.enable {
+    assertions = [
+      {
+        assertion = cfg.enable -> !config.services.nginx.enable;
+        message = "NGINX port binding will conflict with a Load Balancer";
+      }
+    ];
+
+    nixfiles.modules.common.shell.aliases = {
+      h = mkDefault "helm";
+      k = mkDefault "kubectl";
+      kns = mkDefault "kubens";
+      ktx = mkDefault "kubectx";
+    };
+
     ark.directories = [
       "/etc/rancher/k3s"
       "/var/lib/rancher/k3s"
@@ -16,12 +35,29 @@ in
 
     services.k3s = {
       enable = true;
+
+      package = pkgs.k3s_1_29;
+
       role = "server";
     };
 
     systemd.services.k3s.environment = {
       K3S_KUBECONFIG_OUTPUT = "/etc/rancher/k3s/k3s.yaml";
-      K3S_KUBECONFIG_MODE = "664";
+      K3S_KUBECONFIG_MODE = "644";
+    };
+
+    networking.firewall = {
+      trustedInterfaces = [ "cni0" ];
+
+      # allowedTCPPorts = [
+      #   80
+      #   443
+      # ];
     };
+
+    environment.systemPackages = with pkgs; [
+      kubectx
+      kubernetes-helm
+    ];
   };
 }
diff --git a/modules/nixos/kde.nix b/modules/nixos/kde.nix
index 333e9f7..4f44a5e 100644
--- a/modules/nixos/kde.nix
+++ b/modules/nixos/kde.nix
@@ -20,8 +20,10 @@ in
     };
 
     hm = {
-      # Fucking broken. I don't want to bother with fixing this shit now.
-      stylix.targets.kde.enable = false;
+      # NOTE This will fail the home-manager service upon startup while a Plasma
+      # session is not initialised. Something about dbus not being able to
+      # communicate with presumably KDE configuration daemon.
+      stylix.targets.kde.enable = true;
 
       programs.firefox.profiles.default.settings = {
         "widget.use-xdg-desktop-portal.file-picker" = 1;
@@ -48,7 +50,10 @@ in
 
     services = {
       desktopManager.plasma6.enable = true;
-      xserver.displayManager.sddm.enable = true;
+      displayManager.sddm = {
+        enable = true;
+        wayland.enable = true; # Kinda broken.
+      };
     };
 
     environment.plasma6.excludePackages = with pkgs.kdePackages; [
diff --git a/nixosConfigurations/varda/default.nix b/nixosConfigurations/varda/default.nix
index d93c98e..58b3507 100644
--- a/nixosConfigurations/varda/default.nix
+++ b/nixosConfigurations/varda/default.nix
@@ -4,7 +4,7 @@ _: {
 
     acme.enable = true;
 
-    k3s.enable = false;
+    k3s.enable = true;
   };
 
   boot = {

Consider giving Nix/NixOS a try! <3