summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregor Kleen <gkleen@yggdrasil.li>2026-10-30 15:19:05 +0100
committerGregor Kleen <gkleen@yggdrasil.li>2026-10-30 15:19:05 +0100
commit2f83beb1ff4a0d9b4a731930a129866bd5e5d933 (patch)
tree2578395b36e07bf848635f52ae6d85443d12ae56
parent6de5a6f3d209d304bf14693e7ca996633e8eebae (diff)
downloadnixos-2f83beb1ff4a0d9b4a731930a129866bd5e5d933.tar
nixos-2f83beb1ff4a0d9b4a731930a129866bd5e5d933.tar.gz
nixos-2f83beb1ff4a0d9b4a731930a129866bd5e5d933.tar.bz2
nixos-2f83beb1ff4a0d9b4a731930a129866bd5e5d933.tar.xz
nixos-2f83beb1ff4a0d9b4a731930a129866bd5e5d933.zip
-rw-r--r--accounts/gkleen@skadhi/default.nix9
-rw-r--r--accounts/gkleen@skadhi/firefox/userChrome.css41
-rw-r--r--accounts/gkleen@skadhi/keepassxc.nix3
-rw-r--r--accounts/gkleen@skadhi/niri.nix9
-rw-r--r--accounts/gkleen@skadhi/nixpkgs-pr-watch.toml18
-rw-r--r--accounts/gkleen@skadhi/rzm/default.nix3
-rw-r--r--lib/pythonSet.nix23
-rw-r--r--overlays/etesync-dav.nix30
-rw-r--r--overlays/lesspipe.nix2
-rw-r--r--user-profiles/utils.nix2
10 files changed, 117 insertions, 23 deletions
diff --git a/accounts/gkleen@skadhi/default.nix b/accounts/gkleen@skadhi/default.nix
index 5bb41677..610fa551 100644
--- a/accounts/gkleen@skadhi/default.nix
+++ b/accounts/gkleen@skadhi/default.nix
@@ -77,6 +77,7 @@ in {
77 ".local/share/etesync-dav" 77 ".local/share/etesync-dav"
78 (lib.removePrefix (config.home.homeDirectory + "/") config.services.unison.pairs."documents".stateDirectory) 78 (lib.removePrefix (config.home.homeDirectory + "/") config.services.unison.pairs."documents".stateDirectory)
79 ".aqbanking" 79 ".aqbanking"
80 ".gnupg"
80 ]; 81 ];
81 }; 82 };
82 83
@@ -317,6 +318,14 @@ in {
317 }; 318 };
318 319
319 programs.libreoffice.enable = true; 320 programs.libreoffice.enable = true;
321
322 programs.imv.enable = true;
323
324 sops.secrets."nixpkgs-pr-watch.toml" = {
325 format = "binary";
326 sopsFile = ./nixpkgs-pr-watch.toml;
327 path = ".config/nixpkgs-pr-watch.toml";
328 };
320 }; 329 };
321 }; 330 };
322} 331}
diff --git a/accounts/gkleen@skadhi/firefox/userChrome.css b/accounts/gkleen@skadhi/firefox/userChrome.css
index 726f1e4b..d137f4bf 100644
--- a/accounts/gkleen@skadhi/firefox/userChrome.css
+++ b/accounts/gkleen@skadhi/firefox/userChrome.css
@@ -52,3 +52,44 @@ hbox:has(> #tabs-newtab-button) {
52#sidebar-main .tools-and-extensions { 52#sidebar-main .tools-and-extensions {
53 justify-content: space-around !important; 53 justify-content: space-around !important;
54} 54}
55
56/* /\* Nova tabs (horizontal + vertical): no outline, less rounding *\/ */
57/* .tabbrowser-tab { */
58/* --tab-selected-outline-color: transparent !important; */
59/* --tab-border-radius: 4px !important; */
60/* } */
61/* .tab-background, */
62/* .tab-background:is([selected], [multiselected]) { */
63/* outline: none !important; */
64/* border: none !important; */
65/* box-shadow: none !important; */
66/* border-radius: 4px !important; */
67/* position: relative !important; */
68/* } */
69
70/* Container indicator, shared */
71.tab-context-line {
72 position: absolute !important;
73 margin: 0 !important;
74 background-color: var(--identity-tab-color) !important;
75}
76
77/* Horizontal tabs: flat line across the top of the tab */
78#tabbrowser-tabs:not([orient="vertical"]) .tab-context-line {
79 inset-block-start: 0 !important;
80 inset-block-end: auto !important;
81 inset-inline: 0 !important;
82 width: auto !important;
83 height: 2px !important;
84 border-radius: 4px 4px 0 0 !important;
85}
86
87/* Vertical tabs: bar on the right edge */
88#tabbrowser-tabs[orient="vertical"] .tab-context-line {
89 inset-block: 4px !important;
90 inset-inline-start: auto !important;
91 inset-inline-end: 0 !important;
92 width: 3px !important;
93 height: auto !important;
94 border-radius: 2px !important;
95}
diff --git a/accounts/gkleen@skadhi/keepassxc.nix b/accounts/gkleen@skadhi/keepassxc.nix
index 8cb781b8..4b83e103 100644
--- a/accounts/gkleen@skadhi/keepassxc.nix
+++ b/accounts/gkleen@skadhi/keepassxc.nix
@@ -25,9 +25,6 @@
25 directories = [ 25 directories = [
26 ".config/keepassxc" ".local/state/keepassxc" 26 ".config/keepassxc" ".local/state/keepassxc"
27 ]; 27 ];
28 files = [
29 "store.kdbx"
30 ];
31 }; 28 };
32 29
33 services.gnome-keyring.enable = lib.mkForce false; 30 services.gnome-keyring.enable = lib.mkForce false;
diff --git a/accounts/gkleen@skadhi/niri.nix b/accounts/gkleen@skadhi/niri.nix
index beb3ef4e..2854d434 100644
--- a/accounts/gkleen@skadhi/niri.nix
+++ b/accounts/gkleen@skadhi/niri.nix
@@ -238,7 +238,10 @@ in {
238 }; 238 };
239 239
240 config = { 240 config = {
241 home.packages = [ pkgs.xwayland-satellite-unstable ]; 241 systemd.user.tmpfiles.rules = [
242 "e ${config.home.homeDirectory}/screenshots - - - 365d -"
243 "d ${config.home.homeDirectory}/.cache/qalc-fuzzel - - - 1d -"
244 ];
242 245
243 systemd.user.sockets.niri-workspace-history = { 246 systemd.user.sockets.niri-workspace-history = {
244 Socket = { 247 Socket = {
@@ -482,6 +485,10 @@ in {
482 normalize-nodes = nodes: lib.remove null (lib.flatten nodes); 485 normalize-nodes = nodes: lib.remove null (lib.flatten nodes);
483 in 486 in
484 normalize-nodes [ 487 normalize-nodes [
488 (plain "xwayland-satellite" [
489 (sleaf "path" (toString (lib.getExe pkgs.xwayland-satellite-unstable)))
490 ])
491
485 (flag "prefer-no-csd") 492 (flag "prefer-no-csd")
486 493
487 (sleaf "screenshot-path" "~/screenshots/%Y-%m-%dT%H:%M:%S.png") 494 (sleaf "screenshot-path" "~/screenshots/%Y-%m-%dT%H:%M:%S.png")
diff --git a/accounts/gkleen@skadhi/nixpkgs-pr-watch.toml b/accounts/gkleen@skadhi/nixpkgs-pr-watch.toml
new file mode 100644
index 00000000..ffec830b
--- /dev/null
+++ b/accounts/gkleen@skadhi/nixpkgs-pr-watch.toml
@@ -0,0 +1,18 @@
1{
2 "data": "ENC[AES256_GCM,data:649YKXrQh9Y9b7cNMJQYxLGN1W2aRCmFZJgNiHtvErsxhVf/OpEcwkKGxwd94H5Ytp3AhFVqvahdE1jFRtVlGLYNjOJedT4BdXR6iIQPpoUEDm2uTyM3+d1lg5jhIlw=,iv:xeANg/1tlJFam75+dVUyvK6pcWTx5q/V0LwuUJW7Ov0=,tag:cf10y5q1vi+Ct1yIVg4MSQ==,type:str]",
3 "sops": {
4 "age": [
5 {
6 "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHVnp4Z0lnNU9PQkRxaGtu\nODRzRUNValUra2hJQTN2RGUvTGlVVU55UUZjCll0VjZQUnpueVBYNEdEeTFwWllC\nOGk3QmFNeUhZZjVnN1I1UjBxdEo4d3cKLS0tIFI1bHdicTNFVXJqbStTb1E4TkdK\nUXlyRThQM2MvNWJOTTI1Q1ZTb2kweE0KPDzcJ4HAeQR5LmdrB8A67aorVtfeVSE7\nIAJ4NaABgshot2yy3UdKyX17iel86TEM1IqZkhkvTl7dZbRjj9k2Nw==\n-----END AGE ENCRYPTED FILE-----\n",
7 "recipient": "age1rmmhetcmllq0ahl5qznlr0eya2zdxwl9h6y5wnl97d2wtyx5t99sm2u866"
8 },
9 {
10 "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBvck1HSjJxQ0dUekl6emh1\nd3dqa2s5ci9xRUdyZFlnblM0OGVHK2hUSzFJCllzdVhKbVQ3R2xpSURJaFF3dzZ6\nZVRqMzF0ZEpIS2prZjY4bG9ubm1hL0kKLS0tIHJMWUVXSWlrR2lRdHI0SFZkc1Yy\nTUhXWDRBYzlRaTNiQ3JFQzkyS2QzMTAK+D4Ul9s8AizzI0B+F/B3IuqovSZQhzqW\nzAnLKXpMZlxUiUc/+j8t8eQ+IPb0rHpvZs6IHkSb7QKmdKTJzFaKVg==\n-----END AGE ENCRYPTED FILE-----\n",
11 "recipient": "age1u6xegt79rarmyz8qy4pl7jh9lh90vx8fg0frmh4u2mzam7zydq4s4agz4e"
12 }
13 ],
14 "lastmodified": "2026-10-28T08:55:58Z",
15 "mac": "ENC[AES256_GCM,data:2oYVn8EMn31N07ywc8MWrw0KyGIi/rEmRV6WsX3S+aYy3TAp9VvxbWRSNU1fmhMA/DEm/CwcL8fJQGfhwF4V3X4WMBKwFcxznYm0+weNZuECP1EfpfFLVtaQ7CqH7UAGdsj1F0QTI8AJ8Z2YRT3ICuNyMMnNizmgph4zagi3z0A=,iv:aD/6IVUc2C0V1GiQjBnjoep5q4RgJAhjc5j3gBz6vRc=,tag:8qaWLFG0qB68Dgi4kZTmIg==,type:str]",
16 "version": "3.13.3"
17 }
18}
diff --git a/accounts/gkleen@skadhi/rzm/default.nix b/accounts/gkleen@skadhi/rzm/default.nix
index 124fcc32..2ca9b68c 100644
--- a/accounts/gkleen@skadhi/rzm/default.nix
+++ b/accounts/gkleen@skadhi/rzm/default.nix
@@ -99,9 +99,6 @@ in {
99 99
100 home-manager.users.gkleen = { sysConfig, config, lib, ... }: { 100 home-manager.users.gkleen = { sysConfig, config, lib, ... }: {
101 home.persistence."/persistent" = { 101 home.persistence."/persistent" = {
102 files = [
103 "rz.kdbx"
104 ];
105 directories = [ 102 directories = [
106 ".config/Element-lmu" ".config/worktime" 103 ".config/Element-lmu" ".config/worktime"
107 ".config/chromium-kimai" ".config/chromium-rainbow" 104 ".config/chromium-kimai" ".config/chromium-rainbow"
diff --git a/lib/pythonSet.nix b/lib/pythonSet.nix
index 98315718..280161c2 100644
--- a/lib/pythonSet.nix
+++ b/lib/pythonSet.nix
@@ -11,38 +11,33 @@
11 sdnotify = (prev.sdnotify.override { 11 sdnotify = (prev.sdnotify.override {
12 sourcePreference = "sdist"; 12 sourcePreference = "sdist";
13 }).overrideAttrs (oldAttrs: { 13 }).overrideAttrs (oldAttrs: {
14 nativeBuildInputs = (oldAttrs.nativeBuildInputs or []) ++ [ 14 nativeBuildInputs = (oldAttrs.nativeBuildInputs or []) ++
15 (final.resolveBuildSystem { setuptools = []; }) 15 final.resolveBuildSystem { setuptools = []; };
16 ];
17 }); 16 });
18 systemd-python = (prev.systemd-python.override { 17 systemd-python = (prev.systemd-python.override {
19 sourcePreference = "sdist"; 18 sourcePreference = "sdist";
20 }).overrideAttrs (oldAttrs: { 19 }).overrideAttrs (oldAttrs: {
21 nativeBuildInputs = (oldAttrs.nativeBuildInputs or []) ++ [ 20 nativeBuildInputs = (oldAttrs.nativeBuildInputs or []) ++ [
22 pkgs.pkg-config pkgs.systemd.dev 21 pkgs.pkg-config pkgs.systemd.dev
23 (final.resolveBuildSystem { setuptools = []; }) 22 ] ++ final.resolveBuildSystem { setuptools = []; };
24 ];
25 }); 23 });
26 halo = (prev.halo.override { 24 halo = (prev.halo.override {
27 sourcePreference = "sdist"; 25 sourcePreference = "sdist";
28 }).overrideAttrs (oldAttrs: { 26 }).overrideAttrs (oldAttrs: {
29 nativeBuildInputs = (oldAttrs.nativeBuildInputs or []) ++ [ 27 nativeBuildInputs = (oldAttrs.nativeBuildInputs or []) ++
30 (final.resolveBuildSystem { setuptools = []; }) 28 final.resolveBuildSystem { setuptools = []; };
31 ];
32 }); 29 });
33 unshare = (prev.unshare.override { 30 unshare = (prev.unshare.override {
34 sourcePreference = "sdist"; 31 sourcePreference = "sdist";
35 }).overrideAttrs (oldAttrs: { 32 }).overrideAttrs (oldAttrs: {
36 nativeBuildInputs = (oldAttrs.nativeBuildInputs or []) ++ [ 33 nativeBuildInputs = (oldAttrs.nativeBuildInputs or []) ++
37 (final.resolveBuildSystem { setuptools = []; }) 34 final.resolveBuildSystem { setuptools = []; };
38 ];
39 }); 35 });
40 pyyaml = (prev.pyyaml.override { 36 pyyaml = (prev.pyyaml.override {
41 sourcePreference = "sdist"; 37 sourcePreference = "sdist";
42 }).overrideAttrs (oldAttrs: { 38 }).overrideAttrs (oldAttrs: {
43 nativeBuildInputs = (oldAttrs.nativeBuildInputs or []) ++ [ 39 nativeBuildInputs = (oldAttrs.nativeBuildInputs or []) ++
44 (final.resolveBuildSystem { setuptools = []; }) 40 final.resolveBuildSystem { setuptools = []; };
45 ];
46 }); 41 });
47 }) 42 })
48 ] 43 ]
diff --git a/overlays/etesync-dav.nix b/overlays/etesync-dav.nix
index 64f30071..7ed1a5ee 100644
--- a/overlays/etesync-dav.nix
+++ b/overlays/etesync-dav.nix
@@ -32,7 +32,35 @@
32 flask-wtf 32 flask-wtf
33 msgpack 33 msgpack
34 requests 34 requests
35 (toPythonModule (final.radicale.override { python3 = python; })) 35 (buildPythonApplication rec {
36 pname = "radicale";
37 version = "3.2.0";
38 pyproject = true;
39
40 src = prev.fetchFromGitHub {
41 owner = "Kozea";
42 repo = "Radicale";
43 rev = "refs/tags/v${version}";
44 hash = "sha256-RxC8VOfdTXJZiAroDHTKjJqGWu65Z5uyb4WK1LOqubQ=";
45 };
46
47 postPatch = ''
48 sed -i '/addopts/d' setup.cfg
49 '';
50
51 build-system = [
52 setuptools
53 ];
54
55 dependencies = [
56 defusedxml
57 passlib
58 vobject
59 pika
60 python-dateutil
61 pytz # https://github.com/Kozea/Radicale/issues/816
62 ] ++ passlib.optional-dependencies.bcrypt;
63 })
36 ] ++ requests.optional-dependencies.socks; 64 ] ++ requests.optional-dependencies.socks;
37 65
38 doCheck = false; 66 doCheck = false;
diff --git a/overlays/lesspipe.nix b/overlays/lesspipe.nix
index b791f6e5..fdcd2582 100644
--- a/overlays/lesspipe.nix
+++ b/overlays/lesspipe.nix
@@ -17,7 +17,7 @@
17 17
18 preFixup = '' 18 preFixup = ''
19 wrapProgram $out/bin/lesspipe.sh \ 19 wrapProgram $out/bin/lesspipe.sh \
20 --prefix PATH : ${prev.lib.makeBinPath (with final; [ file ncurses binutils ])} 20 --prefix PATH : ${prev.lib.makeBinPath (with final; [ csvkit file ncurses binutils ])}
21 ''; 21 '';
22 }; 22 };
23} 23}
diff --git a/user-profiles/utils.nix b/user-profiles/utils.nix
index eea68f84..1b4a5c4b 100644
--- a/user-profiles/utils.nix
+++ b/user-profiles/utils.nix
@@ -48,6 +48,8 @@ in {
48 man.enable = true; 48 man.enable = true;
49 49
50 vim.enable = true; 50 vim.enable = true;
51
52 fd.enable = true;
51 }; 53 };
52 54
53 home.sessionVariables = { 55 home.sessionVariables = {