tangled
alpha
login
or
join now
bwc9876.dev
/
nixos-config
1
fork
atom
Flake for my NixOS devices
1
fork
atom
overview
issues
pulls
pipelines
use bwc9876.dev for email
bwc9876.dev
1 month ago
89c7f370
c729b21a
verified
This commit was signed with the committer's
known signature
.
bwc9876.dev
SSH Key Fingerprint:
SHA256:DanMEP/RNlSC7pAVbnXO6wzQV00rqyKj053tz4uH5gQ=
+93
-72
2 changed files
expand all
collapse all
unified
split
flake.lock
homeModules
user-bean.nix
+3
-3
flake.lock
···
47
47
]
48
48
},
49
49
"locked": {
50
50
-
"lastModified": 1770388745,
51
51
-
"narHash": "sha256-tmAONUMNHnlkozNcMR1kZJ/68OGea5wS56vl6vaUS5U=",
50
50
+
"lastModified": 1770551880,
51
51
+
"narHash": "sha256-+cS5yXWsSLiK36+PP/+dcQdxpXSclx2d65p7l6Dis+A=",
52
52
"owner": "catppuccin",
53
53
"repo": "nix",
54
54
-
"rev": "5e9efb97caeffea3bf248023b6d8b68e63b839b9",
54
54
+
"rev": "db4dfe3f2a80e9c33492d839accd49f75c7324c2",
55
55
"type": "github"
56
56
},
57
57
"original": {
+90
-69
homeModules/user-bean.nix
···
8
8
{
9
9
options.cow.bean = {
10
10
enable = lib.mkEnableOption "Bean user presets";
11
11
+
username = lib.mkOption {
12
12
+
type = lib.types.str;
13
13
+
description = "username";
14
14
+
default = "bean";
15
15
+
};
16
16
+
name = lib.mkOption {
17
17
+
type = lib.types.str;
18
18
+
description = "Friendly name of user";
19
19
+
default = "Ben C";
20
20
+
};
11
21
pubkey = lib.mkOption {
12
22
type = lib.types.nullOr lib.types.str;
13
23
description = "Public key to accept for bean";
14
24
default = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKsVzdJra+x5aEuwTjL1FBOiMh9bftvs8QwsM1xyEbdd";
15
25
};
26
26
+
email = lib.mkOption {
27
27
+
type = lib.types.str;
28
28
+
# TODO: Tangled supports DIDs instead...
29
29
+
description = "Email to use for Git operations";
30
30
+
default = lib.join "@bwc9876" [
31
31
+
"ben"
32
32
+
".dev"
33
33
+
];
34
34
+
};
16
35
};
17
36
18
18
-
config = lib.mkIf config.cow.bean.enable {
19
19
-
# My Personal config using most of my HM modules
20
20
-
21
21
-
home = {
22
22
-
file.".ssh/authorized_keys".text = lib.mkIf (config.cow.bean.pubkey != null) ''
23
23
-
${config.cow.bean.pubkey} bean
24
24
-
'';
25
25
-
username = lib.mkDefault "bean";
26
26
-
homeDirectory = lib.mkDefault "/home/bean";
27
27
-
};
37
37
+
config =
38
38
+
let
39
39
+
conf = config.cow.bean;
40
40
+
in
41
41
+
lib.mkIf conf.enable {
42
42
+
# My Personal config using most of my HM modules
28
43
29
29
-
programs.jujutsu.settings = {
30
30
-
user = {
31
31
-
name = "Ben C";
32
32
-
email = "bwc9876@gmail.com";
33
33
-
};
34
34
-
git = {
35
35
-
sign-on-push = true;
36
36
-
};
37
37
-
signing = {
38
38
-
behavior = "drop";
39
39
-
backend = "ssh";
40
40
-
key = lib.mkIf (config.cow.bean.pubkey != null) config.cow.bean.pubkey;
44
44
+
home = {
45
45
+
file.".ssh/authorized_keys".text = lib.mkIf (conf.pubkey != null) ''
46
46
+
${conf.pubkey} ${conf.username}
47
47
+
'';
48
48
+
username = lib.mkDefault conf.username;
49
49
+
homeDirectory = lib.mkDefault "/home/${conf.username}";
41
50
};
42
42
-
};
43
51
44
44
-
programs.git = {
45
45
-
signing = lib.mkIf (config.cow.bean.pubkey != null) {
46
46
-
format = "ssh";
47
47
-
signByDefault = true;
48
48
-
};
49
49
-
settings = {
52
52
+
programs.jujutsu.settings = {
50
53
user = {
51
51
-
email = "bwc9876@gmail.com";
52
52
-
name = "Ben C";
53
53
-
signingKey = lib.mkIf (config.cow.bean.pubkey != null) config.cow.bean.pubkey;
54
54
+
inherit (conf) name email;
55
55
+
};
56
56
+
git = {
57
57
+
sign-on-push = true;
58
58
+
};
59
59
+
signing = {
60
60
+
behavior = "drop";
61
61
+
backend = "ssh";
62
62
+
key = lib.mkIf (conf.pubkey != null) conf.pubkey;
54
63
};
55
64
};
56
56
-
};
57
65
58
58
-
home.packages = lib.mkIf config.cow.gdi.enable (
59
59
-
with pkgs;
60
60
-
[
61
61
-
zoom-us
62
62
-
tuxpaint
63
63
-
]
64
64
-
);
66
66
+
programs.git = {
67
67
+
signing = lib.mkIf (conf.pubkey != null) {
68
68
+
format = "ssh";
69
69
+
signByDefault = true;
70
70
+
};
71
71
+
settings = {
72
72
+
user = {
73
73
+
inherit (conf) name email;
74
74
+
signingKey = lib.mkIf (conf.pubkey != null) conf.pubkey;
75
75
+
};
76
76
+
};
77
77
+
};
65
78
66
66
-
home.sessionVariables = {
67
67
-
"EDITOR" = "nvim";
68
68
-
};
79
79
+
home.packages = lib.mkIf config.cow.gdi.enable (
80
80
+
with pkgs;
81
81
+
[
82
82
+
zoom-us
83
83
+
tuxpaint
84
84
+
]
85
85
+
);
69
86
70
70
-
xdg.mimeApps.defaultApplications = lib.mkIf config.cow.gdi.enable {
71
71
-
"image/svg+xml" = "org.inkscape.Inkscape.desktop";
72
72
-
"image/*" = "org.gnome.Loupe.desktop";
73
73
-
};
87
87
+
home.sessionVariables = {
88
88
+
"EDITOR" = "nvim";
89
89
+
};
74
90
75
75
-
cow = {
76
76
-
libraries.enable = true;
77
77
-
imperm.keepLibraries = true;
78
78
-
pictures = {
79
79
-
enable = true;
80
80
-
pfp = ../res/pictures/cow.png;
81
81
-
bg = ../res/pictures/background.png;
91
91
+
xdg.mimeApps.defaultApplications = lib.mkIf config.cow.gdi.enable {
92
92
+
"image/svg+xml" = "org.inkscape.Inkscape.desktop";
93
93
+
"image/*" = "org.gnome.Loupe.desktop";
82
94
};
83
83
-
nushell = {
84
84
-
enable = true;
85
85
-
commandNotFound = true;
86
86
-
};
87
87
-
neovim.enable = true;
88
88
-
htop.enable = true;
89
89
-
starship.enable = true;
90
90
-
dev.enable = true;
91
91
-
jj.enable = true;
92
92
-
comma.enable = true;
93
93
-
cat.enable = true;
95
95
+
96
96
+
cow = {
97
97
+
libraries.enable = true;
98
98
+
imperm.keepLibraries = true;
99
99
+
pictures = {
100
100
+
enable = true;
101
101
+
pfp = ../res/pictures/cow.png;
102
102
+
bg = ../res/pictures/background.png;
103
103
+
};
104
104
+
nushell = {
105
105
+
enable = true;
106
106
+
commandNotFound = true;
107
107
+
};
108
108
+
neovim.enable = true;
109
109
+
htop.enable = true;
110
110
+
starship.enable = true;
111
111
+
dev.enable = true;
112
112
+
jj.enable = true;
113
113
+
comma.enable = true;
114
114
+
cat.enable = true;
94
115
95
95
-
keepassxc = {
96
96
-
enable = true;
97
97
-
dbPath = lib.mkDefault "${config.xdg.userDirs.documents}/Keepass/DB/Database.kdbx";
116
116
+
keepassxc = {
117
117
+
enable = true;
118
118
+
dbPath = lib.mkDefault "${config.xdg.userDirs.documents}/Keepass/DB/Database.kdbx";
119
119
+
};
98
120
};
99
121
};
100
100
-
};
101
122
}