about summary refs log tree commit diff
path: root/flake.nix
diff options
context:
space:
mode:
authorVika <vika@fireburn.ru>2024-07-29 13:21:56 +0300
committerVika <vika@fireburn.ru>2024-07-29 15:14:30 +0300
commit1278044befe37f6d3c698b50353978c21c78a8a6 (patch)
tree1ac648438ac76446b829cbd09539c00a7d720afb /flake.nix
parentb0325f03285f00c499f2bea0193dc00a71737c45 (diff)
Prevent mass-rebuilds by properly overriding the locales package HEAD main
Applying the overlay onto a NixOS system results in a mass-rebuild,
since apparently many packages indirectly depend on glibcLocales. This
is why NixOS has a setting for setting the locale package used at
runtime.
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix15
1 files changed, 7 insertions, 8 deletions
diff --git a/flake.nix b/flake.nix
index a712b3e..7067523 100644
--- a/flake.nix
+++ b/flake.nix
@@ -1,17 +1,16 @@
 {
   description = "Custom locale";
   outputs = { self, ... }: {
-    overlays.default = final: prev: {
-      glibcLocales = prev.glibcLocales.overrideAttrs (base: {
+    nixosModules.default = { config, lib, pkgs, ... }: {
+      i18n.glibcLocales = (pkgs.glibcLocales.overrideAttrs (base: {
         postPatch = base.postPatch + ''
-          cp ${prev.lib.escapeShellArg ./en_EU} localedata/locales/en_EU
+          cp ${./en_EU} localedata/locales/en_EU
           echo 'en_EU.UTF-8/UTF-8 \' >>localedata/SUPPORTED
         '';
-      });
-    };
-
-    nixosModules.default = { lib, ... }: {
-      nixpkgs.overlays = [ self.overlays.default ];
+      })).override {
+        allLocales = builtins.any (x: x == "all") config.i18n.supportedLocales;
+        locales = config.i18n.supportedLocales;
+      };
       i18n.defaultLocale = lib.mkDefault "en_EU.UTF-8";
     };
   };