+11
-11
.github/workflows/flake-update.yml
+11
-11
.github/workflows/flake-update.yml
···
7
8
jobs:
9
generate_matrix:
10
-
runs-on: ubuntu-20.04
11
outputs:
12
packages: ${{ steps.gen_packages.outputs.packages }}
13
checks: ${{ steps.gen_checks.outputs.checks }}
···
17
with:
18
token: "${{ secrets.TEST_TOKEN }}"
19
- name: Install nix
20
-
uses: cachix/install-nix-action@v30
21
with:
22
extra_nix_config: |
23
auto-optimise-store = true
···
39
printf "::set-output name=checks::%s" "$checks"
40
41
update_flake:
42
-
runs-on: ubuntu-20.04
43
steps:
44
- name: Clone repository
45
uses: actions/checkout@v4
46
with:
47
token: "${{ secrets.TEST_TOKEN }}"
48
- name: Install nix
49
-
uses: cachix/install-nix-action@v30
50
with:
51
extra_nix_config: |
52
auto-optimise-store = true
···
68
path: flake.lock
69
70
build_flake:
71
-
runs-on: ubuntu-20.04
72
needs: [generate_matrix, update_flake]
73
strategy:
74
fail-fast: false
···
91
with:
92
token: "${{ secrets.TEST_TOKEN }}"
93
- name: Install nix
94
-
uses: cachix/install-nix-action@v30
95
with:
96
extra_nix_config: |
97
auto-optimise-store = true
···
114
run: nix build .#${{ matrix.package }}
115
116
build_checks:
117
-
runs-on: ubuntu-20.04
118
needs: [generate_matrix, update_flake]
119
strategy:
120
fail-fast: false
···
127
with:
128
token: "${{ secrets.TEST_TOKEN }}"
129
- name: Install nix
130
-
uses: cachix/install-nix-action@v30
131
with:
132
extra_nix_config: |
133
auto-optimise-store = true
···
150
run: nix build .#checks.x86_64-linux.${{ matrix.check }} --no-link
151
152
check_flake:
153
-
runs-on: ubuntu-20.04
154
needs: [update_flake]
155
continue-on-error: true
156
steps:
···
159
with:
160
token: "${{ secrets.TEST_TOKEN }}"
161
- name: Install nix
162
-
uses: cachix/install-nix-action@v30
163
with:
164
extra_nix_config: |
165
auto-optimise-store = true
···
177
nix flake check --keep-going
178
179
push_update:
180
-
runs-on: ubuntu-20.04
181
permissions: write-all
182
needs: [update_flake, build_flake, build_checks, check_flake]
183
steps:
···
7
8
jobs:
9
generate_matrix:
10
+
runs-on: ubuntu-24.04
11
outputs:
12
packages: ${{ steps.gen_packages.outputs.packages }}
13
checks: ${{ steps.gen_checks.outputs.checks }}
···
17
with:
18
token: "${{ secrets.TEST_TOKEN }}"
19
- name: Install nix
20
+
uses: cachix/install-nix-action@v31
21
with:
22
extra_nix_config: |
23
auto-optimise-store = true
···
39
printf "::set-output name=checks::%s" "$checks"
40
41
update_flake:
42
+
runs-on: ubuntu-24.04
43
steps:
44
- name: Clone repository
45
uses: actions/checkout@v4
46
with:
47
token: "${{ secrets.TEST_TOKEN }}"
48
- name: Install nix
49
+
uses: cachix/install-nix-action@v31
50
with:
51
extra_nix_config: |
52
auto-optimise-store = true
···
68
path: flake.lock
69
70
build_flake:
71
+
runs-on: ubuntu-24.04
72
needs: [generate_matrix, update_flake]
73
strategy:
74
fail-fast: false
···
91
with:
92
token: "${{ secrets.TEST_TOKEN }}"
93
- name: Install nix
94
+
uses: cachix/install-nix-action@v31
95
with:
96
extra_nix_config: |
97
auto-optimise-store = true
···
114
run: nix build .#${{ matrix.package }}
115
116
build_checks:
117
+
runs-on: ubuntu-24.04
118
needs: [generate_matrix, update_flake]
119
strategy:
120
fail-fast: false
···
127
with:
128
token: "${{ secrets.TEST_TOKEN }}"
129
- name: Install nix
130
+
uses: cachix/install-nix-action@v31
131
with:
132
extra_nix_config: |
133
auto-optimise-store = true
···
150
run: nix build .#checks.x86_64-linux.${{ matrix.check }} --no-link
151
152
check_flake:
153
+
runs-on: ubuntu-24.04
154
needs: [update_flake]
155
continue-on-error: true
156
steps:
···
159
with:
160
token: "${{ secrets.TEST_TOKEN }}"
161
- name: Install nix
162
+
uses: cachix/install-nix-action@v31
163
with:
164
extra_nix_config: |
165
auto-optimise-store = true
···
177
nix flake check --keep-going
178
179
push_update:
180
+
runs-on: ubuntu-24.04
181
permissions: write-all
182
needs: [update_flake, build_flake, build_checks, check_flake]
183
steps:
+8
-8
.github/workflows/pull-check.yml
+8
-8
.github/workflows/pull-check.yml
···
5
6
jobs:
7
generate_matrix:
8
-
runs-on: ubuntu-20.04
9
outputs:
10
packages: ${{ steps.gen_packages.outputs.packages }}
11
checks: ${{ steps.gen_checks.outputs.checks }}
···
15
with:
16
token: "${{ secrets.TEST_TOKEN }}"
17
- name: Install nix
18
-
uses: cachix/install-nix-action@v30
19
with:
20
extra_nix_config: |
21
auto-optimise-store = true
···
37
printf "checks=%s" "$checks" >> $GITHUB_OUTPUT
38
39
build_flake:
40
-
runs-on: ubuntu-20.04
41
needs: [generate_matrix]
42
strategy:
43
fail-fast: false
···
58
with:
59
token: "${{ secrets.TEST_TOKEN }}"
60
- name: Install nix
61
-
uses: cachix/install-nix-action@v30
62
with:
63
extra_nix_config: |
64
auto-optimise-store = true
···
71
run: nix build .#${{ matrix.package }}
72
73
build_checks:
74
-
runs-on: ubuntu-20.04
75
needs: [generate_matrix]
76
strategy:
77
fail-fast: false
···
84
with:
85
token: "${{ secrets.TEST_TOKEN }}"
86
- name: Install nix
87
-
uses: cachix/install-nix-action@v30
88
with:
89
extra_nix_config: |
90
auto-optimise-store = true
···
97
run: nix build .#checks.x86_64-linux.${{ matrix.check }} --no-link
98
99
check_flake:
100
-
runs-on: ubuntu-20.04
101
continue-on-error: true
102
steps:
103
- name: Clone repository
···
105
with:
106
token: "${{ secrets.TEST_TOKEN }}"
107
- name: Install nix
108
-
uses: cachix/install-nix-action@v30
109
with:
110
extra_nix_config: |
111
auto-optimise-store = true
···
5
6
jobs:
7
generate_matrix:
8
+
runs-on: ubuntu-24.04
9
outputs:
10
packages: ${{ steps.gen_packages.outputs.packages }}
11
checks: ${{ steps.gen_checks.outputs.checks }}
···
15
with:
16
token: "${{ secrets.TEST_TOKEN }}"
17
- name: Install nix
18
+
uses: cachix/install-nix-action@v31
19
with:
20
extra_nix_config: |
21
auto-optimise-store = true
···
37
printf "checks=%s" "$checks" >> $GITHUB_OUTPUT
38
39
build_flake:
40
+
runs-on: ubuntu-24.04
41
needs: [generate_matrix]
42
strategy:
43
fail-fast: false
···
58
with:
59
token: "${{ secrets.TEST_TOKEN }}"
60
- name: Install nix
61
+
uses: cachix/install-nix-action@v31
62
with:
63
extra_nix_config: |
64
auto-optimise-store = true
···
71
run: nix build .#${{ matrix.package }}
72
73
build_checks:
74
+
runs-on: ubuntu-24.04
75
needs: [generate_matrix]
76
strategy:
77
fail-fast: false
···
84
with:
85
token: "${{ secrets.TEST_TOKEN }}"
86
- name: Install nix
87
+
uses: cachix/install-nix-action@v31
88
with:
89
extra_nix_config: |
90
auto-optimise-store = true
···
97
run: nix build .#checks.x86_64-linux.${{ matrix.check }} --no-link
98
99
check_flake:
100
+
runs-on: ubuntu-24.04
101
continue-on-error: true
102
steps:
103
- name: Clone repository
···
105
with:
106
token: "${{ secrets.TEST_TOKEN }}"
107
- name: Install nix
108
+
uses: cachix/install-nix-action@v31
109
with:
110
extra_nix_config: |
111
auto-optimise-store = true
+100
-55
flake.lock
+100
-55
flake.lock
···
3
"cargo2nix": {
4
"inputs": {
5
"flake-compat": "flake-compat_3",
6
-
"flake-utils": "flake-utils_2",
7
"nixpkgs": [
8
"switcher",
9
"nixpkgs"
···
37
]
38
},
39
"locked": {
40
-
"lastModified": 1740708553,
41
-
"narHash": "sha256-BMQ5onp2fgBIekFKO+IjQq/NS+lztykzE5Gw3D2cGss=",
42
"owner": "nix-community",
43
"repo": "emacs-overlay",
44
-
"rev": "729ae31cfa6a051b9585f9f4076e3df082bacfa2",
45
"type": "github"
46
},
47
"original": {
···
99
}
100
},
101
"flake-utils": {
102
"inputs": {
103
"systems": "systems"
104
},
···
116
"type": "github"
117
}
118
},
119
-
"flake-utils_2": {
120
"inputs": {
121
"systems": "systems_2"
122
},
···
247
]
248
},
249
"locked": {
250
-
"lastModified": 1740699498,
251
-
"narHash": "sha256-r9hkKzX99CGiP1ZqH0e+SWKK4CMsRNRLyotuwrUjhTI=",
252
"owner": "nix-community",
253
"repo": "home-manager",
254
-
"rev": "b71edac7a3167026aabea82a54d08b1794088c21",
255
"type": "github"
256
},
257
"original": {
···
288
"nixpkgs-regression": "nixpkgs-regression"
289
},
290
"locked": {
291
-
"lastModified": 1740692265,
292
-
"narHash": "sha256-CgyY10K+UUsMzsitFeMYh+MsdfGzUE7RtpPAdP1fZaI=",
293
"owner": "nixos",
294
"repo": "nix",
295
-
"rev": "92c4789ec72a5bf485679f9a5e5a244e553fb03d",
296
"type": "github"
297
},
298
"original": {
···
301
"type": "github"
302
}
303
},
304
-
"nixos-vscode-server": {
305
"inputs": {
306
"flake-utils": "flake-utils",
307
"nixpkgs": [
···
309
]
310
},
311
"locked": {
312
"lastModified": 1729422940,
313
"narHash": "sha256-DlvJv33ml5UTKgu4b0HauOfFIoDx6QXtbqUF3vWeRCY=",
314
"owner": "msteen",
···
324
},
325
"nixpkgs": {
326
"locked": {
327
-
"lastModified": 1734359947,
328
-
"narHash": "sha256-1Noao/H+N8nFB4Beoy8fgwrcOQLVm9o4zKW1ODaqK9E=",
329
"owner": "NixOS",
330
"repo": "nixpkgs",
331
-
"rev": "48d12d5e70ee91fe8481378e540433a7303dbf6a",
332
"type": "github"
333
},
334
"original": {
335
"owner": "NixOS",
336
-
"ref": "release-24.11",
337
"repo": "nixpkgs",
338
"type": "github"
339
}
···
420
},
421
"nixpkgs_2": {
422
"locked": {
423
-
"lastModified": 1740560979,
424
-
"narHash": "sha256-Vr3Qi346M+8CjedtbyUevIGDZW8LcA1fTG0ugPY/Hic=",
425
"owner": "nixos",
426
"repo": "nixpkgs",
427
-
"rev": "5135c59491985879812717f4c9fea69604e7f26f",
428
"type": "github"
429
},
430
"original": {
···
436
},
437
"nixpkgs_3": {
438
"locked": {
439
-
"lastModified": 1731531548,
440
-
"narHash": "sha256-sz8/v17enkYmfpgeeuyzniGJU0QQBfmAjlemAUYhfy8=",
441
-
"owner": "nixos",
442
-
"repo": "nixpkgs",
443
-
"rev": "24f0d4acd634792badd6470134c387a3b039dace",
444
-
"type": "github"
445
-
},
446
-
"original": {
447
-
"owner": "nixos",
448
-
"ref": "nixpkgs-unstable",
449
-
"repo": "nixpkgs",
450
-
"type": "github"
451
-
}
452
-
},
453
-
"nixpkgs_4": {
454
-
"locked": {
455
-
"lastModified": 1731763621,
456
-
"narHash": "sha256-ddcX4lQL0X05AYkrkV2LMFgGdRvgap7Ho8kgon3iWZk=",
457
"owner": "NixOS",
458
"repo": "nixpkgs",
459
-
"rev": "c69a9bffbecde46b4b939465422ddc59493d3e4d",
460
"type": "github"
461
},
462
"original": {
···
466
"type": "github"
467
}
468
},
469
-
"nixpkgs_5": {
470
"locked": {
471
"lastModified": 1728538411,
472
"narHash": "sha256-f0SBJz1eZ2yOuKUr5CA9BHULGXVSn6miBuUWdTyhUhU=",
···
485
"nvim": {
486
"inputs": {
487
"gen-luarc": "gen-luarc",
488
-
"nixpkgs": "nixpkgs_3",
489
"nixpkgs-emmy": "nixpkgs-emmy",
490
"parts": [
491
"parts"
492
-
]
493
},
494
"locked": {
495
-
"lastModified": 1738787196,
496
-
"narHash": "sha256-Mp5aDeJMOT5Ctq5aSJayyV3SnOfl956YQrjtQMEl76g=",
497
"owner": "nobbz",
498
"repo": "nobbz-vim",
499
-
"rev": "33222da2978e5264c8276723b1c4fd618ac13bb0",
500
"type": "github"
501
},
502
"original": {
···
512
]
513
},
514
"locked": {
515
-
"lastModified": 1738453229,
516
-
"narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=",
517
"owner": "hercules-ci",
518
"repo": "flake-parts",
519
-
"rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd",
520
"type": "github"
521
},
522
"original": {
···
533
"utils": "utils"
534
},
535
"locked": {
536
-
"lastModified": 1740654916,
537
-
"narHash": "sha256-8Z2cmApz34/WkO8Y1hZ76J2WE+aM7ojyMrQrL5WpM68=",
538
"owner": "wamserma",
539
"repo": "flake-programs-sqlite",
540
-
"rev": "69a02c4b4096e213cb0c136ea22c6362c42ceb5e",
541
"type": "github"
542
},
543
"original": {
···
551
"emacs": "emacs",
552
"home-manager": "home-manager",
553
"nix": "nix",
554
"nixos-vscode-server": "nixos-vscode-server",
555
"nixpkgs": "nixpkgs_2",
556
"nixpkgs-insync-v3": [
···
566
},
567
"rust-overlay": {
568
"inputs": {
569
-
"nixpkgs": "nixpkgs_5"
570
},
571
"locked": {
572
"lastModified": 1734402816,
···
584
},
585
"sops-nix": {
586
"inputs": {
587
-
"nixpkgs": "nixpkgs_4"
588
},
589
"locked": {
590
-
"lastModified": 1739262228,
591
-
"narHash": "sha256-7JAGezJ0Dn5qIyA2+T4Dt/xQgAbhCglh6lzCekTVMeU=",
592
"owner": "Mic92",
593
"repo": "sops-nix",
594
-
"rev": "07af005bb7d60c7f118d9d9f5530485da5d1e975",
595
"type": "github"
596
},
597
"original": {
···
668
"original": {
669
"owner": "numtide",
670
"repo": "flake-utils",
671
"type": "github"
672
}
673
}
···
3
"cargo2nix": {
4
"inputs": {
5
"flake-compat": "flake-compat_3",
6
+
"flake-utils": "flake-utils_3",
7
"nixpkgs": [
8
"switcher",
9
"nixpkgs"
···
37
]
38
},
39
"locked": {
40
+
"lastModified": 1749090069,
41
+
"narHash": "sha256-uN3Mp+o7IfVT9H/OuwEtJ17NktCaF4t9Ond3TKt+BE4=",
42
"owner": "nix-community",
43
"repo": "emacs-overlay",
44
+
"rev": "c17506666090e412a50b01c57944386ab81d2aa8",
45
"type": "github"
46
},
47
"original": {
···
99
}
100
},
101
"flake-utils": {
102
+
"locked": {
103
+
"lastModified": 1659877975,
104
+
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
105
+
"owner": "numtide",
106
+
"repo": "flake-utils",
107
+
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
108
+
"type": "github"
109
+
},
110
+
"original": {
111
+
"owner": "numtide",
112
+
"repo": "flake-utils",
113
+
"type": "github"
114
+
}
115
+
},
116
+
"flake-utils_2": {
117
"inputs": {
118
"systems": "systems"
119
},
···
131
"type": "github"
132
}
133
},
134
+
"flake-utils_3": {
135
"inputs": {
136
"systems": "systems_2"
137
},
···
262
]
263
},
264
"locked": {
265
+
"lastModified": 1749062139,
266
+
"narHash": "sha256-gGGLujmeWU+ZjFzfMvFMI0hp9xONsSbm88187wJr82Q=",
267
"owner": "nix-community",
268
"repo": "home-manager",
269
+
"rev": "86b95fc1ed2b9b04a451a08ccf13d78fb421859c",
270
"type": "github"
271
},
272
"original": {
···
303
"nixpkgs-regression": "nixpkgs-regression"
304
},
305
"locked": {
306
+
"lastModified": 1749012568,
307
+
"narHash": "sha256-7IltFTct/oe6pGkwB6f/1WhWA65hFnsBY6XaGjodf3k=",
308
"owner": "nixos",
309
"repo": "nix",
310
+
"rev": "4751cbef6303d10479f3db1b13db69197d9c3446",
311
"type": "github"
312
},
313
"original": {
···
316
"type": "github"
317
}
318
},
319
+
"nix-gl": {
320
"inputs": {
321
"flake-utils": "flake-utils",
322
"nixpkgs": [
···
324
]
325
},
326
"locked": {
327
+
"lastModified": 1713543440,
328
+
"narHash": "sha256-lnzZQYG0+EXl/6NkGpyIz+FEOc/DSEG57AP1VsdeNrM=",
329
+
"owner": "nix-community",
330
+
"repo": "nixgl",
331
+
"rev": "310f8e49a149e4c9ea52f1adf70cdc768ec53f8a",
332
+
"type": "github"
333
+
},
334
+
"original": {
335
+
"owner": "nix-community",
336
+
"repo": "nixgl",
337
+
"type": "github"
338
+
}
339
+
},
340
+
"nixos-vscode-server": {
341
+
"inputs": {
342
+
"flake-utils": "flake-utils_2",
343
+
"nixpkgs": [
344
+
"nixpkgs"
345
+
]
346
+
},
347
+
"locked": {
348
"lastModified": 1729422940,
349
"narHash": "sha256-DlvJv33ml5UTKgu4b0HauOfFIoDx6QXtbqUF3vWeRCY=",
350
"owner": "msteen",
···
360
},
361
"nixpkgs": {
362
"locked": {
363
+
"lastModified": 1747179050,
364
+
"narHash": "sha256-qhFMmDkeJX9KJwr5H32f1r7Prs7XbQWtO0h3V0a0rFY=",
365
"owner": "NixOS",
366
"repo": "nixpkgs",
367
+
"rev": "adaa24fbf46737f3f1b5497bf64bae750f82942e",
368
"type": "github"
369
},
370
"original": {
371
"owner": "NixOS",
372
+
"ref": "nixos-unstable",
373
"repo": "nixpkgs",
374
"type": "github"
375
}
···
456
},
457
"nixpkgs_2": {
458
"locked": {
459
+
"lastModified": 1748929857,
460
+
"narHash": "sha256-lcZQ8RhsmhsK8u7LIFsJhsLh/pzR9yZ8yqpTzyGdj+Q=",
461
"owner": "nixos",
462
"repo": "nixpkgs",
463
+
"rev": "c2a03962b8e24e669fb37b7df10e7c79531ff1a4",
464
"type": "github"
465
},
466
"original": {
···
472
},
473
"nixpkgs_3": {
474
"locked": {
475
+
"lastModified": 1744868846,
476
+
"narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=",
477
"owner": "NixOS",
478
"repo": "nixpkgs",
479
+
"rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c",
480
"type": "github"
481
},
482
"original": {
···
486
"type": "github"
487
}
488
},
489
+
"nixpkgs_4": {
490
"locked": {
491
"lastModified": 1728538411,
492
"narHash": "sha256-f0SBJz1eZ2yOuKUr5CA9BHULGXVSn6miBuUWdTyhUhU=",
···
505
"nvim": {
506
"inputs": {
507
"gen-luarc": "gen-luarc",
508
+
"nixpkgs": [
509
+
"nixpkgs"
510
+
],
511
"nixpkgs-emmy": "nixpkgs-emmy",
512
"parts": [
513
"parts"
514
+
],
515
+
"wrapper-manager": "wrapper-manager"
516
},
517
"locked": {
518
+
"lastModified": 1748686149,
519
+
"narHash": "sha256-RdLAPiha8lr1wQiL158p4DTFhLcWcjRv6ioCTd3athQ=",
520
"owner": "nobbz",
521
"repo": "nobbz-vim",
522
+
"rev": "a22303075cac32d83edfd79ef79c0386a38b02ce",
523
"type": "github"
524
},
525
"original": {
···
535
]
536
},
537
"locked": {
538
+
"lastModified": 1748821116,
539
+
"narHash": "sha256-F82+gS044J1APL0n4hH50GYdPRv/5JWm34oCJYmVKdE=",
540
"owner": "hercules-ci",
541
"repo": "flake-parts",
542
+
"rev": "49f0870db23e8c1ca0b5259734a02cd9e1e371a1",
543
"type": "github"
544
},
545
"original": {
···
556
"utils": "utils"
557
},
558
"locked": {
559
+
"lastModified": 1749055058,
560
+
"narHash": "sha256-OgCTSX0WXPpEi/ukjbBRrElSo+TR2/pzCCcY5yfou58=",
561
"owner": "wamserma",
562
"repo": "flake-programs-sqlite",
563
+
"rev": "78d23d728abddce902528922f93967f0630f1cfe",
564
"type": "github"
565
},
566
"original": {
···
574
"emacs": "emacs",
575
"home-manager": "home-manager",
576
"nix": "nix",
577
+
"nix-gl": "nix-gl",
578
"nixos-vscode-server": "nixos-vscode-server",
579
"nixpkgs": "nixpkgs_2",
580
"nixpkgs-insync-v3": [
···
590
},
591
"rust-overlay": {
592
"inputs": {
593
+
"nixpkgs": "nixpkgs_4"
594
},
595
"locked": {
596
"lastModified": 1734402816,
···
608
},
609
"sops-nix": {
610
"inputs": {
611
+
"nixpkgs": "nixpkgs_3"
612
},
613
"locked": {
614
+
"lastModified": 1747603214,
615
+
"narHash": "sha256-lAblXm0VwifYCJ/ILPXJwlz0qNY07DDYdLD+9H+Wc8o=",
616
"owner": "Mic92",
617
"repo": "sops-nix",
618
+
"rev": "8d215e1c981be3aa37e47aeabd4e61bb069548fd",
619
"type": "github"
620
},
621
"original": {
···
692
"original": {
693
"owner": "numtide",
694
"repo": "flake-utils",
695
+
"type": "github"
696
+
}
697
+
},
698
+
"wrapper-manager": {
699
+
"inputs": {
700
+
"nixpkgs": [
701
+
"nvim",
702
+
"nixpkgs"
703
+
]
704
+
},
705
+
"locked": {
706
+
"lastModified": 1747562021,
707
+
"narHash": "sha256-XfF+5zjoWbAcAiGNb++og6yDGJRwWYpADr9P6WuieQA=",
708
+
"owner": "viperml",
709
+
"repo": "wrapper-manager",
710
+
"rev": "f2b0bec5140403cf24cae96f6764d97b5d59b0e2",
711
+
"type": "github"
712
+
},
713
+
"original": {
714
+
"owner": "viperml",
715
+
"repo": "wrapper-manager",
716
"type": "github"
717
}
718
}
+4
-46
flake.nix
+4
-46
flake.nix
···
3
parts.lib.mkFlake {inherit inputs;} {
4
systems = ["x86_64-linux" "aarch64-linux" "aarch64-darwin"];
5
6
-
debug = true;
7
-
8
_module.args.npins = import ./npins;
9
10
imports = [
···
23
./packages
24
];
25
26
-
perSystem = {
27
-
pkgs,
28
-
self',
29
-
...
30
-
}: {
31
-
apps.installer.program = let
32
-
isoPath = "iso/${self'.packages.installer-iso.isoName}";
33
-
in
34
-
pkgs.writeShellScriptBin "installer" ''
35
-
image=disk.qcow2
36
-
isoPath=$(mktemp -d)/result
37
-
isoFull=$isoPath/${isoPath}
38
-
39
-
test -f $image || ${pkgs.qemu}/bin/qemu-img create -f qcow2 $image 50G
40
-
41
-
nom build .#installer-iso -o $isoPath
42
-
43
-
${pkgs.qemu}/bin/qemu-system-x86_64 \
44
-
-drive file=$image,if=virtio \
45
-
-cdrom $isoPath/${isoPath} \
46
-
-m 8G \
47
-
-smp 2 \
48
-
-enable-kvm \
49
-
-netdev user,id=net0 \
50
-
-device virtio-net,netdev=net0 \
51
-
-device virtio-vga \
52
-
-bios ${pkgs.OVMF.fd}/FV/OVMF.fd
53
-
54
-
du -h $isoFull
55
-
rm -f $isoPath
56
-
'';
57
-
58
-
apps.awesome-preview.program = let
59
-
rc_lua = pkgs.runCommandNoCC "awesomerc.lua" {} ''
60
-
substitute ${./packages/installer/awesomerc.lua} $out \
61
-
--subst-var-by FILE_PATH_WALLPAPER ${./packages/installer/nix-glow-black.png} \
62
-
--subst-var-by NIX_FLAKE_SVG ${./packages/installer/nix-flake.svg}
63
-
'';
64
-
in
65
-
pkgs.writeShellScriptBin "awesome-preview" ''
66
-
${pkgs.xorg.xorgserver}/bin/Xephyr :5 & sleep 1 ; DISPLAY=:5 ${self'.packages.awesome}/bin/awesome --config ${rc_lua}
67
-
'';
68
-
};
69
-
70
flake = {
71
mixedModules = import ./mixed inputs;
72
···
82
83
nvim.url = "github:nobbz/nobbz-vim";
84
nvim.inputs.parts.follows = "parts";
85
86
switcher.url = "github:nobbz/nix-switcher?ref=main";
87
switcher.inputs.nixpkgs.follows = "nixpkgs";
···
98
# a libgit2 in the current version fails to build with the nix provided patches.
99
# therefore using upstreams pin for now.
100
# nix.inputs.nixpkgs.follows = "nixpkgs";
101
102
home-manager.url = "github:nix-community/home-manager";
103
home-manager.inputs.nixpkgs.follows = "nixpkgs";
···
3
parts.lib.mkFlake {inherit inputs;} {
4
systems = ["x86_64-linux" "aarch64-linux" "aarch64-darwin"];
5
6
_module.args.npins = import ./npins;
7
8
imports = [
···
21
./packages
22
];
23
24
flake = {
25
mixedModules = import ./mixed inputs;
26
···
36
37
nvim.url = "github:nobbz/nobbz-vim";
38
nvim.inputs.parts.follows = "parts";
39
+
nvim.inputs.nixpkgs.follows = "nixpkgs";
40
41
switcher.url = "github:nobbz/nix-switcher?ref=main";
42
switcher.inputs.nixpkgs.follows = "nixpkgs";
···
53
# a libgit2 in the current version fails to build with the nix provided patches.
54
# therefore using upstreams pin for now.
55
# nix.inputs.nixpkgs.follows = "nixpkgs";
56
+
57
+
nix-gl.url = "github:nix-community/nixgl";
58
+
nix-gl.inputs.nixpkgs.follows = "nixpkgs";
59
60
home-manager.url = "github:nix-community/home-manager";
61
home-manager.inputs.nixpkgs.follows = "nixpkgs";
+2
home/configurations/nmelzer_at_mimas.nix
+2
home/configurations/nmelzer_at_mimas.nix
+2
-1
home/configurations/nmelzer_at_phoebe.nix
+2
-1
home/configurations/nmelzer_at_phoebe.nix
···
14
in {
15
nixpkgs.allowedUnfree = ["google-chrome" "vscode" "discord" "obsidian" "slack"];
16
nixpkgs.config.permittedInsecurePackages = ["electron-25.9.0"];
17
18
nix.checkConfig = false;
19
nix.settings.extra-experimental-features = ["flakes" "nix-command"];
···
67
68
services.playerctld.enable = true;
69
70
-
home.file."${config.gtk.gtk2.configLocation}".force = true;
71
72
programs.ssh.includes = [
73
config.sops.secrets.ssh.path
···
14
in {
15
nixpkgs.allowedUnfree = ["google-chrome" "vscode" "discord" "obsidian" "slack"];
16
nixpkgs.config.permittedInsecurePackages = ["electron-25.9.0"];
17
+
profiles.base.needsGL = true;
18
19
nix.checkConfig = false;
20
nix.settings.extra-experimental-features = ["flakes" "nix-command"];
···
68
69
services.playerctld.enable = true;
70
71
+
gtk.gtk2.force = true;
72
73
programs.ssh.includes = [
74
config.sops.secrets.ssh.path
+1
-2
home/modules/default.nix
+1
-2
home/modules/default.nix
···
9
"programs/eza" = ./programs/eza;
10
"programs/ghostty" = ./programs/ghostty;
11
"programs/nixpkgs" = ./programs/nixpkgs;
12
-
"programs/openshift" = ./programs/openshift;
13
"programs/p10k" = ./programs/p10k;
14
"programs/rbw" = ./programs/rbw;
15
16
"services/insync" = ./services/insync;
17
-
"services/restic" = ./services/restic;
18
"services/rustic" = ./services/rustic;
19
20
"misc/awesome" = ./misc/awesome;
···
9
"programs/eza" = ./programs/eza;
10
"programs/ghostty" = ./programs/ghostty;
11
"programs/nixpkgs" = ./programs/nixpkgs;
12
"programs/p10k" = ./programs/p10k;
13
"programs/rbw" = ./programs/rbw;
14
+
"programs/wezterm" = ./programs/wezterm;
15
16
"services/insync" = ./services/insync;
17
"services/rustic" = ./services/rustic;
18
19
"misc/awesome" = ./misc/awesome;
+1
-1
home/modules/misc/rofi/common.rasi
+1
-1
home/modules/misc/rofi/common.rasi
+19
-16
home/modules/misc/rofi/default.nix
+19
-16
home/modules/misc/rofi/default.nix
···
1
{self, ...}: {
2
pkgs,
3
lib,
4
...
5
}: let
6
self' = self.packages.x86_64-linux;
···
10
--subst-var-by TERMINAL ${lib.getExe pkgs.wezterm}
11
'';
12
13
-
launcherConfig = pkgs.writeText "launcher-config" ''
14
-
configuration {
15
-
modes: "drun#run#ssh";
16
-
}
17
-
@import "${common_rasi}"
18
'';
19
20
-
windowSwitcherConfig = pkgs.writeText "window-switcher-config" ''
21
-
configuration {
22
-
modes: "window";
23
-
}
24
-
@import "${common_rasi}"
25
-
'';
26
27
-
emojiConfig = pkgs.writeText "window-switcher-config" ''
28
-
configuration {
29
-
modes: "emoji#unicode:${self'."rofi/unicode"}/bin/rofiunicode.sh";
30
-
}
31
-
@import "${common_rasi}"
32
'';
33
34
wrapper = rofi: config:
···
1
{self, ...}: {
2
pkgs,
3
lib,
4
+
npins,
5
...
6
}: let
7
self' = self.packages.x86_64-linux;
···
11
--subst-var-by TERMINAL ${lib.getExe pkgs.wezterm}
12
'';
13
14
+
catppuccin = pkgs.runCommandNoCC "catppuccin.rasi" {preferLocalBuild = true;} ''
15
+
substitute ${npins.catppuccin-rofi}/catppuccin-default.rasi $out \
16
+
--replace-fail '"catppuccin-mocha"' '"${npins.catppuccin-rofi}/themes/catppuccin-mocha.rasi"'
17
'';
18
19
+
writeConfig = name: body:
20
+
pkgs.writeText name
21
+
# rasi
22
+
''
23
+
configuration {
24
+
${body}
25
+
}
26
+
@theme "${catppuccin}"
27
+
@import "${common_rasi}"
28
+
'';
29
30
+
windowSwitcherConfig = writeConfig "window-switcher-config" ''modes: "window";'';
31
+
emojiConfig = writeConfig "emoji-config" ''modes: "emoji#unicode:${self'."rofi/unicode"}/bin/rofiunicode.sh";'';
32
+
launcherConfig = writeConfig "launcher-config" ''
33
+
modes: "drun#run#ssh";
34
+
ssh-command: "{terminal} ssh {host}";
35
'';
36
37
wrapper = rofi: config:
+41
-4
home/modules/profiles/base/default.nix
+41
-4
home/modules/profiles/base/default.nix
···
2
self,
3
nix,
4
nvim,
5
...
6
}: {
7
config,
···
49
in {
50
options.profiles.base = {
51
enable = lib.mkEnableOption "The base profile, should be always enabled";
52
};
53
54
config = lib.mkIf cfg.enable {
···
98
| sed -E 's/([0-9])([A-Za-z])/\1 \2/')" \
99
"$(numfmt --to=none --format="%'f" ''${saved})"
100
'';
101
in
102
-
[optisave pkgs.departure-mono pkgs.hydra-check nvim.packages.x86_64-linux.default] ++ lib.optionals pkgs.stdenv.isLinux [pkgs.dconf];
103
104
# dconf.enable = lib.mkMerge [
105
# (lib.mkIf pkgs.stdenv.isLinux true)
···
116
117
programs = {
118
advancedCopy.enable = true;
119
-
bat.enable = true;
120
direnv.enable = true;
121
direnv.nix-direnv.enable = true;
122
direnv.nix-direnv.package = pkgs.nix-direnv.override {nix = nix.packages.${pkgs.system}.default;};
···
128
p10k.enable = true;
129
zoxide.enable = true;
130
131
ssh = {
132
enable = true;
133
compression = true;
···
183
184
clock24 = true;
185
historyLimit = 10000;
186
-
terminal = "screen-256color";
187
};
188
189
zsh = {
···
214
}
215
];
216
217
-
initExtra = ''
218
bindkey "^[[1;5D" backward-word
219
bindkey "^[[1;5C" forward-word
220
···
2
self,
3
nix,
4
nvim,
5
+
nix-gl,
6
...
7
}: {
8
config,
···
50
in {
51
options.profiles.base = {
52
enable = lib.mkEnableOption "The base profile, should be always enabled";
53
+
54
+
needsGL = lib.mkEnableOption "nix-gl wrappers";
55
};
56
57
config = lib.mkIf cfg.enable {
···
101
| sed -E 's/([0-9])([A-Za-z])/\1 \2/')" \
102
"$(numfmt --to=none --format="%'f" ''${saved})"
103
'';
104
+
neovide =
105
+
if cfg.needsGL
106
+
then
107
+
pkgs.writeShellScriptBin nvim.packages.x86_64-linux.neovide.meta.mainProgram ''
108
+
exec ${lib.getExe nix-gl.packages.x86_64-linux.nixGLIntel} ${lib.getExe nvim.packages.x86_64-linux.neovide} "$@"
109
+
''
110
+
else nvim.packages.x86_64-linux.neovide;
111
in
112
+
lib.mkMerge [
113
+
[optisave pkgs.departure-mono pkgs.hydra-check nvim.packages.x86_64-linux.neovim neovide]
114
+
(lib.mkIf pkgs.stdenv.isLinux [pkgs.dconf])
115
+
];
116
117
# dconf.enable = lib.mkMerge [
118
# (lib.mkIf pkgs.stdenv.isLinux true)
···
129
130
programs = {
131
advancedCopy.enable = true;
132
direnv.enable = true;
133
direnv.nix-direnv.enable = true;
134
direnv.nix-direnv.package = pkgs.nix-direnv.override {nix = nix.packages.${pkgs.system}.default;};
···
140
p10k.enable = true;
141
zoxide.enable = true;
142
143
+
bat = {
144
+
enable = true;
145
+
146
+
config.theme = "mocha";
147
+
148
+
themes.mocha = {
149
+
src = npins.catppuccin-bat;
150
+
file = "themes/Catppuccin Mocha.tmTheme";
151
+
};
152
+
};
153
+
154
ssh = {
155
enable = true;
156
compression = true;
···
206
207
clock24 = true;
208
historyLimit = 10000;
209
+
terminal = "tmux-256color";
210
+
211
+
plugins = [
212
+
{
213
+
plugin = pkgs.tmuxPlugins.catppuccin;
214
+
extraConfig = ''
215
+
set -g @catppuccin_flavor "mocha"
216
+
set -g @catppuccin_window_status_style "rounded"
217
+
'';
218
+
}
219
+
];
220
+
221
+
extraConfig = ''
222
+
set -ag terminal-overrides ",xterm-256color:RGB"
223
+
'';
224
};
225
226
zsh = {
···
251
}
252
];
253
254
+
initContent = ''
255
bindkey "^[[1;5D" backward-word
256
bindkey "^[[1;5C" forward-word
257
+22
-3
home/modules/profiles/development/default.nix
+22
-3
home/modules/profiles/development/default.nix
···
13
};
14
15
config = lib.mkIf cfg.enable {
16
programs.gh.enable = true;
17
programs.git = {
18
enable = true;
···
26
inputs = builtins.attrValues {inherit (pkgs) git fzf ripgrep;};
27
interpreter = "${pkgs.bash}/bin/bash";
28
execer = ["cannot:${pkgs.git}/bin/git" "cannot:${pkgs.fzf}/bin/fzf"];
29
-
} ''
30
git log --graph --color=always --format="%C(auto)%h%d %s0x09%C(white)%C(bold)%cr" "$@" |
31
fzf --ansi --no-sort --reverse --tiebreak=index \
32
--bind=ctrl-s:toggle-sort \
···
39
inputs = builtins.attrValues {inherit (pkgs) git fzf coreutils gawk;};
40
interpreter = "${pkgs.bash}/bin/bash";
41
execer = ["cannot:${pkgs.git}/bin/git" "cannot:${pkgs.fzf}/bin/fzf"];
42
-
} ''
43
# Function to determine the ref type
44
function get_ref_type() {
45
local ref="$1"
···
119
hopbase = ''!f() { set -o nounset; tag=$(git describe --abbrev=0 --tag "$1") && git rebase -i "''${tag}"; }; f'';
120
comfix = "!${mkFixupAlias "fixup"}";
121
comreb = "!${mkFixupAlias "rebase"}";
122
};
123
124
extraConfig = {
125
init.defaultBranch = "main";
126
pull.rebase = false;
127
rerere.enabled = true;
128
};
···
167
];
168
};
169
170
-
home.packages = [pkgs.ripgrep];
171
};
172
}
···
13
};
14
15
config = lib.mkIf cfg.enable {
16
+
programs.jujutsu = {
17
+
enable = true;
18
+
settings = {
19
+
user = {
20
+
name = config.programs.git.userName;
21
+
email = config.programs.git.userEmail;
22
+
};
23
+
24
+
ui.diff.tool = [config.programs.git.extraConfig.diff.external "$left" "$right"];
25
+
};
26
+
};
27
+
28
programs.gh.enable = true;
29
programs.git = {
30
enable = true;
···
38
inputs = builtins.attrValues {inherit (pkgs) git fzf ripgrep;};
39
interpreter = "${pkgs.bash}/bin/bash";
40
execer = ["cannot:${pkgs.git}/bin/git" "cannot:${pkgs.fzf}/bin/fzf"];
41
+
}
42
+
# bash
43
+
''
44
git log --graph --color=always --format="%C(auto)%h%d %s0x09%C(white)%C(bold)%cr" "$@" |
45
fzf --ansi --no-sort --reverse --tiebreak=index \
46
--bind=ctrl-s:toggle-sort \
···
53
inputs = builtins.attrValues {inherit (pkgs) git fzf coreutils gawk;};
54
interpreter = "${pkgs.bash}/bin/bash";
55
execer = ["cannot:${pkgs.git}/bin/git" "cannot:${pkgs.fzf}/bin/fzf"];
56
+
}
57
+
# bash
58
+
''
59
# Function to determine the ref type
60
function get_ref_type() {
61
local ref="$1"
···
135
hopbase = ''!f() { set -o nounset; tag=$(git describe --abbrev=0 --tag "$1") && git rebase -i "''${tag}"; }; f'';
136
comfix = "!${mkFixupAlias "fixup"}";
137
comreb = "!${mkFixupAlias "rebase"}";
138
+
show = "show --ext-diff";
139
+
lp = "log -p --ext-diff";
140
};
141
142
extraConfig = {
143
init.defaultBranch = "main";
144
+
diff.external = lib.getExe pkgs.difftastic;
145
pull.rebase = false;
146
rerere.enabled = true;
147
};
···
186
];
187
};
188
189
+
home.packages = [pkgs.ripgrep pkgs.difftastic];
190
};
191
}
-23
home/modules/programs/openshift/default.nix
-23
home/modules/programs/openshift/default.nix
···
1
-
_: {
2
-
pkgs,
3
-
lib,
4
-
config,
5
-
...
6
-
}: let
7
-
cfg = config.programs.openshift;
8
-
in {
9
-
options.programs.openshift = {
10
-
enable = lib.mkEnableOption "Tools to manage openshift instances";
11
-
};
12
-
13
-
config = lib.mkIf cfg.enable {
14
-
home.packages = [pkgs.sops pkgs.openshift (lib.setPrio 0 pkgs.kubectl) pkgs.kubernetes-helm];
15
-
16
-
programs.zsh.initExtra = ''
17
-
# Enable autocomplete for oc, kubectl and helm
18
-
eval "$(${pkgs.openshift}/bin/oc completion zsh)"
19
-
eval "$(${pkgs.kubectl}/bin/kubectl completion zsh)"
20
-
eval "$(${pkgs.kubernetes-helm}/bin/helm completion zsh)"
21
-
'';
22
-
};
23
-
}
···
+60
home/modules/programs/wezterm/default.nix
+60
home/modules/programs/wezterm/default.nix
···
···
1
+
_: {
2
+
config,
3
+
pkgs,
4
+
...
5
+
}: {
6
+
home.packages = [pkgs.wezterm];
7
+
8
+
xdg.configFile."wezterm/wezterm.lua".text =
9
+
# lua
10
+
''
11
+
-- Pull in the wezterm API
12
+
local wezterm = require 'wezterm'
13
+
14
+
-- This table will hold the configuration.
15
+
local config = {}
16
+
17
+
-- In newer versions of wezterm, use the config_builder which will
18
+
-- help provide clearer error messages
19
+
if wezterm.config_builder then
20
+
config = wezterm.config_builder()
21
+
end
22
+
23
+
-- This is where you actually apply your config choices
24
+
25
+
-- bells
26
+
config.audible_bell = "Disabled"
27
+
config.visual_bell = {
28
+
fade_in_function = "EaseIn",
29
+
fade_in_duration_ms = 150,
30
+
fade_out_function = "EaseOut",
31
+
fade_out_duration_ms = 150,
32
+
}
33
+
34
+
-- For example, changing the color scheme:
35
+
config.color_scheme = "Catppuccin Mocha"
36
+
37
+
-- show a scrollbar
38
+
config.enable_scroll_bar = true
39
+
40
+
-- forbid window size change on change of fontsize
41
+
config.adjust_window_size_when_changing_font_size = false
42
+
43
+
-- disable ligatures
44
+
config.harfbuzz_features = { 'calt=0', 'clig=0', 'liga=0' }
45
+
46
+
-- set the font
47
+
config.font_dirs = { '${pkgs.departure-mono}/share/fonts/otf' }
48
+
config.font_size = 11.0 * 1.25
49
+
config.font = wezterm.font("Departure Mono")
50
+
51
+
-- setting up keybindings
52
+
config.keys = {
53
+
-- The default is `C-Z` (so also pressing SHIFT), I prefer to not have SHIFT pressed
54
+
{ key = 'z', mods = 'CTRL', action = wezterm.action.TogglePaneZoomState, },
55
+
}
56
+
57
+
-- and finally, return the configuration to wezterm
58
+
return config
59
+
'';
60
+
}
-85
home/modules/services/restic/default.nix
-85
home/modules/services/restic/default.nix
···
1
-
{self, ...}: {
2
-
config,
3
-
lib,
4
-
pkgs,
5
-
self,
6
-
...
7
-
}: let
8
-
cfg = config.services.restic;
9
-
10
-
bin = "${cfg.package}/bin/restic";
11
-
excludes = builtins.concatStringsSep " " (builtins.map (e: "--exclude=${e}") cfg.exclude);
12
-
xFlags = lib.optionalString cfg.oneFileSystem "-x";
13
-
compressFlag = "--compression ${cfg.compression}";
14
-
flags = "${xFlags} ${compressFlag} ${excludes}";
15
-
16
-
command = "${bin} --tag home -vv backup ${flags} %h";
17
-
in {
18
-
options.services.restic = {
19
-
enable = lib.mkEnableOption "Restic Backup Tool";
20
-
21
-
package = lib.mkOption {
22
-
type = lib.types.package;
23
-
default = pkgs.restic;
24
-
description = "Restic derivation to use";
25
-
};
26
-
27
-
exclude = lib.mkOption {
28
-
type = lib.types.listOf lib.types.str;
29
-
default = [];
30
-
description = "Corresponds to `--exclude`. Use `%h` instead of `~`";
31
-
};
32
-
33
-
oneFileSystem = lib.mkOption {
34
-
type = lib.types.bool;
35
-
default = false;
36
-
description = "If true, exclude other file systems, don't cross filesystem boundaries and subvolumes";
37
-
};
38
-
39
-
repo = lib.mkOption {
40
-
type = lib.types.str;
41
-
description = "Location of the repository";
42
-
};
43
-
44
-
compression = lib.mkOption {
45
-
type = lib.types.enum ["off" "auto" "max"];
46
-
description = "The compression mode to use";
47
-
default = "auto";
48
-
};
49
-
50
-
# TODO: Add options for inlcude, password file, etc
51
-
};
52
-
53
-
config = lib.mkIf cfg.enable {
54
-
home.packages = [cfg.package];
55
-
56
-
systemd.user.services.restic-backup = {
57
-
Unit = {
58
-
Description = "Restic Backup Tool";
59
-
StartLimitIntervalSec = "25m";
60
-
StartLimitBurst = "4";
61
-
};
62
-
63
-
Service = {
64
-
Environment = [
65
-
"PATH=${lib.makeBinPath [pkgs.openssh]}"
66
-
"RESTIC_PASSWORD_FILE=%h/.config/restic/password"
67
-
"RESTIC_REPOSITORY=${cfg.repo}"
68
-
];
69
-
Type = "oneshot";
70
-
ExecStart = command;
71
-
Restart = "on-failure";
72
-
RestartSec = "2m";
73
-
};
74
-
};
75
-
76
-
systemd.user.timers.restic-backup = {
77
-
Unit.Description = "Restic periodic backup";
78
-
Timer = {
79
-
Unit = "restic-backup.service";
80
-
OnCalendar = "hourly";
81
-
};
82
-
Install.WantedBy = ["timers.target"];
83
-
};
84
-
};
85
-
}
···
+212
nixos/configurations/mimas/rustic-timers.nix
+212
nixos/configurations/mimas/rustic-timers.nix
···
···
1
+
_: {
2
+
config,
3
+
pkgs,
4
+
lib,
5
+
...
6
+
}: let
7
+
profile_name = template: lib.removeSuffix ".toml" config.sops.templates."${template}".path;
8
+
9
+
environment = {
10
+
RUSTIC_NO_PROGRESS = "true";
11
+
RUSTIC_CACHE_DIR = "%T/rustic";
12
+
};
13
+
14
+
mimas_template =
15
+
# toml
16
+
''
17
+
[repository]
18
+
repository = "rest:https://restic.mimas.internal.nobbz.dev/mimas"
19
+
password-file = "${config.sops.secrets.rustic.path}"
20
+
21
+
[copy]
22
+
targets = ["${profile_name "mimas_hetzner.toml"}"]
23
+
'';
24
+
mimas_hetzner_template =
25
+
# toml
26
+
''
27
+
[repository]
28
+
repository = "opendal:sftp"
29
+
password-file = "${config.sops.secrets.rustic.path}"
30
+
31
+
[repository.options]
32
+
endpoint = "ssh://${config.sops.placeholder.rustic-user}.your-storagebox.de:23"
33
+
user = "${config.sops.placeholder.rustic-user}"
34
+
key = "/root/.ssh/id_ed25519"
35
+
root = "/home/mimas"
36
+
'';
37
+
38
+
nobbz_template =
39
+
# toml
40
+
''
41
+
[repository]
42
+
repository = "rest:https://restic.mimas.internal.nobbz.dev/nobbz"
43
+
password-file = "${config.sops.secrets.rustic.path}"
44
+
45
+
[copy]
46
+
targets = ["${profile_name "nobbz_hetzner.toml"}"]
47
+
'';
48
+
49
+
nobbz_hetzner_template =
50
+
# toml
51
+
''
52
+
[repository]
53
+
repository = "opendal:sftp"
54
+
password-file = "${config.sops.secrets.rustic.path}"
55
+
56
+
[repository.options]
57
+
endpoint = "ssh://${config.sops.placeholder.rustic-user}.your-storagebox.de:23"
58
+
user = "${config.sops.placeholder.rustic-user}"
59
+
key = "/root/.ssh/id_ed25519"
60
+
root = "/home/nobbz"
61
+
'';
62
+
63
+
schedule = {
64
+
rustic-mimas-clean = "*-*-* 01:00:00";
65
+
rustic-nobbz-clean = "*-*-* 01:30:00";
66
+
rustic-mimas-hetzner-clean = "*-*-* 02:00:00";
67
+
rustic-nobbz-hetzner-clean = "*-*-* 03:00:00";
68
+
};
69
+
70
+
mkTimer = name: calendar: {
71
+
"${name}" = {
72
+
wantedBy = ["timers.target"];
73
+
timerConfig.OnCalendar = calendar;
74
+
};
75
+
};
76
+
77
+
notify = lib.getExe' pkgs.systemd "systemd-notify";
78
+
in {
79
+
sops.secrets.rustic = {};
80
+
sops.secrets.rustic-user = {};
81
+
82
+
sops.templates."mimas.toml".content = mimas_template;
83
+
sops.templates."mimas_hetzner.toml".content = mimas_hetzner_template;
84
+
sops.templates."nobbz.toml".content = nobbz_template;
85
+
sops.templates."nobbz_hetzner.toml".content = nobbz_hetzner_template;
86
+
87
+
systemd.timers = lib.pipe schedule [
88
+
(lib.mapAttrsToList mkTimer)
89
+
lib.mkMerge
90
+
];
91
+
92
+
systemd.services = {
93
+
rustic-mimas-clean = {
94
+
path = [pkgs.rustic pkgs.openssh];
95
+
inherit environment;
96
+
serviceConfig = {
97
+
NotifyAccess = "all";
98
+
Type = "notify";
99
+
};
100
+
script = ''
101
+
${notify} --ready
102
+
${notify} --status=forget
103
+
rustic forget -P ${profile_name "mimas.toml"} \
104
+
--keep-last 4 \
105
+
--keep-within-hourly 1d \
106
+
--keep-within-daily 5d \
107
+
--keep-within-weekly 35d \
108
+
--keep-within-monthly 100d \
109
+
--keep-within-yearly 2y
110
+
111
+
${notify} --status=prune
112
+
rustic prune -P ${profile_name "mimas.toml"} \
113
+
--max-unused=0B \
114
+
--keep-delete=12h \
115
+
--max-repack=50GiB
116
+
117
+
${notify} --status=copy
118
+
rustic copy -P ${profile_name "mimas.toml"}
119
+
120
+
${notify} --stopping --status=""
121
+
'';
122
+
};
123
+
124
+
rustic-nobbz-clean = {
125
+
path = [pkgs.rustic pkgs.openssh];
126
+
inherit environment;
127
+
serviceConfig = {
128
+
NotifyAccess = "all";
129
+
Type = "notify";
130
+
};
131
+
script = ''
132
+
${notify} --ready
133
+
${notify} --status=forget
134
+
rustic forget -P ${profile_name "nobbz.toml"} \
135
+
--filter-tags home \
136
+
--keep-last 4 \
137
+
--keep-within-hourly 1d \
138
+
--keep-within-daily 5d \
139
+
--keep-within-weekly 35d \
140
+
--keep-within-monthly 100d \
141
+
--keep-within-yearly 2y
142
+
143
+
${notify} --status=prune
144
+
rustic prune -P ${profile_name "nobbz.toml"} \
145
+
--max-unused=0B \
146
+
--keep-delete=12h \
147
+
--max-repack=50GiB
148
+
149
+
${notify} --status=copy
150
+
rustic copy -P ${profile_name "nobbz.toml"}
151
+
152
+
${notify} --stopping --status=""
153
+
'';
154
+
};
155
+
156
+
rustic-nobbz-hetzner-clean = {
157
+
path = [pkgs.rustic pkgs.openssh];
158
+
inherit environment;
159
+
serviceConfig = {
160
+
NotifyAccess = "all";
161
+
Type = "notify";
162
+
};
163
+
script = ''
164
+
${notify} --ready
165
+
${notify} --status=forget
166
+
rustic forget -P ${profile_name "nobbz_hetzner.toml"} \
167
+
--keep-last 1 \
168
+
--keep-within-hourly 2h \
169
+
--keep-within-daily 10d \
170
+
--keep-within-weekly 65d \
171
+
--keep-within-monthly 190d \
172
+
--keep-within-yearly 5y
173
+
174
+
${notify} --status=prune
175
+
rustic prune -P ${profile_name "nobbz_hetzner.toml"} \
176
+
--max-unused 0B \
177
+
--max-repack 20GiB \
178
+
--keep-delete 11h
179
+
180
+
${notify} --stopping --status=""
181
+
'';
182
+
};
183
+
184
+
rustic-mimas-hetzner-clean = {
185
+
path = [pkgs.rustic pkgs.openssh];
186
+
inherit environment;
187
+
serviceConfig = {
188
+
NotifyAccess = "all";
189
+
Type = "notify";
190
+
};
191
+
script = ''
192
+
${notify} --ready
193
+
${notify} --status=forget
194
+
rustic forget -P ${profile_name "mimas_hetzner.toml"} \
195
+
--keep-last 1 \
196
+
--keep-within-hourly 2h \
197
+
--keep-within-daily 10d \
198
+
--keep-within-weekly 65d \
199
+
--keep-within-monthly 190d \
200
+
--keep-within-yearly 5y
201
+
202
+
${notify} --status=prune
203
+
rustic prune -P ${profile_name "mimas_hetzner.toml"} \
204
+
--max-unused 0B \
205
+
--max-repack 20GiB \
206
+
--keep-delete 11h
207
+
208
+
${notify} --stopping --status=""
209
+
'';
210
+
};
211
+
};
212
+
}
+4
nixos/configurations/mimas.nix
+4
nixos/configurations/mimas.nix
···
12
imports = [
13
(import ./mimas/paperless.nix inputs)
14
(import ./mimas/restic.nix inputs)
15
(import ./mimas/vaultwarden.nix inputs)
16
./mimas/gitea.nix
17
];
18
19
services.tailscale.enable = true;
20
21
sops.age.sshKeyPaths = ["/etc/ssh/ssh_host_ed25519_key"];
22
sops.defaultSopsFile = "${self}/secrets/mimas/default.yaml";
···
12
imports = [
13
(import ./mimas/paperless.nix inputs)
14
(import ./mimas/restic.nix inputs)
15
+
(import ./mimas/rustic-timers.nix inputs)
16
(import ./mimas/vaultwarden.nix inputs)
17
./mimas/gitea.nix
18
];
19
20
services.tailscale.enable = true;
21
+
22
+
security.pam.services.i3lock.enable = true;
23
+
security.pam.services.i3lock-color.enable = true;
24
25
sops.age.sshKeyPaths = ["/etc/ssh/ssh_host_ed25519_key"];
26
sops.defaultSopsFile = "${self}/secrets/mimas/default.yaml";
+19
-7
npins/sources.json
+19
-7
npins/sources.json
···
1
{
2
"pins": {
3
-
"awesome": {
4
"type": "Git",
5
"repository": {
6
"type": "GitHub",
7
-
"owner": "awesomewm",
8
-
"repo": "awesome"
9
},
10
-
"branch": "master",
11
-
"revision": "8b1f8958b46b3e75618bc822d512bb4d449a89aa",
12
-
"url": "https://github.com/awesomewm/awesome/archive/8b1f8958b46b3e75618bc822d512bb4d449a89aa.tar.gz",
13
-
"hash": "0a140ixasiyzyr6axd5akjcgdgx58pn2kqdgy9ag6hczhpf7jrk4"
14
},
15
"fzf-tab": {
16
"type": "Git",
···
1
{
2
"pins": {
3
+
"catppuccin-bat": {
4
"type": "Git",
5
"repository": {
6
"type": "GitHub",
7
+
"owner": "catppuccin",
8
+
"repo": "bat"
9
},
10
+
"branch": "main",
11
+
"revision": "699f60fc8ec434574ca7451b444b880430319941",
12
+
"url": "https://github.com/catppuccin/bat/archive/699f60fc8ec434574ca7451b444b880430319941.tar.gz",
13
+
"hash": "1lirgwgh2hnz6j60py19bbmhvgaqs7i6wf6702k6n83lgw4aixg9"
14
+
},
15
+
"catppuccin-rofi": {
16
+
"type": "Git",
17
+
"repository": {
18
+
"type": "GitHub",
19
+
"owner": "catppuccin",
20
+
"repo": "rofi"
21
+
},
22
+
"branch": "main",
23
+
"revision": "c24a212a6b07c2d45f32d01d7f10b4d88ddc9f45",
24
+
"url": "https://github.com/catppuccin/rofi/archive/c24a212a6b07c2d45f32d01d7f10b4d88ddc9f45.tar.gz",
25
+
"hash": "0236bcwad4cmr1fhnywvcnzf7xdmhhwgrkrq8jdg8livhh1h8rjq"
26
},
27
"fzf-tab": {
28
"type": "Git",
+1
packages/advcp/default.nix
+1
packages/advcp/default.nix
+1
-28
packages/default.nix
+1
-28
packages/default.nix
···
1
-
{
2
-
inputs,
3
-
npins,
4
-
...
5
-
}: {
6
perSystem = {
7
system,
8
pkgs,
···
17
config.allowUnfree = true;
18
config.google-chrome.enableWideVine = true;
19
};
20
-
21
-
awesome = pkgs.awesome.overrideAttrs (oa: {
22
-
version = npins.awesome.revision;
23
-
src = npins.awesome;
24
-
25
-
patches = [];
26
-
27
-
postPatch = ''
28
-
patchShebangs tests/examples/_postprocess.lua
29
-
'';
30
-
});
31
in {
32
packages = lib.mkMerge [
33
{
34
-
installer-iso =
35
-
(upkgs.callPackage ./installer {
36
-
inherit (inputs.nixpkgs.lib) nixosSystem;
37
-
inherit npins;
38
-
inherit (inputs) nvim;
39
-
})
40
-
.config
41
-
.system
42
-
.build
43
-
.isoImage;
44
-
45
advcp = upkgs.callPackage ./advcp {};
46
"rofi/unicode" = upkgs.callPackage ./rofi-unicode {};
47
}
48
(lib.mkIf pkgs.stdenv.isLinux {
49
inherit (inputs'.switcher.packages) switcher;
50
-
inherit awesome;
51
})
52
(lib.mkIf (system == "x86_64-linux") {
53
inherit (chromePkgs) google-chrome;
···
1
+
{inputs, ...}: {
2
perSystem = {
3
system,
4
pkgs,
···
13
config.allowUnfree = true;
14
config.google-chrome.enableWideVine = true;
15
};
16
in {
17
packages = lib.mkMerge [
18
{
19
advcp = upkgs.callPackage ./advcp {};
20
"rofi/unicode" = upkgs.callPackage ./rofi-unicode {};
21
}
22
(lib.mkIf pkgs.stdenv.isLinux {
23
inherit (inputs'.switcher.packages) switcher;
24
})
25
(lib.mkIf (system == "x86_64-linux") {
26
inherit (chromePkgs) google-chrome;
-47
packages/installer/awesome.nix
-47
packages/installer/awesome.nix
···
1
-
{
2
-
lib,
3
-
pkgs,
4
-
npins,
5
-
...
6
-
}: let
7
-
rc_lua = pkgs.runCommandNoCC "awesomerc.lua" {} ''
8
-
substitute ${./awesomerc.lua} $out \
9
-
--subst-var-by FILE_PATH_WALLPAPER ${./nix-glow-black.png} \
10
-
--subst-var-by TERMINAL_ICON_SVG ${./icons/terminal.svg} \
11
-
--subst-var-by GLOBE_ICON_SVG ${./icons/globe.svg} \
12
-
--subst-var-by PARTED_ICON_SVG ${./icons/parted.svg} \
13
-
--subst-var-by NIX_FLAKE_SVG ${./icons/nix-flake.svg}
14
-
'';
15
-
16
-
menu_entries = pkgs.writeText "menu_entries.lua" ''
17
-
return {
18
-
{ "NixOS Manual", "nixos-help", "${./icons/manual.svg}" },
19
-
{ "GParted", "${lib.getExe pkgs.gparted}", "${./icons/parted.svg}" },
20
-
{ "Reboot", "reboot", "${./icons/reboot.svg}" },
21
-
{ "Power Off", "poweroff", "${./icons/power-off.svg}" },
22
-
}
23
-
'';
24
-
25
-
awesome = pkgs.awesome.overrideAttrs (oa: {
26
-
version = npins.awesome.revision;
27
-
src = npins.awesome;
28
-
29
-
patches = [];
30
-
31
-
postPatch = ''
32
-
patchShebangs tests/examples/_postprocess.lua
33
-
'';
34
-
});
35
-
in {
36
-
_file = ./awesome.nix;
37
-
38
-
services.xserver.windowManager.awesome = {
39
-
enable = true;
40
-
package = awesome;
41
-
};
42
-
43
-
systemd.user.tmpfiles.rules = [
44
-
"L+ %h/.config/awesome/rc.lua - - - - ${rc_lua}"
45
-
"L+ %h/.config/awesome/menu_entries.lua - - - - ${menu_entries}"
46
-
];
47
-
}
···
-612
packages/installer/awesomerc.lua
-612
packages/installer/awesomerc.lua
···
1
-
-- awesome_mode: api-level=4:screen=on
2
-
-- If LuaRocks is installed, make sure that packages installed through it are
3
-
-- found (e.g. lgi). If LuaRocks is not installed, do nothing.
4
-
pcall(require, "luarocks.loader")
5
-
6
-
-- Standard awesome library
7
-
local gears = require("gears")
8
-
local awful = require("awful")
9
-
require("awful.autofocus")
10
-
-- Widget and layout library
11
-
local wibox = require("wibox")
12
-
-- Theme handling library
13
-
local beautiful = require("beautiful")
14
-
-- Notification library
15
-
local naughty = require("naughty")
16
-
-- Declarative object management
17
-
local ruled = require("ruled")
18
-
local menubar = require("menubar")
19
-
local hotkeys_popup = require("awful.hotkeys_popup")
20
-
-- Enable hotkeys help widget for VIM and other apps
21
-
-- when client with a matching name is opened:
22
-
23
-
require("awful.hotkeys_popup.keys")
24
-
25
-
-- {{{ Error handling
26
-
-- Check if awesome encountered an error during startup and fell back to
27
-
-- another config (This code will only ever execute for the fallback config)
28
-
naughty.connect_signal("request::display_error", function(message, startup)
29
-
naughty.notification {
30
-
urgency = "critical",
31
-
title = "Oops, an error happened" .. (startup and " during startup!" or "!"),
32
-
message = message
33
-
}
34
-
end)
35
-
-- }}}
36
-
37
-
-- {{{ Variable definitions
38
-
-- Themes define colours, icons, font and wallpapers.
39
-
beautiful.init(gears.filesystem.get_themes_dir() .. "default/theme.lua")
40
-
41
-
-- This is used later as the default terminal and editor to run.
42
-
local terminal = "xterm"
43
-
local editor = os.getenv("EDITOR") or "nano"
44
-
local editor_cmd = terminal .. " -e " .. editor
45
-
46
-
-- Default modkey.
47
-
-- Usually, Mod4 is the key with a logo between Control and Alt.
48
-
-- If you do not like this or do not have such a key,
49
-
-- I suggest you to remap Mod4 to another key using xmodmap or other tools.
50
-
-- However, you can use another modifier like Mod1, but it may interact with others.
51
-
local modkey = "Mod4"
52
-
-- }}}
53
-
54
-
-- {{{ Menu
55
-
-- Create a launcher widget and a main menu
56
-
local myawesomemenu = {
57
-
{ "hotkeys", function() hotkeys_popup.show_help(nil, awful.screen.focused()) end },
58
-
{ "manual", terminal .. " -e man awesome" },
59
-
{ "edit config", editor_cmd .. " " .. awesome.conffile },
60
-
{ "restart", awesome.restart },
61
-
{ "quit", function() awesome.quit() end },
62
-
}
63
-
64
-
-- Read the menu entries from generated file
65
-
local menu_entries = require("menu_entries")
66
-
local menu_items = {
67
-
{ "awesome", myawesomemenu, beautiful.awesome_icon },
68
-
{ "terminal", terminal, "@TERMINAL_ICON_SVG@" },
69
-
}
70
-
71
-
72
-
for _, v in pairs(menu_entries) do
73
-
table.insert(menu_items, v)
74
-
end
75
-
76
-
local mymainmenu = awful.menu({
77
-
items = menu_items,
78
-
})
79
-
80
-
local mylauncher = awful.widget.launcher({
81
-
image = "@NIX_FLAKE_SVG@",
82
-
menu = mymainmenu
83
-
})
84
-
85
-
-- Menubar configuration
86
-
menubar.utils.terminal = terminal -- Set the terminal for applications that require it
87
-
-- }}}
88
-
89
-
-- {{{ Tag layout
90
-
-- Table of layouts to cover with awful.layout.inc, order matters.
91
-
tag.connect_signal("request::default_layouts", function()
92
-
awful.layout.append_default_layouts({
93
-
awful.layout.suit.tile,
94
-
awful.layout.suit.tile.left,
95
-
awful.layout.suit.tile.bottom,
96
-
awful.layout.suit.tile.top,
97
-
awful.layout.suit.fair,
98
-
awful.layout.suit.fair.horizontal,
99
-
awful.layout.suit.spiral,
100
-
awful.layout.suit.spiral.dwindle,
101
-
awful.layout.suit.max,
102
-
awful.layout.suit.max.fullscreen,
103
-
awful.layout.suit.magnifier,
104
-
awful.layout.suit.corner.nw,
105
-
awful.layout.suit.floating,
106
-
})
107
-
end)
108
-
-- }}}
109
-
110
-
-- {{{ Wallpaper
111
-
screen.connect_signal("request::wallpaper", function(s)
112
-
awful.wallpaper {
113
-
screen = s,
114
-
widget = {
115
-
{
116
-
image = "@FILE_PATH_WALLPAPER@",
117
-
upscale = true,
118
-
downscale = true,
119
-
widget = wibox.widget.imagebox,
120
-
},
121
-
valign = "center",
122
-
halign = "center",
123
-
tiled = false,
124
-
widget = wibox.container.tile,
125
-
}
126
-
}
127
-
end)
128
-
-- }}}
129
-
130
-
-- {{{ Wibar
131
-
132
-
-- Keyboard map indicator and switcher
133
-
local mykeyboardlayout = awful.widget.keyboardlayout()
134
-
135
-
-- Create a textclock widget
136
-
local mytextclock = wibox.widget.textclock()
137
-
138
-
screen.connect_signal("request::desktop_decoration", function(s)
139
-
-- Each screen has its own tag table.
140
-
local svgFillColor = "#d3d3d3"
141
-
local svgEnd = [[</svg>]]
142
-
143
-
local partedSvg = [[<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">]] ..
144
-
[[<path fill="]] ..
145
-
svgFillColor ..
146
-
[[" d="M13 30a11 11 0 0 1 0-22a1 1 0 0 1 1 1v9h9a1 1 0 0 1 1 1a11 11 0 0 1-11 11Zm-1-19.94A9 9 0 1 0 21.94 20H14a2 2 0 0 1-2-2Z"/><path fill="]] ..
147
-
svgFillColor ..
148
-
[[" d="M28 14h-9a2 2 0 0 1-2-2V3a1 1 0 0 1 1-1a11 11 0 0 1 11 11a1 1 0 0 1-1 1Zm-9-2h7.94A9 9 0 0 0 19 4.06Z"/>]] ..
149
-
svgEnd
150
-
151
-
local first = awful.tag.add("1", {
152
-
screen = s,
153
-
icon_only = true,
154
-
icon = "@TERMINAL_ICON_SVG@",
155
-
layout = awful.layout.layouts[1],
156
-
})
157
-
158
-
awful.tag.add("2", {
159
-
screen = s,
160
-
icon_only = true,
161
-
icon = "@GLOBE_ICON_SVG@",
162
-
layout = awful.layout.layouts[1],
163
-
})
164
-
165
-
awful.tag.add("3", {
166
-
screen = s,
167
-
icon_only = true,
168
-
icon = "@PARTED_ICON_SVG@",
169
-
layout = awful.layout.layouts[1],
170
-
})
171
-
172
-
awful.tag({ "4", "5", "6", "7", "8", "9" }, s, awful.layout.layouts[1])
173
-
174
-
175
-
first:view_only()
176
-
177
-
-- Create a promptbox for each screen
178
-
s.mypromptbox = awful.widget.prompt()
179
-
180
-
-- Create an imagebox widget which will contain an icon indicating which layout we're using.
181
-
-- We need one layoutbox per screen.
182
-
s.mylayoutbox = awful.widget.layoutbox {
183
-
screen = s,
184
-
buttons = {
185
-
awful.button({}, 1, function() awful.layout.inc(1) end),
186
-
awful.button({}, 3, function() awful.layout.inc(-1) end),
187
-
awful.button({}, 4, function() awful.layout.inc(-1) end),
188
-
awful.button({}, 5, function() awful.layout.inc(1) end),
189
-
}
190
-
}
191
-
192
-
-- Create a taglist widget
193
-
s.mytaglist = awful.widget.taglist {
194
-
screen = s,
195
-
filter = awful.widget.taglist.filter.all,
196
-
buttons = {
197
-
awful.button({}, 1, function(t) t:view_only() end),
198
-
awful.button({ modkey }, 1, function(t)
199
-
if client.focus then
200
-
client.focus:move_to_tag(t)
201
-
end
202
-
end),
203
-
awful.button({}, 3, awful.tag.viewtoggle),
204
-
awful.button({ modkey }, 3, function(t)
205
-
if client.focus then
206
-
client.focus:toggle_tag(t)
207
-
end
208
-
end),
209
-
awful.button({}, 4, function(t) awful.tag.viewprev(t.screen) end),
210
-
awful.button({}, 5, function(t) awful.tag.viewnext(t.screen) end),
211
-
}
212
-
}
213
-
214
-
-- Create a tasklist widget
215
-
s.mytasklist = awful.widget.tasklist {
216
-
screen = s,
217
-
filter = awful.widget.tasklist.filter.currenttags,
218
-
buttons = {
219
-
awful.button({}, 1, function(c)
220
-
c:activate { context = "tasklist", action = "toggle_minimization" }
221
-
end),
222
-
awful.button({}, 3, function() awful.menu.client_list { theme = { width = 250 } } end),
223
-
awful.button({}, 4, function() awful.client.focus.byidx(-1) end),
224
-
awful.button({}, 5, function() awful.client.focus.byidx(1) end),
225
-
}
226
-
}
227
-
228
-
-- Create the wibox
229
-
s.mywibox = awful.wibar {
230
-
position = "top",
231
-
screen = s,
232
-
widget = {
233
-
layout = wibox.layout.align.horizontal,
234
-
{ -- Left widgets
235
-
layout = wibox.layout.fixed.horizontal,
236
-
mylauncher,
237
-
s.mytaglist,
238
-
s.mypromptbox,
239
-
},
240
-
s.mytasklist, -- Middle widget
241
-
{ -- Right widgets
242
-
layout = wibox.layout.fixed.horizontal,
243
-
mykeyboardlayout,
244
-
wibox.widget.systray(),
245
-
mytextclock,
246
-
s.mylayoutbox,
247
-
},
248
-
}
249
-
}
250
-
end)
251
-
252
-
-- }}}
253
-
254
-
-- {{{ Mouse bindings
255
-
awful.mouse.append_global_mousebindings({
256
-
awful.button({}, 3, function() mymainmenu:toggle() end),
257
-
awful.button({}, 4, awful.tag.viewprev),
258
-
awful.button({}, 5, awful.tag.viewnext),
259
-
})
260
-
-- }}}
261
-
262
-
-- {{{ Key bindings
263
-
264
-
-- General Awesome keys
265
-
awful.keyboard.append_global_keybindings({
266
-
awful.key({ modkey, }, "s", hotkeys_popup.show_help,
267
-
{ description = "show help", group = "awesome" }),
268
-
awful.key({ modkey, }, "w", function() mymainmenu:show() end,
269
-
{ description = "show main menu", group = "awesome" }),
270
-
awful.key({ modkey, "Control" }, "r", awesome.restart,
271
-
{ description = "reload awesome", group = "awesome" }),
272
-
awful.key({ modkey, "Shift" }, "q", awesome.quit,
273
-
{ description = "quit awesome", group = "awesome" }),
274
-
awful.key({ modkey }, "x",
275
-
function()
276
-
awful.prompt.run {
277
-
prompt = "Run Lua code: ",
278
-
textbox = awful.screen.focused().mypromptbox.widget,
279
-
exe_callback = awful.util.eval,
280
-
history_path = awful.util.get_cache_dir() .. "/history_eval"
281
-
}
282
-
end,
283
-
{ description = "lua execute prompt", group = "awesome" }),
284
-
awful.key({ modkey, }, "Return", function() awful.spawn(terminal) end,
285
-
{ description = "open a terminal", group = "launcher" }),
286
-
awful.key({ modkey }, "r", function() awful.screen.focused().mypromptbox:run() end,
287
-
{ description = "run prompt", group = "launcher" }),
288
-
awful.key({ modkey }, "p", function() menubar.show() end,
289
-
{ description = "show the menubar", group = "launcher" }),
290
-
})
291
-
292
-
-- Tags related keybindings
293
-
awful.keyboard.append_global_keybindings({
294
-
awful.key({ modkey, }, "Left", awful.tag.viewprev,
295
-
{ description = "view previous", group = "tag" }),
296
-
awful.key({ modkey, }, "Right", awful.tag.viewnext,
297
-
{ description = "view next", group = "tag" }),
298
-
awful.key({ modkey, }, "Escape", awful.tag.history.restore,
299
-
{ description = "go back", group = "tag" }),
300
-
})
301
-
302
-
-- Focus related keybindings
303
-
awful.keyboard.append_global_keybindings({
304
-
awful.key({ modkey, }, "j",
305
-
function()
306
-
awful.client.focus.byidx(1)
307
-
end,
308
-
{ description = "focus next by index", group = "client" }
309
-
),
310
-
awful.key({ modkey, }, "k",
311
-
function()
312
-
awful.client.focus.byidx(-1)
313
-
end,
314
-
{ description = "focus previous by index", group = "client" }
315
-
),
316
-
awful.key({ modkey, }, "Tab",
317
-
function()
318
-
awful.client.focus.history.previous()
319
-
if client.focus then
320
-
client.focus:raise()
321
-
end
322
-
end,
323
-
{ description = "go back", group = "client" }),
324
-
awful.key({ modkey, "Control" }, "j", function() awful.screen.focus_relative(1) end,
325
-
{ description = "focus the next screen", group = "screen" }),
326
-
awful.key({ modkey, "Control" }, "k", function() awful.screen.focus_relative(-1) end,
327
-
{ description = "focus the previous screen", group = "screen" }),
328
-
awful.key({ modkey, "Control" }, "n",
329
-
function()
330
-
local c = awful.client.restore()
331
-
-- Focus restored client
332
-
if c then
333
-
c:activate { raise = true, context = "key.unminimize" }
334
-
end
335
-
end,
336
-
{ description = "restore minimized", group = "client" }),
337
-
})
338
-
339
-
-- Layout related keybindings
340
-
awful.keyboard.append_global_keybindings({
341
-
awful.key({ modkey, "Shift" }, "j", function() awful.client.swap.byidx(1) end,
342
-
{ description = "swap with next client by index", group = "client" }),
343
-
awful.key({ modkey, "Shift" }, "k", function() awful.client.swap.byidx(-1) end,
344
-
{ description = "swap with previous client by index", group = "client" }),
345
-
awful.key({ modkey, }, "u", awful.client.urgent.jumpto,
346
-
{ description = "jump to urgent client", group = "client" }),
347
-
awful.key({ modkey, }, "l", function() awful.tag.incmwfact(0.05) end,
348
-
{ description = "increase master width factor", group = "layout" }),
349
-
awful.key({ modkey, }, "h", function() awful.tag.incmwfact(-0.05) end,
350
-
{ description = "decrease master width factor", group = "layout" }),
351
-
awful.key({ modkey, "Shift" }, "h", function() awful.tag.incnmaster(1, nil, true) end,
352
-
{ description = "increase the number of master clients", group = "layout" }),
353
-
awful.key({ modkey, "Shift" }, "l", function() awful.tag.incnmaster(-1, nil, true) end,
354
-
{ description = "decrease the number of master clients", group = "layout" }),
355
-
awful.key({ modkey, "Control" }, "h", function() awful.tag.incncol(1, nil, true) end,
356
-
{ description = "increase the number of columns", group = "layout" }),
357
-
awful.key({ modkey, "Control" }, "l", function() awful.tag.incncol(-1, nil, true) end,
358
-
{ description = "decrease the number of columns", group = "layout" }),
359
-
awful.key({ modkey, }, "space", function() awful.layout.inc(1) end,
360
-
{ description = "select next", group = "layout" }),
361
-
awful.key({ modkey, "Shift" }, "space", function() awful.layout.inc(-1) end,
362
-
{ description = "select previous", group = "layout" }),
363
-
})
364
-
365
-
366
-
awful.keyboard.append_global_keybindings({
367
-
awful.key {
368
-
modifiers = { modkey },
369
-
keygroup = "numrow",
370
-
description = "only view tag",
371
-
group = "tag",
372
-
on_press = function(index)
373
-
local screen = awful.screen.focused()
374
-
local tag = screen.tags[index]
375
-
if tag then
376
-
tag:view_only()
377
-
end
378
-
end,
379
-
},
380
-
awful.key {
381
-
modifiers = { modkey, "Control" },
382
-
keygroup = "numrow",
383
-
description = "toggle tag",
384
-
group = "tag",
385
-
on_press = function(index)
386
-
local screen = awful.screen.focused()
387
-
local tag = screen.tags[index]
388
-
if tag then
389
-
awful.tag.viewtoggle(tag)
390
-
end
391
-
end,
392
-
},
393
-
awful.key {
394
-
modifiers = { modkey, "Shift" },
395
-
keygroup = "numrow",
396
-
description = "move focused client to tag",
397
-
group = "tag",
398
-
on_press = function(index)
399
-
if client.focus then
400
-
local tag = client.focus.screen.tags[index]
401
-
if tag then
402
-
client.focus:move_to_tag(tag)
403
-
end
404
-
end
405
-
end,
406
-
},
407
-
awful.key {
408
-
modifiers = { modkey, "Control", "Shift" },
409
-
keygroup = "numrow",
410
-
description = "toggle focused client on tag",
411
-
group = "tag",
412
-
on_press = function(index)
413
-
if client.focus then
414
-
local tag = client.focus.screen.tags[index]
415
-
if tag then
416
-
client.focus:toggle_tag(tag)
417
-
end
418
-
end
419
-
end,
420
-
},
421
-
awful.key {
422
-
modifiers = { modkey },
423
-
keygroup = "numpad",
424
-
description = "select layout directly",
425
-
group = "layout",
426
-
on_press = function(index)
427
-
local t = awful.screen.focused().selected_tag
428
-
if t then
429
-
t.layout = t.layouts[index] or t.layout
430
-
end
431
-
end,
432
-
}
433
-
})
434
-
435
-
client.connect_signal("request::default_mousebindings", function()
436
-
awful.mouse.append_client_mousebindings({
437
-
awful.button({}, 1, function(c)
438
-
c:activate { context = "mouse_click" }
439
-
end),
440
-
awful.button({ modkey }, 1, function(c)
441
-
c:activate { context = "mouse_click", action = "mouse_move" }
442
-
end),
443
-
awful.button({ modkey }, 3, function(c)
444
-
c:activate { context = "mouse_click", action = "mouse_resize" }
445
-
end),
446
-
})
447
-
end)
448
-
449
-
client.connect_signal("request::default_keybindings", function()
450
-
awful.keyboard.append_client_keybindings({
451
-
awful.key({ modkey, }, "f",
452
-
function(c)
453
-
c.fullscreen = not c.fullscreen
454
-
c:raise()
455
-
end,
456
-
{ description = "toggle fullscreen", group = "client" }),
457
-
awful.key({ modkey, "Shift" }, "c", function(c) c:kill() end,
458
-
{ description = "close", group = "client" }),
459
-
awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle,
460
-
{ description = "toggle floating", group = "client" }),
461
-
awful.key({ modkey, "Control" }, "Return", function(c) c:swap(awful.client.getmaster()) end,
462
-
{ description = "move to master", group = "client" }),
463
-
awful.key({ modkey, }, "o", function(c) c:move_to_screen() end,
464
-
{ description = "move to screen", group = "client" }),
465
-
awful.key({ modkey, }, "t", function(c) c.ontop = not c.ontop end,
466
-
{ description = "toggle keep on top", group = "client" }),
467
-
awful.key({ modkey, }, "n",
468
-
function(c)
469
-
-- The client currently has the input focus, so it cannot be
470
-
-- minimized, since minimized clients can't have the focus.
471
-
c.minimized = true
472
-
end,
473
-
{ description = "minimize", group = "client" }),
474
-
awful.key({ modkey, }, "m",
475
-
function(c)
476
-
c.maximized = not c.maximized
477
-
c:raise()
478
-
end,
479
-
{ description = "(un)maximize", group = "client" }),
480
-
awful.key({ modkey, "Control" }, "m",
481
-
function(c)
482
-
c.maximized_vertical = not c.maximized_vertical
483
-
c:raise()
484
-
end,
485
-
{ description = "(un)maximize vertically", group = "client" }),
486
-
awful.key({ modkey, "Shift" }, "m",
487
-
function(c)
488
-
c.maximized_horizontal = not c.maximized_horizontal
489
-
c:raise()
490
-
end,
491
-
{ description = "(un)maximize horizontally", group = "client" }),
492
-
})
493
-
end)
494
-
495
-
-- }}}
496
-
497
-
-- {{{ Rules
498
-
-- Rules to apply to new clients.
499
-
ruled.client.connect_signal("request::rules", function()
500
-
-- All clients will match this rule.
501
-
ruled.client.append_rule {
502
-
id = "global",
503
-
rule = {},
504
-
properties = {
505
-
focus = awful.client.focus.filter,
506
-
raise = true,
507
-
screen = awful.screen.preferred,
508
-
placement = awful.placement.no_overlap + awful.placement.no_offscreen
509
-
}
510
-
}
511
-
512
-
-- Floating clients.
513
-
ruled.client.append_rule {
514
-
id = "floating",
515
-
rule_any = {
516
-
instance = { "copyq", "pinentry" },
517
-
class = {
518
-
"Arandr", "Blueman-manager", "Gpick", "Kruler", "Sxiv",
519
-
"Tor Browser", "Wpa_gui", "veromix", "xtightvncviewer"
520
-
},
521
-
-- Note that the name property shown in xprop might be set slightly after creation of the client
522
-
-- and the name shown there might not match defined rules here.
523
-
name = {
524
-
"Event Tester", -- xev.
525
-
},
526
-
role = {
527
-
"AlarmWindow", -- Thunderbird's calendar.
528
-
"ConfigManager", -- Thunderbird's about:config.
529
-
"pop-up", -- e.g. Google Chrome's (detached) Developer Tools.
530
-
}
531
-
},
532
-
properties = { floating = true }
533
-
}
534
-
535
-
-- Add titlebars to normal clients and dialogs
536
-
ruled.client.append_rule {
537
-
id = "titlebars",
538
-
rule_any = { type = { "normal", "dialog" } },
539
-
properties = { titlebars_enabled = true }
540
-
}
541
-
542
-
-- Set Firefox to always map on the tag named "2" on screen 1.
543
-
-- ruled.client.append_rule {
544
-
-- rule = { class = "Firefox" },
545
-
-- properties = { screen = 1, tag = "2" }
546
-
-- }
547
-
end)
548
-
-- }}}
549
-
550
-
-- {{{ Titlebars
551
-
-- Add a titlebar if titlebars_enabled is set to true in the rules.
552
-
client.connect_signal("request::titlebars", function(c)
553
-
-- buttons for the titlebar
554
-
local buttons = {
555
-
awful.button({}, 1, function()
556
-
c:activate { context = "titlebar", action = "mouse_move" }
557
-
end),
558
-
awful.button({}, 3, function()
559
-
c:activate { context = "titlebar", action = "mouse_resize" }
560
-
end),
561
-
}
562
-
563
-
awful.titlebar(c).widget = {
564
-
{ -- Left
565
-
awful.titlebar.widget.iconwidget(c),
566
-
buttons = buttons,
567
-
layout = wibox.layout.fixed.horizontal
568
-
},
569
-
{ -- Middle
570
-
{ -- Title
571
-
halign = "center",
572
-
widget = awful.titlebar.widget.titlewidget(c)
573
-
},
574
-
buttons = buttons,
575
-
layout = wibox.layout.flex.horizontal
576
-
},
577
-
{ -- Right
578
-
awful.titlebar.widget.floatingbutton(c),
579
-
awful.titlebar.widget.maximizedbutton(c),
580
-
awful.titlebar.widget.stickybutton(c),
581
-
awful.titlebar.widget.ontopbutton(c),
582
-
awful.titlebar.widget.closebutton(c),
583
-
layout = wibox.layout.fixed.horizontal()
584
-
},
585
-
layout = wibox.layout.align.horizontal
586
-
}
587
-
end)
588
-
-- }}}
589
-
590
-
-- {{{ Notifications
591
-
592
-
ruled.notification.connect_signal('request::rules', function()
593
-
-- All notifications will match this rule.
594
-
ruled.notification.append_rule {
595
-
rule = {},
596
-
properties = {
597
-
screen = awful.screen.preferred,
598
-
implicit_timeout = 5,
599
-
}
600
-
}
601
-
end)
602
-
603
-
naughty.connect_signal("request::display", function(n)
604
-
naughty.layout.box { notification = n }
605
-
end)
606
-
607
-
-- }}}
608
-
609
-
-- Enable sloppy focus, so that focus follows mouse.
610
-
client.connect_signal("mouse::enter", function(c)
611
-
c:activate { context = "mouse_enter", raise = false }
612
-
end)
···
-20
packages/installer/base.nix
-20
packages/installer/base.nix
···
1
-
{
2
-
modulesPath,
3
-
lib,
4
-
...
5
-
}: {
6
-
_file = ./base.nix;
7
-
8
-
imports = [
9
-
"${modulesPath}/installer/cd-dvd/installation-cd-graphical-base.nix"
10
-
];
11
-
12
-
isoImage = {
13
-
edition = "nobbz";
14
-
squashfsCompression = "zstd -Xcompression-level 10";
15
-
};
16
-
17
-
# VMware guest tools are enabled by default in the installer and caused issues
18
-
# on my Tuxedo laptop.
19
-
virtualisation.vmware.guest.enable = lib.mkForce false;
20
-
}
···
-22
packages/installer/default.nix
-22
packages/installer/default.nix
···
1
-
{
2
-
nixosSystem,
3
-
system,
4
-
npins,
5
-
nvim,
6
-
}:
7
-
nixosSystem {
8
-
inherit system;
9
-
10
-
specialArgs = {inherit npins nvim;};
11
-
12
-
modules = [
13
-
./awesome.nix
14
-
./base.nix
15
-
./lvm.nix
16
-
./motd.nix
17
-
./neovim.nix
18
-
./network.nix
19
-
./sddm.nix
20
-
./xterm.nix
21
-
];
22
-
}
···
-4
packages/installer/icons/globe.svg
-4
packages/installer/icons/globe.svg
···
1
-
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
3
-
<path fill="#d3d3d3" d="M16.36 14c.08-.66.14-1.32.14-2c0-.68-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2c0-.68.06-1.35.16-2h4.68c.09.65.16 1.32.16 2c0 .68-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.923 7.923 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8.008 8.008 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2c0 .68.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.65 15.65 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10a10 10 0 0 0 10-10A10 10 0 0 0 12 2Z"/>
4
-
</svg>
···
-4
packages/installer/icons/manual.svg
-4
packages/installer/icons/manual.svg
···
1
-
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
3
-
<path fill="#d3d3d3" d="M17.5 14.33c.79 0 1.63.08 2.5.24v1.5c-.62-.16-1.46-.24-2.5-.24c-1.9 0-3.39.33-4.5.99v-1.69c1.17-.53 2.67-.8 4.5-.8M13 12.46c1.29-.53 2.79-.79 4.5-.79c.79 0 1.63.07 2.5.23v1.5c-.62-.16-1.46-.24-2.5-.24c-1.9 0-3.39.34-4.5.99m4.5-3.65c-1.9 0-3.39.32-4.5 1V9.84c1.23-.56 2.73-.84 4.5-.84c.79 0 1.63.08 2.5.23v1.55c-.74-.19-1.59-.28-2.5-.28m3.5 8V7c-1.04-.33-2.21-.5-3.5-.5c-2.05 0-3.88.5-5.5 1.5v11.5c1.62-1 3.45-1.5 5.5-1.5c1.19 0 2.36.16 3.5.5m-3.5-14c2.35 0 4.19.5 5.5 1.5v14.56c0 .12-.05.24-.16.35c-.11.09-.23.17-.34.17c-.11 0-.19-.02-.25-.05c-1.28-.69-2.87-1.03-4.75-1.03c-2.05 0-3.88.5-5.5 1.5c-1.34-1-3.17-1.5-5.5-1.5c-1.66 0-3.25.36-4.75 1.07c-.03.01-.07.01-.12.03c-.04.01-.08.02-.13.02c-.11 0-.23-.04-.34-.12a.475.475 0 0 1-.16-.35V6c1.34-1 3.18-1.5 5.5-1.5c2.33 0 4.16.5 5.5 1.5c1.34-1 3.17-1.5 5.5-1.5Z"/>
4
-
</svg>
···
-5
packages/installer/icons/nix-flake.svg
-5
packages/installer/icons/nix-flake.svg
···
1
-
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
-
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
3
-
<path fill="#7ebae4" fill-rule="evenodd" d="M13 11.115L6.183 23.76L4.59 20.87l1.839-3.387l-3.651-.01L2 16.029l.8-1.477l5.2.018l1.868-3.447Zm.527 10.108h13.64l-1.541 2.922l-3.658-.011l1.817 3.389l-.779 1.449h-1.593l-2.584-4.825l-3.722-.008Zm7.94-5.541l-6.82-12.645l3.134-.032L19.6 6.4l1.834-3.379h1.557l.795 1.479l-2.612 4.807l1.854 3.455Z"/>
4
-
<path fill="#5277c3" fill-rule="evenodd" d="m10.542 16.324l6.821 12.645l-3.134.031l-1.821-3.4l-1.834 3.38H9.016l-.8-1.476l2.615-4.804l-1.855-3.457Zm7.922-5.573H4.823l1.542-2.922l3.658.011l-1.816-3.389L8.986 3h1.592l2.584 4.825l3.722.008ZM19 20.888l6.817-12.644l1.593 2.89l-1.839 3.386l3.651.01l.778 1.449l-.8 1.477l-5.2-.018l-1.868 3.447Z"/>
5
-
</svg>
···
-5
packages/installer/icons/parted.svg
-5
packages/installer/icons/parted.svg
···
1
-
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
-
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
3
-
<path fill="#d3d3d3" d="M13 30a11 11 0 0 1 0-22a1 1 0 0 1 1 1v9h9a1 1 0 0 1 1 1a11 11 0 0 1-11 11Zm-1-19.94A9 9 0 1 0 21.94 20H14a2 2 0 0 1-2-2Z"/>
4
-
<path fill="#d3d3d3" d="M28 14h-9a2 2 0 0 1-2-2V3a1 1 0 0 1 1-1a11 11 0 0 1 11 11a1 1 0 0 1-1 1Zm-9-2h7.94A9 9 0 0 0 19 4.06Z"/>
5
-
</svg>
···
-4
packages/installer/icons/power-off.svg
-4
packages/installer/icons/power-off.svg
···
1
-
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
3
-
<path fill="#ff0000" d="m16.56 5.44l-1.45 1.45A5.969 5.969 0 0 1 18 12a6 6 0 0 1-6 6a6 6 0 0 1-6-6c0-2.17 1.16-4.06 2.88-5.12L7.44 5.44A7.961 7.961 0 0 0 4 12a8 8 0 0 0 8 8a8 8 0 0 0 8-8c0-2.72-1.36-5.12-3.44-6.56M13 3h-2v10h2"/>
4
-
</svg>
···
-4
packages/installer/icons/reboot.svg
-4
packages/installer/icons/reboot.svg
···
1
-
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
3
-
<path fill="#ff0000" d="M12 4c2.1 0 4.1.8 5.6 2.3c3.1 3.1 3.1 8.2 0 11.3c-1.8 1.9-4.3 2.6-6.7 2.3l.5-2c1.7.2 3.5-.4 4.8-1.7c2.3-2.3 2.3-6.1 0-8.5C15.1 6.6 13.5 6 12 6v4.6l-5-5l5-5V4M6.3 17.6C3.7 15 3.3 11 5.1 7.9l1.5 1.5c-1.1 2.2-.7 5 1.2 6.8c.5.5 1.1.9 1.8 1.2l-.6 2c-1-.4-1.9-1-2.7-1.8Z"/>
4
-
</svg>
···
-4
packages/installer/icons/terminal.svg
-4
packages/installer/icons/terminal.svg
···
1
-
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
3
-
<path fill="#d3d3d3" d="M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16c1.1 0 2-.9 2-2V6a2 2 0 0 0-2-2zm0 14H4V8h16v10zm-2-1h-6v-2h6v2zM7.5 17l-1.41-1.41L8.67 13l-2.59-2.59L7.5 9l4 4l-4 4z"/>
4
-
</svg>
···
-9
packages/installer/lvm.nix
-9
packages/installer/lvm.nix
-37
packages/installer/motd.nix
-37
packages/installer/motd.nix
···
1
-
{pkgs, ...}: {
2
-
_file = ./motd.nix;
3
-
4
-
environment.etc."gui-motd".text = ''
5
-
Welcome to NobbZ' <b>inofficial</b> NixOS live disk!
6
-
7
-
The tooling, configuration and drivers on this disk are mostly tailored to
8
-
my own needs and might not work well for you.
9
-
10
-
Currently you are looking at an <tt>awesome wm</tt> session, the modkey is
11
-
<tt>Mod4</tt> (the "windows" key).
12
-
13
-
Most important tooling is available through the "awesome" menu, which is
14
-
located in the upper left corner of the screen.
15
-
16
-
If you want to use the terminal, you can either use the menu, or press
17
-
<tt>Mod4+Enter</tt>.
18
-
19
-
<s>Rofi is available as well, you can open it by pressing <tt>Mod4+d</tt>.</s>
20
-
21
-
A more complete list of keybindings can be found in the awesome help screen
22
-
by pressing <tt>Mod4+s</tt>.
23
-
'';
24
-
25
-
systemd.user.services.motd = {
26
-
description = "Prints a test message";
27
-
wantedBy = ["graphical-session.target"];
28
-
script = ''
29
-
motd=$(cat /etc/gui-motd)
30
-
${pkgs.gnome.zenity}/bin/zenity --info --text="$motd" --no-wrap --title="Short usage notes"
31
-
'';
32
-
serviceConfig = {
33
-
Type = "simple";
34
-
Restart = "on-failure";
35
-
};
36
-
};
37
-
}
···
-9
packages/installer/neovim.nix
-9
packages/installer/neovim.nix
-8
packages/installer/network.nix
-8
packages/installer/network.nix
packages/installer/nix-glow-black.png
packages/installer/nix-glow-black.png
This is a binary file and will not be displayed.
-9
packages/installer/sddm.nix
-9
packages/installer/sddm.nix
-14
packages/installer/xterm.nix
-14
packages/installer/xterm.nix
···
1
-
{pkgs, ...}: let
2
-
inherit (pkgs) writeText;
3
-
in {
4
-
systemd.user.tmpfiles.rules = let
5
-
xresources = writeText "xresources" ''
6
-
XTerm.vt100.foreground: rgb:d3/d3/d3
7
-
XTerm.vt100.background: rgb:00/00/00
8
-
XTerm.vt100.faceName: FreeMono
9
-
XTerm.vt100.faceSize: 12
10
-
'';
11
-
in [
12
-
"L+ %h/.Xresources - - - - ${xresources}"
13
-
];
14
-
}
···
+1
packages/rofi-unicode/default.nix
+1
packages/rofi-unicode/default.nix
+1
-1
parts/auxiliary.nix
+1
-1
parts/auxiliary.nix
+18
-16
secrets/mimas/default.yaml
+18
-16
secrets/mimas/default.yaml
···
1
-
restic: ENC[AES256_GCM,data:RalEtjybp8zatg==,iv:9NdaTuhLR57mv8OaCSyso9cfr8V1iQNuQuWInKyi3bI=,tag:7JqSaYtGIjScuB/T1WzvuA==,type:str]
2
-
traefik: ENC[AES256_GCM,data:YY4zAJ5FEeW2/We+BgO7G7AJmqTvO+cAnlq1hBdXgtzpXhm9viv8WIjbUAPGOzsBk8qgWMgZ1azECUWoFJWNRRFVrDNRxzM2GkGK5RoM6nUY+A==,iv:ZL90s3YuBmwafBz7VEwCTr2flnkguUxJgPp9OrnyfGA=,tag:JkMJsFeEk/UKbdyL/VTBhw==,type:str]
3
-
warden: ENC[AES256_GCM,data:/vG+a9TP18S8jYy1/ZoXFjbYYpa83HoHC5VSHaAHzkzGSYD8jTq3PyKQke0EwfO6STd0BU1MUGYhq60uGQO/anOXiW4T8j42a+7Vf5PLQ4kMHHTn57fG3UaWILg8dOE7cpRgKaLNsWwYZqgngP56w4265LPm9I2o9UYDYuNn8qTt/TSHKba31NWEbBjIDxbY7fW0EXzqOG+5RP1BgQeoQYNhiRB/45VZ5zOTsq4RWHJdhpKnkpO8ory0ONIqnBSQk5x2zRO99ys2renWRCkRQeJlWTsLfY/zd9NucrzajTT4jJfoe523oYtEAaRY2zGbI59hkrqMBThIVfU=,iv:OauSp63ywmrkENIqBVGVQ99Ozyom0o+DfSqYaL46Ujg=,tag:I1WMIXLHPZCActYPqSJY3w==,type:str]
4
sops:
5
kms: []
6
gcp_kms: []
···
10
- recipient: age1wpwkf2g475umw3wwns57r8ucykvy6lflpc7uphs0mx9exsj04quqpy7t6r
11
enc: |
12
-----BEGIN AGE ENCRYPTED FILE-----
13
-
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzbEMwUDc1ODlPRWtDOEFr
14
-
MVRpSkFhTHVudk5zVm12a0llWUpuR2poWUh3Ck5yUDBINUZNV1VQNXdRbkx4MjJr
15
-
UjUzQzBEVjVHS1FvT1BaVDlQb1ZzaTQKLS0tIGN1RndkUXZnQy91UXVzdkRpaUNH
16
-
RHMySGZkS2M0YkZTaFBDclpxYW43azgKl75qDMpRi8XSghFaiHKzXhkhaHcTfB/4
17
-
tXxlqpLNalHd0i/iDirFUwtGr3k4544gZ/yVgE77P9SX1jA7kYJXJw==
18
-----END AGE ENCRYPTED FILE-----
19
- recipient: age10jl78vwyqk622dpn2890l9jl4et3p7lsr8wh8vusem3j8jdxle8qg000qa
20
enc: |
21
-----BEGIN AGE ENCRYPTED FILE-----
22
-
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0Q2ZJREVJdlFuVmY5T0JL
23
-
WGVFaW4zYkc5aWxIRk96UDEyTVZ4ZU1QaWp3CjA0V3RCWTZVU0ROL0lTUExXbEdF
24
-
U3R1WUNkZ29vU3FtcU1TaVpJWE5MZGMKLS0tIDVNekFEQUR4eEdTWGU1ZmUwb3Nu
25
-
UXN2L2RmZjZUcEtIeC9jbzFHMXlUR00K1A+9Sys/oH8FDcY8KUKY8BjcNv9l+3OK
26
-
c/GmQCNaz6uUf/SWfSM1E/RhTHus3DEYD6fWZdzKwEzsYs2ZPRI5Xg==
27
-----END AGE ENCRYPTED FILE-----
28
-
lastmodified: "2025-02-12T10:24:40Z"
29
-
mac: ENC[AES256_GCM,data:lJO5gsg9NTWxdbS0XbamH3rcFHHUTthRmdJ4eqXGX/g1bsQcFwoSVy3FLXkN/NQkaNpbjdoqWwRkvUlwhuvDhjCrMERvEUFCEivSvWVZkl6TqA1soMFsO1FngaUvaCijlMbxdE94ZLVu9QRe5Q0sY7qL7EthUvC+ykXiBwvzbEk=,iv:vGv2nhSfBn3nxv+BbxkAb//m9Q4Ycn67a1Fz9sfTptA=,tag:BjB9IP0U30473t80FffeZw==,type:str]
30
pgp: []
31
unencrypted_suffix: _unencrypted
32
-
version: 3.8.1
···
1
+
restic: ENC[AES256_GCM,data:XMkh9jvehbD3Zg==,iv:9NdaTuhLR57mv8OaCSyso9cfr8V1iQNuQuWInKyi3bI=,tag:Kz08EadPaIWcytF6ASJssw==,type:str]
2
+
rustic: ENC[AES256_GCM,data:ETWxyvBz3AlXNp0=,iv:MXlQuvTJa2mZuXeiCX/YYpbqKpT1+RE5TNahBrUMM3Y=,tag:Vl7n0JF5M9Q+xZD32G1njQ==,type:str]
3
+
rustic-user: ENC[AES256_GCM,data:2hwYQS4nAA==,iv:y0pbF5axrPRdYRGAmx+kp7jkmSl77R8LQMUKQaiDWak=,tag:8kgcxNtvjmyT9PPc/WjrOg==,type:str]
4
+
traefik: ENC[AES256_GCM,data:kMnWaxpt0fLxJeX3oYLQrnZPS+pq/xjqVINleaCfaiXeMlJ8qno0eHBkx82gjldeObvTO1ENFz5k5EJ0ICbnS0ny6qHxeBAMaNVF3dZ+XmKx7w==,iv:ZL90s3YuBmwafBz7VEwCTr2flnkguUxJgPp9OrnyfGA=,tag:UeyiUtdQwOlyQoHObL+80w==,type:str]
5
+
warden: ENC[AES256_GCM,data:H3So3oZfZ6MBKsjxJNnxk/6UZi6J5D6H5bCMsb1E7rk/r51qYDe+1z2Gq1o0qqwX0k/O4Dxq7wJPaelLO4kE9bxQHvoT1NJQIZolnYF5G/PMqMKWIE4bxq6uLmxNKBmjOkJLo3hBiOHT8MjD/S6rOkUAB6Mn4YRKqcG+EG1Wz0sw1a+6KcNFMqO9xdcwD44MZYrreexOiwVx6UMPSJc/67fvzJ4ms/E3gQEOq6VvCHpxmk4bujo9ucqajfPGK4ewHqkdn4r0vQvrYxXMBkX7AXcL6CHSZ+ht0Hcw0A+m12GuTSHC0g38Avz5klP3FIruzj7oWcjv6XPBYfk=,iv:OauSp63ywmrkENIqBVGVQ99Ozyom0o+DfSqYaL46Ujg=,tag:ZcYkapCUZZE9DDh0PSfZEg==,type:str]
6
sops:
7
kms: []
8
gcp_kms: []
···
12
- recipient: age1wpwkf2g475umw3wwns57r8ucykvy6lflpc7uphs0mx9exsj04quqpy7t6r
13
enc: |
14
-----BEGIN AGE ENCRYPTED FILE-----
15
+
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBVRkRBcWlnM25ablJBdit2
16
+
b0Y1Zy9PM2FjRmg5ajN0YWpsaitJUStTTXlBCnpuL2wvU0hxZFpDREhiTmhnaFFi
17
+
LzkxMmVHYWo4TkZOaStJeHZsK3pIZG8KLS0tIC9DSjUyUVk0SG9mNHd0aGdXN1ow
18
+
N2Q4QWk3RU83dUxuSG85V1N5TzFkSVEK58cE6fE6mxjRCgtHRMqqahqMkwYeUnhx
19
+
F2Bdg5oPPQxoqIf769fZD9L1y/+LZ6Vi4YhJkjfMVFXk6YtEjKJSmQ==
20
-----END AGE ENCRYPTED FILE-----
21
- recipient: age10jl78vwyqk622dpn2890l9jl4et3p7lsr8wh8vusem3j8jdxle8qg000qa
22
enc: |
23
-----BEGIN AGE ENCRYPTED FILE-----
24
+
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBkY3EzZyt1YXFTTlVhK3Rk
25
+
djUvWmVjeDBSajlENCtNc0RZMVRVWUVuRWtBCnFpa0NnVjBvb0J2NCtpYitoMngv
26
+
WkxNaDNIQnRSSm0vSXF4a1RYcmNsK2MKLS0tIE5zSkExNVVJYkZsV244eElwMTd0
27
+
N3ZuTHhVdFo0aGZVMXFlaTdsRi9lRUUK+K5CUVCdjtMVegVydoKRIb6kpPnfBiy1
28
+
FxkXAp3a1qU2WqNvXCSO3gtUwYaMG+MPSCWI1gA3oBjGGtTasHyHsQ==
29
-----END AGE ENCRYPTED FILE-----
30
+
lastmodified: "2025-03-08T10:44:25Z"
31
+
mac: ENC[AES256_GCM,data:iKKmalnJnmm8EkDupTPKmKJydLLYkbAabLy5KJdQfKGvRj6vbJAQHZ3u0Pu2TI0oi5Xv3dtPh7ww04kT0Whe1E97p4t3RPyNCCGNqA8OqQiCPDUn6uqTQwOo1//3xIGFnnRC0VSYrQT0rjebbL96RnWE9XF67TefycxIMHusUXU=,iv:FU6VTW2zkEIlH5P/rr58gmuMnz16TCLP+UtEVkiLueg=,tag:uf7I1GwWxXOT190y8Hddow==,type:str]
32
pgp: []
33
unencrypted_suffix: _unencrypted
34
+
version: 3.9.4
+13
-13
secrets/mimas/nmelzer/default.yaml
+13
-13
secrets/mimas/nmelzer/default.yaml
···
1
-
rustic: ENC[AES256_GCM,data:BX02oTejsYOoHBI=,iv:NHuqnSibmY/RkJrSUWm0TbgG45iSdjso9ABI8SGqUTg=,tag:XJsnyxfZlNgl1FO7gjwoIQ==,type:str]
2
sops:
3
kms: []
4
gcp_kms: []
···
8
- recipient: age1wpwkf2g475umw3wwns57r8ucykvy6lflpc7uphs0mx9exsj04quqpy7t6r
9
enc: |
10
-----BEGIN AGE ENCRYPTED FILE-----
11
-
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0Uit0RVpUeit5TTBXQUd3
12
-
OG9xTUxIU0o3K1NpN3VBMlNTZ05LT3RFK3dRCnZ5OXhGS0o2K1YrQTBXV21tMXgw
13
-
SEVsNjU2cHQxOTJTZ0dkWjA5Sis4SVEKLS0tIGNobnV2WENqZ3ZGMWhTdDNzTElR
14
-
R2hvVDhrOU5FcGVJTWdBSzBReTdYS0UK10tHmEHoXsdNKsdbLLMe28y6MYgvfzCX
15
-
pxomYYMYRfy8DCyLBX50YP++47fTUUb+tY+cGXNvvNvCW6fgYFo3lQ==
16
-----END AGE ENCRYPTED FILE-----
17
- recipient: age1w6xjgskpxnlpleswumdhtt7x8zx35qn329yz3x7ftqdcmcxrrvnqnuf9d6
18
enc: |
19
-----BEGIN AGE ENCRYPTED FILE-----
20
-
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWOWtneGFlQXQzUjdPMUJh
21
-
YXIzdFJhdUtMcjdYMGhsT3MxZmhicG8xQ0dJCnR1V2ZEdFYrcWMrQlFCa1VMdWIr
22
-
a2h4ZHJaYk9VSTBxWC95aEZtbXc0amMKLS0tIHJ1Qk91RWk2cTMvdXdQQTRwWHhj
23
-
NVBxSk9YQWVrRi85WHhxbVE0Y3BMaEUKjp9LEdjkgcHhbQR9WcVnd2z/nHyaSeSU
24
-
d9rRK/V97WRG6Bb+e6ljVEG7abZu1ni882ztz5Oa8DtLraI2+UGjCw==
25
-----END AGE ENCRYPTED FILE-----
26
-
lastmodified: "2025-02-12T10:24:40Z"
27
-
mac: ENC[AES256_GCM,data:CjXgBwBPVcdER8rJC9S3QXMoSf/5cSfebxfusBEAoFzdQg1w6USN7inFC+xBVrjpoVKa295k5I+CRqaECOl/E2tmRcftbl7d49XnAOk2P4Cx7IfsUbUWPjJER07c43Nktehxiw8Okh1uw5v85UQ1VUmzpWFcwgNRsHxHEwQQ5lc=,iv:JHTol2haBhvEaaJ+c+y35gV59VyliI2gN7mY+Q9M0Ac=,tag:xwbRi3WTbOh09VTcoK2Gbg==,type:str]
28
pgp: []
29
unencrypted_suffix: _unencrypted
30
version: 3.8.1
···
1
+
rustic: ENC[AES256_GCM,data:aYi1wQgLgRL3n40=,iv:NHuqnSibmY/RkJrSUWm0TbgG45iSdjso9ABI8SGqUTg=,tag:k13fNK3kDcylC53d/haqog==,type:str]
2
sops:
3
kms: []
4
gcp_kms: []
···
8
- recipient: age1wpwkf2g475umw3wwns57r8ucykvy6lflpc7uphs0mx9exsj04quqpy7t6r
9
enc: |
10
-----BEGIN AGE ENCRYPTED FILE-----
11
+
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3U1ExOVN2aWVRVnB2M3RR
12
+
QmxQNDZnSWVWMW1IZWh5YmFmNTZYbGRzSFVRCjdvSGp1WThzc29aNUZQMHJDMThJ
13
+
MXNURHJUVVpDQ1hmUDBFamJ3TnRUSzQKLS0tIExXdWNoRm9aL29nUldQemwxOXdV
14
+
aktSY1lQZmxkTThpcU82Q0dwSUUzUmcKm2VCJHEUzjz2vXAJH1wOovNqzK6Hkk2z
15
+
hoIQzqgfQL3a4WA1q0Oj+R8wBChuRMUAYW4+TWCIAckKKwLqRyzBcQ==
16
-----END AGE ENCRYPTED FILE-----
17
- recipient: age1w6xjgskpxnlpleswumdhtt7x8zx35qn329yz3x7ftqdcmcxrrvnqnuf9d6
18
enc: |
19
-----BEGIN AGE ENCRYPTED FILE-----
20
+
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSamQ1R0tHZGIxUlN3NWtV
21
+
Q1htSVdJMG5rUEN6Rm1QTStONys3YjNiVEdzCmE0bDJCa1VaVTIyK1IvTDBFbVhs
22
+
ZWVGSzdwUWpVZTNSYUkvNjNtTERnZHMKLS0tIHRLSnBxTm8rVVo5ME4vS0dKZXF5
23
+
MjdaWk9mZEczVGVxZEpnN3pCQTdMOFEKO4oemn8P9PYZVTsJ81oDy17PRAaeu3pn
24
+
zxZ5a8/IrS/lZfMJ1vYwlZf0AEgOMTSyjVMNyOkWAgWIq8z1UkrpUA==
25
-----END AGE ENCRYPTED FILE-----
26
+
lastmodified: "2025-03-08T10:28:45Z"
27
+
mac: ENC[AES256_GCM,data:k+Ui8hxJM/W4vHxZtSkTO86L81ZnzXHcX+VEzef438dfoB6rhIUhz6OaVfLnF6v3RSzRPsYCoDP8L2p1vHAY42ljl4jzZvMqrIYU2N7ATTNFc+m2FO1lcfmKbsOqjkrVQxnux8lwBdD9e2H4/xOB+nAivuCEDd3rihYR0yRYiMI=,iv:yMu0MA0VTdwUsKkZUZAVo91iI9qaT+qOVVI3hlmZC0c=,tag:bbKM/vE0lEpvPHIKWk9llQ==,type:str]
28
pgp: []
29
unencrypted_suffix: _unencrypted
30
version: 3.8.1
+13
-13
secrets/phoebe/nmelzer/default.yaml
+13
-13
secrets/phoebe/nmelzer/default.yaml
···
1
-
ssh: ENC[AES256_GCM,data:1piCN4mFAU9cJXkag+MQ6t1XnaKg8FOvd2vf9Q4EhdlEJWNqkdepy7bZu2yQb71TWdVqtY7ctKyDWbrjgrRKryJs1LMnIrsCfkjsfAGogBUdpcaYkIfi2huVnLyAB/qZG3NGYqaWpuZXEZMZQD5NWOyY1hZb3sXVV6macu8PCBbQFl2vz+0ZssKXSphrJcgxyPF6TpNJ4ql9WYjA+g3tQMlOdQEgJ+v4zFCheqc/cpvP/sV2,iv:poHvd4U4dJha27Bqf4hA1pFhna29kO/RnFNjJsflpaA=,tag:Ph2JnUD4hitPUvGUZgZY+g==,type:str]
2
sops:
3
kms: []
4
gcp_kms: []
···
8
- recipient: age1wpwkf2g475umw3wwns57r8ucykvy6lflpc7uphs0mx9exsj04quqpy7t6r
9
enc: |
10
-----BEGIN AGE ENCRYPTED FILE-----
11
-
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtR2lNeVBuU2Z0WDd2Uytr
12
-
UkVCTUJZMDZUWFdGVmp1cG5saHZFWjlRK2x3CllLOHhQQ2Q2cnlXM1FFVzVnWDRF
13
-
cGhOYWdXWG9sQUIwaFdxRUFNUmtQNXMKLS0tIFcrMzcvSkZnOWpLdjMzR0JXR21n
14
-
VlMxUTA0emZhYVZvenllTGl0WmRvODgKlD476Ysv364IcPABFXH0I+CwLIa0xZ6h
15
-
uhD+zb0Ea0rvrevbifFofi2bI0YN6s6OiTgoEa+UCUL7zTJNgvR9YA==
16
-----END AGE ENCRYPTED FILE-----
17
- recipient: age1vr0uq6mwv844yvm8pe7qxjxpqrekgel3lqfzuuqtfzj0ehz3hphqzsxjna
18
enc: |
19
-----BEGIN AGE ENCRYPTED FILE-----
20
-
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBNcElzVmJjeWxYOUZOVDlp
21
-
S0Z2Y0Q1enBGanhyTENUSmFRVGtlM1lWeGpZCkdqcTBYWUdLQnJWMXlxV0pOem9M
22
-
L0RKa1Q3YmFMWk1BTzNxTFBsRElkcU0KLS0tIEdDb3RVR09uSWdCQ3BkR2hNTGpv
23
-
b3cvUGNPYnc3aVY2SExFUEI1ZngzYXcKUptdyK0c5amD9mfXfZOu1IwlLeDqacW2
24
-
wLlrabrv17jatrfiW7Ow0SVt7yRNj9NLeYOO5DWB7qj+FIkioxiNZA==
25
-----END AGE ENCRYPTED FILE-----
26
-
lastmodified: "2025-02-12T10:24:40Z"
27
-
mac: ENC[AES256_GCM,data:MpQENnVZ0nRy802BSi0wYlxm5Xmd6cDOgVEFnn4xndm+JdZiWLP4Or6QWKoqBwwVuwWIYC3pgwhW7zSIIbNOazAVK12BVsCAckaV4zMuw3MMJE0LqKQaAUlURmnLCId0Om4tGRJdXFZjw47spI76wZ70DJQVKpemrI7qBEkMypk=,iv:4ml2v2TXmmgsh1560hRC7MzwR5nmg5PCIIeNs0fA2XE=,tag:slp6EI/h1f7CTNN3irWZfg==,type:str]
28
pgp: []
29
unencrypted_suffix: _unencrypted
30
version: 3.9.1
···
1
+
ssh: ENC[AES256_GCM,data:Ti7PvRp+ooyu/MHGv90zlACZVzE5EseJUFk5KvxwYbE+bLcEKnTWW8yV+BBa3xoOe50P4X0GeNFHLsaCcCtrjNshNJSxZ3QHt1TQjLABvKrQvpU8BgN3qT3RMo019NMj0+UxWL4/5icaR4XAax+JWCTBXhncqFzyXqcB/IbLLJKKqqFTWe4zYhvQitBDF+oU6nTv/qTtj/6B7XN6byTbGPjTJrEXLotmbvl8ll/LiEkTPmuu,iv:poHvd4U4dJha27Bqf4hA1pFhna29kO/RnFNjJsflpaA=,tag:uUfl6tjzVQQ5oaKOcmUYQA==,type:str]
2
sops:
3
kms: []
4
gcp_kms: []
···
8
- recipient: age1wpwkf2g475umw3wwns57r8ucykvy6lflpc7uphs0mx9exsj04quqpy7t6r
9
enc: |
10
-----BEGIN AGE ENCRYPTED FILE-----
11
+
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwMnNzT2dFWWVPRjh2QUdF
12
+
VUZkUzdsQXRISG9kaHVqSGp2UWhCNlN3cVFJCmtQbE9LelRkbW4yU3ZyWG9MdnZB
13
+
b1k1QUwrOXBZQTVoRTArNGFtTEJSU0kKLS0tIG5KS3ZFd0hKMEhsSkV4ck5za2VQ
14
+
YzFLSjNUVXNRaklnczVKdGQ4V0JYUE0KGVHj8sWKKvVGwMrYmx0Js1uI1DmD028V
15
+
R+Y+p8H766496hBt6Eza6r7JhKtLXR5CrcoItq8m+fWU6lu+ElsnAw==
16
-----END AGE ENCRYPTED FILE-----
17
- recipient: age1vr0uq6mwv844yvm8pe7qxjxpqrekgel3lqfzuuqtfzj0ehz3hphqzsxjna
18
enc: |
19
-----BEGIN AGE ENCRYPTED FILE-----
20
+
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBRSTB0dGxWOFhTK0FHcGxI
21
+
VkFKV2NkZTlJRVNSZ1dnWVBKQk02YmZ3aERnClZaeTFSYzRJZ3ZWQjNPc1BnanhU
22
+
ak1RZ0w0MDExZVlJWVNrYjZxMHZsNEkKLS0tIE9tWHlVMEFpek1VTFdROE8zUFZa
23
+
VU9yempBMGVXenkxdkpHZC9YdlFZYm8KsdOmOI4ah0pEjqPt9XnJNxMyFSY4eYsI
24
+
UOgJZqRhlG8Y4NL6J1DyJPfeKeIroTAbNoCb65lxWHHWfoPvt3gU3A==
25
-----END AGE ENCRYPTED FILE-----
26
+
lastmodified: "2025-03-08T10:28:45Z"
27
+
mac: ENC[AES256_GCM,data:ycmOZIduc6cbx9daCGmLOL6eNSroAkGJw9dSnR79feaplXi6hmvycijcSJkys2vA3m81K2E7MW465GfodkpW1YWT1xW8RPp+WOOlqZvu3qoSu3F2T/VJxx4wCzTaXwvkcY9APAqb+WydN5KQDzakWaJfw+gTP3OS8LTRkYCDtcc=,iv:soCcQcGoi41g+g5X1SVDNH7iH28BCSImZqY1OE/H1Bo=,tag:RGY47osA22GETBuOynX1Dg==,type:str]
28
pgp: []
29
unencrypted_suffix: _unencrypted
30
version: 3.9.1
+28
-28
secrets/users/nmelzer/default.yaml
+28
-28
secrets/users/nmelzer/default.yaml
···
1
-
access-tokens: ENC[AES256_GCM,data:sEO1XoSCQr0b0wrXf5LZj4U78J6Wz5+rVGWbrN/IYFGGS4izbJ6Xack3hTekLvzQPi+q3Qfc5pEj3Qv5rZxirWFJPK8=,iv:BPI8HwuKwfzOMT2gs7U0cpbpP77f+X/HvCcfvIJh9Q4=,tag:CTi7plldS7ZBRgjHr0Puwg==,type:str]
2
sops:
3
kms: []
4
gcp_kms: []
···
8
- recipient: age1wpwkf2g475umw3wwns57r8ucykvy6lflpc7uphs0mx9exsj04quqpy7t6r
9
enc: |
10
-----BEGIN AGE ENCRYPTED FILE-----
11
-
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWS3EvTU92VDdSdk95RmY0
12
-
b0xKN2dyY3p2U2ZhNkhHM2ZCK2JDbDZEcXpFClk5bEV4dDlESU9oeWhuNGlvL2ly
13
-
bUkvQW5MTVRkSlVra1YrTTlzdlRZY1UKLS0tIEtsaGhTNFR1eEZBWmZMTDlkcWxx
14
-
b3pxY0l2cm5jZGhjcG91Ti9MdGZGd28KmZDDCJ356ZGwBbLkFg1fOUUumWhXAaZP
15
-
fhQRu6MNJRa6TPseH6ldxQwZp2SQdOC0mpWBmKL6i5KC6OqDyOYPUQ==
16
-----END AGE ENCRYPTED FILE-----
17
- recipient: age18p8x2cxam2l0trtpyhj4x9amcppp9ruzkqxzgapy9wnfpzl9hgaqlkht86
18
enc: |
19
-----BEGIN AGE ENCRYPTED FILE-----
20
-
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBmc2VoR204YVM1RjhNNUIr
21
-
eS90aDhob2hHV0JSMDFyQklSTmZLN3BXSUM0CmJiR05MVjQvM2J5YmdzbHhVTWN1
22
-
VWxSS0FlM2JFQmtyakxTYjljUHcvVXMKLS0tIDJyc0t6d0VYWC9zbEh1Q0M5bFVt
23
-
MU1YaW01L2xXVTU3MFpNNXZGRHhDdkkK1kqVO0yMR/kvTGmddZSwCZoJ8UQ+r+Ps
24
-
Vjjf8xZrV+Q00LTfA6NPGkcvFi+j06a+bwxG/w4LiwR2EMxNpZY4Ng==
25
-----END AGE ENCRYPTED FILE-----
26
- recipient: age1w6xjgskpxnlpleswumdhtt7x8zx35qn329yz3x7ftqdcmcxrrvnqnuf9d6
27
enc: |
28
-----BEGIN AGE ENCRYPTED FILE-----
29
-
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB1T0ZpbWJZOWdXdjN1ZEF3
30
-
OTN6djhkekZwenQvSjRaNWlDWFVoVDVKWTJFCkdBNmVMcHJMZWc3SlJlNy8zRWRn
31
-
Y2hMdzBpc1JDc0ViYzk2VDRpUTF0YU0KLS0tIFFzbUZnMUFkcnZSNzFGV2ZhZmw1
32
-
WGtrZW4rQ21rcGhzV3dkZUJkdFRvbUEK7uZVXjJvVCZ7SxhBIdjgP3Sd/Qx0Acje
33
-
zjxw1zNtT8NWDcM8tu1A0e/TTHveq8oipiyCq9o3XCayk2aynDrb5w==
34
-----END AGE ENCRYPTED FILE-----
35
- recipient: age1tf0zelmw4lh9gvkl0qycdk83fut9t4q3tfcdzk8cvlyhjp7z0g2q7hklgq
36
enc: |
37
-----BEGIN AGE ENCRYPTED FILE-----
38
-
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA3OC9yZlRESUZQZS9iZ1cz
39
-
YVRqZXJyRk5ZT0tUR0lPOFgwZHpjSVhLNlc0CmFGZGxiLy9kSDlrWGdoS0lWS21G
40
-
cHA0c1VRbG9qK3BoemwxYjgwaTBkeEkKLS0tIG10cjlIMVRCbXA1bUpmSktHZ2RY
41
-
RFJrZFppSVRNL2ZKZnVzbUREVk5qWHMKTo/zA09taUFYIKGJOwKnjtKuZ57KB0Px
42
-
QvKkD+E7bYaGZTV4/2sXLvYpabZlCEgp02z3HDfiPk3ginD/exUW8g==
43
-----END AGE ENCRYPTED FILE-----
44
- recipient: age1vr0uq6mwv844yvm8pe7qxjxpqrekgel3lqfzuuqtfzj0ehz3hphqzsxjna
45
enc: |
46
-----BEGIN AGE ENCRYPTED FILE-----
47
-
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0MDVlbmE5MkxKRThJd2JJ
48
-
SXk1c28vdlZZY3pxOEUrdUJZNGJKTDR0ZERrCkRwNDhnNUh5WU1HQ2lHMFlMVE5H
49
-
L09rbFVtd0pyeGF4dGpwdkh0NmZyNzAKLS0tIFlXdGxweFVHY3dFanMwYXlnUXN2
50
-
STF5VWRkM1pJVFpvamxJL1RKQzEvTFEKtdJuevKDW30qOj1J3Hn6oMC3Nwa5BZeN
51
-
BiXYiRE8b+Zu4gu+QuVt6XhJw3a1ylScKX3fze4iIsGlS9yyK3dBDA==
52
-----END AGE ENCRYPTED FILE-----
53
-
lastmodified: "2025-02-12T10:24:40Z"
54
-
mac: ENC[AES256_GCM,data:ZvpURYEx4qFcSr2y7GNKdcQ/Qawlih1t5rxooDb0gjZQNzu8zl9+KPUcVFrn1njlp1ES7BWN93s51gsssqZ1+RiG8xXfaOK5SO/z/pAfUPRdwT6MO8SnnpKTtucdu2KodhZ87p/pD1A39rdCQ37kWwv3VpqeJFtL/J2WH3hNRPg=,iv:RMdg0KRgIu9Sp1Mm9bLsKCb0vuPdgQ19Es3HtweRu3E=,tag:g6etCq1zRBQvevrObBQuDw==,type:str]
55
pgp: []
56
unencrypted_suffix: _unencrypted
57
version: 3.9.1
···
1
+
access-tokens: ENC[AES256_GCM,data:sLkIWAyispOwNUZJqXfTFVl8NbUcLhWhgLIVI2rahROYHMO3aU/0x8BOtmm0QkPYHA3C7GwzyvatMoASJWrqn6ife48=,iv:BPI8HwuKwfzOMT2gs7U0cpbpP77f+X/HvCcfvIJh9Q4=,tag:Kf2wZ+3xtKhaSY5S1QjTuw==,type:str]
2
sops:
3
kms: []
4
gcp_kms: []
···
8
- recipient: age1wpwkf2g475umw3wwns57r8ucykvy6lflpc7uphs0mx9exsj04quqpy7t6r
9
enc: |
10
-----BEGIN AGE ENCRYPTED FILE-----
11
+
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwcVV6MWRlWjhSQUt6V2E4
12
+
R3h5ZTlTei9QaTBnSm0zQXU4Q2dkVFdkL0JRCjVnbHFpQ0VaVis1TENCbVQ0Tm9F
13
+
bmxZakNpMmIyTmZTdy9aRDJKNGU0dWMKLS0tIHYwMGJxV3VhNTd3b1gwRUREMWVW
14
+
MUVzclBGZmV5d2lZcFJyMzViZGxXbFkKpgyVR4xv8NA6J7keZwVvJX0QSjoTAaW7
15
+
9fu5UR/d/pYIoJswd7jPNdhnClRLnTpJB62RZf+HHzGU2uq6aND1AA==
16
-----END AGE ENCRYPTED FILE-----
17
- recipient: age18p8x2cxam2l0trtpyhj4x9amcppp9ruzkqxzgapy9wnfpzl9hgaqlkht86
18
enc: |
19
-----BEGIN AGE ENCRYPTED FILE-----
20
+
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBXeGFqL0NVaFYxaWVNdVFa
21
+
Y3JKdFE3dnh0cFhQRVFqZjdXWHJ6VjV4eVdZCmZQUmJXNDZUbmVvWjRaMk5VSkxL
22
+
dFpVTDRqR05xcm5OMDYxc2NjNXNJYTAKLS0tIFNmZ0JsR2MwSzhWeWhwUEx0WlUy
23
+
ZlM1NXhPSjdQaGZlVDN1UGZLNDJRNVEKLmyd5dcZhNPKltxgVgHjJR1KQEcYOJ1V
24
+
6jY2Pq1dw8n8CswcThH4GmWBTqttEirFV8tB8CkYvHGk7oJCpX8gIg==
25
-----END AGE ENCRYPTED FILE-----
26
- recipient: age1w6xjgskpxnlpleswumdhtt7x8zx35qn329yz3x7ftqdcmcxrrvnqnuf9d6
27
enc: |
28
-----BEGIN AGE ENCRYPTED FILE-----
29
+
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwTEZRbk42bk9UdWh5bUFY
30
+
MlBoVUFScE0yUlJNeUlDOFNkZTNmZ2ZYZXg4CnV0a3JTOEZmZXdJYmxUOUlQR2pm
31
+
QzRmcGhWZW5RcGpLYURTWGoxcEtZVVUKLS0tIHVieWVteHcyMFRUOEZFVVYxN1oz
32
+
SklxWSs3RDhtNHdjZ2tZb0ZSRG4ydlkKvjxtjpOtaNmzeGnVqVLbkI8cEh0wKsLH
33
+
k5J7At247/4BFnQApfnw2cbeve2aQVsDjO6a6aZwcVrYQrErq/Ltog==
34
-----END AGE ENCRYPTED FILE-----
35
- recipient: age1tf0zelmw4lh9gvkl0qycdk83fut9t4q3tfcdzk8cvlyhjp7z0g2q7hklgq
36
enc: |
37
-----BEGIN AGE ENCRYPTED FILE-----
38
+
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBvemdIMXNVSFNibjBmc3cz
39
+
YXR3dHNGVGpUZDhtWGtSZVMwWHdKcU9zQ0VjCnNpdmMzNldvYi91ZWdGTkJyaWlF
40
+
R2tBcHg5aXpFR2x3M2Q0RU0vVWU0OUEKLS0tIEZYRWVpc2JLWGEvVExpSktDcFNQ
41
+
ZDFySCtOdk1Kdm1yRnlaTzFZRkpvQVUKGZoNU9KJgFOJau7Gxge47txwpAlMh2rQ
42
+
6Hfjf8E1igzLnbjvxQcGa2xVvI95KqhKZZclzPX9Vagl1z3XnoCvSw==
43
-----END AGE ENCRYPTED FILE-----
44
- recipient: age1vr0uq6mwv844yvm8pe7qxjxpqrekgel3lqfzuuqtfzj0ehz3hphqzsxjna
45
enc: |
46
-----BEGIN AGE ENCRYPTED FILE-----
47
+
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB1ci9GbWNmMWU4S1lGelFi
48
+
TVAvUUE0TmtxNE9nSURqQjVSb244bnBjdlJBCkY5eHhaRUxiOXA2OFhSTkthR0d4
49
+
dDhMUGhNeXA3aHcvemNZczU2bVpsQkkKLS0tIFZEMFFyTGJwWkR6QXFvYnZHVnNs
50
+
OUR3N2IyMkxJc3RqcmorUFBOYjRpa2cKPQT3cmtP7I2C38OPaRqxudCXv6CEObnp
51
+
DOVPG5JpeQGEu74kK5WTqbWlQU8AToOXmJdc+ru7ea1wAiXZiKEG4Q==
52
-----END AGE ENCRYPTED FILE-----
53
+
lastmodified: "2025-03-08T10:28:45Z"
54
+
mac: ENC[AES256_GCM,data:VktkGG1xk+tFtgdmLrM7rLQ+NEqDMATyu0kdm4iRe61mcMppNVR7ZxjP7Ryfz6kkiwAfqrv5g8pzaoHHCJoLAOShgCDdHB49USDVR7OZHp/BiNJkSwSYgSWsWQf4Wxve2lADcGJNrOD/l8jmO9DcUDldLdGEGJeZ6waej3g7z7Q=,iv:FhfHa/LN9UVC8fnilYv2NxlNT+xRRXdsKIejOqug4cc=,tag:mTBuhaR2AxulRrfPSB6F+Q==,type:str]
55
pgp: []
56
unencrypted_suffix: _unencrypted
57
version: 3.9.1
+8
-8
secrets/users/nmelzer/github
+8
-8
secrets/users/nmelzer/github
···
1
{
2
-
"data": "ENC[AES256_GCM,data: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,iv:+pnvwKJLNUD+0tpxurFocDgK0qOGzVsYkcV6b6KYock=,tag:fgbaERoc0mo75uKw7SRgUQ==,type:str]",
3
"sops": {
4
"kms": null,
5
"gcp_kms": null,
···
8
"age": [
9
{
10
"recipient": "age1wpwkf2g475umw3wwns57r8ucykvy6lflpc7uphs0mx9exsj04quqpy7t6r",
11
-
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB1Y0JDbzhodnZnaFZhVWxl\na29GQ0ZWV2E1UHFFMGFwMjU5eC82dVkvSkc4CnFDUmZWK3MxM2krbm9uMmtaSzhC\ndWJaOFJocGlzMzZSdXpDQzhmem5zb0UKLS0tIHhlQWVKS21wVGhkNEZJWkRVMHRl\nVGphcGx5cDFxS1pmT1pxRUppZU1UQUkK2bM0cid/qyZ5/Hi6ZOI9zGjXLIq/yYpB\n2JQuVXr8c23I3e2KNQFmFv/KmDluaEYdUaCjmmyQIqYvgYjV3fo4kw==\n-----END AGE ENCRYPTED FILE-----\n"
12
},
13
{
14
"recipient": "age18p8x2cxam2l0trtpyhj4x9amcppp9ruzkqxzgapy9wnfpzl9hgaqlkht86",
15
-
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaMmV4Snhocm1QKzE5cGFK\nbGxiZlRDT0JIalNDN2dzODBaWEh5TVNvNXk4Cm0zaUEzL051SytvdlBDa25CMmY1\nQnJjQzVXbFNuMXFyT1dZQ1BiN1ovbFkKLS0tICs2MHlDbVFra0REYUhGaGcyT1NS\nQnpUTGFtVnZJbGRzbHdoU1dkdk9rOWsKctvwtwwFjV8VMDsDexCmSj3BGa+OkGdL\nKgbhQYNPwkjui2lFepHq7aHAtxqodWFBc9KKlNaxB2mes0u7aqjSkw==\n-----END AGE ENCRYPTED FILE-----\n"
16
},
17
{
18
"recipient": "age1w6xjgskpxnlpleswumdhtt7x8zx35qn329yz3x7ftqdcmcxrrvnqnuf9d6",
19
-
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYYWcxUXBIS0ZNalpmMGMz\nT2c2N0FyNmt2RFpENzduQ1lmS3VKdzhUS1hNCnJXUUkxc3ZibktuS0I3dEZaMHF5\nZ0dFL05DdkYxeHZGMkk4eFRkQmF1SjQKLS0tIEVweC95WWhFNmE3aUJEVDMwV1I4\nMDNPbzBBVk8xVVR5UElMOXlCRzBOSkEKYWrFpBx+D+8vy+VVo6uN6bN4kzE2CWlW\nw952FbmJ1hZWmGtLuxIpwVXr4nQB6oy0VMgiAJuBqg8rnpg1QQCFoQ==\n-----END AGE ENCRYPTED FILE-----\n"
20
},
21
{
22
"recipient": "age1tf0zelmw4lh9gvkl0qycdk83fut9t4q3tfcdzk8cvlyhjp7z0g2q7hklgq",
23
-
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBiVnV6VTRpRnVmeFJUbEs5\nWHB5RUpmNDEzTWR2cUpjUjBHOEEwWXQxNkRJCjQwYXdUd0NRNGYyTUo0NEFKaCtX\nNVlHUXI4N3NjWi9BbGFBMzZnUGFwVTQKLS0tIGFERHZzaHhQRVArbWNTcjF5NFRX\nWGZNNG1TTlJzY0gyTWNpWUowcUNiZncKeCf40+mUFwV9/I2rQfNOWAxAuwmdZLnU\nzFMei2bDhazVeZgqY7ZWFLzkTZB0c01+15aPNvzxyCt9cMvWGpNfyA==\n-----END AGE ENCRYPTED FILE-----\n"
24
},
25
{
26
"recipient": "age1vr0uq6mwv844yvm8pe7qxjxpqrekgel3lqfzuuqtfzj0ehz3hphqzsxjna",
27
-
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWYXN3Y1RMTHdheWlUcitB\nQnl6K2VMUkRoTkx1WUpGVlRvNjRyVGt4eFFrCjd6LzZmMFY0MHp5VVFMOUNNSzhK\nTjdRUEtPRnBMSVlNVXdqRWR6Y3VTZFUKLS0tIC9mRmVjZUplVVhvVVZ2RzgxOHJJ\nSVZrOGdsTVBMbnFlT2gzQUgyQ2p2WUkKsQOyJlxGEhqAy3XiWETLquDQKBbsp4Gf\nFiKiqnO/ggXubgjn6PJ8iRBitYrbt3sB/lmB1HpNCyvMQu3Aa3Y2Mg==\n-----END AGE ENCRYPTED FILE-----\n"
28
}
29
],
30
-
"lastmodified": "2025-02-12T10:24:40Z",
31
-
"mac": "ENC[AES256_GCM,data:lMDbF+FIV/QK1BGWiDsBg6xSoL/3/jIxRsZm/axPeRgBnR92ME0wfGapXQ5OxWGZkBMRXgpuS9mW5AtL4sFEXHuzOYZIByEwZH4Lu+HYyXjoc8TjZ5AVYlXJk6eiJv5NFhWOqz+RPv+OkYbO/Mi8uZiS1qFMSkzRrbpCNBNQ8qA=,iv:5ve3Kfxfu4VaXToKdDUDDGGLy/DRMNv1edJHyXdHO4I=,tag:pia4ov7cyGEFsk4IoYdtOw==,type:str]",
32
"pgp": null,
33
"unencrypted_suffix": "_unencrypted",
34
"version": "3.8.1"
···
1
{
2
+
"data": "ENC[AES256_GCM,data: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,iv:+pnvwKJLNUD+0tpxurFocDgK0qOGzVsYkcV6b6KYock=,tag:oVCamxWlyuQU7McVwxZUKw==,type:str]",
3
"sops": {
4
"kms": null,
5
"gcp_kms": null,
···
8
"age": [
9
{
10
"recipient": "age1wpwkf2g475umw3wwns57r8ucykvy6lflpc7uphs0mx9exsj04quqpy7t6r",
11
+
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBOSEw0c0dWY0JhdGpMVFo1\nc2kzQm1FdHZIaEtuRG4zYUIyU0Z0QmVOdVZFCkpNTFJpTi9ha1VFb2l5czJONnl4\na3lYU1VmNmpBNzNBdVZEMjNRVjF0RG8KLS0tIFRhTEs1RFF0cTRnNTJqbDVJajh5\naG5UWExpVVl5YjZKUUQrT3gxR09CbVkKc64s7ROfryegUfEr+lS1KkbUDJo7+hso\nBvdJ4EJqS1Uu6H2XugpwBco640PKknJABrkL68LdUGlsUsITqK/MFQ==\n-----END AGE ENCRYPTED FILE-----\n"
12
},
13
{
14
"recipient": "age18p8x2cxam2l0trtpyhj4x9amcppp9ruzkqxzgapy9wnfpzl9hgaqlkht86",
15
+
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGOFBxeFNVU1RTSUNCOG1B\nZGhZQm1WSjR1NmsrYkpBd3A0M3liNlNEYXdZCkJKUkp3TGRsMzMrZ2RvU1YxVU0y\nMDJGT0dwQzM3T2pHZFplcFozYi9Pek0KLS0tIFlEb3VuaVJ1QlJPRWlVVDJaMnV4\nQzNhNzBuL1JZeFljb1hwMkp6NE9hY0EKtSZY/B+DbKkDW6cof3sjud77Qz+S6qO4\n81N0I13ywjMmLKLE/eXKEwRXvZkTV8o4AfkZIZo+JPvMgXcujrTFzA==\n-----END AGE ENCRYPTED FILE-----\n"
16
},
17
{
18
"recipient": "age1w6xjgskpxnlpleswumdhtt7x8zx35qn329yz3x7ftqdcmcxrrvnqnuf9d6",
19
+
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKMHA0ZHRjU2tYSEZna2ZV\nUjFTRDdMV1B1Ny9YbGlXVmEyRUNuMlRWSDFjClR6cjhHaHVKRFFGWEJHdERZZDRw\nQU9sVC9SNGZUUGxrVUdJWlVwbGpBa1EKLS0tIHYyeWZtS2ZjWTVJZWExTkJWdzFJ\na3NDMUNhSEtiamhIVUV6T2luNjI0S1UKIVHr+P3jpJY/k44EEE1RYB/PQxI4E3lw\n1DdyulRw0CvhuxVoZsINckTjgNIfRSeJlqS2OYEYfHPvqg2xcBNlGg==\n-----END AGE ENCRYPTED FILE-----\n"
20
},
21
{
22
"recipient": "age1tf0zelmw4lh9gvkl0qycdk83fut9t4q3tfcdzk8cvlyhjp7z0g2q7hklgq",
23
+
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSArRWhuWVNScC9IK0Vya2oz\nZ1JSRERnSmpJVEVNY3VlWnZLcUFESUxVM2dBCjFSdUtEbTVDZ3V1eERja1hnb09I\nWGNLcmNKcW5wOHFIMjJUWTJrTXh4M2MKLS0tIGI2OFh2ak5PTEV4MFZKWjhIVSsv\nZXA1dFFRY2FjVnI1MnE0TUtJemoxTEkKcCGDk5Mj16JL4/fevQCXYuTdY5ZVE2rb\n7nP+oqXXRTQAMVYsWwWIftNjd2XCM43UkTUKetMktGlcBMd/vNh/Xg==\n-----END AGE ENCRYPTED FILE-----\n"
24
},
25
{
26
"recipient": "age1vr0uq6mwv844yvm8pe7qxjxpqrekgel3lqfzuuqtfzj0ehz3hphqzsxjna",
27
+
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB1RE0rOU1pYWVQOFU0N3da\nd2NmNjlZVWtEdisvcTVJa2ExRzVsK2lFcDNvCnkzb0dTQ1ZkM085VFpLQ09NZXBR\nd2VKNWtmWVp4YVViV2dpeUJyblBoNHcKLS0tIGUybXNsQ2tsaU81MURmKzJ5YThY\nS280YUMyL2JyK2pHMWlRTnNpSjRqNmsKg80xYn2ZE2zjt/t6pSUpXm0umg1+OM3h\niWJzu2RPayXglUc22hIiC08kahueHA+iJ+OPvMkl+NEM0FBMHotGLA==\n-----END AGE ENCRYPTED FILE-----\n"
28
}
29
],
30
+
"lastmodified": "2025-03-08T10:28:45Z",
31
+
"mac": "ENC[AES256_GCM,data:xbFr0rhkcvO/+fTrGrOLCcmE52QVVxvwEu2Zg2vQ8DIt9aa+8p/aXI5ndY8TDoHsrl27IqZUetTYReXgyNBWuYhCbh6pLlJ/9GBipq+HTtyTuorj/hAREnaWDI049awM9yR6S6jELBSvPfUSKDi8JfBYelO04D9a2VinuAyP8/A=,iv:HzqLaMQbsNhwgBCX2YZj4pNbnLf73hc/IpJ8Hm5+pDQ=,tag:3rBwAgrscRB7hSKKj8ps6Q==,type:str]",
32
"pgp": null,
33
"unencrypted_suffix": "_unencrypted",
34
"version": "3.8.1"
+8
-8
secrets/users/nmelzer/gitlab
+8
-8
secrets/users/nmelzer/gitlab
···
1
{
2
-
"data": "ENC[AES256_GCM,data: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,iv:wutx8cOVSjjC69NzlIrojwRLhs28QvNXRnRJSC6MMb0=,tag:NqVzDBsbldbYJj9fYhfbrw==,type:str]",
3
"sops": {
4
"kms": null,
5
"gcp_kms": null,
···
8
"age": [
9
{
10
"recipient": "age1wpwkf2g475umw3wwns57r8ucykvy6lflpc7uphs0mx9exsj04quqpy7t6r",
11
-
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBmN3lILzRiK1R4clYxaHg4\nN2VOU0ExZ3J6RGZsOVdrcDVVeWgzMXFLd1RnCnNwK1NWT1lrYmJnUDNhR055QWRt\nVTVPTTk2UjB0OWwzL1M5a1ZRNzZUTXMKLS0tIHZ3d2Y3cXVLNGpNd2VvWW5Ic0Zt\nZWFaU3BtUloxamRDd3NqR3hIeldXb0EKAz7w9b3UvoBpqJ15RQgltvhJ38Rs5KOO\nC6CtG99aM6QyjtHfr6GO69UI2uoGTx3W7609qJ/G7sBTb3KU+iVMSw==\n-----END AGE ENCRYPTED FILE-----\n"
12
},
13
{
14
"recipient": "age18p8x2cxam2l0trtpyhj4x9amcppp9ruzkqxzgapy9wnfpzl9hgaqlkht86",
15
-
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQM09XeEVCd0xXY1hFdmt2\nTTlWem9xVkt4OVJHbzcvQ29LbzhSdW96T0NVCjZrY09XREVwTzRCRzROUVMvMXBP\nVnBxenR2MXRYT0VHVEZWamtZNUdwRHMKLS0tIGFkK0QwZXNBV3pyL05yamlZT3lT\ncCtMdVJ4QXVhc05CUlA0WDJla09XTGMKo2x9LLhcf361xUQc2xdaZBTUSheRDwsw\nCOOMuwWJRTQ0CJpExtDDYbtc8et1uHhskXUkyAmpPCOrEdAKm2mPsg==\n-----END AGE ENCRYPTED FILE-----\n"
16
},
17
{
18
"recipient": "age1w6xjgskpxnlpleswumdhtt7x8zx35qn329yz3x7ftqdcmcxrrvnqnuf9d6",
19
-
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBDY0orVGRNa283bjRLaWVz\nRTlvSk1hN1k4anVYbWdidk1vczhaWnc3Z2dnClRXSkZiSVNUZ2pHMEdtcndEdStP\ndS8zajZDbnJSM3hkTDVuR3E1dUJWd0UKLS0tIDBpS2xPZzBySWt6MlFvejZRdjgy\nVFlVVzR0anl4RFRGcG9vRGVueStBeXMK3T+vEuyG4hIWefM9TFju7lbudAamtdQ/\nHFME2nzXYrgAu/VqhlF//FHZgqwBR2U+z2TNKi5E+GrpCd1DRUTnMg==\n-----END AGE ENCRYPTED FILE-----\n"
20
},
21
{
22
"recipient": "age1tf0zelmw4lh9gvkl0qycdk83fut9t4q3tfcdzk8cvlyhjp7z0g2q7hklgq",
23
-
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBCajNubzNiRVJpU3Nialp1\nS0xCZjFjUE5hRnhhbjNUclNOdDYyYWJBMlZVCnNUZjdoaHdEZm1yc1E5N2dvUmUz\naS9CNGtvZHRTVHdUL1A0eCtjTjFrbmsKLS0tIHBaZGNZQ1ROVnZTVU5LZC9YVHlj\nYmhTclZVcFNYNlNrcWQzbFRMR0RLTncKz3+P6Qp+JhfKtmuPUJsR9+MS37HWsv2D\nsUJ/lSM/d998eI92lZrNK1Upv101gN09W2b8HC0OWFN/iY20r5Gv9Q==\n-----END AGE ENCRYPTED FILE-----\n"
24
},
25
{
26
"recipient": "age1vr0uq6mwv844yvm8pe7qxjxpqrekgel3lqfzuuqtfzj0ehz3hphqzsxjna",
27
-
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaMGQrdTFZUGY3N2dQUElo\nb2R2RmlPUFRabGZpMHdRZzNnTVN5SVRmL3c4Clp4R3NtL1BHb041ZDBXVE1VVHFw\nYmY2MmRXejlERUtXcENLcExoTzhyV0UKLS0tIEx1b2I4dXVuNlcxMlVBcGpvcWpi\ncGVDaEliaHZCU1ZxT0g4c2Y5TDI3SDgKXic2iDP02smtVJdgkRttCyLSLFuMa88A\nLOB01wvoWPbJwYnTcaq2n6HuhhyQUwXaAkWAC+9OuvIeJmpvFWBEJQ==\n-----END AGE ENCRYPTED FILE-----\n"
28
}
29
],
30
-
"lastmodified": "2025-02-12T10:24:40Z",
31
-
"mac": "ENC[AES256_GCM,data:0ZO6VIUEAwe/9ttqhGy/XrWQI4nSS+Iyw8Gfby2Y4ulCPE2yDXperkFfe8eq+WjBi2sl7/QIhV0BfCfRThfQgTY19RnSAYLtUqWJB5jNjFbcxoh62FL707XzIbB51pt1YYkKR+HelbGHP3Tt3FaGeTNxkRdAk7v0AlCRUaoD9DM=,iv:wElRFrilXej//AEfx7Bok9ZTL64KxFbze3iJMUidgHs=,tag:PXs6an8tTWOGJcP17hauhA==,type:str]",
32
"pgp": null,
33
"unencrypted_suffix": "_unencrypted",
34
"version": "3.8.1"
···
1
{
2
+
"data": "ENC[AES256_GCM,data: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,iv:wutx8cOVSjjC69NzlIrojwRLhs28QvNXRnRJSC6MMb0=,tag:cPf78d+51Op/58UiaM8IqQ==,type:str]",
3
"sops": {
4
"kms": null,
5
"gcp_kms": null,
···
8
"age": [
9
{
10
"recipient": "age1wpwkf2g475umw3wwns57r8ucykvy6lflpc7uphs0mx9exsj04quqpy7t6r",
11
+
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBJc1N0MUNwVFNlTEdjUElq\nUWlsTG8vc2xQYitYNWlUTlRGRTVLVzRyY1dBCmlMVG9OcUU5bjhzNDhpWStDaWVn\nRTcxZ1QySFhabklhQzJKL3BqSVVydncKLS0tIGhIamdINjdJZERnbXowZTlNRGtY\nOVVJSEZ1Q2NNNXNXV3UrbldUTy8yTlUKeLwquuhjLHDwzzL8JERFELXD9b6HWlKD\n6YXv+mHaeKtcN0y61uzH2O51U13e79ipex9AeYj8YSIZx1DRiJAg5Q==\n-----END AGE ENCRYPTED FILE-----\n"
12
},
13
{
14
"recipient": "age18p8x2cxam2l0trtpyhj4x9amcppp9ruzkqxzgapy9wnfpzl9hgaqlkht86",
15
+
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBlU2tFSTgwSXFyVEo4YVdO\naUx5R2F3UGxhY0RBbStMNDdpMWZCdkVzMEc4CmcwOVVFbDBGRlZDS3dhdGZNNUtI\nWWNCRDRUelhvVzA2ZFIwZ09QYUhZWk0KLS0tIDRORmpMZk5CcDdOL2pvMW51clA2\naFpFS1k2dW9rY1dQR2hwb2FlMWVrREUKL3F0eiR8lKlDfQMYekRvxUo/c/qDVgKJ\nl5+yOsCMh6iu2u696gRcrnzrZ/aX23TJE98ttYS97DeUjUCc0Dpo1w==\n-----END AGE ENCRYPTED FILE-----\n"
16
},
17
{
18
"recipient": "age1w6xjgskpxnlpleswumdhtt7x8zx35qn329yz3x7ftqdcmcxrrvnqnuf9d6",
19
+
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHcUhZOU9kQ1FkMWY4TkdS\neStwOThKdkpWa04xYUU4MENrbjZRQ29ya3pZCkpqaHRGeVUyeGdDemZUeXNkMlo5\nTkg3dFNlL3c1NWJNS1FzWUJ3b3FSYkkKLS0tIG9aUkxYTTVDRitCWTh1TmRFMXoy\nU3p6RHk4cUVOOTlDamNSZFdIVmc3STQKdvB/aVmyKhVAA+JKT8aQo1VmDa2WhGl7\nzGIGX77gsjDiy9Jb15Z3KWGu4AP+bonUTmTkUWA5Oiqe1rhOe9MDMA==\n-----END AGE ENCRYPTED FILE-----\n"
20
},
21
{
22
"recipient": "age1tf0zelmw4lh9gvkl0qycdk83fut9t4q3tfcdzk8cvlyhjp7z0g2q7hklgq",
23
+
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaNWhBaWQycm1EZ0JwKzIv\nSit2UjFhNUsrd00wSzhua2xONXZwZlA1WjMwCk80WG5acXNGTkFEdmxyYlRCNlIv\nc05CY0RQM3Z0ZXZNTkswOXVsaVcwS0EKLS0tIHBrNnpZbFRpY1BuMm5ocnlYWXNZ\nTXdBMkhROGxBM0R1MDdPNHhKM1NYYVUKjZaHwqh/0OKB+ybatAfxEF4OmskYW2E9\nYEjuhy9jdcqi2a3hm2bI6rdSCsemAADJPW2PWsqjNc2TB9QeAK9ZgQ==\n-----END AGE ENCRYPTED FILE-----\n"
24
},
25
{
26
"recipient": "age1vr0uq6mwv844yvm8pe7qxjxpqrekgel3lqfzuuqtfzj0ehz3hphqzsxjna",
27
+
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTUEJ4ZjV5aUhLNUVxNlZp\nY1N1WUEwNE5odUQ2ZkdqdFV5cjB6WW1LWkRNCndObExzUDB4ZFdsYVVNbUtBbFE2\nSU5kZy9iK3RlY3FLWXFrR1pzZmhYOU0KLS0tIG04dm85SGtMQmZmT2RqTGYyRWlS\nTVhCRVUwWGhUaGdpUExPVjIxUVl1ZzQKkcnzuMCngr9oWFDynRENTlJQEFIbRJV/\nY8THko3rajg5QrIcoDTHeQ85WM6ucapUakAUTbis+Sa9xBoQ2coqDg==\n-----END AGE ENCRYPTED FILE-----\n"
28
}
29
],
30
+
"lastmodified": "2025-03-08T10:28:45Z",
31
+
"mac": "ENC[AES256_GCM,data:1Y93EdZwSxZ3u+F0umtNc0jxzHHR7CdF2OUDb+DhxhmJrt9dEBoK1pRAN2qkdTMRMu5SDZVh0oilbQQC8HSC0iegpvlJo7lkG/qXyo1ixqEdp/P+mjqZTRqyxt2F/fFTPU9ggXhpQKyJcDgV6fjGm1pyYcTSMsvm0hOyrFq2+fE=,iv:rBYnAsB8PFoK2y0rb3G8YgX7e0yACTSE/AO1fYoRV8Q=,tag:TR6ZqCdPll7zPVSL/qUTzg==,type:str]",
32
"pgp": null,
33
"unencrypted_suffix": "_unencrypted",
34
"version": "3.8.1"
+8
-8
secrets/users/nmelzer/nix-community
+8
-8
secrets/users/nmelzer/nix-community
···
1
{
2
-
"data": "ENC[AES256_GCM,data:42sg/B50963tjrRNOutF+/5Uvdoile+fQQheRysu3rhV2ldZsSdGqNOFm95ILyrdPteJwFzi3QoaoXy/UbG+Pa9THIYZq9yX4y1EYlAsr8+k7Bal03ogQeHejEeVaM0SOCCk6QIuQqij941GuwQaG3m4oykweQ9Wo7kKW9mIZKHw+uB01mcrLCqvR1/rXtIvnjPvyfWe7OAx5mZ5Icb/r5MdfqFcwmnEDq9x5OOVY/2/Mnh25W3qMk+OvK9JM9KEdCxXdguX46b6q24RFKW9GL+m1AeD7e5RHKMq7L5Z24M04FDZhPaa8V2rKlLbjZyfcyQMGIuOAO4v+YX4uvfOv76N7Apgf7xfBZH62k82WkP09g/ime1ml/dvJCx5XszMH+XMvcM6lKZ0uSwWjDrJrdYNkdTDx9IfIl03KuI6go4R5vwYMFydstnIaAbpYYoQQqUGNorpH8Bz9xG5e93fAPFBtMYPe+QahWiESSSRhQ1wPZkQMW8YDG96l/e5LZsL3YnnntYDodNP9MQk4Ivs,iv:liL/qeyXe5Wbm3WtMCR8iIUk0O7gdIqYTOS9sBJSyqo=,tag:zn9YVua0rWGMyoKD1q9poQ==,type:str]",
3
"sops": {
4
"kms": null,
5
"gcp_kms": null,
···
8
"age": [
9
{
10
"recipient": "age1wpwkf2g475umw3wwns57r8ucykvy6lflpc7uphs0mx9exsj04quqpy7t6r",
11
-
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSArVEk0N2prK2Q2VTBHNldw\nYVlrdDBrcFJ2VUFVU21JaGNqU0N0ZEZrQ2dNCnBvekV5Ym90QlBoQmZ4UmZ2NG9Z\nek9oSngyOWRKVDYxMXRHZVBzYnJFQjQKLS0tIG9rTmEyTDdQS2Y3d0thMEk2N3ZP\nbCtRd1ZZcElNcCsyNDdDMlUwU1NYclUKbXXMSVn9QheND/63/rLBJeArT6IJobim\nK9Ta3nk4rwjEumV8hZIZV8Q432/NfhwQuI6PZRf4lfpVFBHU1qe5kg==\n-----END AGE ENCRYPTED FILE-----\n"
12
},
13
{
14
"recipient": "age18p8x2cxam2l0trtpyhj4x9amcppp9ruzkqxzgapy9wnfpzl9hgaqlkht86",
15
-
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBLZjBzUmo3cVFRV0s1anJs\nd1ZCRTNjcjd1ZTJTZVRYaTg5UjNVOFBKdEFVCk02LzJWRStHdDA3T0hDVmFzQ0Fs\nT3RBenY4aHJKR2RodmJGM3lqZm9qR1UKLS0tIE9BMlo0Zmp3QnRJZFdpajlsUTBT\nZEVYcE93eEVadERvWXlXM1NidnhoMDQKQ+hACUvBIMX39s5WzPiPY/JX35BbN76H\nmxgzDLsLuVfRFoMVaEoqMoBFUSFxkVunlFFML5eAuEXD9MntZb5aww==\n-----END AGE ENCRYPTED FILE-----\n"
16
},
17
{
18
"recipient": "age1w6xjgskpxnlpleswumdhtt7x8zx35qn329yz3x7ftqdcmcxrrvnqnuf9d6",
19
-
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBOb0JIN01McXoyUTYyTzZu\nYzVYWEEvU0c5dEx4RTIxMEllVjRpZkVLczJjClN5ZTdqek84eExqTFdBQStRNEsr\ndE1zTzEwZmNQK2VyQkw2cGV1MjV4dDAKLS0tIDZTcGhlVkV1Ym5HOHg4bHBoK3p6\nTEMwWDZMK09rTDMySkt1MXdDMVEyTkUKzJayAA2EaSo78xEeo0m+x8bsF1S5dn3O\n+QLCMIGtfqHyN7ipGNIv1qg8shZMpCKW0WmnHKGM/Hr69CFYzILeuQ==\n-----END AGE ENCRYPTED FILE-----\n"
20
},
21
{
22
"recipient": "age1tf0zelmw4lh9gvkl0qycdk83fut9t4q3tfcdzk8cvlyhjp7z0g2q7hklgq",
23
-
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxNE0zSngvalNtWkNtK2dz\nWUtKWWdORDhhNzdLa24xTkxHVzNFbUI3SG5BClBSWXRHS2daU1o2b1VxQzZ2WTYv\neEdxWWZ4bXMxUzV3ZWI1TG9tZUFmQlkKLS0tIEtTVmg3ZGNZWWNpU01JaGgvcE5B\nT1Vjd3R3UWRpMG40MlNpSk5Yd01uQ0kKuvvRCeQ89cHb5tR2coVX00P1wZQ5JerY\nej5my/Sj7jm0wC8+RT50RT+OaBFPAVdNzna88o4eNz4WKy7FbkJq7g==\n-----END AGE ENCRYPTED FILE-----\n"
24
},
25
{
26
"recipient": "age1vr0uq6mwv844yvm8pe7qxjxpqrekgel3lqfzuuqtfzj0ehz3hphqzsxjna",
27
-
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB5UXdVeUtQUlM0MnBkSytK\ncjhwdXF4aG84Uy95MnN6VTR6c3FNd0VsNWxBCjJGNHM2NGdlckp3U3pNL0Z0N1VL\nTUZKWjg0R2UrUm9HR2ZsaWNUUEFXTmMKLS0tIDk5REhwUTh1dkVCOVRpODBYR0M4\ndzd2TDRhTnBNZnE5RldwN3RaZXFSUDgKCOh7eUpnv6UTjZHOts7g/Cqxi+/u48jT\nx+WGXEfIilCFc2kaMMB3lS61jbV9tFsVcVBh9GyRwwpY4WpGm/BYJg==\n-----END AGE ENCRYPTED FILE-----\n"
28
}
29
],
30
-
"lastmodified": "2025-02-12T10:24:40Z",
31
-
"mac": "ENC[AES256_GCM,data:7/8uuMm49EDa6oP/LeGzn79O/N+58orN9As4vgoe4WhA8oqxpw45YHXPLd5mikfIbKfRulLhnW4Oi4tmJ9NjYXMTYKuYUrcesVqGFHaEv7rDmdWDfrkRwfa2ym8WvU7732g+vFkzXabeR47xzDTKcgZ91brBRvuD9GsDISSU90k=,iv:zvkwi6TiKJlmkNhAi1msQZZ4C/De2FzmpnQT7QkLVDs=,tag:WUOYeFUkEfGvp8aiz1AzDQ==,type:str]",
32
"pgp": null,
33
"unencrypted_suffix": "_unencrypted",
34
"version": "3.9.2"
···
1
{
2
+
"data": "ENC[AES256_GCM,data:beYSt9kq8a7NhS+FQcWQFFz0AjJP+Ybz1o5tYhAXkFo88OlxooLKCEpFgSDmN8jKgoE/IItxuLNVJJmPmo7+QUbQZgZq2Gs5xE5Am40ckfWc5vdGshxa5cPFqt1v+Sq/D6+oMj+8wxRC8zbUXGAH7Pah9Zaht/O/8gYcdnuypokYz6iKn9J713JbKAUHNNK358UUQhkEuVHWIgsWjbe6FylP+GlNtziYm2d4FwhAebuoOmZx3prQidP2qAcuul/FWjvRa5tJX3mEEa/oA1z44Q54jkPyWHvaMbsXMwdmq/3iFL26pMMZJl7FrM5OjfcxsTPNFHZFe9zonVWzffvdgu3KDpNcGTDK2OZRbOszr6kXy3BZYkzt/EMHoqH75mJ+WNCaGIZ41c3MMWBjEr0AkDLrLWA59EcVAJdH0WQ0TaVUErncLG6kR9UfGTMNm6dFs50IJy0PfGISHAKrnNL+2NkAdEVKlhHouP/0nlCqgB9Zg33nWzHniP7e4j2yDz6jfIkoIUjBHuwYPh44MEFE,iv:liL/qeyXe5Wbm3WtMCR8iIUk0O7gdIqYTOS9sBJSyqo=,tag:pkKFZEKNNBvl3/SfjH2nwQ==,type:str]",
3
"sops": {
4
"kms": null,
5
"gcp_kms": null,
···
8
"age": [
9
{
10
"recipient": "age1wpwkf2g475umw3wwns57r8ucykvy6lflpc7uphs0mx9exsj04quqpy7t6r",
11
+
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtZ2c0aUJiRENZM1FNamJX\ndElNRmNsdlRBMFZNeG5vRHdVcjFyWEhYTnhBClJEbWF4ZFkxM3NoS0hXS2tnaTJY\nM29oY2xzQldidzdBcE54c2pTdkhCNncKLS0tIEFLNC94aUZmUkdLc09oSEkrb0VS\nM29wT2h4SEdjUE9CMWtFMmYwSHVSaUEKN9MEDf76Wa5JNjk0DSy8MExMDjyxhpSu\nBCPeuJpyYqac2vpwc09ttV4vqbzRzrGHlMGPpgFkgkYvvzX5lqehkQ==\n-----END AGE ENCRYPTED FILE-----\n"
12
},
13
{
14
"recipient": "age18p8x2cxam2l0trtpyhj4x9amcppp9ruzkqxzgapy9wnfpzl9hgaqlkht86",
15
+
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBXeGZtQ2xERDlxd3l1TzFW\nTFhmRDJnOUJxUW0vemtZM1FORCsyMHFyTkJFCmtvR3I4eWhuSjFrNTJDdkd4Z29k\nRkt4eHM0aWVtNTZuc2txVGNKc2N1SDQKLS0tIEZ4bE5qU3hSSGpXb3lGWHp6MGti\nb2QzWDRYRmluWDllTVNJNmJaMlMxZDAKB0LOonMk7ypELophUHLnR2eEOclM5CgD\nrbgkmmKZPXMSvXLXDoQDICxleDNoFD2mWi4JvwZWZuRpaNs/1KPraw==\n-----END AGE ENCRYPTED FILE-----\n"
16
},
17
{
18
"recipient": "age1w6xjgskpxnlpleswumdhtt7x8zx35qn329yz3x7ftqdcmcxrrvnqnuf9d6",
19
+
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGdTVoVUI4UzM1VmlTZWVy\nblZxZE04TmIxaU1zOGhrREh6NnJaaTIwSjBBClFHejZwdHlFRTQyMC9YOFFsczhI\nMjh6cjJzcklFUGlHV1p6TnJUdzNPVGsKLS0tIFVQTDI1K0Jydno1ZVgrN2p2aDdi\nQ01mR3lNVzRmSEptQklBR0tIbWR0WE0KKND3aAMOLmMLjQV4iexO+XnjZIgZSSOj\nbK3qtICJ7E9lcRgoXtHDJm6+e5BzpBOUVkfX7cKAEWWtbfwrHbYnyA==\n-----END AGE ENCRYPTED FILE-----\n"
20
},
21
{
22
"recipient": "age1tf0zelmw4lh9gvkl0qycdk83fut9t4q3tfcdzk8cvlyhjp7z0g2q7hklgq",
23
+
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYZTVyRU9DQmNIRm1HWDQy\nUmhQUGVPM21ldGhCSzMydGpMK2JBdUNZU1JrCkpTa1krT1haWGo3OEdnLzFQZzh5\nTkFYb21JZjhGdmZxTjU1U1hRU0hkaGMKLS0tIDl0M3NaeE0vOTlTU0psSnVpYUw1\nYUE3ZGxXUmk0WUZmWUlQdjJNMTRBclEKPCZVzELeRe9jUC+dY/LTFrk0yrk4uWn0\nhNCROYc6jQPAHLhYRnCbWkENCQHfhBrxVLeyzLmELoU5ZdM0KgtPyA==\n-----END AGE ENCRYPTED FILE-----\n"
24
},
25
{
26
"recipient": "age1vr0uq6mwv844yvm8pe7qxjxpqrekgel3lqfzuuqtfzj0ehz3hphqzsxjna",
27
+
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3aU02ZFlIcDFpUXU5ZUg3\nUFZTR0Uya2JDUkw5L29tK3d2cmg2N05XVFRJClZnWVpwVHo3cFp2b0h3QVh0Wk15\nWGFOclBuQVMvcVdMcklGOUVST2JGYVkKLS0tIHFrRUl1aW1OZ1Z2SkF5K3FMRmFu\nQXlDZjdlWVFVZWEzaXN5NnNFc25iRkUKk6/f0mFEON/gplXSDCviVm4+e+duQJlw\nBT1oJflU2VHXK9RJBiUl9sV3tGHF41MeXpt3WoEO1AKMsk8Q3Q++1w==\n-----END AGE ENCRYPTED FILE-----\n"
28
}
29
],
30
+
"lastmodified": "2025-03-08T10:28:45Z",
31
+
"mac": "ENC[AES256_GCM,data:yenOYHB/Eax95Z8YqLd2kWq6bHUIbDXHj/qQntzLgLmBTUpnWW4DKuyligR3iBH91WD4evWBc+bDU5sMfGuozDQpgynsoIjPiOsNXPlLOURZLQf4tnqPzd4VzSkWsH2Q+b5bQvEteqYwYt9EI0XUxOfIF0X10yrjCM6axV6bsu8=,iv:du8kmJ2P/33SsLOih+5oCMrdvIEgWsFEC4ys51ASLJ4=,tag:4jsUew+WAfIj6pAUTGymLg==,type:str]",
32
"pgp": null,
33
"unencrypted_suffix": "_unencrypted",
34
"version": "3.9.2"
+8
-8
secrets/users/nmelzer/nobbz_dev
+8
-8
secrets/users/nmelzer/nobbz_dev
···
1
{
2
-
"data": "ENC[AES256_GCM,data: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,iv:iwfQiWkkxmB52x5mVXlhS3pbzKL3/ctoJMctdhHGQuk=,tag:h0VvgJOEwy9BK050OJ1MBQ==,type:str]",
3
"sops": {
4
"kms": null,
5
"gcp_kms": null,
···
8
"age": [
9
{
10
"recipient": "age1wpwkf2g475umw3wwns57r8ucykvy6lflpc7uphs0mx9exsj04quqpy7t6r",
11
-
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSWG5xU1V5U3dGdkh0RTBX\nUGV2MlZIZGZZajNrQW1hT2ZLd01DcTBTU0FVCjRXMWdzc0NUNWFSdVBQUnM0Zndr\nVy9WczR0Rk1JSEwyb1ZUSWVPN25rMGcKLS0tIDhsTVBWa2ZOeTk2dDNZUlQzaGRK\nR1JGWnU3UUZqV1lWV1p2bWZzc3VVUFEKHhbzzbLV3XMgwdijxy+3xG3BzkdeJl+E\nJ3fjvkqFyFVnt3z+ZCnpZ5YcfIRllNXp++M/DaZBTAEO9FehLf4DlA==\n-----END AGE ENCRYPTED FILE-----\n"
12
},
13
{
14
"recipient": "age18p8x2cxam2l0trtpyhj4x9amcppp9ruzkqxzgapy9wnfpzl9hgaqlkht86",
15
-
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA2TGcrM2dmVmlaSS84OHpC\nVkFlcmlXVjVaWGtuc0pHem9WbTJkYS9UR1NJCnkrWUpXZ3ZlYmdaOEd5aU5NVEVJ\nQnJ5b2kzV3owOGhvZFVjQTBEV051UVkKLS0tIEdZNWwxc0hWZVdzaVdtbVlvZ1dj\nZGJ4UFpnNUdwSkF6d3lvc0g0Y0N0V1UKLd/ORCcsGbcKEReHCC/ZK7ty8JLHMraC\nQlfFQjUfGAvAE4+J+cQBruzm4IP9uAhRaYuzb3thwpgYV3uH8vnqkw==\n-----END AGE ENCRYPTED FILE-----\n"
16
},
17
{
18
"recipient": "age1w6xjgskpxnlpleswumdhtt7x8zx35qn329yz3x7ftqdcmcxrrvnqnuf9d6",
19
-
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2dUx6NFpJWlVRK01VbE1D\nUzFVeHVNT1d0UGpyZW9GZEdhR3cyNFVyTWdVCmxraUhqUVovdkJ5VE5oUUhZTEJI\nNGxkYW9BQVE3U3RaN1k2Q2xwUXFDd0EKLS0tIGpGdWZBTEcyY2xCaDlRYXVnUjVZ\neU9IQlBqQmQrSlA3NXJvWUptakppY3cK47wlMIHaQKgX372bDfdrsR9vvSovv/Jx\n3mgQZPo2iR9+5psgEZfWaIEIYEJcXOvynkcNfdQO2VMAGbidDXodfA==\n-----END AGE ENCRYPTED FILE-----\n"
20
},
21
{
22
"recipient": "age1tf0zelmw4lh9gvkl0qycdk83fut9t4q3tfcdzk8cvlyhjp7z0g2q7hklgq",
23
-
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTelQrNExLRlE3S1hhdXhs\nZVk4QllMOFB5cmwzb1RSbExwUGpzaGxxVW1jClVSOVp0NTludEh4QUNCUCtVeXJY\nbkJoZzVVbnhyYUVTVWk5c044Y1o3T3cKLS0tIFhyVVVRSXJqdHRkZzF3L3o4YVZB\ndDlQbnFqL2p4Qlc2SUpuU0VGeE9FaG8Ksv14E31Kh60inQ1xiGqrv2iqlO7u4Xmw\nZnO7HwdytnxuUV7rbOVucJbJnPepaNm4fKgZmnLkv5ZWLpiJ11Pkcg==\n-----END AGE ENCRYPTED FILE-----\n"
24
},
25
{
26
"recipient": "age1vr0uq6mwv844yvm8pe7qxjxpqrekgel3lqfzuuqtfzj0ehz3hphqzsxjna",
27
-
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBiRjIweklHeEtYOHMyT0tq\nRWpDU1kxMXIzdnZmcFNzMWxzeDJCaXhFdEZrCkNUZG8xUnRFWVpIbm9tUmM5dDBk\nNlZLcFU2Y0NWdjRCUS84eU9pemFacncKLS0tIGwwN3dkYkhYUzFXaUNBOUdIdFpW\ndUhBWGNUV1VoN3luYUtOQlJ4Q3VHdzQKGSD6ZwTBAfViOOfAEtRvVSLxz7QZiBTT\nVZdYkgkcKLQ+EOQ5n3tZKzlHOhMhAl5cMLHUbzex2v3/vFGrZxus7w==\n-----END AGE ENCRYPTED FILE-----\n"
28
}
29
],
30
-
"lastmodified": "2025-02-12T10:24:40Z",
31
-
"mac": "ENC[AES256_GCM,data:Z8DioGTGo1Vd+TP6+bVJDTrms7jeqximkXQ6athBkerP1Cx9rZjq0fkZYJW/OS0Uksx7B4Z3nHqTJYC/dfWKbwinO4OO0/ovp/TnuWYrkVovpzJWaByvH4ONMYXjE1R0ZvPGQDAkJydnc+wq4/zBdSJeOX+wNicJBDlDQRwMUo0=,iv:Dhw2sZMRbPtdJkyWfWpvjw+xcXykEsRvgmxWh4rcXMc=,tag:YcU/xUKjk0HiSZFYVP8L3w==,type:str]",
32
"pgp": null,
33
"unencrypted_suffix": "_unencrypted",
34
"version": "3.8.1"
···
1
{
2
+
"data": "ENC[AES256_GCM,data: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,iv:iwfQiWkkxmB52x5mVXlhS3pbzKL3/ctoJMctdhHGQuk=,tag:VQ0GWz0xyQiCx/WpYq1itA==,type:str]",
3
"sops": {
4
"kms": null,
5
"gcp_kms": null,
···
8
"age": [
9
{
10
"recipient": "age1wpwkf2g475umw3wwns57r8ucykvy6lflpc7uphs0mx9exsj04quqpy7t6r",
11
+
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtQUpwZ2JXYTUybXc5Tm9T\na1p6azYvbno0NzY0UGNrWnNjQUd3SnJMakV3CjVMemhwQ3NmOWFJSGEzQ2ZsL1pF\najgrM2g2THQ2dkxTUUM0QlpnODRjbUkKLS0tIDZKaFYydnZRYWdxZFIzYnNZbjZ3\nWkxPcWdHbm9ZZnZNNVpIQmZ5djVHTGcKAiKFm4r93FBNXxt/jgofvKS3pn0NbdWW\njDacQ7VUubSqpmHax/s/FNV75g5ynIm8ldOJVoW6lgNxPWxcfucTLA==\n-----END AGE ENCRYPTED FILE-----\n"
12
},
13
{
14
"recipient": "age18p8x2cxam2l0trtpyhj4x9amcppp9ruzkqxzgapy9wnfpzl9hgaqlkht86",
15
+
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBLMU5ycnhZSlJyQ0UrRXVo\naVIra1o2TkRmbTFFMHFzeTN2d1NGQUluTVRzCk4wRm41Sy8rNWh4OXI0eUdKdDhH\nRjZwcE80K1NUbGxubGp1akh1WVFTWU0KLS0tIFZraWFpdmU3dlRCMnVtMHN3RnFD\nYmN5dmIwRUlJQktKTmUzZllTb1lOUTQKkJLBrTeUlPaZ1C/pGWu9WQNFCBgsJVqS\nYnPpsvYJiOE/6WmCzB34OVpO8vdrv1mE5jR/Ila3YQVjBt8JHo7Zqw==\n-----END AGE ENCRYPTED FILE-----\n"
16
},
17
{
18
"recipient": "age1w6xjgskpxnlpleswumdhtt7x8zx35qn329yz3x7ftqdcmcxrrvnqnuf9d6",
19
+
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBVUEx6UkEveUI1UVRqQm1n\ncE9OcFNnZFM4eU5iM2NpQjQ5R0NteFZOMlhZCk1Kd3JxVy9tTk5oTU1GSUgyTjNO\nY1hmaTZjYmZkZHVnazl3Q1ViT1R6RVUKLS0tIE9udElPWU9vNWpYYWtmMmluTWQ2\nK0hWL25OemxpVStNMFZJUGI4UUc4MmsKs7DTAfnY74yp33cmdyYiF6fPiNgheehm\nRO9PDQ/Yh6wIq/6j/brPsMJLyYrC7+Mjgx/oX5lNmMwTVLBrCe/qdg==\n-----END AGE ENCRYPTED FILE-----\n"
20
},
21
{
22
"recipient": "age1tf0zelmw4lh9gvkl0qycdk83fut9t4q3tfcdzk8cvlyhjp7z0g2q7hklgq",
23
+
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBqVW5aVUVpZk14U1pYK2NJ\nRVpGbGdXVzlLQ25PSWYyWjR6bGRCWkIxM3dVCnlGd1h3Z2pJNmNweTgwRmUyL1Bo\nNVBoaFprQWVUK1pQbi9YOTgreFBpcDgKLS0tIFhCUE5WQ2w4R3J1eXVhSFJEOGRp\nMlZpSnovWnpvc3lGemE3WmJkK2xQWVkKkNZaVbq8X99+MXfei0BzbXBwzibERWvR\nV26mOEEYcfv/3/KqCLOjBVCLEE3RSuB9AtniAAFC6Fj0/jHnMzaghQ==\n-----END AGE ENCRYPTED FILE-----\n"
24
},
25
{
26
"recipient": "age1vr0uq6mwv844yvm8pe7qxjxpqrekgel3lqfzuuqtfzj0ehz3hphqzsxjna",
27
+
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQdlIzc3NQM2JkdW1TQzVX\nYVRjR2hEY3NrME9GeHJhbitpQURVbUdoTWlrCm81Wmt5dWpWWlVtaHJKcnNnMVJm\nekZnM0gycDdlZi9ZdUhYMTRpTFhjK28KLS0tIHcrcFQ3SEphOW1oeEsvcDdBUFRI\nU1psVWVldkZ0TXp3QnBmMUxHdm1ocmsKn/oYX+0hYRZvC32KGQ9hNRDMdlxclv5x\nekDM5wPeI9wT/j62bxmykEtNnI40WEpEopz7MSZvRnj6B8zF9boFPw==\n-----END AGE ENCRYPTED FILE-----\n"
28
}
29
],
30
+
"lastmodified": "2025-03-08T10:28:45Z",
31
+
"mac": "ENC[AES256_GCM,data:7XBQhTfVn9Uq4ZjjpLdMyvw+kDhIJ+dUEjI1j7Lq8QzoxLN7kqWyrotavl4T7x3kbhGseqA/RtuldK5cvw90OK7FVvWD0H5WSsxDCG2zuNRCELmiOEM8O4Iw47J6ye3wY9F+05F7ggG/GrZGJK09YojuZyek4G+/slHfp/Zgxy0=,iv:vAqJx7GT28f4wC0iH0w+K/HRywJlMb6/N/5Lb1/4q80=,tag:L3odjAh/IWuddrzg7vP/Sg==,type:str]",
32
"pgp": null,
33
"unencrypted_suffix": "_unencrypted",
34
"version": "3.8.1"