tangled
alpha
login
or
join now
nobbz.dev
/
nixos-config
My nixos configuration
2
fork
atom
overview
issues
pulls
pipelines
Compare changes
Choose any two refs to compare.
base:
zoxide
update-runner
update-2025-05-21
update-2025-04-26
update-2025-04-21
update-2025-04-19
tree
strict-deps
rustic-timers
rustic-timer-fix
remove-system-from-nixossystem-call
remove-pdfminer-fix
rearrange-inputs
photoprism
neovide-gl
more-npins
master
main
libvirt-no-backup
kmscon
jj
installer
hyperion
home-sops
gitea-gc
flake-parts
fix/pinning
fix-statix
fix-rustic-env-vars
fix-neovide-wrapper
fix-lock
dist-build
difftastic
darwin
clean-warnings
chrome
checks
cache-for-rustic
no tags found
compare:
zoxide
update-runner
update-2025-05-21
update-2025-04-26
update-2025-04-21
update-2025-04-19
tree
strict-deps
rustic-timers
rustic-timer-fix
remove-system-from-nixossystem-call
remove-pdfminer-fix
rearrange-inputs
photoprism
neovide-gl
more-npins
master
main
libvirt-no-backup
kmscon
jj
installer
hyperion
home-sops
gitea-gc
flake-parts
fix/pinning
fix-statix
fix-rustic-env-vars
fix-neovide-wrapper
fix-lock
dist-build
difftastic
darwin
clean-warnings
chrome
checks
cache-for-rustic
no tags found
go
+164
-181
14 changed files
expand all
collapse all
unified
split
.github
workflows
flake-update.yml
pull-check.yml
flake.lock
flake.nix
home
configurations
nmelzer_at_phoebe.nix
modules
default.nix
profiles
base
default.nix
development
default.nix
programs
openshift
default.nix
wezterm
default.nix
services
restic
default.nix
nixos
configurations
mimas.nix
packages
advcp
default.nix
rofi-unicode
default.nix
+6
-6
.github/workflows/flake-update.yml
···
7
7
8
8
jobs:
9
9
generate_matrix:
10
10
-
runs-on: ubuntu-20.04
10
10
+
runs-on: ubuntu-24.04
11
11
outputs:
12
12
packages: ${{ steps.gen_packages.outputs.packages }}
13
13
checks: ${{ steps.gen_checks.outputs.checks }}
···
39
39
printf "::set-output name=checks::%s" "$checks"
40
40
41
41
update_flake:
42
42
-
runs-on: ubuntu-20.04
42
42
+
runs-on: ubuntu-24.04
43
43
steps:
44
44
- name: Clone repository
45
45
uses: actions/checkout@v4
···
68
68
path: flake.lock
69
69
70
70
build_flake:
71
71
-
runs-on: ubuntu-20.04
71
71
+
runs-on: ubuntu-24.04
72
72
needs: [generate_matrix, update_flake]
73
73
strategy:
74
74
fail-fast: false
···
114
114
run: nix build .#${{ matrix.package }}
115
115
116
116
build_checks:
117
117
-
runs-on: ubuntu-20.04
117
117
+
runs-on: ubuntu-24.04
118
118
needs: [generate_matrix, update_flake]
119
119
strategy:
120
120
fail-fast: false
···
150
150
run: nix build .#checks.x86_64-linux.${{ matrix.check }} --no-link
151
151
152
152
check_flake:
153
153
-
runs-on: ubuntu-20.04
153
153
+
runs-on: ubuntu-24.04
154
154
needs: [update_flake]
155
155
continue-on-error: true
156
156
steps:
···
177
177
nix flake check --keep-going
178
178
179
179
push_update:
180
180
-
runs-on: ubuntu-20.04
180
180
+
runs-on: ubuntu-24.04
181
181
permissions: write-all
182
182
needs: [update_flake, build_flake, build_checks, check_flake]
183
183
steps:
+4
-4
.github/workflows/pull-check.yml
···
5
5
6
6
jobs:
7
7
generate_matrix:
8
8
-
runs-on: ubuntu-20.04
8
8
+
runs-on: ubuntu-24.04
9
9
outputs:
10
10
packages: ${{ steps.gen_packages.outputs.packages }}
11
11
checks: ${{ steps.gen_checks.outputs.checks }}
···
37
37
printf "checks=%s" "$checks" >> $GITHUB_OUTPUT
38
38
39
39
build_flake:
40
40
-
runs-on: ubuntu-20.04
40
40
+
runs-on: ubuntu-24.04
41
41
needs: [generate_matrix]
42
42
strategy:
43
43
fail-fast: false
···
71
71
run: nix build .#${{ matrix.package }}
72
72
73
73
build_checks:
74
74
-
runs-on: ubuntu-20.04
74
74
+
runs-on: ubuntu-24.04
75
75
needs: [generate_matrix]
76
76
strategy:
77
77
fail-fast: false
···
97
97
run: nix build .#checks.x86_64-linux.${{ matrix.check }} --no-link
98
98
99
99
check_flake:
100
100
-
runs-on: ubuntu-20.04
100
100
+
runs-on: ubuntu-24.04
101
101
continue-on-error: true
102
102
steps:
103
103
- name: Clone repository
+100
-55
flake.lock
···
3
3
"cargo2nix": {
4
4
"inputs": {
5
5
"flake-compat": "flake-compat_3",
6
6
-
"flake-utils": "flake-utils_2",
6
6
+
"flake-utils": "flake-utils_3",
7
7
"nixpkgs": [
8
8
"switcher",
9
9
"nixpkgs"
···
37
37
]
38
38
},
39
39
"locked": {
40
40
-
"lastModified": 1742696362,
41
41
-
"narHash": "sha256-9DcLAVEdNXy26l2NucUSu27V2aqUfcp6bE/1tinwLqE=",
40
40
+
"lastModified": 1749090069,
41
41
+
"narHash": "sha256-uN3Mp+o7IfVT9H/OuwEtJ17NktCaF4t9Ond3TKt+BE4=",
42
42
"owner": "nix-community",
43
43
"repo": "emacs-overlay",
44
44
-
"rev": "bcc49aba7034c9ec53a9a2cb84f738b6e0096031",
44
44
+
"rev": "c17506666090e412a50b01c57944386ab81d2aa8",
45
45
"type": "github"
46
46
},
47
47
"original": {
···
99
99
}
100
100
},
101
101
"flake-utils": {
102
102
+
"locked": {
103
103
+
"lastModified": 1659877975,
104
104
+
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
105
105
+
"owner": "numtide",
106
106
+
"repo": "flake-utils",
107
107
+
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
108
108
+
"type": "github"
109
109
+
},
110
110
+
"original": {
111
111
+
"owner": "numtide",
112
112
+
"repo": "flake-utils",
113
113
+
"type": "github"
114
114
+
}
115
115
+
},
116
116
+
"flake-utils_2": {
102
117
"inputs": {
103
118
"systems": "systems"
104
119
},
···
116
131
"type": "github"
117
132
}
118
133
},
119
119
-
"flake-utils_2": {
134
134
+
"flake-utils_3": {
120
135
"inputs": {
121
136
"systems": "systems_2"
122
137
},
···
247
262
]
248
263
},
249
264
"locked": {
250
250
-
"lastModified": 1742670145,
251
251
-
"narHash": "sha256-xQ2F9f+ICAGBp/nNv3ddD2U4ZvzuLOci0u/5lyMXPvk=",
265
265
+
"lastModified": 1749062139,
266
266
+
"narHash": "sha256-gGGLujmeWU+ZjFzfMvFMI0hp9xONsSbm88187wJr82Q=",
252
267
"owner": "nix-community",
253
268
"repo": "home-manager",
254
254
-
"rev": "63e77d09a133ac641a0c204e7cfb0c97e133706d",
269
269
+
"rev": "86b95fc1ed2b9b04a451a08ccf13d78fb421859c",
255
270
"type": "github"
256
271
},
257
272
"original": {
···
288
303
"nixpkgs-regression": "nixpkgs-regression"
289
304
},
290
305
"locked": {
291
291
-
"lastModified": 1742586486,
292
292
-
"narHash": "sha256-dNh2y30KpNjGyhVv6CALzLmwSfB30q2BB2b70lc1drY=",
306
306
+
"lastModified": 1749012568,
307
307
+
"narHash": "sha256-7IltFTct/oe6pGkwB6f/1WhWA65hFnsBY6XaGjodf3k=",
293
308
"owner": "nixos",
294
309
"repo": "nix",
295
295
-
"rev": "d975d32d6793b7ad6c2e1ec5b6cf2cb114f374ac",
310
310
+
"rev": "4751cbef6303d10479f3db1b13db69197d9c3446",
296
311
"type": "github"
297
312
},
298
313
"original": {
···
301
316
"type": "github"
302
317
}
303
318
},
304
304
-
"nixos-vscode-server": {
319
319
+
"nix-gl": {
305
320
"inputs": {
306
321
"flake-utils": "flake-utils",
307
322
"nixpkgs": [
···
309
324
]
310
325
},
311
326
"locked": {
327
327
+
"lastModified": 1713543440,
328
328
+
"narHash": "sha256-lnzZQYG0+EXl/6NkGpyIz+FEOc/DSEG57AP1VsdeNrM=",
329
329
+
"owner": "nix-community",
330
330
+
"repo": "nixgl",
331
331
+
"rev": "310f8e49a149e4c9ea52f1adf70cdc768ec53f8a",
332
332
+
"type": "github"
333
333
+
},
334
334
+
"original": {
335
335
+
"owner": "nix-community",
336
336
+
"repo": "nixgl",
337
337
+
"type": "github"
338
338
+
}
339
339
+
},
340
340
+
"nixos-vscode-server": {
341
341
+
"inputs": {
342
342
+
"flake-utils": "flake-utils_2",
343
343
+
"nixpkgs": [
344
344
+
"nixpkgs"
345
345
+
]
346
346
+
},
347
347
+
"locked": {
312
348
"lastModified": 1729422940,
313
349
"narHash": "sha256-DlvJv33ml5UTKgu4b0HauOfFIoDx6QXtbqUF3vWeRCY=",
314
350
"owner": "msteen",
···
324
360
},
325
361
"nixpkgs": {
326
362
"locked": {
327
327
-
"lastModified": 1734359947,
328
328
-
"narHash": "sha256-1Noao/H+N8nFB4Beoy8fgwrcOQLVm9o4zKW1ODaqK9E=",
363
363
+
"lastModified": 1747179050,
364
364
+
"narHash": "sha256-qhFMmDkeJX9KJwr5H32f1r7Prs7XbQWtO0h3V0a0rFY=",
329
365
"owner": "NixOS",
330
366
"repo": "nixpkgs",
331
331
-
"rev": "48d12d5e70ee91fe8481378e540433a7303dbf6a",
367
367
+
"rev": "adaa24fbf46737f3f1b5497bf64bae750f82942e",
332
368
"type": "github"
333
369
},
334
370
"original": {
335
371
"owner": "NixOS",
336
336
-
"ref": "release-24.11",
372
372
+
"ref": "nixos-unstable",
337
373
"repo": "nixpkgs",
338
374
"type": "github"
339
375
}
···
420
456
},
421
457
"nixpkgs_2": {
422
458
"locked": {
423
423
-
"lastModified": 1742422364,
424
424
-
"narHash": "sha256-mNqIplmEohk5jRkqYqG19GA8MbQ/D4gQSK0Mu4LvfRQ=",
459
459
+
"lastModified": 1748929857,
460
460
+
"narHash": "sha256-lcZQ8RhsmhsK8u7LIFsJhsLh/pzR9yZ8yqpTzyGdj+Q=",
425
461
"owner": "nixos",
426
462
"repo": "nixpkgs",
427
427
-
"rev": "a84ebe20c6bc2ecbcfb000a50776219f48d134cc",
463
463
+
"rev": "c2a03962b8e24e669fb37b7df10e7c79531ff1a4",
428
464
"type": "github"
429
465
},
430
466
"original": {
···
436
472
},
437
473
"nixpkgs_3": {
438
474
"locked": {
439
439
-
"lastModified": 1742272065,
440
440
-
"narHash": "sha256-ud8vcSzJsZ/CK+r8/v0lyf4yUntVmDq6Z0A41ODfWbE=",
441
441
-
"owner": "nixos",
442
442
-
"repo": "nixpkgs",
443
443
-
"rev": "3549532663732bfd89993204d40543e9edaec4f2",
444
444
-
"type": "github"
445
445
-
},
446
446
-
"original": {
447
447
-
"owner": "nixos",
448
448
-
"ref": "nixpkgs-unstable",
449
449
-
"repo": "nixpkgs",
450
450
-
"type": "github"
451
451
-
}
452
452
-
},
453
453
-
"nixpkgs_4": {
454
454
-
"locked": {
455
455
-
"lastModified": 1741865919,
456
456
-
"narHash": "sha256-4thdbnP6dlbdq+qZWTsm4ffAwoS8Tiq1YResB+RP6WE=",
475
475
+
"lastModified": 1744868846,
476
476
+
"narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=",
457
477
"owner": "NixOS",
458
478
"repo": "nixpkgs",
459
459
-
"rev": "573c650e8a14b2faa0041645ab18aed7e60f0c9a",
479
479
+
"rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c",
460
480
"type": "github"
461
481
},
462
482
"original": {
···
466
486
"type": "github"
467
487
}
468
488
},
469
469
-
"nixpkgs_5": {
489
489
+
"nixpkgs_4": {
470
490
"locked": {
471
491
"lastModified": 1728538411,
472
492
"narHash": "sha256-f0SBJz1eZ2yOuKUr5CA9BHULGXVSn6miBuUWdTyhUhU=",
···
485
505
"nvim": {
486
506
"inputs": {
487
507
"gen-luarc": "gen-luarc",
488
488
-
"nixpkgs": "nixpkgs_3",
508
508
+
"nixpkgs": [
509
509
+
"nixpkgs"
510
510
+
],
489
511
"nixpkgs-emmy": "nixpkgs-emmy",
490
512
"parts": [
491
513
"parts"
492
492
-
]
514
514
+
],
515
515
+
"wrapper-manager": "wrapper-manager"
493
516
},
494
517
"locked": {
495
495
-
"lastModified": 1742504498,
496
496
-
"narHash": "sha256-7mibOy8ljpXdwsS0T8718Af7vOSQ9IaFBXS3FfF38YY=",
518
518
+
"lastModified": 1748686149,
519
519
+
"narHash": "sha256-RdLAPiha8lr1wQiL158p4DTFhLcWcjRv6ioCTd3athQ=",
497
520
"owner": "nobbz",
498
521
"repo": "nobbz-vim",
499
499
-
"rev": "e9f4d82853f1f8d02fa4b35208bb58cc6ec84642",
522
522
+
"rev": "a22303075cac32d83edfd79ef79c0386a38b02ce",
500
523
"type": "github"
501
524
},
502
525
"original": {
···
512
535
]
513
536
},
514
537
"locked": {
515
515
-
"lastModified": 1741352980,
516
516
-
"narHash": "sha256-+u2UunDA4Cl5Fci3m7S643HzKmIDAe+fiXrLqYsR2fs=",
538
538
+
"lastModified": 1748821116,
539
539
+
"narHash": "sha256-F82+gS044J1APL0n4hH50GYdPRv/5JWm34oCJYmVKdE=",
517
540
"owner": "hercules-ci",
518
541
"repo": "flake-parts",
519
519
-
"rev": "f4330d22f1c5d2ba72d3d22df5597d123fdb60a9",
542
542
+
"rev": "49f0870db23e8c1ca0b5259734a02cd9e1e371a1",
520
543
"type": "github"
521
544
},
522
545
"original": {
···
533
556
"utils": "utils"
534
557
},
535
558
"locked": {
536
536
-
"lastModified": 1742664323,
537
537
-
"narHash": "sha256-3bFgz+kesKup1CNsNZlL1wR+FONLkiktzZgeEewIQM4=",
559
559
+
"lastModified": 1749055058,
560
560
+
"narHash": "sha256-OgCTSX0WXPpEi/ukjbBRrElSo+TR2/pzCCcY5yfou58=",
538
561
"owner": "wamserma",
539
562
"repo": "flake-programs-sqlite",
540
540
-
"rev": "a55e58db918a6c29b7606fb5c89c515471f64011",
563
563
+
"rev": "78d23d728abddce902528922f93967f0630f1cfe",
541
564
"type": "github"
542
565
},
543
566
"original": {
···
551
574
"emacs": "emacs",
552
575
"home-manager": "home-manager",
553
576
"nix": "nix",
577
577
+
"nix-gl": "nix-gl",
554
578
"nixos-vscode-server": "nixos-vscode-server",
555
579
"nixpkgs": "nixpkgs_2",
556
580
"nixpkgs-insync-v3": [
···
566
590
},
567
591
"rust-overlay": {
568
592
"inputs": {
569
569
-
"nixpkgs": "nixpkgs_5"
593
593
+
"nixpkgs": "nixpkgs_4"
570
594
},
571
595
"locked": {
572
596
"lastModified": 1734402816,
···
584
608
},
585
609
"sops-nix": {
586
610
"inputs": {
587
587
-
"nixpkgs": "nixpkgs_4"
611
611
+
"nixpkgs": "nixpkgs_3"
588
612
},
589
613
"locked": {
590
590
-
"lastModified": 1742595978,
591
591
-
"narHash": "sha256-05onsoMrLyXE4XleDCeLC3bXnC4nyUbKWInGwM7v6hU=",
614
614
+
"lastModified": 1747603214,
615
615
+
"narHash": "sha256-lAblXm0VwifYCJ/ILPXJwlz0qNY07DDYdLD+9H+Wc8o=",
592
616
"owner": "Mic92",
593
617
"repo": "sops-nix",
594
594
-
"rev": "b7756921b002de60fb66782effad3ce8bdb5b25d",
618
618
+
"rev": "8d215e1c981be3aa37e47aeabd4e61bb069548fd",
595
619
"type": "github"
596
620
},
597
621
"original": {
···
668
692
"original": {
669
693
"owner": "numtide",
670
694
"repo": "flake-utils",
695
695
+
"type": "github"
696
696
+
}
697
697
+
},
698
698
+
"wrapper-manager": {
699
699
+
"inputs": {
700
700
+
"nixpkgs": [
701
701
+
"nvim",
702
702
+
"nixpkgs"
703
703
+
]
704
704
+
},
705
705
+
"locked": {
706
706
+
"lastModified": 1747562021,
707
707
+
"narHash": "sha256-XfF+5zjoWbAcAiGNb++og6yDGJRwWYpADr9P6WuieQA=",
708
708
+
"owner": "viperml",
709
709
+
"repo": "wrapper-manager",
710
710
+
"rev": "f2b0bec5140403cf24cae96f6764d97b5d59b0e2",
711
711
+
"type": "github"
712
712
+
},
713
713
+
"original": {
714
714
+
"owner": "viperml",
715
715
+
"repo": "wrapper-manager",
671
716
"type": "github"
672
717
}
673
718
}
+4
flake.nix
···
36
36
37
37
nvim.url = "github:nobbz/nobbz-vim";
38
38
nvim.inputs.parts.follows = "parts";
39
39
+
nvim.inputs.nixpkgs.follows = "nixpkgs";
39
40
40
41
switcher.url = "github:nobbz/nix-switcher?ref=main";
41
42
switcher.inputs.nixpkgs.follows = "nixpkgs";
···
52
53
# a libgit2 in the current version fails to build with the nix provided patches.
53
54
# therefore using upstreams pin for now.
54
55
# nix.inputs.nixpkgs.follows = "nixpkgs";
56
56
+
57
57
+
nix-gl.url = "github:nix-community/nixgl";
58
58
+
nix-gl.inputs.nixpkgs.follows = "nixpkgs";
55
59
56
60
home-manager.url = "github:nix-community/home-manager";
57
61
home-manager.inputs.nixpkgs.follows = "nixpkgs";
+2
-1
home/configurations/nmelzer_at_phoebe.nix
···
14
14
in {
15
15
nixpkgs.allowedUnfree = ["google-chrome" "vscode" "discord" "obsidian" "slack"];
16
16
nixpkgs.config.permittedInsecurePackages = ["electron-25.9.0"];
17
17
+
profiles.base.needsGL = true;
17
18
18
19
nix.checkConfig = false;
19
20
nix.settings.extra-experimental-features = ["flakes" "nix-command"];
···
67
68
68
69
services.playerctld.enable = true;
69
70
70
70
-
home.file."${config.gtk.gtk2.configLocation}".force = true;
71
71
+
gtk.gtk2.force = true;
71
72
72
73
programs.ssh.includes = [
73
74
config.sops.secrets.ssh.path
-2
home/modules/default.nix
···
9
9
"programs/eza" = ./programs/eza;
10
10
"programs/ghostty" = ./programs/ghostty;
11
11
"programs/nixpkgs" = ./programs/nixpkgs;
12
12
-
"programs/openshift" = ./programs/openshift;
13
12
"programs/p10k" = ./programs/p10k;
14
13
"programs/rbw" = ./programs/rbw;
15
14
"programs/wezterm" = ./programs/wezterm;
16
15
17
16
"services/insync" = ./services/insync;
18
18
-
"services/restic" = ./services/restic;
19
17
"services/rustic" = ./services/rustic;
20
18
21
19
"misc/awesome" = ./misc/awesome;
+15
-2
home/modules/profiles/base/default.nix
···
2
2
self,
3
3
nix,
4
4
nvim,
5
5
+
nix-gl,
5
6
...
6
7
}: {
7
8
config,
···
49
50
in {
50
51
options.profiles.base = {
51
52
enable = lib.mkEnableOption "The base profile, should be always enabled";
53
53
+
54
54
+
needsGL = lib.mkEnableOption "nix-gl wrappers";
52
55
};
53
56
54
57
config = lib.mkIf cfg.enable {
···
98
101
| sed -E 's/([0-9])([A-Za-z])/\1 \2/')" \
99
102
"$(numfmt --to=none --format="%'f" ''${saved})"
100
103
'';
104
104
+
neovide =
105
105
+
if cfg.needsGL
106
106
+
then
107
107
+
pkgs.writeShellScriptBin nvim.packages.x86_64-linux.neovide.meta.mainProgram ''
108
108
+
exec ${lib.getExe nix-gl.packages.x86_64-linux.nixGLIntel} ${lib.getExe nvim.packages.x86_64-linux.neovide} "$@"
109
109
+
''
110
110
+
else nvim.packages.x86_64-linux.neovide;
101
111
in
102
102
-
[optisave pkgs.departure-mono pkgs.hydra-check nvim.packages.x86_64-linux.default] ++ lib.optionals pkgs.stdenv.isLinux [pkgs.dconf];
112
112
+
lib.mkMerge [
113
113
+
[optisave pkgs.departure-mono pkgs.hydra-check nvim.packages.x86_64-linux.neovim neovide]
114
114
+
(lib.mkIf pkgs.stdenv.isLinux [pkgs.dconf])
115
115
+
];
103
116
104
117
# dconf.enable = lib.mkMerge [
105
118
# (lib.mkIf pkgs.stdenv.isLinux true)
···
238
251
}
239
252
];
240
253
241
241
-
initExtra = ''
254
254
+
initContent = ''
242
255
bindkey "^[[1;5D" backward-word
243
256
bindkey "^[[1;5C" forward-word
244
257
+22
-3
home/modules/profiles/development/default.nix
···
13
13
};
14
14
15
15
config = lib.mkIf cfg.enable {
16
16
+
programs.jujutsu = {
17
17
+
enable = true;
18
18
+
settings = {
19
19
+
user = {
20
20
+
name = config.programs.git.userName;
21
21
+
email = config.programs.git.userEmail;
22
22
+
};
23
23
+
24
24
+
ui.diff.tool = [config.programs.git.extraConfig.diff.external "$left" "$right"];
25
25
+
};
26
26
+
};
27
27
+
16
28
programs.gh.enable = true;
17
29
programs.git = {
18
30
enable = true;
···
26
38
inputs = builtins.attrValues {inherit (pkgs) git fzf ripgrep;};
27
39
interpreter = "${pkgs.bash}/bin/bash";
28
40
execer = ["cannot:${pkgs.git}/bin/git" "cannot:${pkgs.fzf}/bin/fzf"];
29
29
-
} ''
41
41
+
}
42
42
+
# bash
43
43
+
''
30
44
git log --graph --color=always --format="%C(auto)%h%d %s0x09%C(white)%C(bold)%cr" "$@" |
31
45
fzf --ansi --no-sort --reverse --tiebreak=index \
32
46
--bind=ctrl-s:toggle-sort \
···
39
53
inputs = builtins.attrValues {inherit (pkgs) git fzf coreutils gawk;};
40
54
interpreter = "${pkgs.bash}/bin/bash";
41
55
execer = ["cannot:${pkgs.git}/bin/git" "cannot:${pkgs.fzf}/bin/fzf"];
42
42
-
} ''
56
56
+
}
57
57
+
# bash
58
58
+
''
43
59
# Function to determine the ref type
44
60
function get_ref_type() {
45
61
local ref="$1"
···
119
135
hopbase = ''!f() { set -o nounset; tag=$(git describe --abbrev=0 --tag "$1") && git rebase -i "''${tag}"; }; f'';
120
136
comfix = "!${mkFixupAlias "fixup"}";
121
137
comreb = "!${mkFixupAlias "rebase"}";
138
138
+
show = "show --ext-diff";
139
139
+
lp = "log -p --ext-diff";
122
140
};
123
141
124
142
extraConfig = {
125
143
init.defaultBranch = "main";
144
144
+
diff.external = lib.getExe pkgs.difftastic;
126
145
pull.rebase = false;
127
146
rerere.enabled = true;
128
147
};
···
167
186
];
168
187
};
169
188
170
170
-
home.packages = [pkgs.ripgrep];
189
189
+
home.packages = [pkgs.ripgrep pkgs.difftastic];
171
190
};
172
191
}
-23
home/modules/programs/openshift/default.nix
···
1
1
-
_: {
2
2
-
pkgs,
3
3
-
lib,
4
4
-
config,
5
5
-
...
6
6
-
}: let
7
7
-
cfg = config.programs.openshift;
8
8
-
in {
9
9
-
options.programs.openshift = {
10
10
-
enable = lib.mkEnableOption "Tools to manage openshift instances";
11
11
-
};
12
12
-
13
13
-
config = lib.mkIf cfg.enable {
14
14
-
home.packages = [pkgs.sops pkgs.openshift (lib.setPrio 0 pkgs.kubectl) pkgs.kubernetes-helm];
15
15
-
16
16
-
programs.zsh.initExtra = ''
17
17
-
# Enable autocomplete for oc, kubectl and helm
18
18
-
eval "$(${pkgs.openshift}/bin/oc completion zsh)"
19
19
-
eval "$(${pkgs.kubectl}/bin/kubectl completion zsh)"
20
20
-
eval "$(${pkgs.kubernetes-helm}/bin/helm completion zsh)"
21
21
-
'';
22
22
-
};
23
23
-
}
+6
home/modules/programs/wezterm/default.nix
···
34
34
-- For example, changing the color scheme:
35
35
config.color_scheme = "Catppuccin Mocha"
36
36
37
37
+
-- show a scrollbar
38
38
+
config.enable_scroll_bar = true
39
39
+
40
40
+
-- forbid window size change on change of fontsize
41
41
+
config.adjust_window_size_when_changing_font_size = false
42
42
+
37
43
-- disable ligatures
38
44
config.harfbuzz_features = { 'calt=0', 'clig=0', 'liga=0' }
39
45
-85
home/modules/services/restic/default.nix
···
1
1
-
{self, ...}: {
2
2
-
config,
3
3
-
lib,
4
4
-
pkgs,
5
5
-
self,
6
6
-
...
7
7
-
}: let
8
8
-
cfg = config.services.restic;
9
9
-
10
10
-
bin = "${cfg.package}/bin/restic";
11
11
-
excludes = builtins.concatStringsSep " " (builtins.map (e: "--exclude=${e}") cfg.exclude);
12
12
-
xFlags = lib.optionalString cfg.oneFileSystem "-x";
13
13
-
compressFlag = "--compression ${cfg.compression}";
14
14
-
flags = "${xFlags} ${compressFlag} ${excludes}";
15
15
-
16
16
-
command = "${bin} --tag home -vv backup ${flags} %h";
17
17
-
in {
18
18
-
options.services.restic = {
19
19
-
enable = lib.mkEnableOption "Restic Backup Tool";
20
20
-
21
21
-
package = lib.mkOption {
22
22
-
type = lib.types.package;
23
23
-
default = pkgs.restic;
24
24
-
description = "Restic derivation to use";
25
25
-
};
26
26
-
27
27
-
exclude = lib.mkOption {
28
28
-
type = lib.types.listOf lib.types.str;
29
29
-
default = [];
30
30
-
description = "Corresponds to `--exclude`. Use `%h` instead of `~`";
31
31
-
};
32
32
-
33
33
-
oneFileSystem = lib.mkOption {
34
34
-
type = lib.types.bool;
35
35
-
default = false;
36
36
-
description = "If true, exclude other file systems, don't cross filesystem boundaries and subvolumes";
37
37
-
};
38
38
-
39
39
-
repo = lib.mkOption {
40
40
-
type = lib.types.str;
41
41
-
description = "Location of the repository";
42
42
-
};
43
43
-
44
44
-
compression = lib.mkOption {
45
45
-
type = lib.types.enum ["off" "auto" "max"];
46
46
-
description = "The compression mode to use";
47
47
-
default = "auto";
48
48
-
};
49
49
-
50
50
-
# TODO: Add options for inlcude, password file, etc
51
51
-
};
52
52
-
53
53
-
config = lib.mkIf cfg.enable {
54
54
-
home.packages = [cfg.package];
55
55
-
56
56
-
systemd.user.services.restic-backup = {
57
57
-
Unit = {
58
58
-
Description = "Restic Backup Tool";
59
59
-
StartLimitIntervalSec = "25m";
60
60
-
StartLimitBurst = "4";
61
61
-
};
62
62
-
63
63
-
Service = {
64
64
-
Environment = [
65
65
-
"PATH=${lib.makeBinPath [pkgs.openssh]}"
66
66
-
"RESTIC_PASSWORD_FILE=%h/.config/restic/password"
67
67
-
"RESTIC_REPOSITORY=${cfg.repo}"
68
68
-
];
69
69
-
Type = "oneshot";
70
70
-
ExecStart = command;
71
71
-
Restart = "on-failure";
72
72
-
RestartSec = "2m";
73
73
-
};
74
74
-
};
75
75
-
76
76
-
systemd.user.timers.restic-backup = {
77
77
-
Unit.Description = "Restic periodic backup";
78
78
-
Timer = {
79
79
-
Unit = "restic-backup.service";
80
80
-
OnCalendar = "hourly";
81
81
-
};
82
82
-
Install.WantedBy = ["timers.target"];
83
83
-
};
84
84
-
};
85
85
-
}
+3
nixos/configurations/mimas.nix
···
19
19
20
20
services.tailscale.enable = true;
21
21
22
22
+
security.pam.services.i3lock.enable = true;
23
23
+
security.pam.services.i3lock-color.enable = true;
24
24
+
22
25
sops.age.sshKeyPaths = ["/etc/ssh/ssh_host_ed25519_key"];
23
26
sops.defaultSopsFile = "${self}/secrets/mimas/default.yaml";
24
27
+1
packages/advcp/default.nix
···
7
7
stdenv.mkDerivation rec {
8
8
name = "advcp";
9
9
version = "9.1";
10
10
+
strictDeps = true;
10
11
11
12
src = fetchurl {
12
13
name = "source-${name}-${version}.tar.xz";
+1
packages/rofi-unicode/default.nix
···
8
8
stdenvNoCC.mkDerivation (self: {
9
9
pname = "rofiemoji-rofiunicode";
10
10
version = "${source.rev}";
11
11
+
strictDeps = true;
11
12
12
13
src = fetchgit {
13
14
inherit (source) rev url sha256;