+33
-33
flake.lock
+33
-33
flake.lock
···
37
]
38
},
39
"locked": {
40
-
"lastModified": 1744683403,
41
-
"narHash": "sha256-ZphiIohrkf7bG5eKzQHhZqrpyiygbqdBrId6UgAHWOY=",
42
"owner": "nix-community",
43
"repo": "emacs-overlay",
44
-
"rev": "d601c3de7e1932384a43585408a398ddccf3e1c6",
45
"type": "github"
46
},
47
"original": {
···
262
]
263
},
264
"locked": {
265
-
"lastModified": 1744663884,
266
-
"narHash": "sha256-a6QGaZMDM1miK8VWzAITsEPOdmLk+xTPyJSTjVs3WhI=",
267
"owner": "nix-community",
268
"repo": "home-manager",
269
-
"rev": "d5cdf55bd9f19a3debd55b6cb5d38f7831426265",
270
"type": "github"
271
},
272
"original": {
···
303
"nixpkgs-regression": "nixpkgs-regression"
304
},
305
"locked": {
306
-
"lastModified": 1744638458,
307
-
"narHash": "sha256-zcBauFa+aPRdhZb3/dmDKqvmhwPlMwSmNKwEwlaDzmg=",
308
"owner": "nixos",
309
"repo": "nix",
310
-
"rev": "b3aa07009d750ca2104e05ff5fe87f78419fef09",
311
"type": "github"
312
},
313
"original": {
···
360
},
361
"nixpkgs": {
362
"locked": {
363
-
"lastModified": 1743315132,
364
-
"narHash": "sha256-6hl6L/tRnwubHcA4pfUUtk542wn2Om+D4UnDhlDW9BE=",
365
"owner": "NixOS",
366
"repo": "nixpkgs",
367
-
"rev": "52faf482a3889b7619003c0daec593a1912fddc1",
368
"type": "github"
369
},
370
"original": {
···
456
},
457
"nixpkgs_2": {
458
"locked": {
459
-
"lastModified": 1744463964,
460
-
"narHash": "sha256-LWqduOgLHCFxiTNYi3Uj5Lgz0SR+Xhw3kr/3Xd0GPTM=",
461
"owner": "nixos",
462
"repo": "nixpkgs",
463
-
"rev": "2631b0b7abcea6e640ce31cd78ea58910d31e650",
464
"type": "github"
465
},
466
"original": {
···
472
},
473
"nixpkgs_3": {
474
"locked": {
475
-
"lastModified": 1744502386,
476
-
"narHash": "sha256-QAd1L37eU7ktL2WeLLLTmI6P9moz9+a/ONO8qNBYJgM=",
477
"owner": "NixOS",
478
"repo": "nixpkgs",
479
-
"rev": "f6db44a8daa59c40ae41ba6e5823ec77fe0d2124",
480
"type": "github"
481
},
482
"original": {
···
515
"wrapper-manager": "wrapper-manager"
516
},
517
"locked": {
518
-
"lastModified": 1744665121,
519
-
"narHash": "sha256-HruRfx3Ow39bmd7mbFkP24JbOIyK/1N2xMTlS1Z3Qt4=",
520
"owner": "nobbz",
521
"repo": "nobbz-vim",
522
-
"rev": "a6b85d5462150c3cb24d7cc8a50cccc5db95a335",
523
"type": "github"
524
},
525
"original": {
···
535
]
536
},
537
"locked": {
538
-
"lastModified": 1743550720,
539
-
"narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=",
540
"owner": "hercules-ci",
541
"repo": "flake-parts",
542
-
"rev": "c621e8422220273271f52058f618c94e405bb0f5",
543
"type": "github"
544
},
545
"original": {
···
556
"utils": "utils"
557
},
558
"locked": {
559
-
"lastModified": 1744677475,
560
-
"narHash": "sha256-RY0eqKe6rlIlbQcbWTaRJjSGABC31HMkfb52OCXqQ88=",
561
"owner": "wamserma",
562
"repo": "flake-programs-sqlite",
563
-
"rev": "d3a03bfdbb16419d33a3f1b6f8a3694285482d15",
564
"type": "github"
565
},
566
"original": {
···
611
"nixpkgs": "nixpkgs_3"
612
},
613
"locked": {
614
-
"lastModified": 1744669848,
615
-
"narHash": "sha256-pXyanHLUzLNd3MX9vsWG+6Z2hTU8niyphWstYEP3/GU=",
616
"owner": "Mic92",
617
"repo": "sops-nix",
618
-
"rev": "61154300d945f0b147b30d24ddcafa159148026a",
619
"type": "github"
620
},
621
"original": {
···
703
]
704
},
705
"locked": {
706
-
"lastModified": 1744357296,
707
-
"narHash": "sha256-82ByXqDDdVcDYO3yE6Ntj/pcNtJ3bBDzu7oVDp/OPWg=",
708
"owner": "viperml",
709
"repo": "wrapper-manager",
710
-
"rev": "8ebdb81ed03aa26e4c797af9c3e05f467c1f29ca",
711
"type": "github"
712
},
713
"original": {
···
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": {
···
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": {
···
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": {
···
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": {
···
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": {
···
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": {
···
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": {
+1
-1
home/configurations/nmelzer_at_phoebe.nix
+1
-1
home/configurations/nmelzer_at_phoebe.nix
-2
home/modules/default.nix
-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
"programs/wezterm" = ./programs/wezterm;
16
17
"services/insync" = ./services/insync;
18
-
"services/restic" = ./services/restic;
19
"services/rustic" = ./services/rustic;
20
21
"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/profiles/base/default.nix
+1
-1
home/modules/profiles/base/default.nix
+12
home/modules/profiles/development/default.nix
+12
home/modules/profiles/development/default.nix
···
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;
-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
-
}
···
-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
-
}
···
+3
nixos/configurations/mimas.nix
+3
nixos/configurations/mimas.nix