From 6647f72957dad695dd2aef3acabe3dd1466692f7 Mon Sep 17 00:00:00 2001 From: Azat Bahawi Date: Mon, 15 Apr 2024 10:07:12 +0300 Subject: 2024-04-15 --- darwinConfigurations/mairon/default.nix | 36 +++++++++--------- flake.lock | 66 ++++++++++++++++----------------- modules/common/emacs/default.nix | 4 +- modules/common/emacs/doom/config.el | 18 ++++++++- modules/nixos/common/locale.nix | 18 ++++++--- modules/nixos/common/stylix.nix | 2 +- modules/nixos/k3s.nix | 40 +++++++++++++++++++- modules/nixos/kde.nix | 11 ++++-- nixosConfigurations/varda/default.nix | 2 +- 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 = { -- cgit v1.2.3