about summary refs log tree commit diff
path: root/modules
diff options
context:
space:
mode:
authorAzat Bahawi <azat@bahawi.net>2023-06-01 02:39:11 +0300
committerAzat Bahawi <azat@bahawi.net>2023-06-01 02:39:11 +0300
commitec144aaa8fb8c5a4b65e60bbc31a52d71d6e646a (patch)
tree27a5a684b2def43d0ba00fbb890ed26f572fb060 /modules
parent2023-05-21 (diff)
2023-06-01
Diffstat (limited to 'modules')
-rw-r--r--modules/common/common/home-manager.nix5
-rw-r--r--modules/common/common/nix/default.nix1
-rw-r--r--modules/common/emacs/doom/packages.el11
-rw-r--r--modules/common/profiles/headful.nix1
-rw-r--r--modules/common/vscode.nix30
-rw-r--r--modules/darwin/common/nix.nix1
-rw-r--r--modules/darwin/homebrew.nix5
-rw-r--r--modules/nixos/firefox/userContent.css8
-rw-r--r--modules/nixos/games/steam-run.nix4
-rw-r--r--modules/nixos/syncthing.nix120
10 files changed, 111 insertions, 75 deletions
diff --git a/modules/common/common/home-manager.nix b/modules/common/common/home-manager.nix
index b28260a..240cd93 100644
--- a/modules/common/common/home-manager.nix
+++ b/modules/common/common/home-manager.nix
@@ -1,5 +1,4 @@
 {
-  inputs,
   lib,
   localUsername ? lib.my.username,
   ...
@@ -11,8 +10,8 @@ with lib; {
 
   hm = {
     news.display = "silent";
-    home.stateVersion = with builtins;
-      head (split "\n" (readFile "${inputs.nixpkgs}/.version"));
+    # FIXME This is temporary until home-manager expands the option enum.
+    home.stateVersion = "23.05";
   };
 
   home-manager = {
diff --git a/modules/common/common/nix/default.nix b/modules/common/common/nix/default.nix
index 0c49034..fa1c85e 100644
--- a/modules/common/common/nix/default.nix
+++ b/modules/common/common/nix/default.nix
@@ -141,6 +141,7 @@ with lib; {
         tor-browser = tor-browser-bundle-bin;
       }))
     agenix.overlays.default
+    nix-vscode-extensions.overlays.default
     nur.overlay
   ];
 
diff --git a/modules/common/emacs/doom/packages.el b/modules/common/emacs/doom/packages.el
index a8e52eb..99ead41 100644
--- a/modules/common/emacs/doom/packages.el
+++ b/modules/common/emacs/doom/packages.el
@@ -1,5 +1,11 @@
 (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"
@@ -9,11 +15,6 @@
            :repo "org-roam/org-roam-ui"
            :branch "main"))
 
-(package! tree-sitter
-  :recipe (:host github
-           :repo "azahi/elisp-tree-sitter"
-           :branch "master"))
-
 (package! hledger-mode)
 
 (package! kubernetes)
diff --git a/modules/common/profiles/headful.nix b/modules/common/profiles/headful.nix
index f51ecc8..6ec092d 100644
--- a/modules/common/profiles/headful.nix
+++ b/modules/common/profiles/headful.nix
@@ -32,6 +32,7 @@ in {
         '';
 
         packages = with pkgs; [
+          comma
           fd
           ripgrep
           ripgrep-all
diff --git a/modules/common/vscode.nix b/modules/common/vscode.nix
index 2d34788..ee3e18c 100644
--- a/modules/common/vscode.nix
+++ b/modules/common/vscode.nix
@@ -32,16 +32,38 @@ in {
 
       inherit (cfg) package;
 
-      extensions = with pkgs;
-      with vscode-extensions;
+      extensions = with pkgs.open-vsx;
         [
+          arrterian.nix-env-selector
           editorconfig.editorconfig
-          file-icons.file-icons
+          efoerster.texlab
+          github.vscode-pull-request-github
           gitlab.gitlab-workflow
+          golang.go
+          graphql.vscode-graphql
+          hashicorp.hcl
+          hashicorp.terraform
+          haskell.haskell
+          jnoortheen.nix-ide
+          kahole.magit
+          mads-hartmann.bash-ide-vscode
+          mkhl.direnv
           ms-kubernetes-tools.vscode-kubernetes-tools
+          ms-python.python
+          ms-vscode.cmake-tools
+          pinage404.nix-extension-pack
+          redhat.ansible
+          redhat.java
           redhat.vscode-xml
           redhat.vscode-yaml
+          rust-lang.rust
           streetsidesoftware.code-spell-checker
+          streetsidesoftware.code-spell-checker-british-english
+          streetsidesoftware.code-spell-checker-russian
+          streetsidesoftware.code-spell-checker-scientific-terms
+          sumneko.lua
+          vscode-org-mode.org-mode
+          ziglang.vscode-zig
         ]
         ++ optional cfg.vim.enable vscodevim.vim;
 
@@ -141,6 +163,8 @@ in {
 
           useSystemClipboard = true;
         };
+
+        redhat.telemetry.enabled = false;
       };
     };
   };
diff --git a/modules/darwin/common/nix.nix b/modules/darwin/common/nix.nix
index b291d11..08379f8 100644
--- a/modules/darwin/common/nix.nix
+++ b/modules/darwin/common/nix.nix
@@ -39,5 +39,6 @@ with lib; {
 
   services.nix-daemon.enable = true;
 
+  # https://github.com/LnL7/nix-darwin/blob/master/CHANGELOG
   system.stateVersion = 4;
 }
diff --git a/modules/darwin/homebrew.nix b/modules/darwin/homebrew.nix
index 990afae..f0bec9b 100644
--- a/modules/darwin/homebrew.nix
+++ b/modules/darwin/homebrew.nix
@@ -16,6 +16,11 @@ in {
     homebrew = {
       enable = true;
       taps = [];
+      onActivation = {
+        autoUpdate = true;
+        cleanup = "zap";
+        upgrade = true;
+      };
     };
   };
 }
diff --git a/modules/nixos/firefox/userContent.css b/modules/nixos/firefox/userContent.css
index 2b515e3..a55d78f 100644
--- a/modules/nixos/firefox/userContent.css
+++ b/modules/nixos/firefox/userContent.css
@@ -330,3 +330,11 @@
         background: inherit !important;
     }
 }
+
+@-moz-document regexp("https?://protondb\.com/app/.*")
+{
+    /* SteamDeck reports. */
+    div[class*="GameReports__Container"]:nth-child(8) {
+        display: none !important;
+    }
+}
diff --git a/modules/nixos/games/steam-run.nix b/modules/nixos/games/steam-run.nix
index ba18849..37a20e0 100644
--- a/modules/nixos/games/steam-run.nix
+++ b/modules/nixos/games/steam-run.nix
@@ -11,7 +11,6 @@ in {
     enable = mkEnableOption "native Steam runtime";
 
     quirks = {
-      crusaderKings3 = mkEnableOption ''fixes for "Crusader Kings III" issues'';
       cryptOfTheNecrodancer = mkEnableOption ''fixes for "Crypt of the NecroDancer" issues'';
       mountAndBladeWarband = mkEnableOption ''fixes for "Mount & Blade: Warband" issues'';
     };
@@ -32,9 +31,6 @@ in {
         extraLibraries = _:
           with cfg.quirks;
             []
-            ++ optionals crusaderKings3 [
-              ncurses
-            ]
             ++ optionals cryptOfTheNecrodancer [
               (import (builtins.fetchTarball {
                 url = "https://github.com/NixOS/nixpkgs/archive/d1c3fea7ecbed758168787fe4e4a3157e52bc808.tar.gz";
diff --git a/modules/nixos/syncthing.nix b/modules/nixos/syncthing.nix
index faf6723..24bfbb6 100644
--- a/modules/nixos/syncthing.nix
+++ b/modules/nixos/syncthing.nix
@@ -50,73 +50,68 @@ in {
         overrideDevices = true;
         overrideFolders = true;
 
-        settings = {
-          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;
+        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);
+        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";
+          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;
             };
-            trashcan = {
-              type = "trashcan";
-              params.cleanoutDays = "7";
+            pass = {
+              path = config.hm.programs.password-store.settings.PASSWORD_STORE_DIR;
+              devices = notOther;
+              versioning = trashcan;
             };
-          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;
-              };
+            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;
             };
-
-          gui = {
-            insecureAdminAccess = true;
-            insecureSkipHostcheck = this.isHeadless;
           };
 
+        extraOptions = {
           options = {
             testOption = false;
             autoUpgradeIntervalH = 0;
@@ -128,6 +123,11 @@ in {
             stunKeepaliveStartS = 0;
             urAccepted = -1;
           };
+
+          gui = {
+            insecureAdminAccess = true;
+            insecureSkipHostcheck = this.isHeadless;
+          };
         };
       };
 

Consider giving Nix/NixOS a try! <3