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 charis for serif font
bwc9876.dev
1 month ago
6b552c6f
725fa0f8
verified
This commit was signed with the committer's
known signature
.
bwc9876.dev
SSH Key Fingerprint:
SHA256:DanMEP/RNlSC7pAVbnXO6wzQV00rqyKj053tz4uH5gQ=
+188
-110
7 changed files
expand all
collapse all
unified
split
flake.lock
flake.nix
homeModules
dev.nix
firefox.nix
user-bean.nix
utils.nix
nixosModules
fonts.nix
+46
-46
flake.lock
···
77
77
},
78
78
"crane_2": {
79
79
"locked": {
80
80
-
"lastModified": 1769737823,
81
81
-
"narHash": "sha256-DrBaNpZ+sJ4stXm+0nBX7zqZT9t9P22zbk6m5YhQxS4=",
80
80
+
"lastModified": 1770419512,
81
81
+
"narHash": "sha256-o8Vcdz6B6bkiGUYkZqFwH3Pv1JwZyXht3dMtS7RchIo=",
82
82
"owner": "ipetkov",
83
83
"repo": "crane",
84
84
-
"rev": "b2f45c3830aa96b7456a4c4bc327d04d7a43e1ba",
84
84
+
"rev": "2510f2cbc3ccd237f700bb213756a8f35c32d8d7",
85
85
"type": "github"
86
86
},
87
87
"original": {
···
284
284
"treefmt-nix": "treefmt-nix"
285
285
},
286
286
"locked": {
287
287
-
"lastModified": 1770123670,
288
288
-
"narHash": "sha256-IG/BNc+M8ltpJLWY+GFb8sCz8Fv+Xbsnn4Ru4cMY6fI=",
287
287
+
"lastModified": 1770729297,
288
288
+
"narHash": "sha256-iNI2pIkYSdENcAm/M7daQQhpt6G4DqnNDVF+x3PT/Yc=",
289
289
"owner": "m15a",
290
290
"repo": "flakelight-treefmt",
291
291
-
"rev": "96ed0ef257a71ea4086861f3d1743e053a920250",
291
291
+
"rev": "5c6d9b15364874a2a3149a836d4d0ac37d4f7172",
292
292
"type": "github"
293
293
},
294
294
"original": {
···
304
304
]
305
305
},
306
306
"locked": {
307
307
-
"lastModified": 1770037869,
308
308
-
"narHash": "sha256-ydw7wUkviUdv7J7YweFp6kxXl24QJgJ1+NC5S02gkz0=",
307
307
+
"lastModified": 1770643227,
308
308
+
"narHash": "sha256-Dhl7sU33nociCpvK51Dc6Kr3c3g6e37GiaQ8RsdhaiE=",
309
309
"owner": "nix-community",
310
310
"repo": "flakelight",
311
311
-
"rev": "49027dc3f2426de7cb2a6e29a13bbdd824f9b73a",
311
311
+
"rev": "06f0fad6089dbc5cff57607c9ed4ee01dea00c90",
312
312
"type": "github"
313
313
},
314
314
"original": {
···
453
453
]
454
454
},
455
455
"locked": {
456
456
-
"lastModified": 1770491427,
457
457
-
"narHash": "sha256-8b+0vixdqGnIIcgsPhjdX7EGPdzcVQqYxF+ujjex654=",
456
456
+
"lastModified": 1770654520,
457
457
+
"narHash": "sha256-mg5WZMIPGsFu9MxSrUcuJUPMbfMsF77el5yb/7rc10k=",
458
458
"owner": "nix-community",
459
459
"repo": "home-manager",
460
460
-
"rev": "cbd8a72e5fe6af19d40e2741dc440d9227836860",
460
460
+
"rev": "6c4fdbe1ad198fac36c320fd45c5957324a80b8e",
461
461
"type": "github"
462
462
},
463
463
"original": {
···
565
565
"rust-overlay": "rust-overlay"
566
566
},
567
567
"locked": {
568
568
-
"lastModified": 1770579389,
569
569
-
"narHash": "sha256-2OwcZVHHsq3DSnJsUOiw0i/ovRqdlIG4uj5RPRql+8I=",
568
568
+
"lastModified": 1770734117,
569
569
+
"narHash": "sha256-PNXSnK507MRj+hYMgnUR7InNJzVCmOfsjHV4YXZgpwQ=",
570
570
"owner": "nix-community",
571
571
"repo": "lanzaboote",
572
572
-
"rev": "7b637233a79e6041affba3f33957995c57f4b140",
572
572
+
"rev": "2038a9a19adb886eccba775321b055fdbdc5029d",
573
573
"type": "github"
574
574
},
575
575
"original": {
···
639
639
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
640
640
},
641
641
"locked": {
642
642
-
"lastModified": 1770571272,
643
643
-
"narHash": "sha256-IUBQMceKisLf1aqo0OWIuEEJLYCQjpvfAJYNZCqu5wE=",
642
642
+
"lastModified": 1770739738,
643
643
+
"narHash": "sha256-sLpvik461SjSY1b23gHhNbM9aMJF9iU4h2vPepi9JoM=",
644
644
"owner": "sodiboo",
645
645
"repo": "niri-flake",
646
646
-
"rev": "992922f59953b7f55f6b2de7f8bb661e93bc210e",
646
646
+
"rev": "9e23010320cfe4012adc2d8810495bad0fe2d4a6",
647
647
"type": "github"
648
648
},
649
649
"original": {
···
672
672
"niri-unstable": {
673
673
"flake": false,
674
674
"locked": {
675
675
-
"lastModified": 1770394936,
676
676
-
"narHash": "sha256-Pa0fkyLYUR+pZh7phPENDUo4mJIweaAm0uV83iUUlX8=",
675
675
+
"lastModified": 1770735554,
676
676
+
"narHash": "sha256-8GzUa8bCyQ688jYW2waXrOqetTr7oV8UPTO2He+5Hsg=",
677
677
"owner": "YaLTeR",
678
678
"repo": "niri",
679
679
-
"rev": "549148d27779d024255a84535b42b947f1c2a113",
679
679
+
"rev": "41b5de87692b8262fbdbff7faab93f04ff0be453",
680
680
"type": "github"
681
681
},
682
682
"original": {
···
707
707
},
708
708
"nixos-hardware": {
709
709
"locked": {
710
710
-
"lastModified": 1769302137,
711
711
-
"narHash": "sha256-QEDtctEkOsbx8nlFh4yqPEOtr4tif6KTqWwJ37IM2ds=",
710
710
+
"lastModified": 1770631810,
711
711
+
"narHash": "sha256-b7iK/x+zOXbjhRqa+XBlYla4zFvPZyU5Ln2HJkiSnzc=",
712
712
"owner": "NixOS",
713
713
"repo": "nixos-hardware",
714
714
-
"rev": "a351494b0e35fd7c0b7a1aae82f0afddf4907aa8",
714
714
+
"rev": "2889685785848de940375bf7fea5e7c5a3c8d502",
715
715
"type": "github"
716
716
},
717
717
"original": {
···
722
722
},
723
723
"nixpkgs": {
724
724
"locked": {
725
725
-
"lastModified": 1770197578,
726
726
-
"narHash": "sha256-AYqlWrX09+HvGs8zM6ebZ1pwUqjkfpnv8mewYwAo+iM=",
725
725
+
"lastModified": 1770562336,
726
726
+
"narHash": "sha256-ub1gpAONMFsT/GU2hV6ZWJjur8rJ6kKxdm9IlCT0j84=",
727
727
"owner": "NixOS",
728
728
"repo": "nixpkgs",
729
729
-
"rev": "00c21e4c93d963c50d4c0c89bfa84ed6e0694df2",
729
729
+
"rev": "d6c71932130818840fc8fe9509cf50be8c64634f",
730
730
"type": "github"
731
731
},
732
732
"original": {
···
738
738
},
739
739
"nixpkgs-stable": {
740
740
"locked": {
741
741
-
"lastModified": 1770464364,
742
742
-
"narHash": "sha256-z5NJPSBwsLf/OfD8WTmh79tlSU8XgIbwmk6qB1/TFzY=",
741
741
+
"lastModified": 1770617025,
742
742
+
"narHash": "sha256-1jZvgZoAagZZB6NwGRv2T2ezPy+X6EFDsJm+YSlsvEs=",
743
743
"owner": "NixOS",
744
744
"repo": "nixpkgs",
745
745
-
"rev": "23d72dabcb3b12469f57b37170fcbc1789bd7457",
745
745
+
"rev": "2db38e08fdadcc0ce3232f7279bab59a15b94482",
746
746
"type": "github"
747
747
},
748
748
"original": {
···
761
761
"systems": "systems"
762
762
},
763
763
"locked": {
764
764
-
"lastModified": 1770388595,
765
765
-
"narHash": "sha256-0NvpmDqFcJAtRFJE3RDZWnN7PDJBZutoDtN+Cl8a3DY=",
764
764
+
"lastModified": 1770630823,
765
765
+
"narHash": "sha256-5SEmOnJ61vmbap39vzWEsCX5UQ+3Ul8J4mXWKdqSn3w=",
766
766
"owner": "nix-community",
767
767
"repo": "nixvim",
768
768
-
"rev": "51abc532525e486176f9a7b24b17908c60017b54",
768
768
+
"rev": "6acc964664ac916c64fe4e394edd467af4d90790",
769
769
"type": "github"
770
770
},
771
771
"original": {
···
966
966
]
967
967
},
968
968
"locked": {
969
969
-
"lastModified": 1770001842,
970
970
-
"narHash": "sha256-ZAyTeILfdWwDp1nuF0RK3McBduMi49qnJvrS+3Ezpac=",
969
969
+
"lastModified": 1770520253,
970
970
+
"narHash": "sha256-6rWuHgSENXKnC6HGGAdRolQrnp/8IzscDn7FQEo1uEQ=",
971
971
"owner": "oxalica",
972
972
"repo": "rust-overlay",
973
973
-
"rev": "5018343419ea808f8a413241381976b7e60951f2",
973
973
+
"rev": "ebb8a141f60bb0ec33836333e0ca7928a072217f",
974
974
"type": "github"
975
975
},
976
976
"original": {
···
1072
1072
"sqlite-lib-src": "sqlite-lib-src"
1073
1073
},
1074
1074
"locked": {
1075
1075
-
"lastModified": 1770445463,
1076
1076
-
"narHash": "sha256-w63GKKjiTcBu9wpl35ij4dSM6Jlte541SPPb5GGvJIA=",
1075
1075
+
"lastModified": 1770621125,
1076
1076
+
"narHash": "sha256-HKj1BD48FprZRg8rpesAMfCGUgup8tuIHG0icUIAWns=",
1077
1077
"ref": "refs/heads/master",
1078
1078
-
"rev": "306613d56b424cadbd07199e382788e68268c70c",
1079
1079
-
"revCount": 1936,
1078
1078
+
"rev": "f569d2beae25b937addee796bcffd68be36171ec",
1079
1079
+
"revCount": 1943,
1080
1080
"type": "git",
1081
1081
"url": "https://tangled.org/tangled.org/core"
1082
1082
},
···
1094
1094
]
1095
1095
},
1096
1096
"locked": {
1097
1097
-
"lastModified": 1769691507,
1098
1098
-
"narHash": "sha256-8aAYwyVzSSwIhP2glDhw/G0i5+wOrren3v6WmxkVonM=",
1097
1097
+
"lastModified": 1770228511,
1098
1098
+
"narHash": "sha256-wQ6NJSuFqAEmIg2VMnLdCnUc0b7vslUohqqGGD+Fyxk=",
1099
1099
"owner": "numtide",
1100
1100
"repo": "treefmt-nix",
1101
1101
-
"rev": "28b19c5844cc6e2257801d43f2772a4b4c050a1b",
1101
1101
+
"rev": "337a4fe074be1042a35086f15481d763b8ddc0e7",
1102
1102
"type": "github"
1103
1103
},
1104
1104
"original": {
···
1174
1174
"xwayland-satellite-unstable": {
1175
1175
"flake": false,
1176
1176
"locked": {
1177
1177
-
"lastModified": 1770568598,
1178
1178
-
"narHash": "sha256-w7XGGbI3cxtJWK/B2n+yuhm1S3Vv21OPtIMFLTwbU20=",
1177
1177
+
"lastModified": 1770583271,
1178
1178
+
"narHash": "sha256-Q75S8cEqJoZ92s1y4zArvk2U1ayAy2E4SaF7gbNXkYQ=",
1179
1179
"owner": "Supreeeme",
1180
1180
"repo": "xwayland-satellite",
1181
1181
-
"rev": "e6dd3c05c098aef4e6a31fa95c04f129e9b52618",
1181
1181
+
"rev": "86f5bd5d867ad6e120935dfe825f6b903ebbeddd",
1182
1182
"type": "github"
1183
1183
},
1184
1184
"original": {
+36
-28
flake.nix
···
20
20
fenix.inputs.nixpkgs.follows = "nixpkgs";
21
21
catppuccin.url = "github:catppuccin/nix";
22
22
catppuccin.inputs.nixpkgs.follows = "nixpkgs";
23
23
+
# cat-stylus = {
24
24
+
# url = "https://github.com/catppuccin/userstyles/releases/download/all-userstyles-export/import.json";
25
25
+
# flake = false;
26
26
+
# };
23
27
nixvim.url = "github:nix-community/nixvim";
24
28
nixvim.inputs.nixpkgs.follows = "nixpkgs";
25
29
imperm.url = "github:nix-community/impermanence";
···
47
51
};
48
52
};
49
53
50
50
-
outputs = inputs @ {
51
51
-
self,
52
52
-
nixpkgs,
53
53
-
flakelight,
54
54
-
flakelight-treefmt,
55
55
-
nix-index-db,
56
56
-
hm,
57
57
-
nixos-hardware,
58
58
-
lanzaboote,
59
59
-
wayland-mpris-idle-inhibit,
60
60
-
fenix,
61
61
-
catppuccin,
62
62
-
nixvim,
63
63
-
imperm,
64
64
-
nu_plugin_dbus,
65
65
-
bingus,
66
66
-
spoon,
67
67
-
gh-grader-preview,
68
68
-
niri,
69
69
-
musnix,
70
70
-
tangled,
71
71
-
}:
54
54
+
outputs =
55
55
+
inputs@{
56
56
+
self,
57
57
+
nixpkgs,
58
58
+
flakelight,
59
59
+
flakelight-treefmt,
60
60
+
nix-index-db,
61
61
+
hm,
62
62
+
nixos-hardware,
63
63
+
lanzaboote,
64
64
+
wayland-mpris-idle-inhibit,
65
65
+
fenix,
66
66
+
catppuccin,
67
67
+
# cat-stylus,
68
68
+
nixvim,
69
69
+
imperm,
70
70
+
nu_plugin_dbus,
71
71
+
bingus,
72
72
+
spoon,
73
73
+
gh-grader-preview,
74
74
+
niri,
75
75
+
musnix,
76
76
+
tangled,
77
77
+
}:
72
78
flakelight ./. {
73
79
inherit inputs;
74
80
imports = [
···
77
83
spoon.flakelightModules.ubercheck
78
84
];
79
85
80
80
-
treefmtConfig = {pkgs, ...}: {
81
81
-
programs = {
82
82
-
alejandra.enable = true;
83
83
-
just.enable = true;
84
84
-
shfmt.enable = true;
86
86
+
treefmtConfig =
87
87
+
{ pkgs, ... }:
88
88
+
{
89
89
+
programs = {
90
90
+
alejandra.enable = true;
91
91
+
just.enable = true;
92
92
+
shfmt.enable = true;
93
93
+
};
85
94
};
86
86
-
};
87
95
88
96
nixDir = ./.;
89
97
legacyPackages = pkgs: pkgs;
+1
-1
homeModules/dev.nix
···
117
117
])
118
118
++ (lib.optionals conf.typst [
119
119
typst
120
120
-
typstyle
120
120
+
typstyle
121
121
])
122
122
++ (lib.optional conf.cutter (cutter.withPlugins (p: with p; [rz-ghidra])));
123
123
};
+81
-8
homeModules/firefox.nix
···
1
1
-
{...}: {
1
1
+
{inputs, ...}: {
2
2
lib,
3
3
pkgs,
4
4
config,
···
149
149
"ublock-privacy"
150
150
"ublock-unbreak"
151
151
"ublock-quick-fixes"
152
152
+
"easylist"
153
153
+
"easyprivacy"
154
154
+
"urlhaus-1"
155
155
+
"plowe-0"
156
156
+
"adguard-spyware-url"
157
157
+
"fanboy-cookiemonster"
158
158
+
"ublock-cookies-easylist"
159
159
+
"easylist-annoyances"
160
160
+
"easylist-chat"
161
161
+
"easylist-newsletters"
162
162
+
"easylist-notifications"
163
163
+
"ublock-annoyances"
164
164
+
"IDN-0"
152
165
];
153
153
-
# Stylus
154
154
-
"{7a7a4a92-a2a0-41d1-9fd7-1e92480d612d}".settings = {
155
155
-
dbInChromeStorage = true; # required se DB is stored in state.js
156
156
-
updateOnlyEnabled = true;
157
157
-
patchCsp = true;
158
158
-
instantInject = true;
159
159
-
};
166
166
+
# TODO: Stylus
167
167
+
# "{7a7a4a92-a2a0-41d1-9fd7-1e92480d612d}".force = true;
168
168
+
# "{7a7a4a92-a2a0-41d1-9fd7-1e92480d612d}".settings = let
169
169
+
# # Catppuccin-stylus import.json
170
170
+
# importJson = lib.importJSON inputs.cat-stylus.outPath;
171
171
+
#
172
172
+
# # Gen the path to update a given user style config value
173
173
+
# updateVar = var: val: {
174
174
+
# path = [
175
175
+
# "usercssData"
176
176
+
# "vars"
177
177
+
# var
178
178
+
# "value"
179
179
+
# ];
180
180
+
# update = old: val;
181
181
+
# };
182
182
+
#
183
183
+
# # Create function for setting user style options according to catppuccin config
184
184
+
# cat = config.catppuccin;
185
185
+
# configureStyle = lib.updateManyAttrsByPath [
186
186
+
# (updateVar "lightFlavor" cat.flavor)
187
187
+
# (updateVar "darkFlavor" cat.flavor)
188
188
+
# (updateVar "accentColor" cat.accent)
189
189
+
# ];
190
190
+
#
191
191
+
# # No
192
192
+
# md5ToUuidThisIsVeryBad = md5: let
193
193
+
# first = builtins.substring 0 8 md5;
194
194
+
# second = builtins.substring 8 4 md5;
195
195
+
# third = builtins.substring 12 4 md5;
196
196
+
# fourth = builtins.substring 16 4 md5;
197
197
+
# fifth = builtins.substring 20 12 md5;
198
198
+
# in "${first}-${second}-${third}-${fourth}-${fifth}";
199
199
+
#
200
200
+
# # Create a Stylus DB entry for a given style using the digest as an identifier
201
201
+
# mkStylePair = style: let
202
202
+
# id = md5ToUuidThisIsVeryBad style.originalDigest;
203
203
+
# in {
204
204
+
# name = "style-${id}";
205
205
+
# value =
206
206
+
# (configureStyle style)
207
207
+
# // {
208
208
+
# inherit id;
209
209
+
# _id = id;
210
210
+
# # Stylus code says Date.now() for rev, we'll just set it to 0?
211
211
+
# _rev = 0;
212
212
+
# };
213
213
+
# };
214
214
+
#
215
215
+
# # The first elem of the import.json is settings for Stylus, we'll set those ourselves
216
216
+
# generatedStyles = builtins.listToAttrs (builtins.map mkStylePair (builtins.tail importJson));
217
217
+
#
218
218
+
# # Setting we need to set manually
219
219
+
# extensionDb =
220
220
+
# generatedStyles
221
221
+
# // {
222
222
+
# lastUpdateTime = 0;
223
223
+
# dbInChromeStorage = true;
224
224
+
# settings = {
225
225
+
# patchCsp = true;
226
226
+
# updateInterval = 0;
227
227
+
# updateOnlyEnabled = true;
228
228
+
# styleViaXhr = true;
229
229
+
# };
230
230
+
# };
231
231
+
# in
232
232
+
# extensionDb;
160
233
};
161
234
};
162
235
search = {
+6
-10
homeModules/user-bean.nix
···
1
1
-
{ ... }:
2
2
-
{
1
1
+
{...}: {
3
2
pkgs,
4
3
lib,
5
4
config,
6
5
...
7
7
-
}:
8
8
-
{
6
6
+
}: {
9
7
options.cow.bean = {
10
8
enable = lib.mkEnableOption "Bean user presets";
11
9
username = lib.mkOption {
···
34
32
};
35
33
};
36
34
37
37
-
config =
38
38
-
let
39
39
-
conf = config.cow.bean;
40
40
-
in
35
35
+
config = let
36
36
+
conf = config.cow.bean;
37
37
+
in
41
38
lib.mkIf conf.enable {
42
39
# My Personal config using most of my HM modules
43
40
···
77
74
};
78
75
79
76
home.packages = lib.mkIf config.cow.gdi.enable (
80
80
-
with pkgs;
81
81
-
[
77
77
+
with pkgs; [
82
78
zoom-us
83
79
tuxpaint
84
80
]
+15
-14
homeModules/utils.nix
···
1
1
-
{ ... }:
2
2
-
{
1
1
+
{...}: {
3
2
config,
4
3
lib,
5
4
pkgs,
6
5
...
7
7
-
}:
8
8
-
{
6
6
+
}: {
9
7
options.cow.utils = {
10
10
-
enable = (lib.mkEnableOption "Handy utilities to have") // {
11
11
-
default = true;
12
12
-
};
13
13
-
batAliases = (lib.mkEnableOption "Aliases for bat commands in the shell") // {
14
14
-
default = true;
15
15
-
};
8
8
+
enable =
9
9
+
(lib.mkEnableOption "Handy utilities to have")
10
10
+
// {
11
11
+
default = true;
12
12
+
};
13
13
+
batAliases =
14
14
+
(lib.mkEnableOption "Aliases for bat commands in the shell")
15
15
+
// {
16
16
+
default = true;
17
17
+
};
16
18
};
17
19
18
20
config = lib.mkIf config.cow.utils.enable {
19
19
-
home.packages =
20
20
-
with pkgs;
21
21
+
home.packages = with pkgs;
21
22
[
22
23
ripgrep
23
24
binutils
···
83
84
settings = {
84
85
backend = "fastfetch";
85
86
color_align = {
86
86
-
custom_colors = [ ];
87
87
+
custom_colors = [];
87
88
fore_back = null;
88
89
mode = "horizontal";
89
90
};
···
93
94
mode = "rgb";
94
95
preset = "gay-men";
95
96
pride_month_disable = false;
96
96
-
pride_month_shown = [ ];
97
97
+
pride_month_shown = [];
97
98
};
98
99
};
99
100
};
+3
-3
nixosModules/fonts.nix
···
14
14
fonts = {
15
15
enableDefaultPackages = true;
16
16
packages = with pkgs; [
17
17
-
fira-code
17
17
+
charis-sil
18
18
maple-mono.NF-CN
19
19
noto-fonts
20
20
];
···
22
22
enable = true;
23
23
defaultFonts = {
24
24
serif = [
25
25
-
"Noto Serif"
25
25
+
"Charis SIL"
26
26
];
27
27
sansSerif = [
28
28
-
"FiraGO"
28
28
+
"Noto Sans"
29
29
];
30
30
monospace = [
31
31
"Maple Mono NF CN"