From 67d14dbbe9415bed4acc0bda7a44d763863e42f9 Mon Sep 17 00:00:00 2001 From: TECHNOFAB Date: Sun, 27 Oct 2024 18:05:57 +0100 Subject: [PATCH] feat: add support for changing the timezone in the container --- image.nix | 7 ++++++- nix-kubernetes/kubernetes.nix | 4 ++++ nix-kubernetes/parameters.nix | 10 ++++++++++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/image.nix b/image.nix index 1950ce4..604766a 100644 --- a/image.nix +++ b/image.nix @@ -14,6 +14,7 @@ gitMinimal curl ncurses + less cacert.out @@ -34,7 +35,7 @@ }; nixConfContents = - (lib.concatStringsSep "\n" (lib.mapAttrsFlatten (n: v: let + (lib.concatStringsSep "\n" (lib.mapAttrsToList (n: v: let vStr = if builtins.isList v then lib.concatStringsSep " " v @@ -95,6 +96,9 @@ echo "coder:100000:65536" > $out/etc/subuid echo "coder:100000:65536" > $out/etc/subgid + # support timezones + ln -s ${pkgs.tzdata}/share/zoneinfo $out/etc/zoneinfo + ln -s ${profile} $out/nix/var/nix/profiles/default-1-link ln -s /nix/var/nix/profiles/default-1-link $out/nix/var/nix/profiles/default @@ -129,6 +133,7 @@ in "HOME=/home/coder" "TMPDIR=/tmp" "XDG_RUNTIME_DIR=/tmp" + "TZDIR=/etc/zoneinfo" "PATH=${lib.concatStringsSep ":" [ "/home/coder/.nix-profile/bin" # this makes all the packages defined at the top available diff --git a/nix-kubernetes/kubernetes.nix b/nix-kubernetes/kubernetes.nix index 27b9280..6ebb6dd 100644 --- a/nix-kubernetes/kubernetes.nix +++ b/nix-kubernetes/kubernetes.nix @@ -81,6 +81,10 @@ name = "DOTFILES_REPO"; value = "\${data.coder_parameter.dotfiles_repo.value}"; } + { + name = "TZ"; + value = "\${data.coder_parameter.timezone.value}"; + } ]; resources = { requests = { diff --git a/nix-kubernetes/parameters.nix b/nix-kubernetes/parameters.nix index 630bfbb..63b659f 100644 --- a/nix-kubernetes/parameters.nix +++ b/nix-kubernetes/parameters.nix @@ -87,5 +87,15 @@ } ]; }; + timezone = { + name = "Timezone"; + description = '' + Content of the TZ environment variable. + ''; + default = ""; + order = 8; + type = "string"; + mutable = true; + }; }; }