Compare commits

...

1438 commits

Author SHA1 Message Date
50dc6ee323
feat: nextcloud 30 -> 31 2025-06-17 17:43:02 +02:00
b66cc0885c
chore: switch home-manager to 25.05 2025-06-17 17:38:49 +02:00
e41d64adce
chore: drop unused stalwart patch 2025-06-17 17:06:30 +02:00
eb14984274
fix: try to fix ssh connections 2025-06-17 17:06:20 +02:00
45060e825d
chore: update deps 2025-06-17 17:05:38 +02:00
39368e65c7
fix: fix arcadia build 2025-06-17 16:02:24 +02:00
e171902a3b
chore: init garage config on tower 2025-06-17 15:58:25 +02:00
19b531915f
chore: rekey secrets 2025-06-17 15:48:36 +02:00
ebffc73347
feat: add new secrets 2025-06-17 15:09:07 +02:00
3f7567a71a
fix: fix readeck after 25.05 2025-06-17 14:51:54 +02:00
4c845dfa18
fix: fix plausible after 25.05 2025-06-17 14:51:40 +02:00
7104dc7cc8
chore: upgrade to 25.05 and other deps 2025-06-17 14:51:17 +02:00
a4b27dcf88
fix: edit biblios tailscale address 2025-06-17 14:50:36 +02:00
001c972e5e
chore: decrease buildbot eval worker count 2025-06-17 14:48:01 +02:00
ee2d33a267
chore: updated artiflakery projects 2025-06-17 13:35:52 +02:00
a9560ef943
chore: added artiflakery secret 2025-06-03 15:17:55 +02:00
31eaab7106
chore: multiple xorg change for fischer 2025-06-03 15:15:08 +02:00
5e739bf9be
fix: properly import artiflakery 2025-06-03 15:08:47 +02:00
e2f6dc50c1
chore: update deps 2025-06-03 15:08:26 +02:00
1f8eff3355
feat: deploy artiflakery to gustave 2025-06-03 15:07:00 +02:00
de74b6d270
chore: revert upgrading emacs 2025-05-08 16:04:32 +02:00
3b86219eb3
chore: try to make stump work well on fischer 2025-05-06 20:21:19 +02:00
70712a39a6
chore: update deps 2025-05-06 20:20:30 +02:00
b5fdf4a7c5
chore: modify mailmover to stop breaking sent folder 2025-04-26 13:41:48 +02:00
ce6e0f69af
chore: move gustave to ext4 2025-04-26 12:56:41 +02:00
2d68129ec8
chore: something something init arcadia 2025-04-26 12:55:10 +02:00
3619673217
chore: add powerline-fonts to fischer 2025-04-26 12:52:18 +02:00
bdbd6de553
chore: enable muchsync on fischer 2025-04-26 12:52:10 +02:00
4ab45f2921
chore: add expunging of mails 2025-04-26 12:50:53 +02:00
07397c1c2d
feat: init stumpwm on fischer 2025-04-26 12:50:17 +02:00
88f786527c
chore: update mailmover 2025-04-22 19:02:13 +02:00
5ae45f779a
chore: rekey 2025-04-21 18:25:05 +02:00
4e606d89dc
chore: update gustave key for some reason 2025-04-21 18:24:24 +02:00
7ac9a31586
chore: rekey 2025-04-20 12:52:39 +02:00
8fab25f8a9
chore: rekey 2025-04-16 22:56:23 +02:00
e533746e10
chore: rekey 2025-04-16 22:53:42 +02:00
c138569331
fix: fix kanidm fr 2025-04-15 13:31:17 +02:00
92d12fc312
feat: upgrade garage 2025-04-15 13:27:03 +02:00
a4319b1bc8
feat: upgrade kanidm 2025-04-15 13:26:14 +02:00
960484ebe5
feat: migrate forgejo to postgres 2025-04-15 13:24:33 +02:00
c42963b3f8
chore: update nixpkgs 2025-04-15 12:42:56 +02:00
248d6f9734
feat: add ltex-lsp to fischer 2025-04-09 20:42:39 +02:00
f8eed474fd
chore: upgrade gallifrey kernel 2025-04-09 20:42:39 +02:00
a72af96b83
chore: update unstable 2025-04-09 20:42:39 +02:00
851df9429d
feat: init git maintenance mode 2025-04-09 20:42:39 +02:00
ea9a450c9e
feat: update secret 2025-04-09 20:42:27 +02:00
f0f75608e3
feat: add arcadia key to julien 2025-03-18 09:05:15 +01:00
f8febced6b
chore: rekey secrets 2025-03-17 23:05:44 +01:00
2de2e7f644
feat: init exwm 2025-03-17 23:02:04 +01:00
83e52eb0f4
chore: update emacs-overlay 2025-03-17 22:59:33 +01:00
27f057807c
feat: add rbw to shell 2025-03-17 09:28:50 +01:00
b80a6ece43
feat: init syncthing on arcadia 2025-03-17 08:36:32 +01:00
faa1489a1b
feat: correct vpn ip for arcadia 2025-03-17 08:35:33 +01:00
a1bb2056ec
chore: add missing config for arcadia 2025-03-17 06:55:37 +01:00
e2ee11df70
chore: secrets rekey 2025-03-16 14:16:24 +01:00
f7fe36534d
chore: init arcadia secrets 2025-03-16 14:14:40 +01:00
fabe33ee1e
chore: retract some mail options to default 2025-03-16 14:04:50 +01:00
aba9e52b15
feat: setup muchsync on gallifrey 2025-03-16 14:04:21 +01:00
285f54b4b6
feat: init arcadia 2025-03-16 14:03:35 +01:00
a59960a09e
chore: update secrets 2025-03-13 01:26:51 +01:00
758f64d211
chore: temp add my keys for muchsync 2025-03-13 00:17:08 +01:00
dc125868ce
chore: ip of machines for fischer 2025-03-13 00:16:09 +01:00
4a37e0cc99
chore: some fix to gustave 2025-03-13 00:15:46 +01:00
4746a613ae
chore: update deps 2025-03-13 00:13:13 +01:00
8a4f2c1d15
feat: re-enable notmuch 2025-03-12 16:04:45 +01:00
113d84a4bd
chore: update secrets 2025-03-12 12:28:12 +01:00
cccb843486
chore: update gustave key 2025-03-12 12:27:39 +01:00
5f3200d7f9
chore: secrets rekey 2025-03-11 22:36:55 +01:00
8254c2359f
chore: add new key 2025-03-11 22:35:54 +01:00
7414530d3e
chore: roundcube on gustave + patch stalwart 2025-03-10 14:19:00 +01:00
12d7d20bc6
feat: add roundcube 2025-03-08 14:30:15 +01:00
1814fab2c2
chore: test disable gsp 2025-03-01 18:53:24 +01:00
088ed585da
chore: move to emacs-igc on fischer 2025-02-27 23:32:54 +01:00
4bfd68ee75
fix: disable diffocope 2025-02-23 11:55:50 +01:00
8f03af4796
feat: try emacs-igc 2025-02-23 11:55:40 +01:00
5f8520a610
chore: update deps 2025-02-14 11:43:31 +01:00
2b3dc9e5e4
chore(gallifrey): add haskell-language-server 2025-02-09 18:15:00 +01:00
89f89ded4c
chore(dns): new domain 2025-02-09 18:14:38 +01:00
3def982730
chore: update unstable to see if it fixes stalwart 2025-02-09 17:37:57 +01:00
5beaa5dcf9
fix(dns): fix some more mail records 2025-02-05 10:09:06 +01:00
47c0e32589
chore(gallifrey): install slack 2025-02-05 09:59:09 +01:00
b8df3cf7c3
fix(akhaten): fix CNAME records 2025-02-05 09:59:00 +01:00
ec5797b816
chore(gallifrey): create symlink for emacs config 2025-02-04 23:14:35 +01:00
140c84b18b
chore: decomission nuage 2025-02-02 17:44:12 +01:00
fbe8d060c5
feat(gustave): use upstream readeck 2025-02-02 17:44:03 +01:00
95d72019e1
chore: update deps 2025-02-02 17:42:35 +01:00
0a38e4034a
fix(gallifrey): remove rstudio (build failure) 2025-02-02 17:42:21 +01:00
ad63a9e43a
chore: delete readeck 2025-02-02 16:57:24 +01:00
5118ad078c
chore: delete readeck as it has been merged upstream 2025-02-02 16:56:47 +01:00
5b249c58e5
chore: activate syncthing on several machines 2025-01-25 16:49:42 +01:00
9214bed77f
chore: update readme 2025-01-25 16:48:53 +01:00
74921ea499
chore: syncthing changer 2025-01-20 23:37:22 +01:00
61f1aa3f9c
chore: update gustave id 2025-01-20 23:11:07 +01:00
a6864f69ef
feat(fischer): init syncthing 2025-01-20 22:28:28 +01:00
96a9901a8e
feat(gustave): init syncthing 2025-01-19 22:54:03 +01:00
3e615b11a3
feat: redirect julienmalka.me->luj.fr 2025-01-18 01:02:33 +01:00
718128596f
feat: add declarative status page 2025-01-18 00:25:18 +01:00
f3ba2a1c8b
fix(fischer): fix nerdfonts 2025-01-14 16:40:42 +01:00
37f6ee6e44
chore: update deps 2025-01-14 16:37:18 +01:00
615d229e1f
chore: add yubikey support 2025-01-14 16:35:15 +01:00
10f670ff7b
fix(perf): deploy personal page using s3 2025-01-12 00:52:54 +01:00
5e7b5ab4a8
feat(gustave): disable mastodon
At the end of the day, we are not going to self-host it
2025-01-12 00:13:39 +01:00
fdada747e1
feat(gustave): init glance 2025-01-10 02:33:26 +01:00
0bc6dc0ce8
feat(gustave): init mastodon 2025-01-10 02:33:09 +01:00
dd163b483e
fix: fix sonarr + jackett on gustave 2025-01-03 00:16:39 +01:00
7c30c450e0
fix: fix eval error on nerdfonts 2025-01-02 10:03:09 +01:00
df4c52c5d0
chore: fallback on current mbsync 2025-01-02 10:02:52 +01:00
5242deb1e8
chore: update deps 2025-01-01 10:33:28 +01:00
02e935a325
fix: fix luj.fr monitor 2025-01-01 10:32:04 +01:00
051e02ddd1
feat: activate wake on lan on gallifrey 2025-01-01 10:32:04 +01:00
8a9d318d7d
chore: update nixpkgs 2024-12-25 18:03:29 +01:00
a42363013f
feat: update authorized principals 2024-12-24 15:07:42 +01:00
a80bc8f8fd
feat(gustave): bootstrap a new nextcloud 2024-12-23 21:47:44 +01:00
6b99340b4d
feat: init biblios 2024-12-21 20:29:24 +01:00
26b7a30b5a
chore: rekey secrets 2024-12-21 20:29:09 +01:00
c9bae0de9f
chore: add declarative vms module 2024-12-21 20:28:55 +01:00
5201fcfae4
chore(shell): add nixmoxer 2024-12-21 13:42:48 +01:00
816215a9af
chore: clean useless timezone 2024-12-21 12:55:04 +01:00
932d147110
feat(core-security): init kanidm 2024-12-21 10:38:58 +01:00
7fad180d17
feat(luj.fr): add monitor 2024-12-13 21:27:45 +01:00
04f9dd2d7c
feat: finish stateless uptime kuma monitors configuration 2024-12-13 21:24:15 +01:00
305070d9b1
fix(chore-data): add behind-sniproxy profile 2024-12-13 21:23:11 +01:00
116bb898e7
chore(gustave/songs): disable 2024-12-13 21:22:49 +01:00
fab4088b82
chore(pages): add better logging to debug slowness 2024-12-12 22:58:19 +01:00
fa0ac3a988
fix(gustave/nsd): actually open port 53 over tcp for zone transfers 2024-12-12 22:57:50 +01:00
18af2d71f3
chore: updates to fischer 2024-12-09 09:53:48 +01:00
fec0d6ab6c
feat(gallifrey/julien): make nixfmt-rfc-style available 2024-12-08 15:03:37 +01:00
e3a122dfb3
feat: pin mbsync to version 4 (version 5 has a bug that prevents me from fetching my emails) 2024-12-08 15:01:21 +01:00
4bad661036
feat: add initial setup for declarative uptime-kuma monitors 2024-12-08 13:23:45 +01:00
f3001378ad
chore: ditch arkheon 2024-12-08 00:07:57 +01:00
e5937ee297
feat: update uptime-kuma to 2.0, declarative config 2024-12-07 22:56:52 +01:00
bff13e5ba9
feat: clean proxy protocol everywhere 2024-12-07 01:03:20 +01:00
dd454001d1
feat(gustave): init plausible 2024-12-06 17:13:46 +01:00
003701882a
chore: lots of pain to make code server work
But it was dns...
2024-12-06 16:34:10 +01:00
f191cc95c6
chore(pages): add gitea token 2024-12-06 12:52:31 +01:00
89f75c32c9
feat(readeck): 0.15.4 -> 0.16.0 2024-12-05 21:03:53 +01:00
8068d12711
fix(keycloak): remove dynamic backchannel 2024-12-05 21:03:33 +01:00
89791b21a8
fix(eval): silence last eval warning 2024-12-01 17:59:34 +01:00
78da69c2c7
fix(eval): silence some eval warnings 2024-12-01 17:58:31 +01:00
3a491d5901
feat(nuage): update to nextcloud 30 2024-12-01 17:45:56 +01:00
9566f2f397
fix(keycloak): more adaptations 2024-12-01 17:45:43 +01:00
b75737ac86
fix(keycloak): option changed name 2024-12-01 16:26:37 +01:00
3f58ead2ff
fix(nuage): silence warning 2024-12-01 16:23:10 +01:00
ed9e020177
feat: update to 24.11 2024-12-01 16:12:06 +01:00
339a49447b
feat: some changes for emacs 2024-11-30 20:51:16 +01:00
ca8636792a
feat: use acme address for let's encrypt 2024-11-30 20:48:53 +01:00
774a896bfd
feat: we have ygg at home 2024-11-30 20:46:38 +01:00
3cc6ebdd52
chore: goodbye custom jackett 2024-11-30 20:45:51 +01:00
2c09b2e235
feat(gallifrey): enable mu 2024-11-25 22:15:28 +01:00
7b8fd07cef
feat(profiles/base): disable network-manager-wait-online because it's so anoying 2024-11-25 22:15:17 +01:00
0520bd8b06
chore(secrets): update mail pw 2024-11-25 22:10:10 +01:00
936e45db18
feat(secrets): rekey mail pw 2024-11-25 21:15:12 +01:00
77afc9ae2a
feat(home-manager/mails): use secrets for passwords 2024-11-25 21:12:29 +01:00
9e09eb8f34
fix(gallifrey): revert to kernel 6.11 2024-11-25 20:13:37 +01:00
156fcdf010
fix(snowfield): drop patches 2024-11-25 19:34:37 +01:00
f8e6c3cc8b
feat(gallifrey): add a few softwares 2024-11-25 19:19:53 +01:00
e9635ed84b
chore: update deps 2024-11-25 19:19:53 +01:00
c772e650ba
feat(modules/nix): machine's nixpkgs in nixPath 2024-11-25 19:19:53 +01:00
eb8e0c0056
feat(home-manager/mail): continue deprecation of neomutt 2024-11-25 19:19:53 +01:00
a69a3ab91a
fix(gustave/nginx): listen on ipv6 port 80 for let's encrypt 2024-11-25 19:19:53 +01:00
de0beedf32
feat(home-manager/mail): deprecate neomutt 2024-11-25 19:07:04 +01:00
35ed6ca418
feat(fischer): add hledger and change emacs version 2024-11-25 19:06:42 +01:00
950a03590f
feat(fisher): join zerotier network 2024-11-25 19:06:20 +01:00
64f09be790
chore(snowfield): delete pve2.luj record 2024-11-25 19:06:01 +01:00
a78b000356
feat(lambda): init stateless uptime-kuma 2024-11-02 02:09:27 +01:00
06fe1c0cb2
chore(gallifrey): make epyc aarch64 remote builder 2024-11-02 02:08:57 +01:00
160615d4a0
feat(servers): add motd 2024-11-02 00:49:31 +01:00
41e85f9114
feat(gustave): enable fileUpload on the-lounge 2024-11-01 22:43:24 +01:00
3fb9c26b9f
chore(gustave): intro readeck 2024-11-01 22:43:02 +01:00
3343c41223
feat(gallifrey): intro backup ssd 2024-11-01 22:42:43 +01:00
82977f79ea
chore(gallifrey): drop cosmic, go back to gnome 2024-11-01 22:42:30 +01:00
fdc1b0cd19
chore(gallifrey): add .gnupg to persisted paths 2024-10-26 11:48:43 +02:00
4dd257a6ad
chore: update deps 2024-10-26 11:48:28 +02:00
1474c57bf5
fix(nginx): better handling of ssl_stapling 2024-10-26 04:18:59 +02:00
4dd8292a5b
fix: force certificate server for CA 2024-10-26 04:12:46 +02:00
714a279fc2
feat(dns,nginx): add some weird magic 2024-10-26 04:09:35 +02:00
ab03b23b45
chore(pages): cleanup module 2024-10-26 04:06:52 +02:00
0a4c2444bc
feat(home-manager/fish): add emacs integration 2024-10-26 00:16:28 +02:00
58dbafd524
chore(gallifrey): persist zotero 2024-10-23 17:53:01 +02:00
9a7ee1572b
feat(gallifrey): add spellcheck to emacs 2024-10-23 17:52:43 +02:00
35047d3322
chore: revert to default lon expression 2024-10-22 23:06:00 +02:00
e7e83d7ea9
chore(profiles/networking): add useNetworkd 2024-10-22 22:52:23 +02:00
06c3c2ffbc
chore(fischer): emacs spell checking 2024-10-22 22:52:02 +02:00
62703318a8
chore(fischer): add mu to path 2024-10-22 22:51:46 +02:00
367d9cdd8a
chore(gallifrey): move to pgtk + enable zotero 2024-10-21 20:12:30 +02:00
bdfdbc05e3
chore: drop zotero-nix 2024-10-21 17:09:27 +02:00
c702e75bee
feat(profiles/base): add nixos-firewall-tool 2024-10-21 10:32:42 +02:00
45689db6f3
chore(fischer): drop cvc5 + move to emacs-pgtk 2024-10-20 17:49:53 +02:00
02c648ce62
chore: update deps 2024-10-20 16:01:27 +02:00
1b7585cb6a
chore: update deps 2024-10-18 11:12:56 +02:00
6a395f48f6
chore: update deps 2024-10-16 22:10:25 +02:00
3cb8d27e5e
feat(pages): add proxy protocol 2024-10-16 22:05:27 +02:00
a704658c03
chore(gallifrey): add epyc to know hosts 2024-10-16 22:04:16 +02:00
a8a0fc249d
feat(gustave/borg): add galifrey's key 2024-10-13 16:28:34 +02:00
82448478f9
chore(eval): add ips to all machines 2024-10-13 13:33:11 +02:00
4babc679b9
fix(pages): actually add the secret 2024-10-13 13:00:11 +02:00
fea37275b5
Revert "chore(home-manager/kitty): fix eval warning"
This reverts commit bc301fad04.
It breaks evaluation of 24.05 machines
2024-10-13 12:54:07 +02:00
fad633980d
chore(akhaten): fix eval warning 2024-10-13 12:45:47 +02:00
bc301fad04
chore(home-manager/kitty): fix eval warning 2024-10-13 12:44:08 +02:00
da3a6e1c9e
chore(fischer): fix eval warning 2024-10-13 12:41:38 +02:00
5d94a767cc
fix(gustave): fix pages build 2024-10-13 12:40:27 +02:00
e925bbc8a4
chore(gallifrey): fix eval warning 2024-10-13 12:39:34 +02:00
50b68c3b94
chore(nuage): fix eval warning 2024-10-13 12:39:06 +02:00
9f46c4d315
chore(gallifrey): fix eval warning 2024-10-13 12:37:49 +02:00
2517047734
feat(nuage): add collabora 2024-10-13 12:36:39 +02:00
89d4209200
fix(gallifrey): add empty ip to calm down CI 2024-10-13 12:36:30 +02:00
3c1b8a541e
feat(keys): add gallifrey to all machines 2024-10-13 12:36:15 +02:00
1191da10fe
chore(pages): move to git.luj.fr 2024-10-13 12:35:56 +02:00
d811ab8ac1
chore(deployment): use ips instead of fqdn 2024-10-13 12:34:10 +02:00
1c8f6134f3
feat(gustave): activate pages 2024-10-13 12:33:08 +02:00
82ab72f102
feat(pages): clean the module 2024-10-13 12:32:43 +02:00
5a822dee2a
chore(fish): add alias to nom 2024-10-13 12:25:45 +02:00
aaf599a534
chore: add some more saved folders 2024-10-13 12:24:41 +02:00
353e034028
chore: update deps 2024-10-13 12:24:15 +02:00
9184e51519
chore: luj-static is handled by gandi 2024-10-11 12:10:05 +02:00
e7d0ecfd95
chore: update deps 2024-10-11 11:19:12 +02:00
7008aaf425
chore: sunset enigma 2024-10-10 22:11:35 +02:00
7225c90bb1
feat: several changes for gallifrey 2024-10-10 22:11:21 +02:00
0dc51c616f
chore: update deps 2024-10-10 22:09:13 +02:00
f171f77178
feat: init sound profile 2024-09-30 18:28:51 +02:00
eb6b0a3cee chore: add folders to impermanence 2024-09-30 12:29:38 +02:00
c94b113d47 fix: fix a few typos 2024-09-30 10:46:41 +02:00
1ef9dd84c9 feat: activate impermanence on gallifrey 2024-09-30 10:43:01 +02:00
cd96488c46
feat: init gallifrey 2024-09-30 09:36:09 +02:00
0431f504ec
chore: secret rekeying 2024-09-29 23:22:39 +02:00
f73ab9c300
chore: add dns records for agorakit 2024-09-27 18:43:23 +02:00
ca67ccb88d
chore: update deps 2024-09-17 19:44:53 +02:00
37e8f51830
chore: drop npins from shell 2024-09-10 15:15:28 +02:00
344a6bb3a0
chore: drop useless script 2024-09-10 15:15:06 +02:00
42d3a9b865
chore: dropping unecessary patches 2024-09-10 15:13:48 +02:00
1fdabd517c
chore: fix arkheon import 2024-09-10 15:11:56 +02:00
05062b47ce
chore: drop mailserver module 2024-09-10 15:09:43 +02:00
15a5e616c5
feat: move from npins to lon 2024-09-10 15:07:35 +02:00
fd901ced40
chore: decomission lisa 2024-09-10 14:27:52 +02:00
f3beaeecb3
chore: update mail config 2024-09-05 12:49:14 +02:00
6b63741231
chore: fix ns on malka.sh to work with ovh 2024-09-05 10:55:25 +02:00
292e125ec0
chore: enable hedgedoc on akhaten 2024-09-05 10:55:09 +02:00
6ac3057257
chore: disable mailserver on lisa 2024-09-05 10:54:54 +02:00
c6a28d1f06
chore: disable hedgedoc on lisa 2024-09-05 10:54:27 +02:00
3281971b20
chore: remove tunnel on lisa 2024-09-04 17:53:50 +02:00
caae02a4fd
fix: fix mediaserver uid 2024-09-04 15:30:59 +02:00
31b71b112f
chore: add malka.sh mail records 2024-09-04 15:30:36 +02:00
d10dc9f3aa
feat: add malka.sh zone to dns 2024-09-04 15:30:24 +02:00
74f98b7f03
feat: move vpn ip from lisa to akhaten 2024-09-04 15:30:04 +02:00
23fc74efa6
feat: init backup module 2024-09-03 22:03:09 +02:00
71693eaa99
chore: forgejo switch to unstable 2024-09-02 18:24:46 +02:00
26ffc59c65
chore: remove bottom from gustave 2024-09-02 16:43:33 +02:00
2dc55d2a94
feat: setup arkheon 2024-09-02 16:42:35 +02:00
0ae1917081
fix: add patch for swaylock-effects 2024-09-02 14:25:52 +02:00
4e94df02ac
chore: add patch to fix hyprpaper 2024-09-02 14:21:25 +02:00
99d4106422
chore: use patched hyprland 2024-09-02 14:16:36 +02:00
948c6669a6
fix: fix patch hash 2024-09-02 14:12:59 +02:00
e96ab11f1a
fix: add patch for xdg-desktop-portal-hyperland 2024-09-02 14:11:58 +02:00
2ecd9e6149
chore: update deps 2024-09-02 12:47:41 +02:00
cd5671c4ea
chore: add pve subdomains manually 2024-09-02 12:13:56 +02:00
0285ffb0d0
chore: enable tsts on stalwart 2024-08-26 10:36:34 +02:00
00d892d003
chore: add dns records for mail server 2024-08-26 00:55:18 +02:00
3e2971341a
chore: redeploy stalwart with hidden creds 2024-08-25 19:28:56 +02:00
45d66e0a09
feat(dns): add dns records for stalwart 2024-08-25 12:14:11 +02:00
80facd9f12
chore: cosmetic changes 2024-08-25 12:13:55 +02:00
5424d9f994
feat(dns): add defaults to each zone through the module system 2024-08-25 12:13:35 +02:00
55a023f057
chore: move mkMachine in lib 2024-08-24 22:45:30 +02:00
76527700dc
fix: remove nixfmt patch 2024-08-24 22:45:18 +02:00
435963ca64
fix: remove zotero from fischer 2024-08-24 22:33:52 +02:00
31a1771726
chore: reduce number of dnsLib eval 2024-08-24 22:27:59 +02:00
58ae074dfd
chore: update deps 2024-08-24 20:41:55 +02:00
ee48805c66
chore(enigma): various cleanups 2024-08-24 20:41:48 +02:00
6db6c98e9e
fix: fix wallpaper not existing anymore 2024-08-24 20:25:08 +02:00
9d6a1d2505
chore(akhaten): remove useless targetHost 2024-08-24 16:06:14 +02:00
de7dd4c370
chore: add ns A/AAAA records to all zones 2024-08-24 16:00:12 +02:00
02714b8a74
chore: add router to snowfield 2024-08-24 15:59:10 +02:00
fdd89601ce
feat(dns): communicate with router through vpn ipv6 2024-08-24 15:00:51 +02:00
23bbac6408
feat(dns): add A/AAAA records of name servers 2024-08-24 15:00:28 +02:00
27031b0297
feat(akhaten): allow TCP connexions to DNS 2024-08-24 14:59:53 +02:00
d802fc961f
feat: enable ipv6 for akhaten 2024-08-24 02:12:38 +02:00
757386bd11
feat: generalize simple network profile 2024-08-24 01:03:39 +02:00
5bdec2270f
feat(dns): add router secondary 2024-08-24 00:55:55 +02:00
e32cc13320
feat(profiles/base): add internal record for each machine 2024-08-24 00:55:40 +02:00
0a0f3ad1eb
feat(akhaten): enable impermanence 2024-08-21 23:27:25 +02:00
a8a2c80d52
chore: update disko 2024-08-21 23:27:03 +02:00
ca342f9aff
feat(profiles/base): add coma/command-not-found 2024-08-21 23:26:51 +02:00
0a97492051
feat(deployment): make all options defaults 2024-08-21 23:26:10 +02:00
7c30e67f8f
feat: init pages server 2024-08-21 15:50:46 +02:00
2393308481
chore: remove x2100 2024-08-14 22:22:40 +02:00
b096882d4a
chore: add vm-simple-network to all eligible machines 2024-08-14 22:21:07 +02:00
b8db804e38
feat: intro vm-simple-network profile 2024-08-14 22:13:13 +02:00
ce1a607c10
chore: remove useless users imports 2024-08-14 21:09:54 +02:00
99ef9958a4
chore: remove useless base.nix 2024-08-14 21:07:15 +02:00
7916dab911
feat: intro profiles mechanism 2024-08-14 20:23:21 +02:00
9a8cded846
feat: generalize dns serial script to all zones 2024-08-14 17:16:29 +02:00
b08966128c
fix: fix some subdomains not being generated 2024-08-14 16:20:46 +02:00
6622e0e137
fix: fix records from non local machines 2024-08-14 16:09:14 +02:00
06b2ba6c20
fix: remove sound option from x2100 2024-08-14 14:58:35 +02:00
04bb06f49d
feat: add records from non local machines 2024-08-14 14:58:06 +02:00
58a3dd5088
feat: add non local machines to snowfield 2024-08-14 13:54:13 +02:00
9407534cd3
chore: decomission luj lib 2024-08-14 13:32:07 +02:00
43f11e25d4
feat: implement notifications from gustave->akhaten 2024-08-14 13:15:29 +02:00
78e90e159e
feat: deploy nsd on akhaten 2024-08-14 13:13:52 +02:00
3f2bcbde15
fix: fix colmena with meta module 2024-08-14 13:12:49 +02:00
c24140d54c
chore: change provideXFR for gustave 2024-08-13 20:41:00 +02:00
f045596fc9
chore: delete useless machines 2024-08-13 20:29:02 +02:00
6b0f60d854
chore: update dns.nix 2024-08-13 20:26:31 +02:00
c6c8197af9
chore: disable records for default vHost 2024-08-13 20:21:40 +02:00
fdb63444b0
feat: add NS records to zones 2024-08-13 20:21:19 +02:00
1db71f86db
feat: add dns module 2024-08-12 18:15:30 +02:00
0ba90fdb2b
chore: add dns.nix 2024-08-12 18:13:50 +02:00
73ff334895
feat: expose nixosConfigurations to machines 2024-08-12 18:13:37 +02:00
d7e0225487
feat: add dns lib 2024-08-12 18:12:37 +02:00
224a0dcd24
chore: rewrite ips meta 2024-08-12 18:12:00 +02:00
cc59392716
chore: adapt machine creation to meta module 2024-08-10 17:59:19 +02:00
9e9a7027e9
chore: adapt ssh-client to meta module 2024-08-10 17:59:02 +02:00
976e422038
feat: use meta module in lib 2024-08-10 17:57:46 +02:00
c451c08f94
chore: use meta module 2024-08-10 17:56:30 +02:00
b6480b72ec
feat: add meta module 2024-08-10 17:56:12 +02:00
c4c476f56e
feat: init codeberg-pages 2024-08-09 17:03:10 +02:00
fcf3a99814
chore: update nixpkgs 2024-08-09 17:01:14 +02:00
04aba6d9af
chore: firefox-esr -> firefox 2024-08-09 17:01:05 +02:00
69c1ca23ba
chore: add correct portal to fischer 2024-08-09 17:00:53 +02:00
77a2d02d9e
feat: add forgejo runner on tower 2024-08-03 11:06:14 +02:00
f9aff38fbd
chore: lix on tower 2024-08-03 11:05:58 +02:00
45793350bc
chore: remove attic-exec cache 2024-08-03 10:58:23 +02:00
385518be3d
chore: update akhaten vpn ip 2024-08-02 16:17:11 +02:00
de6593bdd5
chore: rename lisanew 2024-08-01 20:25:37 +02:00
5fde1c7a86
chore: update buildbot-nix 2024-07-21 10:59:24 +02:00
df499e5faa
chore: remove albert 2024-07-13 00:23:53 +02:00
085e795c08
fix: silence warning for adwaita-icon 2024-07-13 00:07:09 +02:00
0d5e354227
chore: silence warnings in shell.nix 2024-07-12 16:41:22 +02:00
c783d1123a
chore: improve shells 2024-07-12 16:31:09 +02:00
f53336f887
chore: silence git-hooks nixfmt warning 2024-07-12 15:50:49 +02:00
661bc1561a
chore: update deps 2024-07-12 15:50:09 +02:00
af7c1cf270
chore: add vpn ip for lisanew 2024-07-11 00:57:45 +02:00
1e0e602bb7
fix: fix hyprland on enigma 2024-07-10 23:36:06 +02:00
1a904cc93c
chore: init lisanew 2024-07-10 00:36:37 +02:00
a238cf6014
feat: move to firefox non esr 2024-07-10 00:36:21 +02:00
5a56d5b5f9
chore: add rbw to shell 2024-07-10 00:36:02 +02:00
e3328b0ed9
chore: rekey secrets 2024-07-10 00:12:19 +02:00
75f906c36c
chore: add lisanew to secrets 2024-07-10 00:11:16 +02:00
5e6cd87295
fix: fix routes on gustave 2024-07-08 16:45:48 +02:00
b9cd4f8b16
chore: openssh on port 22 too for gustave bc of git server 2024-07-08 11:22:27 +02:00
3ebd408ea2
chore: add some forgejo settings 2024-07-06 18:40:12 +02:00
f1b0e2de51
feat: enable forgejo 2024-07-04 22:25:24 +02:00
2bb3f909ac
fix: fix dirty label 2024-07-04 21:52:10 +02:00
6e8d03a4f4
feat: more semantic system labels 2024-07-04 21:30:05 +02:00
bea05a680a
chore: update deps 2024-07-04 21:29:47 +02:00
259643a4c5
chore: fix more eval warnings 2024-07-01 21:53:52 +02:00
281a91d7b3
chore: fix a few eval warnings 2024-06-28 11:16:58 +02:00
7fa62866b2
chore: update deps 2024-06-28 10:55:58 +02:00
2d34f05d3f
chore: switch lambda to systemd-networkd 2024-06-25 16:14:08 +02:00
1149e763b7
chore: nextcloud27 -> nextcloud29 2024-06-25 15:25:04 +02:00
63f2ed0272
chore: use nixpkgs's attic-client 2024-06-25 15:24:50 +02:00
d0c6aa3b3d
chore: we don't need neomutt, we have neomutt at home 2024-06-25 10:15:10 +02:00
46a8a443dc
chore: use upstream lix 2024-06-25 10:12:15 +02:00
2fc092f395
chore: npins update and move away from building lix 2024-06-25 10:11:59 +02:00
519dacccc1
chore: add wireguard tunnel for camille 2024-06-25 10:11:17 +02:00
e7b7a6586e
chore: add camille as buildbot owner 2024-06-25 10:10:23 +02:00
8c9d0770d9
fix: ensurePermissions -> ensureDBOwnership 2024-06-25 10:10:01 +02:00
c2de65b0dc
fix: return to a version of neomutt that starts 2024-06-25 10:07:04 +02:00
c4ea87531d
chore: add proxmox-nixos domain 2024-06-24 13:06:04 +02:00
2daf7617ea
chore: update deps 2024-06-18 10:21:51 +02:00
fc99bdfd7d
chore: rekey secrets 2024-06-12 12:25:59 +02:00
42d78a2827
chore: rekey secrets 2024-06-12 12:19:21 +02:00
87d3ee174c
chore: update everyone to 24.11 2024-06-01 12:39:34 +02:00
68d8b75ba3
chore: nuage nextcloud 27 2024-05-27 23:44:30 +02:00
e490261583
fix: add arch to nuage 2024-05-27 23:43:39 +02:00
1f3e2c1b84
feat: nuage init 2024-05-27 23:01:33 +02:00
2855f65fee
chore: rekey secrets 2024-05-27 23:00:24 +02:00
e3a1cc96fe
chore: step-cli for everyone 2024-05-27 22:58:09 +02:00
39f69745ed
feat: intro nuage 2024-05-27 22:56:16 +02:00
c3992be32c
chore: clean enigma 2024-05-26 20:37:28 +02:00
0cd5248dc4
chore: filter configurations through colmena tags 2024-05-26 20:24:00 +02:00
216f797cdb
chore: add vpn addresses for core-data 2024-05-26 20:07:02 +02:00
d7510ca38e
chore: rekey secrets 2024-05-26 20:03:00 +02:00
b5629fb10b
chore: clean machines 2024-05-26 19:32:00 +02:00
12f444efaa
chore: clean base config 2024-05-26 17:20:40 +02:00
b897a0e1da
chore: persist data directories for mediaserver 2024-05-25 19:34:12 +02:00
4adb0448c5
chore: persist /srv on gustave 2024-05-25 19:33:42 +02:00
d98e6c98b9
feat: wireguard tunnel from gustave to lisac 2024-05-25 19:25:49 +02:00
0e89853f1b
chore: add default route with metric for gustave 2024-05-25 19:24:14 +02:00
ed2d612b5e
chore: rework lisa's networking to use networkd 2024-05-25 19:11:23 +02:00
c4c4b8db9e
chore: vendor jackett package 2024-05-25 19:09:30 +02:00
f3f3449329
feat: choose interface for deluge 2024-05-25 19:07:53 +02:00
4f6593a2a1
chore: add kitty to all machines 2024-05-25 18:48:44 +02:00
c10749db95
chore: static ip for tower 2024-05-25 17:50:22 +02:00
7529e12268
chore: delete useless secret 2024-05-25 17:49:07 +02:00
ca51d8b9bf
chore: use most updated package for jackett, sonarr, radarr 2024-05-25 17:48:51 +02:00
11872885e0
chore: vendor jackett package 2024-05-25 17:48:08 +02:00
87e7f876a7
chore: change deluge datadir 2024-05-24 17:32:02 +02:00
a8256677af
chore: delete unnecessary neworking config on gustave 2024-05-24 09:50:41 +02:00
08a471a209
chore: rekey secrets 2024-05-23 20:21:16 +02:00
226436e447
chore: move mediaserver to gustave 2024-05-23 19:27:59 +02:00
f352c83f68
chore: reformat jackett 2024-05-23 18:35:14 +02:00
6a7c0d54e9
chore: reformat sonarr 2024-05-23 18:35:05 +02:00
0252d2c28c
chore: reformat radarr 2024-05-23 18:33:18 +02:00
687c47b07a
chore: delete sops.yaml 2024-05-23 01:55:39 +02:00
3dd3d5854f
Revert "fix: badge not appearing"
This reverts commit 1b0037522c.
2024-05-23 01:50:02 +02:00
1b0037522c
fix: badge not appearing 2024-05-23 00:28:09 +02:00
280b5e6ca6
chore: migrate homepage on gustave 2024-05-23 00:20:28 +02:00
9451d0b4f8
chore: disable homer 2024-05-23 00:20:13 +02:00
ae83aaadf0
feat: enable badges on buildbot 2024-05-22 23:31:15 +02:00
3fe593b539
fix: repair badges 2024-05-22 23:28:22 +02:00
e0f300b2bd
fix: rekey secrets for lambda 2024-05-22 17:07:33 +02:00
dac68219e9
fix: gustave preserved paths 2024-05-22 16:33:09 +02:00
b4c52bfb1d
feat: add gustave to tailscale 2024-05-22 16:32:46 +02:00
d859c2d0a9
feat: move irc away from lisa 2024-05-22 15:13:15 +02:00
da5f1f82fd
feat: set ipv6 gustave 2024-05-22 15:08:31 +02:00
358a8fe9c2
feat: persist important things on gustave 2024-05-22 15:03:22 +02:00
cf03adaf79
feat: enable tailscale on gustave 2024-05-22 15:03:02 +02:00
38bf8ef4f9
feat: move irc to gustave 2024-05-22 15:02:00 +02:00
4e88f54b28
chore: conform buildbot to option rename 2024-05-22 14:49:17 +02:00
b2bab469b6
chore: enable fish on fischer 2024-05-22 14:32:51 +02:00
b417ffc98c
fix: ficher now deployable with colmena 2024-05-22 13:46:00 +02:00
21ccd0710a
chore: move fischer to hyprland 2024-05-22 13:45:40 +02:00
0be9e9f666
chore: rekeyed all secrets for fischer 2024-05-22 13:18:01 +02:00
d7c617b55e
chore: disable syncthing 2024-05-21 22:49:37 +02:00
744c82faba
chore: add 2 TODOs 2024-05-21 22:46:39 +02:00
80f41eddcd
chore: add x2100 rootjwe 2024-05-21 22:44:52 +02:00
c9b420171e
fix: fix lix build on aarch64-linux 2024-05-21 22:36:19 +02:00
5893ff4b80
chore: drop unused share.nix 2024-05-21 22:21:29 +02:00
56b016d2b9
fix: temp allow keycloak 23.0.6 2024-05-21 22:14:33 +02:00
23b07ca607
feat: move x2100 to hyprland 2024-05-21 22:07:05 +02:00
bd330c19c6
feat: move x2100 to hyprland 2024-05-21 22:05:14 +02:00
a4be035fff
fix: pin linux to 6.8 2024-05-21 22:04:01 +02:00
7052687808
feat: hash-collection -> lila 2024-05-21 22:03:36 +02:00
048edc3aa1
feat: move waybar to hyprland 2024-05-21 22:03:09 +02:00
e48abafe43
feat: update npins 2024-05-21 22:02:36 +02:00
89ce4800d8
feat: rekey all secrets to include tower 2024-05-21 18:06:25 +02:00
369d16bcd9
fix: add tower to all secrets 2024-05-21 17:59:44 +02:00
4d09df25d3
feat: add secrets for x2100 2024-05-21 14:20:23 +02:00
1220ee4069
chore: nix-hash-collection -> lila 2024-05-21 13:41:51 +02:00
9f20d8a79c
chore: remove unused python source code 2024-05-19 20:29:27 +02:00
ab88939664
chore: delete system-wide colmena 2024-05-18 23:34:15 +02:00
b7a20871df
chore: npins update 2024-05-18 22:50:44 +02:00
d5486c71c4
fix: fix buildbot failing on rm 2024-05-18 22:37:26 +02:00
38ebd2774c
chore: update buildbot-nix 2024-05-18 22:14:22 +02:00
ed7df6b9c3
feat: add photos to tower 2024-05-18 22:04:14 +02:00
1034619dd8
fix: fix discrepencies with colmena eval 2024-05-18 21:53:23 +02:00
a02b992cfd
feat: add photos.julienmalka.me 2024-05-12 19:01:58 +02:00
7d0ea9458b
Revert "fix: don't use flake compat for hash-collection"
This reverts commit 3202bd3845.
2024-05-12 18:59:37 +02:00
3202bd3845
fix: don't use flake compat for hash-collection 2024-05-12 18:58:16 +02:00
0540621174
fix: explicit system for nixpkgs 2024-05-12 18:52:54 +02:00
eab2d71e07
chore: format deps 2024-05-09 01:32:57 +02:00
dfa801b439
fix: disable cachix 2024-05-09 01:31:14 +02:00
5ef7538f60
chore: reactivate secrets 2024-05-09 01:30:58 +02:00
80b51a0a70
feat: init gustave 2024-05-09 00:52:59 +02:00
7640a30665
chore: add impermanence module 2024-05-09 00:52:59 +02:00
2c645aa0af
chore: sunset transmission module 2024-05-09 00:52:59 +02:00
8ee88f922c
feat: move to agenix secrets 2024-05-09 00:52:59 +02:00
e392ca9001
chore: deactivate navidrome 2024-05-09 00:52:59 +02:00
5d3bed4c07
chore: remove sops executable from home 2024-05-09 00:52:59 +02:00
90be57aa21
chore: convert all secrets to agenix 2024-05-09 00:52:59 +02:00
4bee4a08ad
chore: delete sops-nix module 2024-05-09 00:52:59 +02:00
b6e4af674f
chore: remove sops-nix input 2024-05-09 00:52:59 +02:00
951367c238
feat: add hash-collction to enigma (2) 2024-05-08 09:43:03 +02:00
11f2cca77d
feat: add hash-collection to enigma 2024-05-08 09:42:25 +02:00
6cb81666f2
chore: format mkmachine 2024-05-01 19:12:07 +02:00
517890762b
chore: remove hardcoded nix version 2024-05-01 19:10:29 +02:00
864b572dbf
chore: removed merged patches 2024-05-01 19:09:22 +02:00
eff4fce6e2
fix: move enigma to stable to fix drivers 2024-05-01 19:08:45 +02:00
32b92ec71d
feat: move neovim fmt to nixfmt 2024-05-01 19:07:09 +02:00
65bf3fc0a8
fix: remove nodeNixpkgs to have equivalent vanilla/colmena eval 2024-05-01 19:05:52 +02:00
a2dc334362
chore: format default.nix 2024-05-01 18:08:34 +02:00
b28cd9d55a
chore: update deps 2024-05-01 18:06:35 +02:00
f9a85cad68
chore: delete unused secret 2024-04-08 00:02:36 +02:00
6a006bf2e7
fix: fix path to ssh folder to add in persistent 2024-04-07 14:35:02 +02:00
d174781133
feat: add gitignore 2024-04-07 14:34:04 +02:00
ec1fa9b3b8
feat: add pre-commit-hooks 2024-04-07 14:33:13 +02:00
b7f553f3ec
fix: fix deps/default.nix style 2024-04-07 14:32:46 +02:00
941dc4fc23
add ssh stuff to persistent 2024-04-07 11:52:35 +02:00
32e78a8423
bootstrap script in shell 2024-04-06 02:04:56 +02:00
c697eaa7e9
improve bootstrap-machine script 2024-04-06 01:46:35 +02:00
3ee42a6bb1
add agenix to shell 2024-04-05 19:29:45 +02:00
316acea052
intro agenix 2024-04-05 19:27:53 +02:00
eaf7484398
go back to upstream nixos-anywhere 2024-04-05 19:24:04 +02:00
eff7afdc73
init bootstrap script 2024-04-05 19:20:10 +02:00
8552672d8c
move to unstable.pinentry-tty 2024-04-05 17:11:36 +02:00
f0eb70e14c
add pass to tower 2024-04-05 17:11:22 +02:00
398a1f81a3
Move to pinentry-tty 2024-04-05 17:08:00 +02:00
2090001410
put all unstable machines under patched 2024-04-05 16:13:37 +02:00
1defc14087
pass name to mkmachine 2024-04-05 15:38:49 +02:00
3e061632fc
remove wrong name 2024-04-05 15:37:25 +02:00
4c798d4f37
automatic machine name 2024-04-05 15:37:19 +02:00
d7c6df94b0
add rbw module 2024-04-05 15:34:34 +02:00
9f00915fcc
create gustave 2024-04-05 00:34:14 +02:00
0a355030ec
update deps 2024-04-05 00:33:59 +02:00
7b4ef33de9
add patch to fix step-cli 2024-04-05 00:33:53 +02:00
7258aa454c
add envrc 2024-04-05 00:33:43 +02:00
0ecb4454de
add shell 2024-04-05 00:33:26 +02:00
2da2c4a8ff
fish in user 2024-04-04 18:08:12 +02:00
e190a4fd25
move away from zsh 2024-04-04 17:39:49 +02:00
e501580689
move to fish 2024-04-04 17:37:40 +02:00
197b8a3dc0
activate auto gc on lambda 2024-04-04 17:37:32 +02:00
d1b066a595
fix wrong arch 2024-04-04 02:07:38 +02:00
f3a08fd551
update deps 2024-04-04 02:07:17 +02:00
e5bc93b189
drop wiki dns record 2024-04-01 13:38:09 +02:00
caf3591656
introduce patches 2024-04-01 01:28:46 +02:00
0f33efd0fc
update certificateScheme option 2024-04-01 00:35:42 +02:00
e6c63e3edf
fix packages eval 2024-04-01 00:28:03 +02:00
ad054016ea
fix home-manager version 2024-03-31 23:45:33 +02:00
1f9da78444
fix lanzaboote 2024-03-31 23:38:12 +02:00
6d5e1dc0f2
add zotero-nix 2024-03-31 23:32:21 +02:00
e12ca7d652
npins update 2024-03-31 22:00:34 +02:00
75eed22a91
convert colmena input 2024-03-31 21:30:25 +02:00
60db0d8369
move out of flake 2024-03-31 21:23:04 +02:00
6f4cea8ac3
remove patched nixpkgs 2024-03-31 14:09:17 +02:00
57761c20e1
drop zotero-nix 2024-03-31 12:41:13 +02:00
816cf574b7
drop hash collection 2024-03-31 12:18:08 +02:00
463ceb2568
remove nur 2024-03-31 12:11:09 +02:00
7afb5e7847
remove onagre: broken 2024-03-31 00:43:13 +01:00
167394d54d
swaylock is back 2024-03-30 23:30:43 +01:00
294ddb981a
fix warning 2024-03-30 23:19:34 +01:00
7ef3377d82
fix eval 2024-03-30 23:19:25 +01:00
1c1b0f6473
remove spotify-tui as unused 2024-03-30 22:53:48 +01:00
18454efeae
switch enigma to unstable 2024-03-30 22:53:35 +01:00
28673ec4a6
simplify config 2024-03-30 21:52:56 +01:00
e9e74ec14c
all monitors get the same bg in sway 2024-03-30 21:43:28 +01:00
cc5eb4946c
refactor user import 2024-03-30 21:36:12 +01:00
76487f4e42
remove useless secrets 2024-03-30 21:13:50 +01:00
401a325221
drop unused secrets 2024-03-30 21:08:41 +01:00
8510811c07
delete eol modules 2024-03-30 21:05:32 +01:00
97ee21d864
remove useless group for julien 2024-03-30 21:03:12 +01:00
f94bcc2646
remove status user 2024-03-30 21:01:22 +01:00
07fc454ac0
remove unused arg 2024-03-30 20:58:27 +01:00
56b805c702
delete unmaintained packages 2024-03-30 20:58:16 +01:00
44b3f14d48
minor code cleaning 2024-03-30 20:58:04 +01:00
fe8bd69ebe
dunst always shows notifications on first monitor 2024-03-30 20:55:12 +01:00
021928e760
statix fixes 2024-03-30 20:21:59 +01:00
0ebde53e83
removed dead code 2024-03-30 20:18:12 +01:00
8c1f06fda1
delete unused code 2024-03-30 20:08:03 +01:00
3272efc40a
move to hm dunst module 2024-03-30 19:56:37 +01:00
8841ea0167
remove unstable-plus-patches 2024-03-30 13:26:58 +01:00
6fe8b91c2b
remove doom emacs 2024-03-30 13:02:19 +01:00
0ba3de6b42
update hyprland 2024-03-30 13:02:12 +01:00
15820f4120
remove linkal/nixd/emacs inputs 2024-03-30 13:00:25 +01:00
bb5f12ab70
add adb to enigma 2024-03-30 12:59:42 +01:00
4e2d0f1b9c
remove linkal from lisa 2024-03-30 12:58:02 +01:00
46e42d35e5
move to emacs29 2024-03-30 12:57:40 +01:00
443a1b8115
remove doom emacs 2024-03-30 12:57:27 +01:00
d999dc1f20
update user julien 2024-03-30 12:57:16 +01:00
3d137375d2
update flake 2024-03-30 12:56:30 +01:00
97abc1c327
x2100 changes 2024-03-30 12:30:25 +01:00
9847745e50
sway module for fisher 2024-03-30 12:09:15 +01:00
6018b615cc
update core data 2024-03-30 12:09:03 +01:00
1981dc3113
added bluetooth 2024-03-30 12:08:34 +01:00
e476a5d0b2
update few packages 2024-03-30 12:08:01 +01:00
afcd6493a3
fischer: return to unstable 2024-03-30 12:04:59 +01:00
16225566a3
update flake 2024-03-02 17:33:00 +01:00
42424bb520
remove hyperpaper flake 2024-03-02 17:30:35 +01:00
8a4991c7a4
various changes on enigma 2024-03-02 17:30:35 +01:00
369edecb14
add julien to pipewire group 2024-03-02 17:30:35 +01:00
1562c6f0f8
update fischer 2024-02-13 10:49:25 +01:00
d1baa526b9
x2100: updates 2024-02-12 21:23:51 +01:00
966d7f3c17
x2100: update home 2024-02-12 21:23:41 +01:00
a53ffaea44
add machine 2024-02-12 11:33:21 +01:00
f628422bb6
add signal to enigma 2024-01-19 18:14:04 +01:00
2294b48ca3
update enigma 2023-12-26 16:50:42 +01:00
1de7903ae5
update enigma vpn ip 2023-12-26 16:48:13 +01:00
ffa42839e7
update ipv6 core data 2023-12-23 15:25:37 +01:00
27d6b3500c
init core-data 2023-12-23 15:18:31 +01:00
a068ae2cdb
added roboto font 2023-12-23 12:10:32 +01:00
a149ba157d
emacs change to pgtk 2023-12-06 10:47:40 +01:00
82c820b086
update x2100 2023-12-06 10:41:44 +01:00
169b288244
rework home fischer 2023-11-28 14:26:41 +01:00
0e370b033a
kitty -> alacritty 2023-11-28 14:26:01 +01:00
703cf2cfd9
remove xserver to fischer 2023-11-28 14:25:50 +01:00
b9364de5d0
update flake lock 2023-11-28 13:29:05 +01:00
037cd6a868
goodbye chromium 2023-11-28 13:26:35 +01:00
75012b74c7
remove xserver 2023-11-28 13:26:34 +01:00
0d76df519f
add nur 2023-11-28 13:26:34 +01:00
ceb2af4590
upgrade waybar theme 2023-11-28 13:26:27 +01:00
27caa59e34
upgrade sway config 2023-11-28 13:26:27 +01:00
92b6f840bb
upgrade kitty theme 2023-11-28 13:26:27 +01:00
9a707302c3
create firefox module 2023-11-28 13:26:27 +01:00
1541d64080
x2100: updates 2023-11-28 13:26:03 +01:00
edbbcf73d0
bcachefs-kernel: go with unstable version 2023-11-28 13:26:03 +01:00
5eefeecfcf
sway: update module 2023-11-28 13:24:12 +01:00
653ad040c7
x2100: switch to unstable 2023-11-28 13:24:12 +01:00
dc1cd80d4e
activate zsh on all desktops 2023-11-27 15:02:47 +01:00
53168b487c
emacs: enable on all graphical machines 2023-11-27 13:29:21 +01:00
3f3142cc88
fix eval error 2023-11-27 12:17:51 +01:00
39c9ff78b6
update flake lock 2023-11-27 12:15:28 +01:00
1ba978f32f
switch to out of tree zotero 2023-11-27 12:13:56 +01:00
7726937c76
flake update 2023-11-26 17:12:26 +01:00
5551c9b5b8
added aarch64 jobs to buildbot 2023-11-26 13:37:38 +01:00
de96d22232
removed lambda as a remote builder 2023-11-26 13:37:27 +01:00
97250c66cc
fix worker count buildbot 2023-11-26 00:20:38 +01:00
714248f86a
update flake lock 2023-11-25 23:57:05 +01:00
b47d3d483b
Update README.md 2023-11-25 23:52:13 +01:00
2e59c43967
flake lock update 2023-11-25 23:49:42 +01:00
fb88e58aa3
buildbot-nix: switch to fork 2023-11-25 23:46:27 +01:00
9452fc92ae
enigma: updates 2023-11-25 23:27:12 +01:00
54f17f57c0
Update README.md 2023-11-24 22:18:34 +01:00
11d94f8f4d
revert unfortunate rename 2023-11-24 22:08:46 +01:00
88005ad291
silence some eval warning 2023-11-24 22:07:16 +01:00
9dd214a956
update unstable-with-patches 2023-11-24 21:45:25 +01:00
8c77040001
remove patches 2023-11-24 21:37:18 +01:00
211ddd0761
fix eval error on x2100 2023-11-24 21:28:55 +01:00
173b49592c
update flake lock 2023-11-24 21:18:15 +01:00
f0123c538b
update home manager release 2023-11-24 17:57:45 +01:00
2f79fd7baa
update flake lock 2023-11-24 17:49:58 +01:00
5521e1d94a
lets do updates 2023-11-24 17:44:30 +01:00
57c0cc07b8
buildbot: update 2023-11-24 17:40:18 +01:00
d342bf7d50
test 2023-11-24 17:18:06 +01:00
54a11a17ae
buildbot: update workers 2023-11-24 17:13:29 +01:00
b3165f41ad
fischer: disable tlp 2023-11-24 17:00:26 +01:00
dc47424a2f
buildbot: update 2023-11-24 16:55:20 +01:00
e6552380fc
tower: switch to unstable 2023-11-24 16:55:04 +01:00
556cdf0956
zsh on tower 2023-11-22 18:19:52 +01:00
1114f77bc9
Merge branch 'main' of github.com:JulienMalka/nix-config 2023-11-22 18:13:33 +01:00
f10f4ae7fc
tower: init syncthing 2023-11-22 18:13:28 +01:00
1174098be7
machines: telecom -> fischer 2023-11-22 18:11:16 +01:00
edc755ef13
mails: notifications + waybar 2023-11-22 18:10:35 +01:00
adefc610e9
telecom: init syncthings 2023-11-22 18:10:14 +01:00
de15bd0f10
improved git config 2023-11-22 18:09:39 +01:00
0f869ded2d
add dunst theme 2023-11-22 18:09:30 +01:00
1d1bfd4336
change shell to zsh 2023-11-22 18:09:11 +01:00
9937d9cdb3
git: more sensible config 2023-11-21 13:56:43 +01:00
ba08007b41
print setup 2023-11-21 11:21:59 +01:00
23daeb4cca
Merge branch 'main' of github.com:JulienMalka/nix-config 2023-11-21 11:16:08 +01:00
76f9723f6a
gitlab-runner: update 2023-11-21 11:16:03 +01:00
e32c5a5545
stuff 2023-11-19 22:54:55 +01:00
05914c96ca
disable emacs config on enigma 2023-11-19 22:54:29 +01:00
fcd03fee1f
init emacs module 2023-11-19 22:53:59 +01:00
be84903ec0
add gitlab runner 2023-11-16 19:29:17 +01:00
b6e7efe2a9
remove hyprland module
remove hyprland module
2023-11-13 10:36:42 +01:00
d00e097987
remove obsidian 2023-11-13 10:36:17 +01:00
3423193957
x2100: remove hyprland 2023-11-13 10:35:53 +01:00
27a49b49bd
update flake lock 2023-11-09 10:57:04 +01:00
804b9318a0
telecom/default: update 2023-11-09 10:55:23 +01:00
c6d704b038
delete doom folder 2023-11-09 10:53:19 +01:00
58cc00b71a
telecom/home: update 2023-11-09 10:52:22 +01:00
8c35e30685
telecom/hardware: format 2023-11-09 10:52:04 +01:00
918aad537f
kitty: better config 2023-11-09 10:50:32 +01:00
3aec2a1030
mail: fix breakage 2023-11-09 10:50:22 +01:00
f835376156
sway: update config 2023-11-09 10:50:10 +01:00
07cf03e85e
waybar: fix css 2023-11-09 10:49:51 +01:00
db0327c427
update flake lock 2023-11-06 10:29:56 +01:00
c6fe821380
remove hyprland 2023-11-06 10:29:56 +01:00
04b0971e59
fix bug with font in virtual console 2023-11-06 10:29:56 +01:00
44e99fa41a
modules: delete ferretdb 2023-11-06 10:29:56 +01:00
6d98200117
enigma: nerdfont 2023-11-06 10:29:56 +01:00
5bd0aa3e2a
telecom: init 2023-11-06 10:29:56 +01:00
996e6dec50
move mkmachine in separate file 2023-11-06 10:29:14 +01:00
968b0c90bd
Activate secure boot 2023-11-02 17:23:53 +01:00
4d898e4a95
onboard telecom 2023-11-02 11:10:24 +01:00
0644f91e42
onboard telecom 2023-11-02 15:21:22 +01:00
9bbe28aab3
update ipv6 2023-10-26 15:45:04 +02:00
c99126b67e
update ipv6 2023-10-25 21:30:42 +02:00
f30142d8e5
updated ipv6 2023-10-25 17:30:14 +02:00
464849e0e2
replace to new ipv4 2023-10-25 15:39:38 +02:00
3f0851bff8
Upgrade flake lock 2023-10-16 16:11:41 +02:00
79f88e5696
Remove systemd stage 1 2023-10-16 16:11:33 +02:00
c1f7eed651
Update bcachefs tools 2023-10-16 16:11:22 +02:00
978467c86a
Update x2100 2023-10-16 12:23:07 +02:00
5a4b3af974
flaresolverr: drop 2023-10-11 18:42:40 +02:00
cdb8856b3e
Added second patch 2023-10-11 15:36:20 +02:00
b50ec1a2b2
Enable postgresql 2023-10-11 14:47:09 +02:00
4734f6c261
Flaresolverr update step 1 2023-10-11 14:45:54 +02:00
dc4dac8ba3
Machines update 2023-10-08 21:29:35 +02:00
fbe52546c0
Machines update 2023-10-08 21:12:51 +02:00
29fa60bae4
Machines update 2023-10-08 13:05:37 +02:00
eeb7a3ddbd
Update machines 2023-10-08 13:02:58 +02:00
4addf6f78b
Update uptime-kuma 2023-10-08 13:01:02 +02:00
735fdfb8bd
update machines 2023-10-08 13:01:02 +02:00
e1ded09494
Merge branch 'main' of github.com:JulienMalka/nix-config 2023-10-02 23:57:53 +02:00
ad4e9ab80c
Update ipv6 core-security 2023-10-02 23:57:42 +02:00
acdd836be3
Using upstream uptime-kuma 2023-10-02 22:53:09 +02:00
9f58456ef5
Added loginLimits 2023-10-02 22:49:24 +02:00
5be4c77240
Fixed bcachefs systemd stage 1 2023-10-02 22:40:19 +02:00
5db1f5450e
Removed nix92 input 2023-10-02 22:30:10 +02:00
535164bdb0
Remove signal patch 2023-10-02 22:28:42 +02:00
9e9f1e19b7
Delete zotero 2023-10-02 16:25:02 +02:00
70c9c62418
x2100: add bluetooth and tpm stuff 2023-10-02 15:08:40 +02:00
518e208bc3
update home x2100 2023-10-02 15:07:45 +02:00
02b75ec298
bootsrap enigma 2023-09-19 21:03:52 +02:00
60ed36a757
enigma: added jftui 2023-09-19 14:39:06 +02:00
d0efeaaaef
enigma: added epyc as remote builder 2023-09-19 14:38:52 +02:00
51af33ab7e
nixd second try 2023-09-19 14:37:53 +02:00
4fc593a88b
enigma changes 2023-09-18 15:48:18 +02:00
c276a623d1
edited kitty config 2023-09-18 15:47:54 +02:00
dac74da222
bootstrapped enigma 2023-09-17 23:29:19 +02:00
be30f5759f
enigma enroll 2023-09-17 21:27:37 +02:00
4e1ed13241
changes to x2100 2023-09-17 20:48:41 +02:00
84a0969ccb
patches 2023-09-17 20:48:41 +02:00
9f9327b7a5
home changesé 2023-09-17 20:48:41 +02:00
655ac53bfd
added patched nixpkgs 2023-09-17 20:48:41 +02:00
ab66b30a82
removed master url 2023-09-17 20:48:41 +02:00
36fe903eae
removed master url 2023-09-17 20:48:41 +02:00
3c8db834cc
added ssh machines 2023-09-17 20:48:41 +02:00
475799a1a1
added audio support 2023-09-17 20:48:41 +02:00
0b181e4543
ip update 2023-09-12 20:50:02 +02:00
b0c575228b
Merge branch 'main' of github.com:JulienMalka/nix-config 2023-08-27 14:52:54 +02:00
9bce70de6f
new dns records 2023-08-27 14:52:41 +02:00
aeb0b86241
Small wayland changes 2023-08-23 12:10:11 +02:00
e91ce6edd9
Added keyring 2023-08-23 12:09:44 +02:00
f08dc09074
Added home packages 2023-08-23 12:08:55 +02:00
05b6b21788
support for patched versions of nixpkgs 2023-08-18 12:02:38 +02:00
56ea69644d
Goodbye macintosh (3) 2023-08-18 10:53:12 +02:00
bdff4e069c
Goodbye macintosh (2):wq 2023-08-18 10:50:05 +02:00
46d578e09f
Goodbye macintosh 2023-08-18 10:49:45 +02:00
20f57a977a
swaylock eye candy 2023-08-18 00:50:33 +02:00
425670c808
swayidle is working 2023-08-18 00:09:30 +02:00
340ce85800
secure boot in x2100 (2) 2023-08-18 00:08:59 +02:00
e76ef3bdb4
kitty customisation 2023-08-18 00:08:44 +02:00
b566081a5b
secure boot in x2100 2023-08-18 00:08:26 +02:00
4f1cac9935
adding mails to x2100 2023-08-18 00:08:00 +02:00
4b51a1f10d
remove touchpad 2023-08-17 18:32:04 +02:00
53cbc20570
Added step-cli 2023-08-17 18:16:40 +02:00
0223a3a222
removed macintosh keys from x2100 2023-08-17 18:00:53 +02:00
16c747b570
oboarding x2100 (2) 2023-08-17 18:00:06 +02:00
7574747de0
more secrets 2023-08-17 17:57:39 +02:00
707c8d912b
repairing secrets 2023-08-17 15:56:58 +02:00
1cc5842eba
unboarding x2100 2023-08-17 15:32:27 +02:00
78d16f0db4
added x2100 to machines 2023-08-17 14:47:06 +02:00
d920c7abeb
bootstrap of x2100 2023-08-17 14:44:28 +02:00
9c6d9bf604
use fork of apple-sillicon-nixos 2023-08-17 14:44:28 +02:00
395621e731
replace driver 2023-08-17 14:44:28 +02:00
69516d6983
removed macintosh from CI 2023-08-07 15:55:04 +02:00
043d85c3da
building locally using ci 2023-08-07 15:14:52 +02:00
b8b2da6d42
added attic push 2023-08-07 00:26:16 +02:00
d60b60c31e
fix buildbot 2023-08-07 00:25:17 +02:00
0efaa663a3
Wrong ci on homer 2023-08-06 20:32:16 +02:00
9c2ee2a091
updated flake lock 2023-07-31 09:23:37 +02:00
02b38b5cbe
can't build mac all over 2023-07-29 11:43:43 +02:00
fba56edd2e
better ssh config 2023-07-28 13:19:46 +02:00
c11c0921da
moved base 2023-07-28 12:30:22 +02:00
efdcb47e65
Only server can be colmenaded 2023-07-27 23:12:59 +02:00
7b8c08c068
deployment module 2023-07-27 21:08:00 +02:00
361d3c57c4
colmena (3) 2023-07-27 20:35:38 +02:00
a2d07f04ed
Tested colmena on core-security 2023-07-27 20:35:00 +02:00
40b24b75a7
fixed eval error on macintosh 2023-07-27 20:34:26 +02:00
14ff6b77a1
updated flake.lock 2023-07-27 20:33:22 +02:00
4cb4e6f67c
little fix 2023-07-27 20:33:09 +02:00
98e58a2f11
colmena (2) 2023-07-27 20:32:32 +02:00
45d236796b
deleted unused machines 2023-07-27 20:31:44 +02:00
d9dc8651d2
unfortunately cannot build macintosh rn 2023-07-27 14:48:53 +02:00
73011541f2
fixed flake nix 2023-07-27 14:47:11 +02:00
540d9ffd82
colmena on tower 2023-07-27 14:45:03 +02:00
f2d1eac520
installing colmena 2023-07-27 14:44:20 +02:00
a91646345b
moveing machines meta to the proper place 2023-07-27 14:43:58 +02:00
690d3922fd
colmena (1) 2023-07-27 14:43:40 +02:00
3c2570760f
updated flake.lock 2023-07-27 14:43:26 +02:00
7415f17237
update core-security 2023-07-26 20:17:32 +02:00
5a59d22076
merge changes 2023-07-26 19:35:50 +02:00
01c52573f0
update tower firewall 2023-07-26 19:35:08 +02:00
d4a2e9cb70
updated module to add epyc builders 2023-07-26 19:34:55 +02:00
9396e81f55
added julien to trusted users 2023-07-26 19:32:57 +02:00
8f9808d721
update flake lock 2023-07-23 09:19:03 +02:00
d772ef6328
let's rebuild the world 2023-07-23 09:15:39 +02:00
66a14cc332
pushgateway 2023-07-16 16:08:20 +02:00
791d21b7c4
Merge branch 'main' of github.com:JulienMalka/nix-config 2023-07-16 14:48:23 +02:00
a111d67dc6
added monitoring stuff 2023-07-16 14:48:10 +02:00
758b40b4a9
flake.lock: Update (#55)
* flake.lock: Update

Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/d9f7f039e13b7d40c1d3e65809b65a96f0c68781' (2023-07-09)
  → 'github:hyprwm/Hyprland/26579fa9627c46af851efea1381e910ea48e3e73' (2023-07-10)
• Updated input 'nil':
    'github:oxalica/nil/495c5999280cdc66095542888cc1b758b608f036' (2023-07-08)
  → 'github:oxalica/nil/5751bfe63a5cc8988a9cdebd14999b9e11bba401' (2023-07-10)
• Updated input 'nil/rust-overlay':
    'github:oxalica/rust-overlay/fc0a266e836c079a9131108f4334e5af219dbb93' (2023-06-22)
  → 'github:oxalica/rust-overlay/7a29283cc242c2486fc67f60b431ef708046d176' (2023-07-08)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/510d721ce097150ae3b80f84b04b13b039186571' (2023-07-09)
  → 'github:NixOS/nixpkgs/8df7a67abaf8aefc8a2839e0b48f92fdcf69a38b' (2023-07-09)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/3c7487575d9445185249a159046cc02ff364bff8' (2023-07-06)
  → 'github:NixOS/nixpkgs/408c0e8c15a1c9cf5c3226931b6f283c9867c484' (2023-07-09)

* flake.lock: Update

Flake lock file updates:

• Updated input 'flake-utils':
    'github:numtide/flake-utils/dbabf0ca0c0c4bce6ea5eaf65af5cb694d2082c7' (2023-06-25)
  → 'github:numtide/flake-utils/919d646de7be200f3bf08cb76ae1f09402b6f9b4' (2023-07-11)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/26579fa9627c46af851efea1381e910ea48e3e73' (2023-07-10)
  → 'github:hyprwm/Hyprland/7a7e3ee6d9367761eb225c44edf110800e4afafc' (2023-07-11)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/8df7a67abaf8aefc8a2839e0b48f92fdcf69a38b' (2023-07-09)
  → 'github:NixOS/nixpkgs/8163a64662b43848802092d52015ef60777d6129' (2023-07-11)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/408c0e8c15a1c9cf5c3226931b6f283c9867c484' (2023-07-09)
  → 'github:NixOS/nixpkgs/4a729ce4b1fe5ec4fffc71c67c96aa5184ebb462' (2023-07-10)

* flake.lock: Update

Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/7a7e3ee6d9367761eb225c44edf110800e4afafc' (2023-07-11)
  → 'github:hyprwm/Hyprland/5e577acf516b80173f695a458c2cc188a4d64560' (2023-07-12)
• Updated input 'nil':
    'github:oxalica/nil/5751bfe63a5cc8988a9cdebd14999b9e11bba401' (2023-07-10)
  → 'github:oxalica/nil/a7ab280e8607b52c25d899cdf7532db1ff71262f' (2023-07-12)
• Updated input 'nixos-apple-silicon':
    'github:tpwrules/nixos-apple-silicon/fd3d8bf86897666317b89a0846e4817442761221' (2023-06-26)
  → 'github:tpwrules/nixos-apple-silicon/5bb932bea902053cbb08aabe4e111bf9b72a9be2' (2023-07-12)
• Added input 'nixos-apple-silicon/flake-compat':
    'github:nix-community/flake-compat/8bf105319d44f6b9f0d764efa4fdef9f1cc9ba1c' (2023-06-29)
• Updated input 'nixos-apple-silicon/nixpkgs':
    'github:nixos/nixpkgs/3ae20aa58a6c0d1ca95c9b11f59a2d12eebc511f' (2023-06-23)
  → 'github:nixos/nixpkgs/4a729ce4b1fe5ec4fffc71c67c96aa5184ebb462' (2023-07-10)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/8163a64662b43848802092d52015ef60777d6129' (2023-07-11)
  → 'github:NixOS/nixpkgs/98da3dd0de6660d4abed7bb74e748694bd803413' (2023-07-12)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/b2047c8fc963407916ad3834165309007dc5a1f7' (2023-07-09)
  → 'github:Mic92/sops-nix/88b964df6981e4844c07be8c192aa6bdca768a10' (2023-07-12)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/4a729ce4b1fe5ec4fffc71c67c96aa5184ebb462' (2023-07-10)
  → 'github:NixOS/nixpkgs/f2406198ea0e4e37d4380d0e20336c575b8f8ef9' (2023-07-11)

* flake.lock: Update

Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/5e577acf516b80173f695a458c2cc188a4d64560' (2023-07-12)
  → 'github:hyprwm/Hyprland/b159634ef974f3c63fbd6195c25493c78a4e872d' (2023-07-13)
• Updated input 'nixos-apple-silicon':
    'github:tpwrules/nixos-apple-silicon/5bb932bea902053cbb08aabe4e111bf9b72a9be2' (2023-07-12)
  → 'github:tpwrules/nixos-apple-silicon/07eef29d1214b40da45ff2fae5d7e7498a0dd8ab' (2023-07-13)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/98da3dd0de6660d4abed7bb74e748694bd803413' (2023-07-12)
  → 'github:NixOS/nixpkgs/fcc147b1e9358a8386b2c4368bd928e1f63a7df2' (2023-07-13)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/f2406198ea0e4e37d4380d0e20336c575b8f8ef9' (2023-07-11)
  → 'github:NixOS/nixpkgs/2de8efefb6ce7f5e4e75bdf57376a96555986841' (2023-07-12)

* flake.lock: Update

Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/b159634ef974f3c63fbd6195c25493c78a4e872d' (2023-07-13)
  → 'github:hyprwm/Hyprland/459afcc47f7a8fd0b85c4b89645099e2643732b3' (2023-07-14)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/2de8efefb6ce7f5e4e75bdf57376a96555986841' (2023-07-12)
  → 'github:NixOS/nixpkgs/e74e68449c385db82de3170288a28cd0f608544f' (2023-07-13)
2023-07-15 14:21:55 +02:00
59d5e78490
flake.lock: Update (#54)
Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/b33d82734fb3b88b87e1c89cbf2ec8883ea029ac' (2023-07-08)
  → 'github:hyprwm/Hyprland/d9f7f039e13b7d40c1d3e65809b65a96f0c68781' (2023-07-09)
• Updated input 'nix-index-database':
    'github:Mic92/nix-index-database/44337c30729a3616c7a71d485af70d231b29675a' (2023-07-06)
  → 'github:Mic92/nix-index-database/757114749d4613cf71f3748e780a1be8a67a5d3c' (2023-07-09)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d8bb6c681cf86265fdcf3cc3119f757bbb085835' (2023-07-07)
  → 'github:NixOS/nixpkgs/510d721ce097150ae3b80f84b04b13b039186571' (2023-07-09)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/5ed3c22c1fa0515e037e36956a67fe7e32c92957' (2023-07-02)
  → 'github:Mic92/sops-nix/b2047c8fc963407916ad3834165309007dc5a1f7' (2023-07-09)
2023-07-10 14:58:07 +02:00
d2738e68e9
flake.lock: Update (#53)
* flake.lock: Update

Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/738ec900f4d5c5e2b00f90e71221ca380555b874' (2023-07-02)
  → 'github:hyprwm/Hyprland/50755d26d4662f7392895f35a67502bc8c842a2d' (2023-07-03)

* flake.lock: Update

Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/50755d26d4662f7392895f35a67502bc8c842a2d' (2023-07-03)
  → 'github:hyprwm/Hyprland/34d845da13711ffdc4fdd5409f36dcc7e79fd676' (2023-07-04)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/0de86059128947b2438995450f2c2ca08cc783d5' (2023-07-01)
  → 'github:NixOS/nixpkgs/aed4b19d312525ae7ca9bceb4e1efe3357d0e2eb' (2023-07-03)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/645ff62e09d294a30de823cb568e9c6d68e92606' (2023-07-01)
  → 'github:NixOS/nixpkgs/0fbe93c5a7cac99f90b60bdf5f149383daaa615f' (2023-07-02)

* flake.lock: Update

Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/34d845da13711ffdc4fdd5409f36dcc7e79fd676' (2023-07-04)
  → 'github:hyprwm/Hyprland/8407a9af0a333ade66d4deff7ef654a4594fe58f' (2023-07-05)
• Updated input 'hyprland/nixpkgs':
    'github:NixOS/nixpkgs/3ae20aa58a6c0d1ca95c9b11f59a2d12eebc511f' (2023-06-23)
  → 'github:NixOS/nixpkgs/78419edadf0fabbe5618643bd850b2f2198ed060' (2023-07-04)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/aed4b19d312525ae7ca9bceb4e1efe3357d0e2eb' (2023-07-03)
  → 'github:NixOS/nixpkgs/c99004f75fd28cc10b9d2e01f51a412d768269c8' (2023-07-05)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/0fbe93c5a7cac99f90b60bdf5f149383daaa615f' (2023-07-02)
  → 'github:NixOS/nixpkgs/78419edadf0fabbe5618643bd850b2f2198ed060' (2023-07-04)

* flake.lock: Update

Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/8407a9af0a333ade66d4deff7ef654a4594fe58f' (2023-07-05)
  → 'github:hyprwm/Hyprland/e632bf176b04968ca6a22f6e5d5f1a7bf77b6fa6' (2023-07-06)
• Updated input 'nil':
    'github:oxalica/nil/f6bd5fea84bb5b0b3685b5dd9c21c83fe6ab9b64' (2023-06-26)
  → 'github:oxalica/nil/a5422a2168de28b94e7f981651d0e2f4b6b7e0e4' (2023-07-06)
• Updated input 'nix-index-database':
    'github:Mic92/nix-index-database/c8210cb3fcde6860255b54ddba74dc177e6232cd' (2023-06-18)
  → 'github:Mic92/nix-index-database/44337c30729a3616c7a71d485af70d231b29675a' (2023-07-06)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/c99004f75fd28cc10b9d2e01f51a412d768269c8' (2023-07-05)
  → 'github:NixOS/nixpkgs/e11142026e2cef35ea52c9205703823df225c947' (2023-07-05)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/78419edadf0fabbe5618643bd850b2f2198ed060' (2023-07-04)
  → 'github:NixOS/nixpkgs/f292b4964cb71f9dfbbd30dc9f511d6165cd109b' (2023-07-05)

* flake.lock: Update

Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/e632bf176b04968ca6a22f6e5d5f1a7bf77b6fa6' (2023-07-06)
  → 'github:hyprwm/Hyprland/f49af187bc0755f9b5be9376bfd52c0cf12c1e11' (2023-07-07)

* flake.lock: Update

Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/f49af187bc0755f9b5be9376bfd52c0cf12c1e11' (2023-07-07)
  → 'github:hyprwm/Hyprland/b33d82734fb3b88b87e1c89cbf2ec8883ea029ac' (2023-07-08)
• Updated input 'nil':
    'github:oxalica/nil/a5422a2168de28b94e7f981651d0e2f4b6b7e0e4' (2023-07-06)
  → 'github:oxalica/nil/495c5999280cdc66095542888cc1b758b608f036' (2023-07-08)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/e11142026e2cef35ea52c9205703823df225c947' (2023-07-05)
  → 'github:NixOS/nixpkgs/d8bb6c681cf86265fdcf3cc3119f757bbb085835' (2023-07-07)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/f292b4964cb71f9dfbbd30dc9f511d6165cd109b' (2023-07-05)
  → 'github:NixOS/nixpkgs/3c7487575d9445185249a159046cc02ff364bff8' (2023-07-06)
2023-07-09 12:23:50 +02:00
eeba483303
saves-lyon is back 2023-07-04 18:29:41 +02:00
f052f8aaad
flake.lock: Update (#52) 2023-07-03 12:27:04 +02:00
a53c5bbf89
flake.lock: Update (#51)
* flake.lock: Update

Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/fc59cef1ee573a950c5d5f3bacf1b51142fd56db' (2023-06-21)
  → 'github:hyprwm/Hyprland/0283c498d65284478826dcd64837ce2a4bb25bde' (2023-06-22)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/b6c73c5fe53bb3afbf65e870541e0645e9145171' (2023-06-20)
  → 'github:NixOS/nixpkgs/ef0bc3976340dab9a4e087a0bcff661a8b2e87f3' (2023-06-21)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/d299d0538295e71e194aa0dfa896ad399f4508e3' (2023-06-20)
  → 'github:Mic92/sops-nix/2ff6973350682f8d16371f8c071a304b8067f192' (2023-06-22)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/04af42f3b31dba0ef742d254456dc4c14eedac86' (2023-06-17)
  → 'github:NixOS/nixpkgs/e603dc5f061ca1d8a19b3ede6a8cf9c9fcba6cdc' (2023-06-22)

* flake.lock: Update

Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/0283c498d65284478826dcd64837ce2a4bb25bde' (2023-06-22)
  → 'github:hyprwm/Hyprland/01f85a09a981eb6c8784d459f729d418c0dd19e3' (2023-06-23)
• Updated input 'hyprpaper':
    'github:hyprwm/hyprpaper/64d0ebd66652a5614b645b1ffb4d592ba50d532a' (2023-06-05)
  → 'github:hyprwm/hyprpaper/a1d9ab7584485fe0b4a992abf19486a72179d4b2' (2023-06-23)
• Updated input 'nil':
    'github:oxalica/nil/c91a9a9aa27ee5d7fcc7f23926c50a2a475bf782' (2023-06-21)
  → 'github:oxalica/nil/c7453bb3ea8a0ee5826ed6b068c7b2dfe2cd43ba' (2023-06-23)
• Updated input 'nil/rust-overlay':
    'github:oxalica/rust-overlay/9b3284e2412f76bd68ff46f8cf1c7af44d7ffac0' (2023-05-30)
  → 'github:oxalica/rust-overlay/fc0a266e836c079a9131108f4334e5af219dbb93' (2023-06-22)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/ef0bc3976340dab9a4e087a0bcff661a8b2e87f3' (2023-06-21)
  → 'github:NixOS/nixpkgs/ecb441f22067ba1d6312f4932a7c64efa8d19a7b' (2023-06-22)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/e603dc5f061ca1d8a19b3ede6a8cf9c9fcba6cdc' (2023-06-22)
  → 'github:NixOS/nixpkgs/3ae20aa58a6c0d1ca95c9b11f59a2d12eebc511f' (2023-06-23)

* flake.lock: Update

Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/ac53777f52929bc82efcd2830bfc5aa60bcb4337' (2023-06-19)
  → 'github:nix-community/home-manager/6ca1e16eb3016c94b7ac16699e1d4158bd4e39a4' (2023-06-24)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/01f85a09a981eb6c8784d459f729d418c0dd19e3' (2023-06-23)
  → 'github:hyprwm/Hyprland/a82559f185666484da98baa8384eb3811934bdef' (2023-06-24)
• Updated input 'hyprland/nixpkgs':
    'github:NixOS/nixpkgs/0eeebd64de89e4163f4d3cf34ffe925a5cf67a05' (2023-06-12)
  → 'github:NixOS/nixpkgs/3ae20aa58a6c0d1ca95c9b11f59a2d12eebc511f' (2023-06-23)
• Updated input 'nil':
    'github:oxalica/nil/c7453bb3ea8a0ee5826ed6b068c7b2dfe2cd43ba' (2023-06-23)
  → 'github:oxalica/nil/e727e5556564966fb3f023f16a165067ced4ad8d' (2023-06-24)

* flake.lock: Update

Flake lock file updates:

• Updated input 'flake-utils':
    'github:numtide/flake-utils/abfb11bd1aec8ced1c9bb9adfe68018230f4fb3c' (2023-06-19)
  → 'github:numtide/flake-utils/dbabf0ca0c0c4bce6ea5eaf65af5cb694d2082c7' (2023-06-25)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/a82559f185666484da98baa8384eb3811934bdef' (2023-06-24)
  → 'github:hyprwm/Hyprland/62c75883d1b275d2a6e62bf31d59a43f0a404c14' (2023-06-26)
• Updated input 'nil':
    'github:oxalica/nil/e727e5556564966fb3f023f16a165067ced4ad8d' (2023-06-24)
  → 'github:oxalica/nil/f6bd5fea84bb5b0b3685b5dd9c21c83fe6ab9b64' (2023-06-26)
• Updated input 'nixos-apple-silicon':
    'github:tpwrules/nixos-apple-silicon/002d7e27b1de5885b14c2b2ed3be13c9ad862d23' (2023-06-16)
  → 'github:tpwrules/nixos-apple-silicon/fd3d8bf86897666317b89a0846e4817442761221' (2023-06-26)
• Updated input 'nixos-apple-silicon/nixpkgs':
    'github:nixos/nixpkgs/0eeebd64de89e4163f4d3cf34ffe925a5cf67a05' (2023-06-12)
  → 'github:nixos/nixpkgs/3ae20aa58a6c0d1ca95c9b11f59a2d12eebc511f' (2023-06-23)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/ecb441f22067ba1d6312f4932a7c64efa8d19a7b' (2023-06-22)
  → 'github:NixOS/nixpkgs/35130d4b4f0b8c50ed2aceb909a538c66c91d4a0' (2023-06-25)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/3ae20aa58a6c0d1ca95c9b11f59a2d12eebc511f' (2023-06-23)
  → 'github:NixOS/nixpkgs/1c9db9710cb23d60570ad4d7ab829c2d34403de3' (2023-06-25)

* flake.lock: Update

Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/6ca1e16eb3016c94b7ac16699e1d4158bd4e39a4' (2023-06-24)
  → 'github:nix-community/home-manager/07c347bb50994691d7b0095f45ebd8838cf6bc38' (2023-06-27)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/62c75883d1b275d2a6e62bf31d59a43f0a404c14' (2023-06-26)
  → 'github:hyprwm/Hyprland/1012e2735a88188f43b11a9126e70977be1d2ab9' (2023-06-29)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/35130d4b4f0b8c50ed2aceb909a538c66c91d4a0' (2023-06-25)
  → 'github:NixOS/nixpkgs/9790f3242da2152d5aa1976e3e4b8b414f4dd206' (2023-06-27)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/1c9db9710cb23d60570ad4d7ab829c2d34403de3' (2023-06-25)
  → 'github:NixOS/nixpkgs/e18dc963075ed115afb3e312b64643bf8fd4b474' (2023-06-27)

* flake.lock: Update

Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/1012e2735a88188f43b11a9126e70977be1d2ab9' (2023-06-29)
  → 'github:hyprwm/Hyprland/e96fcb31f0df36a88922fa1870e3372218c79539' (2023-06-30)
• Updated input 'linkal':
    'github:JulienMalka/Linkal/bf4789a8c80db48bd17431d443edf9edffb20e5d' (2023-06-12)
  → 'github:JulienMalka/Linkal/0e11a56b88c50b0f0a195fa6fd40cf46b048c167' (2023-06-30)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/9790f3242da2152d5aa1976e3e4b8b414f4dd206' (2023-06-27)
  → 'github:NixOS/nixpkgs/b72aa95f7f096382bff3aea5f8fde645bca07422' (2023-06-30)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/e18dc963075ed115afb3e312b64643bf8fd4b474' (2023-06-27)
  → 'github:NixOS/nixpkgs/4bc72cae107788bf3f24f30db2e2f685c9298dc9' (2023-06-29)
2023-07-01 17:59:46 +02:00
7e884a2171
Update flake.nix 2023-06-30 08:18:46 +02:00
8bc37ae244
Update flake.nix 2023-06-30 08:14:01 +02:00
79fc101aa9
flake.lock: Update (#50)
* flake.lock: Update

Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/93db05480c0c0f30382d3e80779e8386dcb4f9dd' (2023-06-01)
  → 'github:nix-community/home-manager/e753d659c64c7d158433d87ef7d6151ca1d1817a' (2023-06-12)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/cf37922d4285689990a648bc02aecb90a07a36ba' (2023-06-09)
  → 'github:hyprwm/Hyprland/528cfc28891431be116bcaed7e72d4f8497ed009' (2023-06-12)
• Updated input 'hyprland/nixpkgs':
    'github:NixOS/nixpkgs/e635192892f5abbc2289eaac3a73cdb249abaefd' (2023-06-01)
  → 'github:NixOS/nixpkgs/75a5ebf473cd60148ba9aec0d219f72e5cf52519' (2023-06-11)
• Updated input 'hyprland/wlroots':
    'gitlab:wlroots/wlroots/b61d5922f1d0910a848deb100570ad8587aea38d' (2023-06-03)
  → 'gitlab:wlroots/wlroots/6e8fb5509f2c94d09d4efa0f9b1f40b37bf73863' (2023-06-12)
• Updated input 'linkal':
    'github:JulienMalka/Linkal/4db8e2d9f51c96ae537bfd31fb52467ffb7b86a3' (2023-05-15)
  → 'github:JulienMalka/Linkal/bf4789a8c80db48bd17431d443edf9edffb20e5d' (2023-06-12)
• Updated input 'nil':
    'github:oxalica/nil/dcd38b96c91a2d07552f824a6480e00dc7b4948a' (2023-05-31)
  → 'github:oxalica/nil/119e56eb4dfcd9fcc1bb808bf68ae3e7a3091409' (2023-06-11)
• Updated input 'nix-index-database':
    'github:Mic92/nix-index-database/669ca1f2e2bc401abab6b837ae9c51503edc9b49' (2023-06-03)
  → 'github:Mic92/nix-index-database/7e83b70f31f4483c07e6939166cb667ecb8d05d5' (2023-06-12)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/81ed90058a851eb73be835c770e062c6938c8a9e' (2023-06-08)
  → 'github:NixOS/nixpkgs/d3bb401dcfc5a46ce51cdfb5762e70cc75d082d2' (2023-06-10)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/a522e12ee35e50fa7d902a164a9796e420e6e75b' (2023-06-04)
  → 'github:Mic92/sops-nix/cb85e297937af1bd1434cf5f85a3f86a21dc8207' (2023-06-11)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/a64b73e07d4aa65cfcbda29ecf78eaf9e72e44bd' (2023-06-08)
  → 'github:NixOS/nixpkgs/75a5ebf473cd60148ba9aec0d219f72e5cf52519' (2023-06-11)

* flake.lock: Update

Flake lock file updates:

• Updated input 'attic':
    'github:zhaofengli/attic/b1fb790b5f2afaaa1b2f7f18979b8318abe604bb' (2023-05-28)
  → 'github:zhaofengli/attic/4fedffe6a1020edfcfa7bef18d21321d4983b3a7' (2023-06-13)
• Updated input 'home-manager':
    'github:nix-community/home-manager/e753d659c64c7d158433d87ef7d6151ca1d1817a' (2023-06-12)
  → 'github:nix-community/home-manager/61e5d1c38ef04ba30a9119825b159bce9c6010be' (2023-06-13)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/528cfc28891431be116bcaed7e72d4f8497ed009' (2023-06-12)
  → 'github:hyprwm/Hyprland/7762ac0173b860af83e58d56409f9cf0fa7252e9' (2023-06-13)
• Updated input 'nix-index-database':
    'github:Mic92/nix-index-database/7e83b70f31f4483c07e6939166cb667ecb8d05d5' (2023-06-12)
  → 'github:Mic92/nix-index-database/14eede9450dc45b92adc9f1dfac873eac7e1a5de' (2023-06-13)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d3bb401dcfc5a46ce51cdfb5762e70cc75d082d2' (2023-06-10)
  → 'github:NixOS/nixpkgs/bb8b5735d6f7e06b9ddd27de115b0600c1ffbdb4' (2023-06-11)

* flake.lock: Update

Flake lock file updates:

• Updated input 'deploy-rs':
    'github:serokell/deploy-rs/65211db63ba1199f09b4c9f27e5eba5ec50d76ac' (2023-06-05)
  → 'github:serokell/deploy-rs/724463b5a94daa810abfc64a4f87faef4e00f984' (2023-06-14)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/7762ac0173b860af83e58d56409f9cf0fa7252e9' (2023-06-13)
  → 'github:hyprwm/Hyprland/1d902a4621b3d952c1e8dff959e9489239b6995f' (2023-06-15)
• Updated input 'hyprland/nixpkgs':
    'github:NixOS/nixpkgs/75a5ebf473cd60148ba9aec0d219f72e5cf52519' (2023-06-11)
  → 'github:NixOS/nixpkgs/0eeebd64de89e4163f4d3cf34ffe925a5cf67a05' (2023-06-12)
• Updated input 'hyprland/wlroots':
    'gitlab:wlroots/wlroots/6e8fb5509f2c94d09d4efa0f9b1f40b37bf73863' (2023-06-12)
  → 'gitlab:wlroots/wlroots/7e7633abf09b362d0bad9e3fc650fd692369291d' (2023-06-14)
• Updated input 'nil':
    'github:oxalica/nil/119e56eb4dfcd9fcc1bb808bf68ae3e7a3091409' (2023-06-11)
  → 'github:oxalica/nil/dbf26d6bc240790a533f7d54c01cea7ce952edec' (2023-06-15)
• Updated input 'nix-index-database':
    'github:Mic92/nix-index-database/14eede9450dc45b92adc9f1dfac873eac7e1a5de' (2023-06-13)
  → 'github:Mic92/nix-index-database/e11c61073b777e025993c5ef63ddbf776a9cca15' (2023-06-14)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/bb8b5735d6f7e06b9ddd27de115b0600c1ffbdb4' (2023-06-11)
  → 'github:NixOS/nixpkgs/ddf4688dc7aeb14e8a3c549cb6aa6337f187a884' (2023-06-14)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/75a5ebf473cd60148ba9aec0d219f72e5cf52519' (2023-06-11)
  → 'github:NixOS/nixpkgs/0eeebd64de89e4163f4d3cf34ffe925a5cf67a05' (2023-06-12)

* flake.lock: Update

Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/1d902a4621b3d952c1e8dff959e9489239b6995f' (2023-06-15)
  → 'github:hyprwm/Hyprland/5ac625d7bdff6b6318058f396f0fa1641bb6e807' (2023-06-16)
• Updated input 'nixos-apple-silicon':
    'github:tpwrules/nixos-apple-silicon/6b08b1821c45601c6833c9e5e391c0ab777631a5' (2023-06-08)
  → 'github:tpwrules/nixos-apple-silicon/002d7e27b1de5885b14c2b2ed3be13c9ad862d23' (2023-06-16)
• Updated input 'nixos-apple-silicon/nixpkgs':
    'github:nixos/nixpkgs/7409480d5c8584a1a83c422530419efe4afb0d19' (2023-06-05)
  → 'github:nixos/nixpkgs/0eeebd64de89e4163f4d3cf34ffe925a5cf67a05' (2023-06-12)
• Updated input 'nixos-apple-silicon/rust-overlay':
    'github:oxalica/rust-overlay/1279a72003f5e4b08c8eca1101d8f57452a539f9' (2023-06-07)
  → 'github:oxalica/rust-overlay/5c2b97c0a9bc5217fc3dfb1555aae0fb756d99f9' (2023-06-15)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/ddf4688dc7aeb14e8a3c549cb6aa6337f187a884' (2023-06-14)
  → 'github:NixOS/nixpkgs/c7ff1b9b95620ce8728c0d7bd501c458e6da9e04' (2023-06-16)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/cb85e297937af1bd1434cf5f85a3f86a21dc8207' (2023-06-11)
  → 'github:Mic92/sops-nix/1e2bae54870a06aa9364f8d33a5b9a0869d792fc' (2023-06-16)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/0eeebd64de89e4163f4d3cf34ffe925a5cf67a05' (2023-06-12)
  → 'github:NixOS/nixpkgs/7c67f006ea0e7d0265f16d7df07cc076fdffd91f' (2023-06-15)

* flake.lock: Update

Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/61e5d1c38ef04ba30a9119825b159bce9c6010be' (2023-06-13)
  → 'github:nix-community/home-manager/a8d549351d4b87ab80665f35e57bee2a04201245' (2023-06-17)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/5ac625d7bdff6b6318058f396f0fa1641bb6e807' (2023-06-16)
  → 'github:hyprwm/Hyprland/74ca81cc7942aa93e796ca794185675bae57003d' (2023-06-17)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/7c67f006ea0e7d0265f16d7df07cc076fdffd91f' (2023-06-15)
  → 'github:NixOS/nixpkgs/04af42f3b31dba0ef742d254456dc4c14eedac86' (2023-06-17)

* flake.lock: Update

Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/74ca81cc7942aa93e796ca794185675bae57003d' (2023-06-17)
  → 'github:hyprwm/Hyprland/2295bbdd80b48f580977fc80e9643841fbc9a496' (2023-06-18)
• Updated input 'nix-index-database':
    'github:Mic92/nix-index-database/e11c61073b777e025993c5ef63ddbf776a9cca15' (2023-06-14)
  → 'github:Mic92/nix-index-database/c8210cb3fcde6860255b54ddba74dc177e6232cd' (2023-06-18)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/1e2bae54870a06aa9364f8d33a5b9a0869d792fc' (2023-06-16)
  → 'github:Mic92/sops-nix/1634d2da53f079e7f5924efa7a96511cd9596f81' (2023-06-18)

* flake.lock: Update

Flake lock file updates:

• Updated input 'flake-utils':
    'github:numtide/flake-utils/a1720a10a6cfe8234c0e93907ffe81be440f4cef' (2023-05-31)
  → 'github:numtide/flake-utils/abfb11bd1aec8ced1c9bb9adfe68018230f4fb3c' (2023-06-19)
• Updated input 'home-manager':
    'github:nix-community/home-manager/a8d549351d4b87ab80665f35e57bee2a04201245' (2023-06-17)
  → 'github:nix-community/home-manager/ac53777f52929bc82efcd2830bfc5aa60bcb4337' (2023-06-19)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/c7ff1b9b95620ce8728c0d7bd501c458e6da9e04' (2023-06-16)
  → 'github:NixOS/nixpkgs/572d26930456132e7f2035340e3d88b36a5e9b6e' (2023-06-18)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/1634d2da53f079e7f5924efa7a96511cd9596f81' (2023-06-18)
  → 'github:Mic92/sops-nix/7776755fffedb3baaf87f6d9695367d03596a78e' (2023-06-19)

* flake.lock: Update

Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/2295bbdd80b48f580977fc80e9643841fbc9a496' (2023-06-18)
  → 'github:hyprwm/Hyprland/cabdf38ce41f628f6c81e1ac05d3788d8f30b101' (2023-06-20)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/572d26930456132e7f2035340e3d88b36a5e9b6e' (2023-06-18)
  → 'github:NixOS/nixpkgs/ad157fe26e74211e7dde0456cb3fd9ab78b6e552' (2023-06-19)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/7776755fffedb3baaf87f6d9695367d03596a78e' (2023-06-19)
  → 'github:Mic92/sops-nix/d299d0538295e71e194aa0dfa896ad399f4508e3' (2023-06-20)

* flake.lock: Update

Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/cabdf38ce41f628f6c81e1ac05d3788d8f30b101' (2023-06-20)
  → 'github:hyprwm/Hyprland/fc59cef1ee573a950c5d5f3bacf1b51142fd56db' (2023-06-21)
• Updated input 'nil':
    'github:oxalica/nil/dbf26d6bc240790a533f7d54c01cea7ce952edec' (2023-06-15)
  → 'github:oxalica/nil/c91a9a9aa27ee5d7fcc7f23926c50a2a475bf782' (2023-06-21)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/ad157fe26e74211e7dde0456cb3fd9ab78b6e552' (2023-06-19)
  → 'github:NixOS/nixpkgs/b6c73c5fe53bb3afbf65e870541e0645e9145171' (2023-06-20)
2023-06-22 11:36:12 +02:00
daefee832f
using resolvedctl instead of hardcoded dns 2023-06-15 22:58:09 +02:00
05d5c8bc1c
lambda now has a public ipv6 2023-06-15 15:35:31 +02:00
707ceb94d6
update buildbot package to follow the move in nixpkgs 2023-06-15 11:03:22 +02:00
090efe83e3
core-security changed ip 2023-06-15 10:38:27 +02:00
7d77fdbdbc
core-security switch to systemd-network 2023-06-15 10:37:04 +02:00
5bf7bd0f66
added saves 2023-06-14 12:33:12 +02:00
fb1c1d9b99
vhost for step-ca 2023-06-14 12:27:40 +02:00
e526cc3628
added resolved to all machines 2023-06-14 12:27:15 +02:00
20e59fbcaf
accept internal connections in ipv6 2023-06-13 23:27:38 +02:00
a96e1c4a7d
corrected wrong ips 2023-06-12 14:29:09 +02:00
ff47b2403a
changed ssh config 2023-06-12 14:28:01 +02:00
3298173246
merge 2023-06-10 23:51:49 +02:00
6940e5d42d
lambda deployment 2023-06-10 23:50:31 +02:00
fda415dbda
changed lambda address 2023-06-10 23:50:09 +02:00
1292cdc56f
added CA to core-security 2023-06-10 23:49:54 +02:00
ef135179d2
enabled resolved on tower 2023-06-10 23:23:52 +02:00
30628ce717
changed ssh config 2023-06-10 19:54:28 +02:00
e0bbef57d3
deleted bin-cache as a job 2023-06-10 19:33:29 +02:00
2770d8fb58
nix index automatic 2023-06-10 19:28:42 +02:00
8f94c1e1f0
renamed depreciated options 2023-06-10 19:07:06 +02:00
dec99022a9
swaylock 2023-06-10 19:02:29 +02:00
5acd6c32da
correct keymap in gdm 2023-06-10 17:56:59 +02:00
9bdd84bbf9
resolved on macintosh 2023-06-10 17:50:12 +02:00
a975b46c41
changed ssh machines 2023-06-10 17:50:12 +02:00
2c6342b352
22.11 -> 23.05 2023-06-10 17:50:12 +02:00
89d3c21d8b
machines ips 2023-06-10 16:01:45 +02:00
672a392740
trying to get back nuage 2023-06-09 20:09:59 +02:00
907ce8f924
added internal adresses 2023-06-09 12:20:09 +02:00
714ff338ae
builders can download from substituters 2023-06-09 12:10:53 +02:00
c3b34c9c35
changed lambda dns 2023-06-09 12:05:52 +02:00
d16b8315b0
changed buildbot certs 2023-06-09 11:36:19 +02:00
5fd3115df9
changed tower dns 2023-06-09 11:36:00 +02:00
5744ebd238
added core-security to machines 2023-06-09 11:33:11 +02:00
bec0c0d36d
updated builders 2023-06-09 10:57:00 +02:00
53922957e7
deleted headscale from lambda 2023-06-09 10:10:05 +02:00
268b5c88a4
added ipv6 of machines 2023-06-09 00:54:52 +02:00
c864f72dc8
new machine syntax 2023-06-09 00:11:07 +02:00
e6245aac8f
update lambda ip 2023-06-06 19:36:11 +02:00
ed0ec2d68c
machines have suffix luj 2023-06-05 15:10:53 +02:00
0e53618a9e
exporting dns 2023-06-05 14:04:33 +02:00
9b26220c24
exporting dnsRecords 2023-06-05 13:17:58 +02:00
781e6f6f51
Merge branch 'main' of github.com:JulienMalka/nix-config 2023-06-02 07:29:17 +02:00
1aa23fbb17
darwin remote builder 2023-06-02 07:28:50 +02:00
d4571f8473
here we go 2023-06-02 07:12:17 +02:00
faaecdcfb3
merged stuff 2023-06-02 07:12:05 +02:00
a252e34725
taking into account new curry port 2023-06-02 07:03:34 +02:00
d90a0d047e
flake.lock: Update (#48)
* flake.lock: Update

Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/9f8c5cb63c239ffd09b69cb0c635e8870dbd667e' (2023-05-21)
  → 'github:hyprwm/Hyprland/90cb5fb6724b4a1c2cb49f09ac101648c8077301' (2023-05-22)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/3005f20ce0aaa58169cdee57c8aa12e5f1b6e1b3' (2023-05-20)
  → 'github:NixOS/nixpkgs/7084250df3d7f9735087d3234407f3c1fc2400e3' (2023-05-22)

* flake.lock: Update

Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/90cb5fb6724b4a1c2cb49f09ac101648c8077301' (2023-05-22)
  → 'github:hyprwm/Hyprland/eb1f832fcec5838053c6b031b656e4f949ada57b' (2023-05-23)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/7dc71aef32e8faf065cb171700792cf8a65c152d' (2023-05-20)
  → 'github:NixOS/nixpkgs/b0671cbf1e5c443f7fbfd4941ee0f8a151435114' (2023-05-21)

* flake.lock: Update

Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/eb1f832fcec5838053c6b031b656e4f949ada57b' (2023-05-23)
  → 'github:hyprwm/Hyprland/a2bb95fc60c717c873eff273f5ee035e622565d0' (2023-05-24)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/b0671cbf1e5c443f7fbfd4941ee0f8a151435114' (2023-05-21)
  → 'github:NixOS/nixpkgs/a17f99dfcb9643200b3884ca195c69ae41d7f059' (2023-05-23)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/7084250df3d7f9735087d3234407f3c1fc2400e3' (2023-05-22)
  → 'github:NixOS/nixpkgs/d30264c2691128adc261d7c9388033645f0e742b' (2023-05-23)

* flake.lock: Update

Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a17f99dfcb9643200b3884ca195c69ae41d7f059' (2023-05-23)
  → 'github:NixOS/nixpkgs/99fe1b870522d6ee3e692c2b6e663d6868a3fde4' (2023-05-24)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/d30264c2691128adc261d7c9388033645f0e742b' (2023-05-23)
  → 'github:NixOS/nixpkgs/f91ee3065de91a3531329a674a45ddcb3467a650' (2023-05-24)

* flake.lock: Update

Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/a2bb95fc60c717c873eff273f5ee035e622565d0' (2023-05-24)
  → 'github:hyprwm/Hyprland/5f4659afef5856c509d53957e62b7f6c38d39f41' (2023-05-26)

* flake.lock: Update

Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/5f4659afef5856c509d53957e62b7f6c38d39f41' (2023-05-26)
  → 'github:hyprwm/Hyprland/078ba6daa8e2e2d8e25a226d65a418b8a85956b3' (2023-05-27)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/99fe1b870522d6ee3e692c2b6e663d6868a3fde4' (2023-05-24)
  → 'github:NixOS/nixpkgs/9886352ec9ab3945896ee8a4185e961fe29df209' (2023-05-25)

* flake.lock: Update

Flake lock file updates:

• Updated input 'attic':
    'github:zhaofengli/attic/5f85e35a25085b75e1cbb6cc7291726fa4fab2ed' (2023-05-07)
  → 'github:zhaofengli/attic/b1fb790b5f2afaaa1b2f7f18979b8318abe604bb' (2023-05-28)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/078ba6daa8e2e2d8e25a226d65a418b8a85956b3' (2023-05-27)
  → 'github:hyprwm/Hyprland/f1ad270ff8c78299e39e5f44176e9c99b6d5075f' (2023-05-29)
• Updated input 'nil':
    'github:oxalica/nil/17ed1578f3a225f2760d4da3adb440eb8677f2d3' (2023-05-19)
  → 'github:oxalica/nil/ca462183c525b5a950912f98815b7d290218f1d3' (2023-05-28)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/9886352ec9ab3945896ee8a4185e961fe29df209' (2023-05-25)
  → 'github:NixOS/nixpkgs/c8a17ce7abc03c50cd072e9e6c9b389c5f61836b' (2023-05-28)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/4ccdfb573f323a108a44c13bb7730e42baf962a9' (2023-05-21)
  → 'github:Mic92/sops-nix/3e016341d4dca6ce7c62316f90e66341841a30f9' (2023-05-28)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/f91ee3065de91a3531329a674a45ddcb3467a650' (2023-05-24)
  → 'github:NixOS/nixpkgs/4e37b4e55b60fb7d43d2b62deb51032a489bcbe8' (2023-05-28)

* flake.lock: Update

Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/f1ad270ff8c78299e39e5f44176e9c99b6d5075f' (2023-05-29)
  → 'github:hyprwm/Hyprland/51a930f802c71a0e67f05e7b176ded74e8e95f87' (2023-05-29)
• Updated input 'hyprpaper':
    'github:hyprwm/hyprpaper/b82254e957cfa60124240e8d94e7368cbf6d392d' (2023-05-16)
  → 'github:hyprwm/hyprpaper/cd86c196f3500f20539754d347c8378349ca0974' (2023-05-29)
2023-05-30 06:41:41 +02:00
522160f240
flake.lock: Update (#47)
Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/5627b70981730cf1839ae4477f9fd086d4fc7a6c' (2023-05-20)
  → 'github:hyprwm/Hyprland/9f8c5cb63c239ffd09b69cb0c635e8870dbd667e' (2023-05-21)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/628d4bb6e9f4f0c30cfd9b23d3c1cdcec9d3cb5c' (2023-05-18)
  → 'github:NixOS/nixpkgs/7dc71aef32e8faf065cb171700792cf8a65c152d' (2023-05-20)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/df8b52249e78a0ac33680c9e0b7a029ec22cd8f5' (2023-05-20)
  → 'github:Mic92/sops-nix/4ccdfb573f323a108a44c13bb7730e42baf962a9' (2023-05-21)
2023-05-22 08:09:59 +02:00
c01860b021
applied keywind theme to keycloak 2023-05-21 18:21:25 +02:00
9964d49fbc
added keywind theme 2023-05-21 18:16:16 +02:00
dcd58e5fac
deploy keycloak on core-security 2023-05-21 18:11:38 +02:00
ffff5e8a2b
fixed disk uuid for core-security 2023-05-20 22:54:54 +02:00
ff1068ce89
cleaned tower config 2023-05-20 21:47:36 +02:00
408efad841
added headscale to lambda 2023-05-20 21:42:29 +02:00
157bc51a05
updated nil version 2023-05-20 21:41:19 +02:00
faccadff36
moved headscale to lambda 2023-05-16 19:42:38 +02:00
7038055d60
added core-security to secrets 2023-05-16 18:23:03 +02:00
f14c0d6937
added core-security machine 2023-05-16 18:16:30 +02:00
1a746d2829
added attic to tower 2023-05-16 18:16:18 +02:00
7e3bf783f9
added attic pkg 2023-05-16 18:15:59 +02:00
daea3a95d2
attic stuff 2023-05-16 18:14:14 +02:00
f7d310e41c
Merge branch 'main' of github.com:JulienMalka/nix-config 2023-05-16 18:05:01 +02:00
5a4d0cd122
added core-security machine 2023-05-16 18:04:54 +02:00
a88adc744f
flake.lock: Update (#45)
* flake.lock: Update

Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/cc01550aff70a0cbee5b62db5f4a08789244998f' (2023-05-12)
  → 'github:hyprwm/Hyprland/896a78aaa0bb2e4d4f197ed1286c4f030dbaef5f' (2023-05-13)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a08e061a4ee8329747d54ddf1566d34c55c895eb' (2023-05-09)
  → 'github:NixOS/nixpkgs/9656e85a15a0fe67847ee8cdb99a20d8df499962' (2023-05-12)

* flake.lock: Update

Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/896a78aaa0bb2e4d4f197ed1286c4f030dbaef5f' (2023-05-13)
  → 'github:hyprwm/Hyprland/7c207243e41b5b4f35d790767ad2e21eba1b7a0b' (2023-05-14)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/36b062a2c85a0efb37de1300c79c54602a094fab' (2023-05-08)
  → 'github:Mic92/sops-nix/a376127bb5277cd2c337a9458744f370aaf2e08d' (2023-05-14)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/897876e4c484f1e8f92009fd11b7d988a121a4e7' (2023-05-06)
  → 'github:NixOS/nixpkgs/0470f36b02ef01d4f43c641bbf07020bcab71bf1' (2023-05-14)
2023-05-15 21:07:43 +02:00
652bc7f13d
loaded attic secret on bin-cache 2023-05-14 14:27:05 +02:00
d1f130bf84
updated secrets 2023-05-14 14:26:47 +02:00
e9d6f41d5b
empty hm for bin-cache 2023-05-14 14:21:38 +02:00
63a10ed4b0
correct config for bin-cache deploy 2023-05-14 14:21:26 +02:00
d21355ddba
corrected ssl for attic 2023-05-14 13:58:28 +02:00
040a9e7a6e
Deploy bin-cache 2023-05-14 13:53:34 +02:00
6758290677
updated secrets 2023-05-14 13:29:21 +02:00
d93fad4645
added bin-cache to ci 2023-05-14 13:14:18 +02:00
8d6a95933f
bin-cache: fix wrong bootloader 2023-05-14 13:13:36 +02:00
b7dfe811e6
fix eval errors for bin-cache 2023-05-14 12:49:28 +02:00
470f262fb2
Added attic secret 2023-05-14 12:43:59 +02:00
06895dccc5
Added a new bin-cache machine 2023-05-14 12:43:46 +02:00
ef67ec365a
Added attic as module 2023-05-14 12:43:27 +02:00
b78849f45f
Added attic as flake input 2023-05-14 12:43:15 +02:00
4847944742
flaresolverr platform is x86_64-linux 2023-05-14 00:47:41 +02:00
cb21713351
hydraJobs: filtering with meta plateform 2023-05-14 00:46:19 +02:00
db1c0c0cb0
ci: added lambda 2023-05-13 22:20:56 +02:00
fad9387795
buildbot workers: 8 -> 14 2023-05-13 21:46:30 +02:00
86ae3b7af8
modified nix-eval-jobs command 2023-05-13 21:40:17 +02:00
0ea363da23
added big-parallel feature 2023-05-13 21:33:35 +02:00
09030fadca
better jobs 2023-05-13 21:33:17 +02:00
b63ea947fd
Now building for aarch64-linux 2023-05-13 18:45:44 +02:00
a70775ebb6
Merge branch 'main' of github.com:JulienMalka/nix-config 2023-05-13 16:30:10 +02:00
746cd62770
tower: i686 emulation 2023-05-13 16:30:04 +02:00
59ec4bd9bd
flake.lock: Update (#44)
* flake.lock: Update

Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/e7c2ea9724ef11038b14367587d9b4987708b1d1' (2023-05-08)
  → 'github:hyprwm/Hyprland/7fde80f38eefef4ec1e682947c4ae152aa0974db' (2023-05-09)

* flake.lock: Update

Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/7fde80f38eefef4ec1e682947c4ae152aa0974db' (2023-05-09)
  → 'github:hyprwm/Hyprland/f2725a374a5921903bf918fdfd8111b537cbf18f' (2023-05-10)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/7629f9b0680d87c7775f3261bee746da5dac76d1' (2023-05-08)
  → 'github:NixOS/nixpkgs/a08e061a4ee8329747d54ddf1566d34c55c895eb' (2023-05-09)

* flake.lock: Update

Flake lock file updates:

• Updated input 'deploy-rs':
    'github:serokell/deploy-rs/64160276cd6569694131ed8864d4d35470a84ec3' (2023-05-08)
  → 'github:serokell/deploy-rs/c80189917086e43d49eece2bd86f56813500a0eb' (2023-05-11)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/f2725a374a5921903bf918fdfd8111b537cbf18f' (2023-05-10)
  → 'github:hyprwm/Hyprland/a4833765910100fdfb6a83b209d010a8ac9da0ed' (2023-05-11)

* flake.lock: Update

Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/a4833765910100fdfb6a83b209d010a8ac9da0ed' (2023-05-11)
  → 'github:hyprwm/Hyprland/cc01550aff70a0cbee5b62db5f4a08789244998f' (2023-05-12)
2023-05-13 16:29:36 +02:00
9d870811fb
trying to fix keyring 2023-05-09 10:31:47 +02:00
6dd916b5ac
hold tight it is going to be a tough ride 2023-05-09 10:31:45 +02:00
a935452637
flake.lock: Update (#43)
* flake.lock: Update

Flake lock file updates:

• Updated input 'home-manager/utils':
    'github:numtide/flake-utils/cfacdce06f30d2b68473a46042957675eebb3401' (2023-04-11)
  → 'github:numtide/flake-utils/5aed5285a952e0b949eb3ba02c12fa4fcfef535f' (2022-11-02)
• Removed input 'home-manager/utils/systems'
• Updated input 'home-manager-unstable':
    'github:nix-community/home-manager/6fc82e56971523acfe1a61dbcb20f4bb969b3990' (2023-05-07)
  → 'github:nix-community/home-manager/78ceec68f29ed56d6118617e9f0f588bf164067f' (2023-05-07)

* flake.lock: Update

Flake lock file updates:

• Updated input 'deploy-rs':
    'github:serokell/deploy-rs/6b0b6a1c2527e8b1ef370a308b6ef8903004ac47' (2023-05-05)
  → 'github:serokell/deploy-rs/64160276cd6569694131ed8864d4d35470a84ec3' (2023-05-08)
• Updated input 'home-manager-unstable':
    'github:nix-community/home-manager/78ceec68f29ed56d6118617e9f0f588bf164067f' (2023-05-07)
  → 'github:nix-community/home-manager/3f3fa731ad0f99741d4dc98e8e1287b45e30b452' (2023-05-08)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/a31dceb2c623c41565193328f98b50694917e0bf' (2023-05-06)
  → 'github:hyprwm/Hyprland/e7c2ea9724ef11038b14367587d9b4987708b1d1' (2023-05-08)
• Updated input 'hyprpaper':
    'github:hyprwm/hyprpaper/b4fdc0be52d7c3e48e932698bafc3f69dbd45b3b' (2023-04-26)
  → 'github:hyprwm/hyprpaper/3596630a207a02a0035a0a178a1fdbf2a5f40a30' (2023-05-08)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/adc7c6f1bbaa73cda26be2323353b63a05b42f61' (2023-05-06)
  → 'github:NixOS/nixpkgs/c568239bcc990050b7aedadb7387832440ad8fb1' (2023-05-07)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/fd2d857ce2450a3ba5700d1e95eb110070e0dbc3' (2023-05-07)
  → 'github:Mic92/sops-nix/36b062a2c85a0efb37de1300c79c54602a094fab' (2023-05-08)
2023-05-09 10:28:57 +02:00
ffa5da96ec
added julien to needed groups 2023-05-07 14:27:17 +02:00
8e82253120
macintosh user env upgrade 2023-05-07 14:27:17 +02:00
182c159a5d
android dev 2023-05-07 14:27:17 +02:00
de559aeb1a
comma on all machines 2023-05-07 14:27:17 +02:00
a214f2a2e7
HM now follows machine specific version 2023-05-07 14:25:12 +02:00
4b785a723a
HM now follows the correct version 2023-05-07 14:19:23 +02:00
a6ad490ab0
flake.lock: Update (#42)
* flake.lock: Update

Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/1e526411b6207349f1ea0341ab3319ff880a898d' (2023-04-25)
  → 'github:hyprwm/Hyprland/28ca434fb52befa2058a6c23b21566c280654e03' (2023-04-25)

* flake.lock: Update

Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/6142193635ecdafb9a231bd7d1880b9b7b210d19' (2023-04-25)
  → 'github:nix-community/home-manager/d82c9af8175878a461a0fdf914e67cc446664570' (2023-04-26)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/28ca434fb52befa2058a6c23b21566c280654e03' (2023-04-25)
  → 'github:hyprwm/Hyprland/72d2f33b34951b7f5be6cdbc302b1c6a33cbf60f' (2023-04-26)
• Updated input 'hyprland/nixpkgs':
    'github:NixOS/nixpkgs/645bc49f34fa8eff95479f0345ff57e55b53437e' (2023-04-19)
  → 'github:NixOS/nixpkgs/c8018361fa1d1650ee8d4b96294783cf564e8a7f' (2023-04-25)
• Updated input 'hyprland/wlroots':
    'gitlab:wlroots/wlroots/00489b11a0d926058d23584e2ad0e2b64f5b7406' (2023-04-18)
  → 'gitlab:wlroots/wlroots/6830bfc17fd94709e2cdd4da0af989f102a26e59' (2023-04-25)
• Updated input 'hyprland/xdph':
    'github:hyprwm/xdg-desktop-portal-hyprland/bf035bf3d5b56fd3da9d11966ad0b3c57f852d78' (2023-04-14)
  → 'github:hyprwm/xdg-desktop-portal-hyprland/c0e233955568fbea4e859336f6d3d14d51294d7c' (2023-04-25)
• Updated input 'hyprpaper':
    'github:hyprwm/hyprpaper/3bfaac09f58ce31c33e1a56e7eaa606a87fe4c32' (2023-04-16)
  → 'github:hyprwm/hyprpaper/b4fdc0be52d7c3e48e932698bafc3f69dbd45b3b' (2023-04-26)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/f5364316e314436f6b9c8fd50592b18920ab18f9' (2023-04-24)
  → 'github:NixOS/nixpkgs/60c0f762658916a4a5b5a36b3e06486f8301daf4' (2023-04-26)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/7c8e9727a2ecf9994d4a63d577ad5327e933b6a4' (2023-04-24)
  → 'github:Mic92/sops-nix/4a330ead6a990365c9bb48f30523ac048fb6d8ae' (2023-04-26)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/884ac294018409e0d1adc0cae185439a44bd6b0b' (2023-04-24)
  → 'github:NixOS/nixpkgs/c8018361fa1d1650ee8d4b96294783cf564e8a7f' (2023-04-25)

* flake.lock: Update

Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/72d2f33b34951b7f5be6cdbc302b1c6a33cbf60f' (2023-04-26)
  → 'github:hyprwm/Hyprland/f23455e592bca14e0abd9249de467cc71cd2850e' (2023-04-27)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/60c0f762658916a4a5b5a36b3e06486f8301daf4' (2023-04-26)
  → 'github:NixOS/nixpkgs/15b75800dce80225b44f067c9012b09de37dfad2' (2023-04-26)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/c8018361fa1d1650ee8d4b96294783cf564e8a7f' (2023-04-25)
  → 'github:NixOS/nixpkgs/d6b863fd9b7bb962e6f9fdf292419a775e772891' (2023-04-26)

* flake.lock: Update

Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/d82c9af8175878a461a0fdf914e67cc446664570' (2023-04-26)
  → 'github:nix-community/home-manager/c4f3a3707104999d5b6fe4c4e5c3833980a92513' (2023-04-28)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/f23455e592bca14e0abd9249de467cc71cd2850e' (2023-04-27)
  → 'github:hyprwm/Hyprland/fbb938fcf228b84dc82b5ad4f85387448d1a2d9f' (2023-04-28)
• Updated input 'hyprland/nixpkgs':
    'github:NixOS/nixpkgs/c8018361fa1d1650ee8d4b96294783cf564e8a7f' (2023-04-25)
  → 'github:NixOS/nixpkgs/d6b863fd9b7bb962e6f9fdf292419a775e772891' (2023-04-26)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/15b75800dce80225b44f067c9012b09de37dfad2' (2023-04-26)
  → 'github:NixOS/nixpkgs/7449971a3ecf857b4a554cf79b1d9dcc1a4647d8' (2023-04-28)

* flake.lock: Update

Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/c4f3a3707104999d5b6fe4c4e5c3833980a92513' (2023-04-28)
  → 'github:nix-community/home-manager/3144311f31194b537808ae6848f86f3dbf977d59' (2023-04-29)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/fbb938fcf228b84dc82b5ad4f85387448d1a2d9f' (2023-04-28)
  → 'github:hyprwm/Hyprland/b7e69be51ecc6f434c15fc418ae5351bcb1e55c5' (2023-04-30)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/d6b863fd9b7bb962e6f9fdf292419a775e772891' (2023-04-26)
  → 'github:NixOS/nixpkgs/937a9d1ee7b1351d8c55fff6611a8edf6e7c1c37' (2023-04-28)

* flake.lock: Update

Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/b7e69be51ecc6f434c15fc418ae5351bcb1e55c5' (2023-04-30)
  → 'github:hyprwm/Hyprland/02312cac59e8b22a823043ef64a34bc9cf0eef02' (2023-04-30)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/4a330ead6a990365c9bb48f30523ac048fb6d8ae' (2023-04-26)
  → 'github:Mic92/sops-nix/4f308f76633f81253a12b80e7b05b80d325005b2' (2023-04-30)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/937a9d1ee7b1351d8c55fff6611a8edf6e7c1c37' (2023-04-28)
  → 'github:NixOS/nixpkgs/08e4dc3a907a6dfec8bb3bbf1540d8abbffea22b' (2023-04-29)

* flake.lock: Update

Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/3144311f31194b537808ae6848f86f3dbf977d59' (2023-04-29)
  → 'github:nix-community/home-manager/0e4c33d76006c9080d2f228ba1c2308e3e4d7be6' (2023-05-01)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/02312cac59e8b22a823043ef64a34bc9cf0eef02' (2023-04-30)
  → 'github:hyprwm/Hyprland/c949173bc9c9f9e8276cba098cb82ed51ad4965b' (2023-05-01)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/7449971a3ecf857b4a554cf79b1d9dcc1a4647d8' (2023-04-28)
  → 'github:NixOS/nixpkgs/db1e4eeb0f9a9028bcb920e00abbc1409dd3ef36' (2023-04-30)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/08e4dc3a907a6dfec8bb3bbf1540d8abbffea22b' (2023-04-29)
  → 'github:NixOS/nixpkgs/da45bf6ec7bbcc5d1e14d3795c025199f28e0de0' (2023-04-30)

* flake.lock: Update

Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/c949173bc9c9f9e8276cba098cb82ed51ad4965b' (2023-05-01)
  → 'github:hyprwm/Hyprland/2e28e88dfdca3d836c5dbedb916e0f629fc6a540' (2023-05-02)
• Updated input 'hyprland/nixpkgs':
    'github:NixOS/nixpkgs/d6b863fd9b7bb962e6f9fdf292419a775e772891' (2023-04-26)
  → 'github:NixOS/nixpkgs/1a411f23ba299db155a5b45d5e145b85a7aafc42' (2023-05-02)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/db1e4eeb0f9a9028bcb920e00abbc1409dd3ef36' (2023-04-30)
  → 'github:NixOS/nixpkgs/5dab6490fe6d72b3f120ae8660181e20f396fbdf' (2023-05-02)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/da45bf6ec7bbcc5d1e14d3795c025199f28e0de0' (2023-04-30)
  → 'github:NixOS/nixpkgs/1a411f23ba299db155a5b45d5e145b85a7aafc42' (2023-05-02)

* flake.lock: Update

Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/0e4c33d76006c9080d2f228ba1c2308e3e4d7be6' (2023-05-01)
  → 'github:nix-community/home-manager/514c0a71f47cb80282742d7e4b6913c2c0582c2d' (2023-05-03)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/2e28e88dfdca3d836c5dbedb916e0f629fc6a540' (2023-05-02)
  → 'github:hyprwm/Hyprland/da093a8aec7d3e5030f7ef4b0813f1d8160f47f5' (2023-05-03)

* flake.lock: Update

Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/514c0a71f47cb80282742d7e4b6913c2c0582c2d' (2023-05-03)
  → 'github:nix-community/home-manager/f3824311a16cbe70dbaeedc17a97dfcd11901c3f' (2023-05-04)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/da093a8aec7d3e5030f7ef4b0813f1d8160f47f5' (2023-05-03)
  → 'github:hyprwm/Hyprland/bf04c83e3d06e38131b79f86bf2a8ede42c33007' (2023-05-04)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5dab6490fe6d72b3f120ae8660181e20f396fbdf' (2023-05-02)
  → 'github:NixOS/nixpkgs/cc45a3f8c98e1c33ca996e3504adefbf660a72d1' (2023-05-04)

* flake.lock: Update

Flake lock file updates:

• Updated input 'deploy-rs':
    'github:serokell/deploy-rs/c2ea4e642dc50fd44b537e9860ec95867af30d39' (2023-04-21)
  → 'github:serokell/deploy-rs/6b0b6a1c2527e8b1ef370a308b6ef8903004ac47' (2023-05-05)
• Updated input 'home-manager':
    'github:nix-community/home-manager/f3824311a16cbe70dbaeedc17a97dfcd11901c3f' (2023-05-04)
  → 'github:nix-community/home-manager/669669fcb403e3137dfe599bbcc26e60502c3543' (2023-05-05)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/bf04c83e3d06e38131b79f86bf2a8ede42c33007' (2023-05-04)
  → 'github:hyprwm/Hyprland/4ad03af544ba56399918642b609ed538764d1c0f' (2023-05-05)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/1a411f23ba299db155a5b45d5e145b85a7aafc42' (2023-05-02)
  → 'github:NixOS/nixpkgs/3e313808bd2e0a0669430787fb22e43b2f4bf8bf' (2023-05-05)

* flake.lock: Update

Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/4ad03af544ba56399918642b609ed538764d1c0f' (2023-05-05)
  → 'github:hyprwm/Hyprland/a31dceb2c623c41565193328f98b50694917e0bf' (2023-05-06)
2023-05-07 13:51:47 +02:00
479f495766
Merge branch 'main' of github.com:JulienMalka/nix-config 2023-05-07 13:51:27 +02:00
db9c2e07c5
Updated builbot config 2023-05-07 13:51:12 +02:00
35a1ae8b32
Added go dev env 2023-05-07 13:49:28 +02:00
03a942ff9d
Removed unecessary follow 2023-05-07 13:48:32 +02:00
9874111454
flake.lock: Update (#41)
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/47d6c3f65234230d37f1cf7d3d6b5575ec80fe0c' (2023-04-21)
  → 'github:nix-community/home-manager/6142193635ecdafb9a231bd7d1880b9b7b210d19' (2023-04-25)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/d366fc48b825b9a0a14fdf4b03bf5d1919554fdc' (2023-04-21)
  → 'github:hyprwm/Hyprland/1e526411b6207349f1ea0341ab3319ff880a898d' (2023-04-25)
• Updated input 'hyprland/wlroots':
    'gitlab:wlroots/wlroots/44069dfd5e9e3efa150ce468f48c64916f2de0ae' (2023-04-20)
  → 'gitlab:wlroots/wlroots/00489b11a0d926058d23584e2ad0e2b64f5b7406' (2023-04-18)
• Updated input 'linkal':
    'github:JulienMalka/Linkal/f8556cfdf999107d1323e639b3fcf523177177ce' (2023-04-17)
  → 'github:JulienMalka/Linkal/1c42e4c7b83835a8a81a85d09ced9cf8350c83d8' (2023-04-25)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/3d302c67ab8647327dba84fbdb443cdbf0e82744' (2023-04-19)
  → 'github:NixOS/nixpkgs/f5364316e314436f6b9c8fd50592b18920ab18f9' (2023-04-24)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/5698b06b0731a2c15ff8c2351644427f8ad33993' (2023-04-18)
  → 'github:Mic92/sops-nix/7c8e9727a2ecf9994d4a63d577ad5327e933b6a4' (2023-04-24)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/645bc49f34fa8eff95479f0345ff57e55b53437e' (2023-04-19)
  → 'github:NixOS/nixpkgs/884ac294018409e0d1adc0cae185439a44bd6b0b' (2023-04-24)
2023-04-25 19:59:27 +02:00
fe8a984931
feat: added ccls to neovim 2023-04-22 15:09:15 +02:00
855349d827
flake.lock: Update (#32)
* flake.lock: Update

Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/c2f29be9baccd14ced62105f0fc07e34e6f4fd29' (2023-04-11)
  → 'github:hyprwm/Hyprland/4bc3f9adbe7563817a9e1c6eac6f5e435f7db957' (2023-04-12)
• Updated input 'hyprpaper':
    'github:hyprwm/hyprpaper/4bcedde1dc1a06107ec32c93a937de30f40aa1fc' (2023-04-09)
  → 'github:hyprwm/hyprpaper/10fd31a5444d25ab81c8105f2df1b4cb0cba68e5' (2023-04-12)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/ea96b4af6148114421fda90df33cf236ff5ecf1d' (2023-04-10)
  → 'github:NixOS/nixpkgs/115a96e2ac1e92937cd47c30e073e16dcaaf6247' (2023-04-10)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/db24d86dd8a4769c50d6b7295e81aa280cd93f35' (2023-04-10)
  → 'github:NixOS/nixpkgs/3fb8eedc450286d5092e4953118212fa21091b3b' (2023-04-11)

* flake.lock: Update

Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/4bc3f9adbe7563817a9e1c6eac6f5e435f7db957' (2023-04-12)
  → 'github:hyprwm/Hyprland/260ef788f55cdbccd3c32f57d4eeb4e37dc44aaf' (2023-04-13)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/115a96e2ac1e92937cd47c30e073e16dcaaf6247' (2023-04-10)
  → 'github:NixOS/nixpkgs/87edbd74246ccdfa64503f334ed86fa04010bab9' (2023-04-12)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/3fb8eedc450286d5092e4953118212fa21091b3b' (2023-04-11)
  → 'github:NixOS/nixpkgs/fe2ecaf706a5907b5e54d979fbde4924d84b65fc' (2023-04-12)

* flake.lock: Update

Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/28698126bd825aff21cae9ffd15cf83e169051b0' (2023-04-11)
  → 'github:nix-community/home-manager/17198cf5ae27af5b647c7dac58d935a7d0dbd189' (2023-04-14)
• Removed input 'home-manager/utils'
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/260ef788f55cdbccd3c32f57d4eeb4e37dc44aaf' (2023-04-13)
  → 'github:hyprwm/Hyprland/83f1616a65091fe2e66d054f5ef1343d755a3e0c' (2023-04-14)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/87edbd74246ccdfa64503f334ed86fa04010bab9' (2023-04-12)
  → 'github:NixOS/nixpkgs/2b1bba76a13ed39c7abc0a6e8f74f9e168cf3c7c' (2023-04-13)

* flake.lock: Update

Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/17198cf5ae27af5b647c7dac58d935a7d0dbd189' (2023-04-14)
  → 'github:nix-community/home-manager/40ebb62101c83de81e5fd7c3cfe5cea2ed21b1ad' (2023-04-15)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/83f1616a65091fe2e66d054f5ef1343d755a3e0c' (2023-04-14)
  → 'github:hyprwm/Hyprland/edad24c257c1264e2d0c05b04798b6c90515831e' (2023-04-15)
• Updated input 'linkal':
    'github:JulienMalka/Linkal/653c2b718e1a306503c6f47bb8ef8f981fcb934f' (2023-03-25)
  → 'github:JulienMalka/Linkal/bc41f27d82e2c1ccf1ec4bdc1c5e726d1980c559' (2023-04-15)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/2b1bba76a13ed39c7abc0a6e8f74f9e168cf3c7c' (2023-04-13)
  → 'github:NixOS/nixpkgs/fda0d99c2cbbb5c89d8855d258cb0821bd9113ad' (2023-04-14)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/fe2ecaf706a5907b5e54d979fbde4924d84b65fc' (2023-04-12)
  → 'github:NixOS/nixpkgs/abe7316dd51a313ce528972b104f4f04f56eefc4' (2023-04-14)

* flake.lock: Update

Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/40ebb62101c83de81e5fd7c3cfe5cea2ed21b1ad' (2023-04-15)
  → 'github:nix-community/home-manager/68eaf4b577cfa8024fb910a1ce7d60385044f798' (2023-04-16)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/edad24c257c1264e2d0c05b04798b6c90515831e' (2023-04-15)
  → 'github:hyprwm/Hyprland/c62ab1bee72cc4bda16a0574a8c9de7d71da314a' (2023-04-16)
• Updated input 'hyprland/nixpkgs':
    'github:NixOS/nixpkgs/9c8ff8b426a8b07b9e0a131ac3218740dc85ba1e' (2023-04-05)
  → 'github:NixOS/nixpkgs/85b081528b937df4bfcaee80c3541b58f397df8b' (2023-04-15)
• Updated input 'hyprpaper':
    'github:hyprwm/hyprpaper/10fd31a5444d25ab81c8105f2df1b4cb0cba68e5' (2023-04-12)
  → 'github:hyprwm/hyprpaper/3bfaac09f58ce31c33e1a56e7eaa606a87fe4c32' (2023-04-16)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/00d5fd73756d424de5263b92235563bc06f2c6e1' (2023-04-11)
  → 'github:Mic92/sops-nix/b7a6670a28b01cd1f62879921e36be2c69c4137a' (2023-04-16)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/abe7316dd51a313ce528972b104f4f04f56eefc4' (2023-04-14)
  → 'github:NixOS/nixpkgs/f294325aed382b66c7a188482101b0f336d1d7db' (2023-04-16)

* flake.lock: Update

Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/68eaf4b577cfa8024fb910a1ce7d60385044f798' (2023-04-16)
  → 'github:nix-community/home-manager/58b8685e47ce54b298c40aff7877ea9b875de0e6' (2023-04-17)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/c62ab1bee72cc4bda16a0574a8c9de7d71da314a' (2023-04-16)
  → 'github:hyprwm/Hyprland/716d713b04b1957c5d961810d851e6719142e117' (2023-04-17)
• Updated input 'linkal':
    'github:JulienMalka/Linkal/bc41f27d82e2c1ccf1ec4bdc1c5e726d1980c559' (2023-04-15)
  → 'github:JulienMalka/Linkal/f8556cfdf999107d1323e639b3fcf523177177ce' (2023-04-17)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/fda0d99c2cbbb5c89d8855d258cb0821bd9113ad' (2023-04-14)
  → 'github:NixOS/nixpkgs/de66115c552acc4e0c0f92c5a5efb32e37dfa216' (2023-04-17)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/b7a6670a28b01cd1f62879921e36be2c69c4137a' (2023-04-16)
  → 'github:Mic92/sops-nix/de6514f8fe1b3c2b57307569a0898bc4be9ae1c5' (2023-04-17)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/f294325aed382b66c7a188482101b0f336d1d7db' (2023-04-16)
  → 'github:NixOS/nixpkgs/f00994e78cd39e6fc966f0c4103f908e63284780' (2023-04-17)

* flake.lock: Update

Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/58b8685e47ce54b298c40aff7877ea9b875de0e6' (2023-04-17)
  → 'github:nix-community/home-manager/aa03c8a429902dbaf15b3395f8cefc5a4b83f7f7' (2023-04-18)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/716d713b04b1957c5d961810d851e6719142e117' (2023-04-17)
  → 'github:hyprwm/Hyprland/e446db02f69ba7f3b3eea42a25f5de2c333bf0cd' (2023-04-18)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/de66115c552acc4e0c0f92c5a5efb32e37dfa216' (2023-04-17)
  → 'github:NixOS/nixpkgs/cd749f58ba83f7155b7062dd49d08e5e47e44d50' (2023-04-17)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/de6514f8fe1b3c2b57307569a0898bc4be9ae1c5' (2023-04-17)
  → 'github:Mic92/sops-nix/5698b06b0731a2c15ff8c2351644427f8ad33993' (2023-04-18)

* flake.lock: Update

Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/aa03c8a429902dbaf15b3395f8cefc5a4b83f7f7' (2023-04-18)
  → 'github:nix-community/home-manager/571d0ed82538ea11f9ed4451fae892d9de8c3cc7' (2023-04-19)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/e446db02f69ba7f3b3eea42a25f5de2c333bf0cd' (2023-04-18)
  → 'github:hyprwm/Hyprland/b15803510c67b7b89090c99f03781d9052c959f5' (2023-04-19)

* flake.lock: Update

Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/571d0ed82538ea11f9ed4451fae892d9de8c3cc7' (2023-04-19)
  → 'github:nix-community/home-manager/5160039edca28a7e66bad0cfc72a07c91d6768ad' (2023-04-20)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/b15803510c67b7b89090c99f03781d9052c959f5' (2023-04-19)
  → 'github:hyprwm/Hyprland/510db64860fa307e33db5fdb843c6cc5a428b5a4' (2023-04-20)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/cd749f58ba83f7155b7062dd49d08e5e47e44d50' (2023-04-17)
  → 'github:NixOS/nixpkgs/3d302c67ab8647327dba84fbdb443cdbf0e82744' (2023-04-19)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/f00994e78cd39e6fc966f0c4103f908e63284780' (2023-04-17)
  → 'github:NixOS/nixpkgs/555daa9d339b3df75e58ee558a4fec98ea92521e' (2023-04-18)

* flake.lock: Update

Flake lock file updates:

• Updated input 'deploy-rs':
    'github:serokell/deploy-rs/8c9ea9605eed20528bf60fae35a2b613b901fd77' (2023-01-19)
  → 'github:serokell/deploy-rs/c2ea4e642dc50fd44b537e9860ec95867af30d39' (2023-04-21)
• Updated input 'home-manager':
    'github:nix-community/home-manager/5160039edca28a7e66bad0cfc72a07c91d6768ad' (2023-04-20)
  → 'github:nix-community/home-manager/47d6c3f65234230d37f1cf7d3d6b5575ec80fe0c' (2023-04-21)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/510db64860fa307e33db5fdb843c6cc5a428b5a4' (2023-04-20)
  → 'github:hyprwm/Hyprland/d366fc48b825b9a0a14fdf4b03bf5d1919554fdc' (2023-04-21)
• Updated input 'hyprland/nixpkgs':
    'github:NixOS/nixpkgs/85b081528b937df4bfcaee80c3541b58f397df8b' (2023-04-15)
  → 'github:NixOS/nixpkgs/645bc49f34fa8eff95479f0345ff57e55b53437e' (2023-04-19)
• Updated input 'hyprland/wlroots':
    'gitlab:wlroots/wlroots/7abda952d0000b72d240fe1d41457b9288f0b6e5' (2023-04-06)
  → 'gitlab:wlroots/wlroots/44069dfd5e9e3efa150ce468f48c64916f2de0ae' (2023-04-20)
• Updated input 'hyprland/xdph':
    'github:hyprwm/xdg-desktop-portal-hyprland/04f579377a32781ce57c9cf4ba2a5bcb7f53fa97' (2023-04-10)
  → 'github:hyprwm/xdg-desktop-portal-hyprland/bf035bf3d5b56fd3da9d11966ad0b3c57f852d78' (2023-04-14)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/555daa9d339b3df75e58ee558a4fec98ea92521e' (2023-04-18)
  → 'github:NixOS/nixpkgs/645bc49f34fa8eff95479f0345ff57e55b53437e' (2023-04-19)
2023-04-22 15:03:22 +02:00
fb81e990a4
Merge branch 'main' of github.com:JulienMalka/nix-config 2023-04-18 14:13:24 +02:00
ce4444d8c2
tower: added jq in user packages 2023-04-18 14:13:15 +02:00
b66fc3cfcf
home-manager-modules/git: added default branch 2023-04-18 14:12:53 +02:00
85a39f7ab1
feat: added zotero, courtesy of @camillemndn 2023-04-17 22:36:30 +02:00
591a55299d
Merge branch 'main' of github.com:JulienMalka/nix-config 2023-04-15 15:09:50 +02:00
5ff60c7935
fix: networking on tower 2023-04-15 15:09:38 +02:00
9d017915b8
feat: cloud folder 2023-04-13 10:23:52 +02:00
aa9a7cec1d
flake.lock: Update (#31)
* flake.lock: Update

Flake lock file updates:

• Updated input 'flake-utils':
    'github:numtide/flake-utils/946da791763db1c306b86a8bd3828bf5814a1247' (2023-04-08)
  → 'github:numtide/flake-utils/033b9f258ca96a10e543d4442071f614dc3f8412' (2023-04-09)
• Added input 'flake-utils/systems':
    'github:nix-systems/default/da67096a3b9bf56a91d16901293e51ba5b49a27e' (2023-04-09)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/b32af6ebfb5ea3ffc16cbf07a6cdbaa6c486ba58' (2023-04-08)
  → 'github:hyprwm/Hyprland/a1b1480c21a3ca7c35fd5ab99c966322f64b2f3b' (2023-04-09)
• Updated input 'hyprland/hyprland-protocols':
    'github:hyprwm/hyprland-protocols/b8f55e02a328c47ed373133c52483bbfa20a1b75' (2022-12-23)
  → 'github:hyprwm/hyprland-protocols/4d29e48433270a2af06b8bc711ca1fe5109746cd' (2023-04-09)
• Updated input 'hyprland/xdph':
    'github:hyprwm/xdg-desktop-portal-hyprland/d479c846531fd0e1d2357c9588b8310a2b859ef2' (2023-01-07)
  → 'github:hyprwm/xdg-desktop-portal-hyprland/e48165c5637260cf2a88494a112269922dee58de' (2023-04-09)
• Updated input 'hyprpaper':
    'github:hyprwm/hyprpaper/9182de9ffc8c76fbf24d16dec0ea7a9430597a06' (2023-04-05)
  → 'github:hyprwm/hyprpaper/4bcedde1dc1a06107ec32c93a937de30f40aa1fc' (2023-04-09)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/b93eb910f768f9788737bfed596a598557e5625d' (2023-04-02)
  → 'github:Mic92/sops-nix/ddc6f124cb9be22d2ba066064c28bc19039a6bce' (2023-04-09)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/0e19daa510e47a40e06257e205965f3b96ce0ac9' (2023-04-06)
  → 'github:NixOS/nixpkgs/d9f759f2ea8d265d974a6e1259bd510ac5844c5d' (2023-04-08)

* flake.lock: Update

Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/440faf5ae472657ef2d8cc7756d77b6ab0ace68d' (2023-04-05)
  → 'github:nix-community/home-manager/4e79c6a414ce59fd1a53ab77899c77ab87774e6b' (2023-04-10)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/a1b1480c21a3ca7c35fd5ab99c966322f64b2f3b' (2023-04-09)
  → 'github:hyprwm/Hyprland/16a034a34a8e97aaeed6e3f46d04c87497313c20' (2023-04-10)
• Updated input 'hyprland/xdph':
    'github:hyprwm/xdg-desktop-portal-hyprland/e48165c5637260cf2a88494a112269922dee58de' (2023-04-09)
  → 'github:hyprwm/xdg-desktop-portal-hyprland/04f579377a32781ce57c9cf4ba2a5bcb7f53fa97' (2023-04-10)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/0040164e473509b4aee6aedb3b923e400d6df10b' (2023-04-07)
  → 'github:NixOS/nixpkgs/ea96b4af6148114421fda90df33cf236ff5ecf1d' (2023-04-10)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/d9f759f2ea8d265d974a6e1259bd510ac5844c5d' (2023-04-08)
  → 'github:NixOS/nixpkgs/fd531dee22c9a3d4336cc2da39e8dd905e8f3de4' (2023-04-09)

* flake.lock: Update

Flake lock file updates:

• Updated input 'flake-utils':
    'github:numtide/flake-utils/033b9f258ca96a10e543d4442071f614dc3f8412' (2023-04-09)
  → 'github:numtide/flake-utils/cfacdce06f30d2b68473a46042957675eebb3401' (2023-04-11)
• Updated input 'home-manager':
    'github:nix-community/home-manager/4e79c6a414ce59fd1a53ab77899c77ab87774e6b' (2023-04-10)
  → 'github:nix-community/home-manager/28698126bd825aff21cae9ffd15cf83e169051b0' (2023-04-11)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/16a034a34a8e97aaeed6e3f46d04c87497313c20' (2023-04-10)
  → 'github:hyprwm/Hyprland/c2f29be9baccd14ced62105f0fc07e34e6f4fd29' (2023-04-11)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/ddc6f124cb9be22d2ba066064c28bc19039a6bce' (2023-04-09)
  → 'github:Mic92/sops-nix/00d5fd73756d424de5263b92235563bc06f2c6e1' (2023-04-11)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/fd531dee22c9a3d4336cc2da39e8dd905e8f3de4' (2023-04-09)
  → 'github:NixOS/nixpkgs/db24d86dd8a4769c50d6b7295e81aa280cd93f35' (2023-04-10)
2023-04-12 22:30:56 +02:00
596c4ab78d
feat: added swaylock 2023-04-11 19:41:30 +02:00
dbc79339e3
feat: fix unecessary failure 2023-04-11 14:37:58 +02:00
73c7531bb3
fix: removed newton as hydra job 2023-04-09 11:47:32 +02:00
2b8754e3a5
feat: failed evaluation mark the evaluation job as failed (2) 2023-04-09 11:45:48 +02:00
485bd82e46
fix: update flake lock 2023-04-09 11:43:53 +02:00
67547ad56d
feat: changed hyprpaper source to official 2023-04-09 11:43:06 +02:00
f6ae209c17
feat: failed evaluation mark the evaluation job as failed 2023-04-09 11:41:50 +02:00
4b3678e8b7
feat: failed evaluation doesnt create a job anymore (3) 2023-04-09 11:31:51 +02:00
cde7bc76b2
feat: failed evaluation doesnt create a job anymore (2) 2023-04-09 11:29:40 +02:00
3c37a22aaf
feat: failed evaluation doesnt create a job anymore 2023-04-09 11:27:06 +02:00
9112344fde
feat: removed useless stuff 2023-04-09 11:18:58 +02:00
27ff8f4b33
feat: newton depreciation 2023-04-09 00:14:00 +02:00
55de10dc3e
fix: ntfy version rollback 2023-04-09 00:13:41 +02:00
eb31a1fb99
fix: buildbot syntax errors 2023-04-09 00:13:23 +02:00
1937e54bc5
fix: few improvments 2023-04-09 00:10:49 +02:00
2d0119a7ed
flake.lock: Update (#29)
* flake.lock: Update

Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/ddd8866c0306c48f465e7f48432e6f1ecd1da7f8' (2023-04-01)
  → 'github:nix-community/home-manager/ec06f419af79207b33d797064dfb3fc9dbe1df4a' (2023-04-04)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/88a96110b73d74cbef37a60378941fa4f7318f1f' (2023-04-01)
  → 'github:hyprwm/Hyprland/a80ba54bbc6a423ab0e79730442e09aea832d9d6' (2023-04-04)
• Updated input 'hyprland/nixpkgs':
    'github:NixOS/nixpkgs/1603d11595a232205f03d46e635d919d1e1ec5b9' (2023-03-18)
  → 'github:NixOS/nixpkgs/53dad94e874c9586e71decf82d972dfb640ef044' (2023-04-03)
• Updated input 'hyprland/wlroots':
    'gitlab:wlroots/wlroots/1d64e12391a638201c679e71d4e22bb45e5faa8e' (2023-03-20)
  → 'gitlab:wlroots/wlroots/835208db98a29431fa687c9506f4b43fe645ff65' (2023-04-04)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/884e3b68be02ff9d61a042bc9bd9dd2a358f95da' (2023-04-01)
  → 'github:NixOS/nixpkgs/799d153e4f316143a9db0eb869ecf44d8d4c0356' (2023-04-03)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/5b26523e28989a7f56953b695184070c06335814' (2023-03-28)
  → 'github:Mic92/sops-nix/b93eb910f768f9788737bfed596a598557e5625d' (2023-04-02)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/e3652e0735fbec227f342712f180f4f21f0594f2' (2023-03-30)
  → 'github:NixOS/nixpkgs/53dad94e874c9586e71decf82d972dfb640ef044' (2023-04-03)

* flake.lock: Update

Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/a80ba54bbc6a423ab0e79730442e09aea832d9d6' (2023-04-04)
  → 'github:hyprwm/Hyprland/110f3fd6585c8b92d3bc2dbaabbd2c1a1f76de7a' (2023-04-05)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/799d153e4f316143a9db0eb869ecf44d8d4c0356' (2023-04-03)
  → 'github:NixOS/nixpkgs/5233fd2ba76a3accb5aaa999c00509a11fd0793c' (2023-04-05)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/53dad94e874c9586e71decf82d972dfb640ef044' (2023-04-03)
  → 'github:NixOS/nixpkgs/9c8ff8b426a8b07b9e0a131ac3218740dc85ba1e' (2023-04-05)

* flake.lock: Update

Flake lock file updates:

• Updated input 'flake-utils':
    'github:numtide/flake-utils/93a2b84fc4b70d9e089d029deacc3583435c2ed6' (2023-03-15)
  → 'github:numtide/flake-utils/411e8764155aa9354dbcd6d5faaeb97e9e3dce24' (2023-04-06)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/110f3fd6585c8b92d3bc2dbaabbd2c1a1f76de7a' (2023-04-05)
  → 'github:hyprwm/Hyprland/801a17194c426abe406c2ced47874855e64031e1' (2023-04-06)
• Updated input 'hyprland/nixpkgs':
    'github:NixOS/nixpkgs/53dad94e874c9586e71decf82d972dfb640ef044' (2023-04-03)
  → 'github:NixOS/nixpkgs/9c8ff8b426a8b07b9e0a131ac3218740dc85ba1e' (2023-04-05)
• Updated input 'hyprland/wlroots':
    'gitlab:wlroots/wlroots/835208db98a29431fa687c9506f4b43fe645ff65' (2023-04-04)
  → 'gitlab:wlroots/wlroots/7abda952d0000b72d240fe1d41457b9288f0b6e5' (2023-04-06)

* flake.lock: Update

Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/ec06f419af79207b33d797064dfb3fc9dbe1df4a' (2023-04-04)
  → 'github:nix-community/home-manager/440faf5ae472657ef2d8cc7756d77b6ab0ace68d' (2023-04-05)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/801a17194c426abe406c2ced47874855e64031e1' (2023-04-06)
  → 'github:hyprwm/Hyprland/10b9e9bbe5fc71c5d7617776927c22db1167b10b' (2023-04-07)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5233fd2ba76a3accb5aaa999c00509a11fd0793c' (2023-04-05)
  → 'github:NixOS/nixpkgs/0040164e473509b4aee6aedb3b923e400d6df10b' (2023-04-07)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/9c8ff8b426a8b07b9e0a131ac3218740dc85ba1e' (2023-04-05)
  → 'github:NixOS/nixpkgs/0e19daa510e47a40e06257e205965f3b96ce0ac9' (2023-04-06)

* flake.lock: Update

Flake lock file updates:

• Updated input 'flake-utils':
    'github:numtide/flake-utils/411e8764155aa9354dbcd6d5faaeb97e9e3dce24' (2023-04-06)
  → 'github:numtide/flake-utils/946da791763db1c306b86a8bd3828bf5814a1247' (2023-04-08)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/10b9e9bbe5fc71c5d7617776927c22db1167b10b' (2023-04-07)
  → 'github:hyprwm/Hyprland/b32af6ebfb5ea3ffc16cbf07a6cdbaa6c486ba58' (2023-04-08)
2023-04-08 23:15:12 +02:00
8b6994a4b7
fix: removing unnecessary package 2023-04-08 23:08:08 +02:00
ae3aa9efd2
fix: tentative fix for evaluation being reported failed (2) 2023-04-08 23:05:52 +02:00
f25bf204cd
fix: tentative fix for evaluation being reported failed 2023-04-08 22:58:33 +02:00
dce1df08e3
feat: better handling of nixos version depending on the machine 2023-04-08 22:55:19 +02:00
1117ecff61
feat: updated flaresolverr 2023-04-08 21:34:31 +02:00
0cc750ef37
fix: changed bad dns server on lambda 2023-04-08 21:34:11 +02:00
d6d83122b2
Merge branch 'main' of github.com:JulienMalka/nix-config 2023-04-06 22:42:04 +02:00
b2869e133f
feat: added nixpkgs-fmt, removed unecessary plugin 2023-04-06 22:19:39 +02:00
e79ab185f1
feat: simplified flake.nix 2023-04-06 22:14:45 +02:00
2dfa62d6a3
feat: changed nix lsp to nil 2023-04-06 21:40:39 +02:00
115c5e00fa
feat: updated uptime-kuma 2023-04-04 18:58:28 +02:00
0138276ef5
feat: movetoworkspace 2023-04-03 11:24:10 +02:00
2685524b4b
feat: more workspaces 2023-04-03 11:17:14 +02:00
7e3fba67d6
feat: hyprland improvments 2023-04-02 15:59:46 +02:00
3d9600b20f
feat: kitty config 2023-04-02 00:02:25 +02:00
f6d82f9cc9
fix: fixed theme for waybar 2023-04-01 23:57:19 +02:00
ad3bc4581c
feat: added kitty 2023-04-01 23:56:11 +02:00
b9ab646462
feat: more hyprland 2023-04-01 23:09:40 +02:00
a55a8ee9a4
feat: hyprland init 2023-04-01 18:40:54 +02:00
91fa5f57d2
feat: deprecated authelia as now present in nixpkgs 2023-04-01 13:26:58 +02:00
4431d85fa9
fix: disable wait-online 2023-04-01 13:24:31 +02:00
d5c4b7a1b5
feat: import hyprland modules 2023-04-01 13:23:44 +02:00
91acaff63e
feat: disabled hidpi 2023-04-01 13:16:26 +02:00
052a8c608e
flake.lock: Update (#27)
* flake.lock: Update

Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/e2c97799da5f5cd87adfa5017fba971771e123ef' (2023-03-20)
  → 'github:NixOS/nixpkgs/9ef6e7727f4c31507627815d4f8679c5841efb00' (2023-03-22)

* flake.lock: Update

Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/9ef6e7727f4c31507627815d4f8679c5841efb00' (2023-03-22)
  → 'github:NixOS/nixpkgs/a38c914c34f93328ad7fbcdea0801bc11cbd1565' (2023-03-23)

* flake.lock: Update

Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/9154cd519a8942728038819682d6b3ff33f321bb' (2023-03-17)
  → 'github:nix-community/home-manager/83110c259889230b324bb2d35bef78bf5f214a1f' (2023-03-25)
• Updated input 'linkal':
    'github:JulienMalka/Linkal/a378092f4524a997820f2d756b7db491af21a86c' (2023-02-28)
  → 'github:JulienMalka/Linkal/653c2b718e1a306503c6f47bb8ef8f981fcb934f' (2023-03-25)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a38c914c34f93328ad7fbcdea0801bc11cbd1565' (2023-03-23)
  → 'github:NixOS/nixpkgs/83607dae4e05e1de755bbc7d7949b33fc1cfbbb9' (2023-03-25)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/19cf008bb18e47b6e3b4e16e32a9a4bdd4b45f7e' (2023-03-21)
  → 'github:NixOS/nixpkgs/8f40f2f90b9c9032d1b824442cfbbe0dbabd0dbd' (2023-03-25)

* flake.lock: Update

Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/83607dae4e05e1de755bbc7d7949b33fc1cfbbb9' (2023-03-25)
  → 'github:NixOS/nixpkgs/da26ae9f6ce2c9ab380c0f394488892616fc5a6a' (2023-03-25)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/d8827a8368c307fbc6ed594c9a31d619e7360bed' (2023-03-21)
  → 'github:Mic92/sops-nix/4740f80ca6e756915aaaa0a9c5fbb61ba09cc145' (2023-03-26)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/8f40f2f90b9c9032d1b824442cfbbe0dbabd0dbd' (2023-03-25)
  → 'github:NixOS/nixpkgs/5f9d1bb572e08ec432ae46c78581919d837a90f6' (2023-03-26)

* flake.lock: Update

Flake lock file updates:

• Updated input 'unstable':
    'github:NixOS/nixpkgs/5f9d1bb572e08ec432ae46c78581919d837a90f6' (2023-03-26)
  → 'github:NixOS/nixpkgs/4361baa782dc3d3b35fd455a1adc370681d9187c' (2023-03-26)

* flake.lock: Update

Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/da26ae9f6ce2c9ab380c0f394488892616fc5a6a' (2023-03-25)
  → 'github:NixOS/nixpkgs/5b7cd5c39befee629be284970415b6eb3b0ff000' (2023-03-28)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/4740f80ca6e756915aaaa0a9c5fbb61ba09cc145' (2023-03-26)
  → 'github:Mic92/sops-nix/5b26523e28989a7f56953b695184070c06335814' (2023-03-28)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/4361baa782dc3d3b35fd455a1adc370681d9187c' (2023-03-26)
  → 'github:NixOS/nixpkgs/4bb072f0a8b267613c127684e099a70e1f6ff106' (2023-03-27)

* flake.lock: Update

Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5b7cd5c39befee629be284970415b6eb3b0ff000' (2023-03-28)
  → 'github:NixOS/nixpkgs/a575c243c23e2851b78c00e9fa245232926ec32f' (2023-03-29)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/4bb072f0a8b267613c127684e099a70e1f6ff106' (2023-03-27)
  → 'github:NixOS/nixpkgs/9a6aabc4740790ef3bbb246b86d029ccf6759658' (2023-03-29)

* flake.lock: Update

Flake lock file updates:

• Updated input 'unstable':
    'github:NixOS/nixpkgs/9a6aabc4740790ef3bbb246b86d029ccf6759658' (2023-03-29)
  → 'github:NixOS/nixpkgs/e3652e0735fbec227f342712f180f4f21f0594f2' (2023-03-30)
2023-04-01 12:45:33 +02:00
898f4c0288
fix: changed dns server for tower 2023-03-23 12:39:01 +01:00
66ce90f881
fix: moved instruction to base.nix 2023-03-23 12:38:42 +01:00
c33f04732e
fix: fixed nm timeout for tailscale interface 2023-03-23 12:37:50 +01:00
b78fb32c9d
Merge branch 'main' of github.com:JulienMalka/nix-config 2023-03-23 12:12:48 +01:00
b9de7ff870
fix: changed dns address 2023-03-23 12:12:33 +01:00
e46bd3cfd6
feat: delete newton machine 2023-03-23 11:47:10 +01:00
0eb5117377
flake.lock: Update (#26)
* flake.lock: Update

Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/74e0b590c0c8eb99548b8db40c323ff61a2f37c4' (2023-03-13)
  → 'github:nix-community/home-manager/9154cd519a8942728038819682d6b3ff33f321bb' (2023-03-17)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/9b8e5abb18324c7fe9f07cb100c3cd4a29cda8b8' (2023-03-15)
  → 'github:NixOS/nixpkgs/08ef7dc8334521605a5c8b7086cc248e74ee338b' (2023-03-18)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/9e98f7a442b0e318de9cce757675c2ab922bdf2b' (2023-03-12)
  → 'github:Mic92/sops-nix/08a0b5f25a73130869b3cc375eaf0e6ff317435e' (2023-03-19)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/ac718d02867a84b42522a0ece52d841188208f2c' (2023-03-15)
  → 'github:NixOS/nixpkgs/1603d11595a232205f03d46e635d919d1e1ec5b9' (2023-03-18)

* flake.lock: Update

Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/08ef7dc8334521605a5c8b7086cc248e74ee338b' (2023-03-18)
  → 'github:NixOS/nixpkgs/eac7da7b519a5aefe92c33c90b4450a24ebe0ab3' (2023-03-19)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/1603d11595a232205f03d46e635d919d1e1ec5b9' (2023-03-18)
  → 'github:NixOS/nixpkgs/60c1d71f2ba4c80178ec84523c2ca0801522e0a6' (2023-03-19)

* flake.lock: Update

Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/eac7da7b519a5aefe92c33c90b4450a24ebe0ab3' (2023-03-19)
  → 'github:NixOS/nixpkgs/e2c97799da5f5cd87adfa5017fba971771e123ef' (2023-03-20)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/08a0b5f25a73130869b3cc375eaf0e6ff317435e' (2023-03-19)
  → 'github:Mic92/sops-nix/d8827a8368c307fbc6ed594c9a31d619e7360bed' (2023-03-21)

* flake.lock: Update

Flake lock file updates:

• Updated input 'nixos-apple-silicon':
    'github:tpwrules/nixos-apple-silicon/e79177006306ae592bc865b03667af4229620461' (2023-02-24)
  → 'github:tpwrules/nixos-apple-silicon/696d7b4ac7ca05684a3cceedd44acfd0d1c5f1e3' (2023-03-22)
• Updated input 'nixos-apple-silicon/nixpkgs':
    'github:nixos/nixpkgs/988cc958c57ce4350ec248d2d53087777f9e1949' (2023-02-22)
  → 'github:nixos/nixpkgs/1603d11595a232205f03d46e635d919d1e1ec5b9' (2023-03-18)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/60c1d71f2ba4c80178ec84523c2ca0801522e0a6' (2023-03-19)
  → 'github:NixOS/nixpkgs/19cf008bb18e47b6e3b4e16e32a9a4bdd4b45f7e' (2023-03-21)
2023-03-23 10:57:04 +01:00
a9f8132a42
flake.lock: Update (#24)
* flake.lock: Update

Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/86bb69b0b1e10d99a30c4352f230f03106dd0f8a' (2023-03-02)
  → 'github:nix-community/home-manager/b0be47978de5cfd729a79c3f57ace4c86364ff45' (2023-03-08)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/7edcdf7b169c33cd3eef9aba50521ce93ee666b8' (2023-03-06)
  → 'github:NixOS/nixpkgs/a7cc81913bb3cd1ef05ed0ece048b773e1839e51' (2023-03-07)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/7cff56b43952edc5a2c212076d5fc922f764240f' (2023-03-05)
  → 'github:Mic92/sops-nix/00e9e9cd46600d68dd98a392025d4894c3711b58' (2023-03-08)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/a028e2873d7fcf44e66b784b4ba061824315537f' (2023-03-06)
  → 'github:NixOS/nixpkgs/c90c4025bb6e0c4eaf438128a3b2640314b1c58d' (2023-03-08)

* flake.lock: Update

Flake lock file updates:

• Updated input 'sops-nix':
    'github:Mic92/sops-nix/00e9e9cd46600d68dd98a392025d4894c3711b58' (2023-03-08)
  → 'github:Mic92/sops-nix/1568702de0d2488c1e77011a9044de7fadec80c4' (2023-03-10)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/c90c4025bb6e0c4eaf438128a3b2640314b1c58d' (2023-03-08)
  → 'github:NixOS/nixpkgs/1e2590679d0ed2cee2736e8b80373178d085d263' (2023-03-09)

* flake.lock: Update

Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a7cc81913bb3cd1ef05ed0ece048b773e1839e51' (2023-03-07)
  → 'github:NixOS/nixpkgs/824f886682fc893e6dbf27114e5001ebf2770ea1' (2023-03-10)

* flake.lock: Update

Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/824f886682fc893e6dbf27114e5001ebf2770ea1' (2023-03-10)
  → 'github:NixOS/nixpkgs/5eb98948b66de29f899c7fe27ae112a47964baf8' (2023-03-11)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/1e2590679d0ed2cee2736e8b80373178d085d263' (2023-03-09)
  → 'github:NixOS/nixpkgs/0c4800d579af4ed98ecc47d464a5e7b0870c4b1f' (2023-03-10)

* flake.lock: Update

Flake lock file updates:

• Updated input 'sops-nix':
    'github:Mic92/sops-nix/1568702de0d2488c1e77011a9044de7fadec80c4' (2023-03-10)
  → 'github:Mic92/sops-nix/9e98f7a442b0e318de9cce757675c2ab922bdf2b' (2023-03-12)

* flake.lock: Update

Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5eb98948b66de29f899c7fe27ae112a47964baf8' (2023-03-11)
  → 'github:NixOS/nixpkgs/970402e6147c49603f4d06defe44d27fe51884ce' (2023-03-12)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/0c4800d579af4ed98ecc47d464a5e7b0870c4b1f' (2023-03-10)
  → 'github:NixOS/nixpkgs/5a1dc8acd977ff3dccd1328b7c4a6995429a656b' (2023-03-12)

* flake.lock: Update

Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/970402e6147c49603f4d06defe44d27fe51884ce' (2023-03-12)
  → 'github:NixOS/nixpkgs/67f26c1cfc5d5783628231e776a81c1ade623e0b' (2023-03-13)

* flake.lock: Update

Flake lock file updates:

• Updated input 'flake-utils':
    'github:numtide/flake-utils/3db36a8b464d0c4532ba1c7dda728f4576d6d073' (2023-02-13)
  → 'github:numtide/flake-utils/93a2b84fc4b70d9e089d029deacc3583435c2ed6' (2023-03-15)
• Updated input 'home-manager':
    'github:nix-community/home-manager/b0be47978de5cfd729a79c3f57ace4c86364ff45' (2023-03-08)
  → 'github:nix-community/home-manager/74e0b590c0c8eb99548b8db40c323ff61a2f37c4' (2023-03-13)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/67f26c1cfc5d5783628231e776a81c1ade623e0b' (2023-03-13)
  → 'github:NixOS/nixpkgs/9b8e5abb18324c7fe9f07cb100c3cd4a29cda8b8' (2023-03-15)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/5a1dc8acd977ff3dccd1328b7c4a6995429a656b' (2023-03-12)
  → 'github:NixOS/nixpkgs/7067edc68c035e21780259ed2d26e1f164addaa2' (2023-03-14)

* flake.lock: Update

Flake lock file updates:

• Updated input 'unstable':
    'github:NixOS/nixpkgs/7067edc68c035e21780259ed2d26e1f164addaa2' (2023-03-14)
  → 'github:NixOS/nixpkgs/ac718d02867a84b42522a0ece52d841188208f2c' (2023-03-15)
2023-03-17 15:54:21 +01:00
e222573490
feat: added useful cli tools 2023-03-16 14:07:28 +01:00
e83c13bd98
feat: added obsidian 2023-03-16 11:23:00 +01:00
4be4c9813d
feat: added printing 2023-03-16 11:22:47 +01:00
9a44817036
feat: added julien to networkmanager group 2023-03-16 11:22:26 +01:00
a4caa15673
feat: added waybar 2023-03-13 14:10:28 +01:00
30d0b90609
feat: added mail as ssh machines 2023-03-13 14:10:28 +01:00
09781fb8d0
feat: transform failure in warning 2023-03-10 23:50:57 +01:00
c387b4d84b
fix: wrong syntax to hide step 2023-03-10 23:42:59 +01:00
67b391d33a
feat: hide update steps 2023-03-10 21:29:17 +01:00
ef79ebbd3d flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/47c003416297e4d59a5e3e7a8b15cdbdf5110560' (2023-03-06)
  → 'github:NixOS/nixpkgs/7edcdf7b169c33cd3eef9aba50521ce93ee666b8' (2023-03-06)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/3c5319ad3aa51551182ac82ea17ab1c6b0f0df89' (2023-03-04)
  → 'github:NixOS/nixpkgs/a028e2873d7fcf44e66b784b4ba061824315537f' (2023-03-06)
2023-03-08 14:07:17 +01:00
b3a664e721 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/96e18717904dfedcd884541e5a92bf9ff632cf39' (2023-03-02)
  → 'github:NixOS/nixpkgs/47c003416297e4d59a5e3e7a8b15cdbdf5110560' (2023-03-06)
2023-03-08 14:07:17 +01:00
a0d5b4683d flake.lock: Update
Flake lock file updates:

• Updated input 'sops-nix':
    'github:Mic92/sops-nix/128e9b29ddd88ceb634a28f7dbbfee7b895f005f' (2023-03-03)
  → 'github:Mic92/sops-nix/7cff56b43952edc5a2c212076d5fc922f764240f' (2023-03-05)
2023-03-08 14:07:17 +01:00
cda8605d1f flake.lock: Update
Flake lock file updates:

• Updated input 'unstable':
    'github:NixOS/nixpkgs/a08d6979dd7c82c4cef0dcc6ac45ab16051c1169' (2023-03-01)
  → 'github:NixOS/nixpkgs/3c5319ad3aa51551182ac82ea17ab1c6b0f0df89' (2023-03-04)
2023-03-08 14:07:17 +01:00
f2c1deb135 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d70f5cd5c3bef45f7f52698f39e7cc7a89daa7f0' (2023-02-28)
  → 'github:NixOS/nixpkgs/96e18717904dfedcd884541e5a92bf9ff632cf39' (2023-03-02)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/27018a9084006b8371b1f833882adfb85bd23004' (2023-02-28)
  → 'github:Mic92/sops-nix/128e9b29ddd88ceb634a28f7dbbfee7b895f005f' (2023-03-03)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/68196a61c26748d3e53a6803de3d2f8c69f27831' (2023-02-28)
  → 'github:NixOS/nixpkgs/a08d6979dd7c82c4cef0dcc6ac45ab16051c1169' (2023-03-01)
2023-03-08 14:07:17 +01:00
ed12e32774
flake.lock: Update (#22)
* flake.lock: Update

Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/550809881b9792c20adbc0bbf6a090b4035ebaca' (2023-02-27)
  → 'github:nix-community/home-manager/a7d3f51e9e01cecebe9e00bf417bc2111c2a9202' (2023-03-01)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/b26d52c9feb6476580016e78935cbf96eb3e2115' (2023-02-28)
  → 'github:NixOS/nixpkgs/d70f5cd5c3bef45f7f52698f39e7cc7a89daa7f0' (2023-02-28)

* flake.lock: Update

Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/a7d3f51e9e01cecebe9e00bf417bc2111c2a9202' (2023-03-01)
  → 'github:nix-community/home-manager/86bb69b0b1e10d99a30c4352f230f03106dd0f8a' (2023-03-02)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/7f5639fa3b68054ca0b062866dc62b22c3f11505' (2023-02-26)
  → 'github:NixOS/nixpkgs/68196a61c26748d3e53a6803de3d2f8c69f27831' (2023-02-28)
2023-03-03 18:33:00 +01:00
27b9bc03f1
flake.lock: Update (#21)
* flake.lock: Update

Flake lock file updates:

• Updated input 'unstable':
    'github:NixOS/nixpkgs/988cc958c57ce4350ec248d2d53087777f9e1949' (2023-02-22)
  → 'github:NixOS/nixpkgs/b1f87ca164a9684404c8829b851c3586c4d9f089' (2023-02-25)

* flake.lock: Update

Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/50c23cd4ff6c8344e0b4d438b027b3afabfe58dd' (2023-02-23)
  → 'github:NixOS/nixpkgs/7076110064c09f0b3942f609f2134c1358ef2e50' (2023-02-25)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/2c5828439d718a6cddd9a511997d9ac7626a4aff' (2023-02-21)
  → 'github:Mic92/sops-nix/83fe25c8019db8216f5c6ffc65b394707784b4f3' (2023-02-26)

* flake.lock: Update

Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/29280978234b73423f4eb708cbb999295f76b42a' (2023-02-25)
  → 'github:nix-community/home-manager/550809881b9792c20adbc0bbf6a090b4035ebaca' (2023-02-27)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/7076110064c09f0b3942f609f2134c1358ef2e50' (2023-02-25)
  → 'github:NixOS/nixpkgs/8bd260eb578e3fea6bce158b24c93ab158d031e7' (2023-02-26)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/b1f87ca164a9684404c8829b851c3586c4d9f089' (2023-02-25)
  → 'github:NixOS/nixpkgs/7f5639fa3b68054ca0b062866dc62b22c3f11505' (2023-02-26)

* flake.lock: Update

Flake lock file updates:

• Updated input 'linkal':
    'github:JulienMalka/Linkal/59d43b8433790470de4b8d53c98f82141ddd866d' (2023-02-12)
  → 'github:JulienMalka/Linkal/a378092f4524a997820f2d756b7db491af21a86c' (2023-02-28)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/8bd260eb578e3fea6bce158b24c93ab158d031e7' (2023-02-26)
  → 'github:NixOS/nixpkgs/b26d52c9feb6476580016e78935cbf96eb3e2115' (2023-02-28)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/83fe25c8019db8216f5c6ffc65b394707784b4f3' (2023-02-26)
  → 'github:Mic92/sops-nix/27018a9084006b8371b1f833882adfb85bd23004' (2023-02-28)
2023-03-01 09:10:29 +01:00
fa0231dfa5
feat: updated uptime-kuma 2023-02-26 18:55:45 +01:00
f848409569
flake.lock: Update (#20)
* flake.lock: Update

Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/e19f25b587f15871d26442cfa1abe4418a815d7d' (2023-02-20)
  → 'github:NixOS/nixpkgs/c95bf18beba4290af25c60cbaaceea1110d0f727' (2023-02-22)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/d0d55259081f0b97c828f38559cad899d351cad1' (2023-02-21)
  → 'github:NixOS/nixpkgs/988cc958c57ce4350ec248d2d53087777f9e1949' (2023-02-22)

* flake.lock: Update

Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/2cb27c79117a2a75ff3416c3199a2dc57af6a527' (2023-02-13)
  → 'github:nix-community/home-manager/29280978234b73423f4eb708cbb999295f76b42a' (2023-02-25)
• Updated input 'nixos-apple-silicon':
    'github:tpwrules/nixos-apple-silicon/0086dd0e401f9dde826e6c170d312a87564aa6a4' (2023-02-01)
  → 'github:tpwrules/nixos-apple-silicon/e79177006306ae592bc865b03667af4229620461' (2023-02-24)
• Updated input 'nixos-apple-silicon/nixpkgs':
    'github:nixos/nixpkgs/9b97ad7b4330aacda9b2343396eb3df8a853b4fc' (2023-01-25)
  → 'github:nixos/nixpkgs/988cc958c57ce4350ec248d2d53087777f9e1949' (2023-02-22)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/c95bf18beba4290af25c60cbaaceea1110d0f727' (2023-02-22)
  → 'github:NixOS/nixpkgs/50c23cd4ff6c8344e0b4d438b027b3afabfe58dd' (2023-02-23)
2023-02-25 17:52:31 +01:00
55fd0491c4
flake.lock: Update (#19)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/0cf4274b5d06325bd16dbf879a30981bc283e58a' (2023-02-19)
  → 'github:NixOS/nixpkgs/e19f25b587f15871d26442cfa1abe4418a815d7d' (2023-02-20)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/1da7257baa1d6801c45d9d3dedae7ce79c0e6498' (2023-02-19)
  → 'github:Mic92/sops-nix/2c5828439d718a6cddd9a511997d9ac7626a4aff' (2023-02-21)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/5f4e07deb7c44f27d498f8df9c5f34750acf52d2' (2023-02-18)
  → 'github:NixOS/nixpkgs/d0d55259081f0b97c828f38559cad899d351cad1' (2023-02-21)
2023-02-22 10:56:24 +01:00
095657cd0f
feat: added libreoffice 2023-02-21 09:47:53 +01:00
2726e5e818
fix: use cvc4 from master 2023-02-21 09:47:16 +01:00
c25892757d
flake.lock: Update (#18)
* flake.lock: Update

Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/1b82144edfcd0c86486d2e07c7298f85510e7fb8' (2023-02-12)
  → 'github:NixOS/nixpkgs/c43f676c938662072772339be6269226c77b51b8' (2023-02-14)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/d917136f550a8c36efb1724390c7245105f79023' (2023-02-12)
  → 'github:NixOS/nixpkgs/545c7a31e5dedea4a6d372712a18e00ce097d462' (2023-02-13)

* flake.lock: Update

Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/65c47ced082e3353113614f77b1bc18822dc731f' (2023-01-23)
  → 'github:nix-community/home-manager/2cb27c79117a2a75ff3416c3199a2dc57af6a527' (2023-02-13)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/545c7a31e5dedea4a6d372712a18e00ce097d462' (2023-02-13)
  → 'github:NixOS/nixpkgs/28319deb5ab05458d9cd5c7d99e1a24ec2e8fc4b' (2023-02-15)

* flake.lock: Update

Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/c43f676c938662072772339be6269226c77b51b8' (2023-02-14)
  → 'github:NixOS/nixpkgs/2fb7d749c084890192b2cd08ba264e5e4a14df1b' (2023-02-16)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/28319deb5ab05458d9cd5c7d99e1a24ec2e8fc4b' (2023-02-15)
  → 'github:NixOS/nixpkgs/ac1f5b72a9e95873d1de0233fddcb56f99884b37' (2023-02-16)

* flake.lock: Update

Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/2fb7d749c084890192b2cd08ba264e5e4a14df1b' (2023-02-16)
  → 'github:NixOS/nixpkgs/de5448dab588ad41aef40f8c7c0c230981656698' (2023-02-17)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/ac1f5b72a9e95873d1de0233fddcb56f99884b37' (2023-02-16)
  → 'github:NixOS/nixpkgs/958dbd6c08c7e276451704409ebc7cb0d8bc94c7' (2023-02-17)

* flake.lock: Update

Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/de5448dab588ad41aef40f8c7c0c230981656698' (2023-02-17)
  → 'github:NixOS/nixpkgs/e6d5772f3515b8518d50122471381feae7cbae36' (2023-02-18)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/c5dab21d8706afc7ceb05c23d4244dcb48d6aade' (2023-02-12)
  → 'github:Mic92/sops-nix/1da7257baa1d6801c45d9d3dedae7ce79c0e6498' (2023-02-19)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/958dbd6c08c7e276451704409ebc7cb0d8bc94c7' (2023-02-17)
  → 'github:NixOS/nixpkgs/5f4e07deb7c44f27d498f8df9c5f34750acf52d2' (2023-02-18)

* flake.lock: Update

Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/e6d5772f3515b8518d50122471381feae7cbae36' (2023-02-18)
  → 'github:NixOS/nixpkgs/0cf4274b5d06325bd16dbf879a30981bc283e58a' (2023-02-19)
2023-02-21 09:46:14 +01:00
350733016c
feat: added software verification tools 2023-02-20 17:26:25 +01:00
4e0827f860
fix: Type in domain of one machine 2023-02-20 17:26:25 +01:00
3ad37ea9d0
Merge branch 'main' of github.com:JulienMalka/nix-config 2023-02-15 15:48:56 +01:00
c727a68b85
fix: Fixed pipeline not working 2023-02-15 15:48:47 +01:00
ccdda8b06e
flake.lock: Update (#16)
* flake.lock: Update

Flake lock file updates:

• Updated input 'linkal':
    'github:JulienMalka/Linkal/f487eea64b1ba5456defd48b834cfba55da24cf7' (2023-02-08)
  → 'github:JulienMalka/Linkal/59d43b8433790470de4b8d53c98f82141ddd866d' (2023-02-12)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/49efda9011e8cdcd6c1aad30384cb1dc230c82fe' (2023-02-09)
  → 'github:NixOS/nixpkgs/1b82144edfcd0c86486d2e07c7298f85510e7fb8' (2023-02-12)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/8fec29b009c19538e68d5d814ec74e04f662fbd1' (2023-02-08)
  → 'github:Mic92/sops-nix/c5dab21d8706afc7ceb05c23d4244dcb48d6aade' (2023-02-12)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/724bfc0892363087709bd3a5a1666296759154b1' (2023-02-09)
  → 'github:NixOS/nixpkgs/e5530aba13caff5a4f41713f1265b754dc2abfd8' (2023-02-11)

* flake.lock: Update

Flake lock file updates:

• Updated input 'flake-utils':
    'github:numtide/flake-utils/5aed5285a952e0b949eb3ba02c12fa4fcfef535f' (2022-11-02)
  → 'github:numtide/flake-utils/3db36a8b464d0c4532ba1c7dda728f4576d6d073' (2023-02-13)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/e5530aba13caff5a4f41713f1265b754dc2abfd8' (2023-02-11)
  → 'github:NixOS/nixpkgs/d917136f550a8c36efb1724390c7245105f79023' (2023-02-12)
2023-02-14 16:14:24 +01:00
df3768eb20
feat: updated uptime-kuma 2023-02-13 13:30:32 +01:00
fd410d8e57
fix: formatting for uptime-kuma 2023-02-13 13:26:47 +01:00
08e5253638
feat: added direnv on tower 2023-02-13 13:20:29 +01:00
f4cb839517
Needed rust-analyser 2023-02-13 13:05:47 +01:00
1768a6c836
chore: deleted useless file 2023-02-11 13:39:23 +01:00
8d1bfecd83
Merge branch 'main' of github.com:JulienMalka/nix-config 2023-02-11 12:43:22 +01:00
71083801df
feat: improved pr process, still a bit hacky 2023-02-11 12:43:14 +01:00
ccb4712018
flake.lock: Update (#15)
Flake lock file updates:

• Updated input 'linkal':
    'github:JulienMalka/Linkal/f5d47440c11de5d5996d848b38d31f384ee544e9' (2023-02-07)
  → 'github:JulienMalka/Linkal/f487eea64b1ba5456defd48b834cfba55da24cf7' (2023-02-08)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/af96094e9b8eb162d70a84fa3b39f4b7a8b264d2' (2023-02-07)
  → 'github:NixOS/nixpkgs/49efda9011e8cdcd6c1aad30384cb1dc230c82fe' (2023-02-09)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/5dc9710905bcd8d3fa4b8912a120d9a2f9fe25e5' (2023-02-07)
  → 'github:Mic92/sops-nix/8fec29b009c19538e68d5d814ec74e04f662fbd1' (2023-02-08)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/fab09085df1b60d6a0870c8a89ce26d5a4a708c2' (2023-02-07)
  → 'github:NixOS/nixpkgs/724bfc0892363087709bd3a5a1666296759154b1' (2023-02-09)
2023-02-11 12:41:40 +01:00
eeb0d51709
feat: proper nixpkgs compliant update of uptime-kuma 2023-02-10 19:24:30 +01:00
d8b3a37bae
feat: uptime-kuma now uses buildNpmPackages 2023-02-10 19:02:39 +01:00
e61ad1a44d
flake.lock: Update (#14)
* flake.lock: Update

Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/285b3ff0660640575186a4086e1f8dc0df2874b5' (2023-02-01)
  → 'github:NixOS/nixpkgs/f7543a7539a007e9562e4d8d24e17a4bcf369b68' (2023-02-03)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/4d7c2644dbac9cf8282c0afe68fca8f0f3e7b2db' (2023-02-01)
  → 'github:NixOS/nixpkgs/a100acd7bbf105915b0004427802286c37738fef' (2023-02-02)

* flake.lock: Update

Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/f7543a7539a007e9562e4d8d24e17a4bcf369b68' (2023-02-03)
  → 'github:NixOS/nixpkgs/8e8240194eda25b61449f29bb5131e02b28a5486' (2023-02-04)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/a100acd7bbf105915b0004427802286c37738fef' (2023-02-02)
  → 'github:NixOS/nixpkgs/06999209d7a0043d4372e38f57cffae00223d592' (2023-02-03)

* flake.lock: Update

Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/8e8240194eda25b61449f29bb5131e02b28a5486' (2023-02-04)
  → 'github:NixOS/nixpkgs/cff83d5032a21aad4f69bf284e95b5f564f4a54e' (2023-02-05)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/a81ce6c961480b3b93498507074000c589bd9d60' (2023-02-01)
  → 'github:Mic92/sops-nix/4d16c18787ba8ff80c1ff8db25c5ca56f68ceed3' (2023-02-05)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/06999209d7a0043d4372e38f57cffae00223d592' (2023-02-03)
  → 'github:NixOS/nixpkgs/0591d6b57bfeb55dfeec99a671843337bc2c3323' (2023-02-04)

* flake.lock: Update

Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/cff83d5032a21aad4f69bf284e95b5f564f4a54e' (2023-02-05)
  → 'github:NixOS/nixpkgs/13fdd3945d8a2da5e4afe35d8a629193a9680911' (2023-02-06)

* flake.lock: Update

Flake lock file updates:

• Updated input 'linkal':
    'github:JulienMalka/Linkal/b2f4ec025bee6a175f933168a68c2be2bc85f25a' (2023-02-01)
  → 'github:JulienMalka/Linkal/f5d47440c11de5d5996d848b38d31f384ee544e9' (2023-02-07)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/4d16c18787ba8ff80c1ff8db25c5ca56f68ceed3' (2023-02-05)
  → 'github:Mic92/sops-nix/5dc9710905bcd8d3fa4b8912a120d9a2f9fe25e5' (2023-02-07)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/0591d6b57bfeb55dfeec99a671843337bc2c3323' (2023-02-04)
  → 'github:NixOS/nixpkgs/5a350a8f31bb7ef0c6e79aea3795a890cf7743d4' (2023-02-06)

* flake.lock: Update

Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/13fdd3945d8a2da5e4afe35d8a629193a9680911' (2023-02-06)
  → 'github:NixOS/nixpkgs/af96094e9b8eb162d70a84fa3b39f4b7a8b264d2' (2023-02-07)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/5a350a8f31bb7ef0c6e79aea3795a890cf7743d4' (2023-02-06)
  → 'github:NixOS/nixpkgs/fab09085df1b60d6a0870c8a89ce26d5a4a708c2' (2023-02-07)

* Empty commit: testing buildbot
2023-02-08 14:54:06 +01:00
de71d85016
fix: buildbot pr from gitub 2023-02-08 14:30:04 +01:00
2361fd2dd6
Added direnv 2023-02-07 10:49:36 +01:00
cc0f78de9b
Added python lsp to neovim 2023-02-07 10:49:13 +01:00
2c945916f2
Launching ssh agent 2023-02-05 00:38:11 +01:00
5d6d8fa960
Added new machines to ssh config 2023-02-05 00:37:56 +01:00
cb683f0b79
Added rofi customization 2023-02-05 00:20:39 +01:00
83536c7078
Added sway module 2023-02-04 23:55:39 +01:00
b1a76a8b82
cursor customization / alacritty 2023-02-04 23:39:10 +01:00
0d006ac092
cleaned a bit macintosh config 2023-02-04 23:34:42 +01:00
3478c5573e
changed nvim conf (2) 2023-02-04 23:34:19 +01:00
816bd9c84c
changed nvim conf 2023-02-04 23:34:05 +01:00
ef0c0d534f
added alacrity conf 2023-02-04 23:33:51 +01:00
7d11aedd93
Various improvments/brightness 2023-02-04 11:12:13 +01:00
ae4607aaa1
better battery mngt 2023-02-04 01:12:54 +01:00
4d056ac717
disabled polybar 2023-02-04 01:12:39 +01:00
c0bf8aefb8
Converted macbook to wayland 2023-02-04 00:48:36 +01:00
adc777b381
somehow conflicts 2023-02-04 00:48:36 +01:00
b49226b415
flake.lock: Update (#13)
Flake lock file updates:

• Updated input 'linkal':
    'github:JulienMalka/Linkal/3cb6ee06a937fd40fdc5fa247ad88946fc0653ba' (2023-01-30)
  → 'github:JulienMalka/Linkal/b2f4ec025bee6a175f933168a68c2be2bc85f25a' (2023-02-01)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/f413457e0dd7a42adefdbcea4391dd9751509025' (2023-01-30)
  → 'github:NixOS/nixpkgs/285b3ff0660640575186a4086e1f8dc0df2874b5' (2023-02-01)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/b6ab3c61e2ca5e07d1f4eb1b67304e2670ea230c' (2023-01-24)
  → 'github:Mic92/sops-nix/a81ce6c961480b3b93498507074000c589bd9d60' (2023-02-01)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/9b97ad7b4330aacda9b2343396eb3df8a853b4fc' (2023-01-25)
  → 'github:NixOS/nixpkgs/4d7c2644dbac9cf8282c0afe68fca8f0f3e7b2db' (2023-02-01)
2023-02-03 18:49:33 +01:00
bec74a480f
Fixing other machines 2023-02-03 18:43:17 +01:00
2d034982f0
Added ssh keys 2023-02-03 18:38:04 +01:00
ef07fa6d59
mkMachine now uses passed nixpkgs version 2023-02-03 18:31:33 +01:00
43e56879d7
adding macintosh 2023-02-03 18:30:53 +01:00
08906dfb20
macintosh depends on unstable 2023-02-03 18:30:30 +01:00
e118425d5e
new input 2023-02-03 18:30:03 +01:00
6b19667c7b
Added new macintosh machine depending on unstable 2023-02-03 18:29:53 +01:00
cf2fe4daab
Enrolling macintosh (2) 2023-02-03 11:34:43 +01:00
5a2754ed36
Enrolling macintosh 2023-02-03 11:32:13 +01:00
f74bd7c3fc
bumped flaresolverr 2023-02-03 00:37:34 +01:00
4e68089909
buildbot: hopefully fixing fails 2023-02-02 11:10:47 +01:00
116835fb66
buildbot: trying to fix reloading 2023-02-02 11:03:44 +01:00
3237af2e3a
flake.lock: Update (#10)
* flake.lock: Update

Flake lock file updates:

• Updated input 'linkal':
    'github:JulienMalka/Linkal/5464bfa6388119f09d15630861504fd1e4f6bee7' (2023-01-28)
  → 'github:JulienMalka/Linkal/14262260dd7586876f2063cf50f447207d1afbcb' (2023-01-28)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/cc4bb87f5457ba06af9ae57ee4328a49ce674b1b' (2023-01-27)
  → 'github:NixOS/nixpkgs/ce20e9ebe1903ea2ba1ab006ec63093020c761cb' (2023-01-28)

* flake.lock: Update

Flake lock file updates:

• Updated input 'linkal':
    'github:JulienMalka/Linkal/14262260dd7586876f2063cf50f447207d1afbcb' (2023-01-28)
  → 'github:JulienMalka/Linkal/3cb6ee06a937fd40fdc5fa247ad88946fc0653ba' (2023-01-30)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/ce20e9ebe1903ea2ba1ab006ec63093020c761cb' (2023-01-28)
  → 'github:NixOS/nixpkgs/f413457e0dd7a42adefdbcea4391dd9751509025' (2023-01-30)
2023-01-31 12:52:32 +01:00
9c1bcb0819
Merge branch 'main' of github.com:JulienMalka/nix-config 2023-01-30 11:21:32 +01:00
a95c266715
Changed hour of linkal update to minimize dependent updates 2023-01-30 11:20:50 +01:00
6ca1bf1933
Update badge 2023-01-28 20:28:46 +01:00
60f69c99fb
Separated evaluators 2023-01-28 20:25:59 +01:00
7124a752b5
Merge branch 'main' of github.com:JulienMalka/nix-config 2023-01-28 02:19:50 +01:00
10e1a96f35
Quick and dirty linkal repo integration 2023-01-28 02:19:42 +01:00
a1b858b907
Merge pull request #9 from JulienMalka/update_flake_lock
flake.lock: Update
2023-01-28 02:18:59 +01:00
39cc11d544 flake.lock: Update
Flake lock file updates:

• Updated input 'linkal':
    'github:JulienMalka/Linkal/4b9bb5e4f2e068ca838b9c141d049589a2ee92f9' (2023-01-28)
  → 'github:JulienMalka/Linkal/5464bfa6388119f09d15630861504fd1e4f6bee7' (2023-01-28)
2023-01-28 02:15:33 +01:00
8afbc3921d flake.lock: Update
Flake lock file updates:

• Updated input 'linkal':
    'github:JulienMalka/Linkal/89c44680f442270112d962a4a765841d7186cee8' (2023-01-20)
  → 'github:JulienMalka/Linkal/4b9bb5e4f2e068ca838b9c141d049589a2ee92f9' (2023-01-28)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/def9e420d27c951026d57dc96ce0218c3131f412' (2023-01-26)
  → 'github:NixOS/nixpkgs/cc4bb87f5457ba06af9ae57ee4328a49ce674b1b' (2023-01-27)
2023-01-28 02:00:16 +01:00
b61c996c30
Little cosmetic changes to buildbot (2) 2023-01-28 00:28:49 +01:00
52e0f3931d
Little cosmetic changes to buildbot 2023-01-28 00:11:56 +01:00
JulienMalka
415353b728 flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/89a8ba0b5b43b3350ff2e3ef37b66736b2ef8706' (2022-12-28)
  → 'github:nix-community/home-manager/65c47ced082e3353113614f77b1bc18822dc731f' (2023-01-23)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/ab1254087f4cdf4af74b552d7fc95175d9bdbb49' (2023-01-22)
  → 'github:NixOS/nixpkgs/def9e420d27c951026d57dc96ce0218c3131f412' (2023-01-26)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/1b1f50645af2a70dc93eae18bfd88d330bfbcf7f' (2023-01-23)
  → 'github:NixOS/nixpkgs/9b97ad7b4330aacda9b2343396eb3df8a853b4fc' (2023-01-25)
2023-01-27 02:00:26 +01:00
7660ac1654
Another fix 2023-01-27 00:06:28 +01:00
f0e020a353
Sieve script update 2023-01-26 23:56:53 +01:00
70bea781d4
Just a few cosmetic stuff 2023-01-26 20:55:51 +01:00
86837313c2
Fixed sieve filters 2023-01-26 20:50:52 +01:00
b9209a815c
Trying advanced sieve thingies 2023-01-26 18:48:35 +01:00
9f74ffc262
Disabling emulation on lisa 2023-01-26 15:28:53 +01:00
95ab69c5e1
Merge pull request #8 from JulienMalka/update_flake_lock
flake.lock: Update
2023-01-25 15:30:57 +01:00
JulienMalka
05f8c7edaa flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/cdead16a444a3e5de7bc9b0af8e198b11bb01804' (2023-01-20)
  → 'github:NixOS/nixpkgs/ab1254087f4cdf4af74b552d7fc95175d9bdbb49' (2023-01-22)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/51fdbd2d6fc2a7ba318e823a12609276bcc4dbe9' (2023-01-22)
  → 'github:Mic92/sops-nix/b6ab3c61e2ca5e07d1f4eb1b67304e2670ea230c' (2023-01-24)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/5ed481943351e9fd354aeb557679624224de38d5' (2023-01-20)
  → 'github:NixOS/nixpkgs/1b1f50645af2a70dc93eae18bfd88d330bfbcf7f' (2023-01-23)
2023-01-24 13:49:17 +01:00
714aa57b73
Merge pull request #7 from JulienMalka/update_flake_lock 2023-01-23 23:41:43 +01:00
JulienMalka
dc7711e9e1 flake.lock: Update
Flake lock file updates:

• Updated input 'sops-nix':
    'github:Mic92/sops-nix/e18eefd2b133a58309475298052c341c08470717' (2023-01-15)
  → 'github:Mic92/sops-nix/51fdbd2d6fc2a7ba318e823a12609276bcc4dbe9' (2023-01-22)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/d7705c01ef0a39c8ef532d1033bace8845a07d35' (2023-01-19)
  → 'github:NixOS/nixpkgs/5ed481943351e9fd354aeb557679624224de38d5' (2023-01-20)
2023-01-22 13:21:28 +01:00
b0526072a3
Updated htpdate 2023-01-22 02:11:55 +01:00
d759b4f165
Deleted paperless 2023-01-22 02:00:54 +01:00
7de1b7c57d
Added new jobs 2023-01-22 01:54:59 +01:00
0fa0596f91
Added uptime-kuma package 2023-01-22 00:06:44 +01:00
55dc85d432
Secured buildbot change endpoint 2023-01-22 00:06:29 +01:00
de54935de7
Merge branch 'main' of github.com:JulienMalka/nix-config 2023-01-21 21:25:26 +01:00
0f18cafcd3
Merge pull request #6 from JulienMalka/update_flake_lock
flake.lock: Update
2023-01-21 21:17:13 +01:00
6f112e8979
Fixed update flake scheduler 2023-01-21 21:15:32 +01:00
JulienMalka
447e2b7cc2 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/b83e7f5a04a3acc8e92228b0c4bae68933d504eb' (2023-01-17)
  → 'github:NixOS/nixpkgs/cdead16a444a3e5de7bc9b0af8e198b11bb01804' (2023-01-20)
2023-01-21 21:14:18 +01:00
e60f00fa4a
We don't actually need that 2023-01-21 20:49:35 +01:00
c722cd5a6e
Cleaned buildbot config 2023-01-21 20:49:07 +01:00
7c7339490f
Merge branch 'main' of github.com:JulienMalka/nix-config 2023-01-21 20:38:05 +01:00
cff6c8b50c
Badges style 2023-01-21 20:37:35 +01:00
2a363eee3a
Reading the docs is important 2023-01-21 20:36:21 +01:00
9ea8d6b6cb
Badges are back 2023-01-21 20:08:10 +01:00
4cbeb9970a
Actually this should do it 2023-01-21 19:55:57 +01:00
4002a0dc99
Trying to have all commits built 2023-01-21 19:53:08 +01:00
c5f243c06c
Buildbot badges are on the way 2023-01-21 19:36:38 +01:00
87241e5fec
Packaged buildbot-badges 2023-01-21 19:36:20 +01:00
fe0a7d03d3
Packaged hydrasect 2023-01-21 19:36:02 +01:00
28b010cdbc
Added lazygit 2023-01-21 19:35:42 +01:00
0b9ea46061
Merge pull request #5 from JulienMalka/update_flake_lock
flake.lock: Update
2023-01-21 00:11:18 +01:00
JulienMalka
0d5ce1cf66 flake.lock: Update
Flake lock file updates:

• Updated input 'unstable':
    'github:NixOS/nixpkgs/6dccdc458512abce8d19f74195bb20fdb067df50' (2023-01-15)
  → 'github:NixOS/nixpkgs/d7705c01ef0a39c8ef532d1033bace8845a07d35' (2023-01-19)
2023-01-20 19:36:59 +01:00
f06e3751ef
Activated github auth 2023-01-20 02:59:52 +01:00
46a19bebd7
Goodbye drone 2023-01-20 02:44:57 +01:00
4ae22ef5ce
Merge branch 'main' of github.com:JulienMalka/nix-config 2023-01-20 02:16:45 +01:00
dc6372bd58
Update flake everyday 2023-01-20 02:16:39 +01:00
89bf3b9e95
Merge pull request #4 from JulienMalka/update_flake_lock
flake.lock: Update
2023-01-20 02:13:40 +01:00
JulienMalka
536216c4f7 flake.lock: Update
Flake lock file updates:

• Updated input 'linkal':
    'github:JulienMalka/Linkal/9bf7706056e7ac87afe77c026b3ff596c80b7bc9' (2023-01-10)
  → 'github:JulienMalka/Linkal/89c44680f442270112d962a4a765841d7186cee8' (2023-01-20)
2023-01-20 02:10:16 +01:00
JulienMalka
b278665cb2 flake.lock: Update
Flake lock file updates:

• Updated input 'deploy-rs':
    'github:serokell/deploy-rs/a5619f5660a00f58c2b7c16d89058e92327ac9b8' (2022-12-29)
  → 'github:serokell/deploy-rs/8c9ea9605eed20528bf60fae35a2b613b901fd77' (2023-01-19)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/e285dd0ca97c264003867c7329f0d1f4f028739c' (2023-01-13)
  → 'github:NixOS/nixpkgs/b83e7f5a04a3acc8e92228b0c4bae68933d504eb' (2023-01-17)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/32187b33ac6ec9b628dcd08dd941a715e6241dda' (2023-01-12)
  → 'github:Mic92/sops-nix/e18eefd2b133a58309475298052c341c08470717' (2023-01-15)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/0f213d0fee84280d8c3a97f7469b988d6fe5fcdf' (2023-01-12)
  → 'github:NixOS/nixpkgs/6dccdc458512abce8d19f74195bb20fdb067df50' (2023-01-15)
2023-01-20 02:02:03 +01:00
290a57fcc5
Fixed buildbot 2023-01-20 01:59:06 +01:00
b90f365485
cleaning buildbot config 2023-01-20 01:28:34 +01:00
c6188f62a5
better neovim config for python 2023-01-20 01:28:17 +01:00
a1c2699143
Now using back ci domain 2023-01-20 00:55:06 +01:00
9c7084313b
Removed ci on lisa 2023-01-20 00:33:32 +01:00
b53a9af3c5
Merge branch 'main' of github.com:JulienMalka/nix-config 2023-01-20 00:29:30 +01:00
0df236e173
Shoud be better 2023-01-20 00:29:09 +01:00
606b937e0f
Added format on save Python 2023-01-20 00:28:35 +01:00
9b88e0e621
Added more usefull tools 2023-01-20 00:28:21 +01:00
b049ee0022
Formatting 2023-01-20 00:27:21 +01:00
fd6fcbcadc
Disabled badge until we can package buildbot-badges 2023-01-19 23:08:21 +01:00
60026e2020
Changed update pipeline 2023-01-19 21:23:23 +01:00
45b19e73e3
Simplified config (hope it works) 2023-01-19 21:05:41 +01:00
25fee2fbb9
trying less verbose (2) 2023-01-19 20:45:14 +01:00
7fb81a61c2
trying less verbose 2023-01-19 20:43:17 +01:00
2ef286ebe3
Added newton, had to go around strange bug 2023-01-19 19:50:26 +01:00
147afb0403
Added 2nd job 2023-01-19 19:42:26 +01:00
9f79ad05e0
updated tower config 2023-01-19 19:18:08 +01:00
fb38df2ea3
Added buildbot module 2023-01-19 19:17:40 +01:00
64055dc28d
Added buildbot secrets 2023-01-19 19:15:05 +01:00
5380a97e8e
Removed test 2023-01-19 19:09:46 +01:00
632b41077f
some formatting 2023-01-19 19:09:05 +01:00
fa91fc44e4
Customizing home 2023-01-19 19:08:40 +01:00
a8cff7b047
Opening port for netdata 2023-01-19 19:00:02 +01:00
7a87e464f9
Merge branch 'main' of github.com:JulienMalka/nix-config 2023-01-19 18:55:29 +01:00
f97df9d600
added 1 job 2023-01-19 18:55:22 +01:00
b0d187e694
added 1 job 2023-01-19 18:24:05 +01:00
55ff5e8c76
added 1 job 2023-01-19 18:22:36 +01:00
a983e119bc
added 1 job 2023-01-19 17:19:21 +01:00
5a7559236d
Test 2023-01-19 15:14:30 +01:00
4658773aae
Init monitoring 2023-01-15 18:29:05 +01:00
3e9371df4c
Cleaned lambda's config 2023-01-14 20:29:35 +01:00
f62443a60a
Fixed tower failing deployment 2023-01-14 20:24:01 +01:00
0a478a226a
Merged 2023-01-14 20:02:19 +01:00
02179b938a Updated flake lock 2023-01-14 00:42:13 +01:00
a75f416e13 Updated flake lock 2023-01-13 00:59:57 +01:00
faa44dc3e9 Updated flake lock 2023-01-11 00:56:23 +01:00
eb675a93a9
Updated flake lock 2023-01-10 18:10:47 +01:00
8a3e943142
Added tower as deployed machine 2023-01-09 22:10:53 +01:00
d25dd948cd
Disabling useless services on lisa 2023-01-09 21:36:14 +01:00
2ceceee483
Optimized flake inputs 2023-01-09 20:48:49 +01:00
778017c98d
Added deploy for lisa 2023-01-09 19:50:27 +01:00
865ae4478e
Fixed lisa networking 2023-01-09 19:43:41 +01:00
cb76d70920
Better network config 2023-01-09 17:43:00 +01:00
c2f721217a
Updated flake lock 2023-01-09 17:38:10 +01:00
8b7b0e9d45
Fixed typo 2023-01-09 17:37:57 +01:00
74b30ab3ff
Added emulated arch to build lambda 2023-01-08 23:49:40 +01:00
1fb5614316
Drone will now build lambda 2023-01-08 22:36:36 +01:00
af8e203f56
Fixed stupidity 2023-01-08 22:33:35 +01:00
c26a0c4826
Trying to add lambda to deploy 2023-01-08 22:03:47 +01:00
3699bd39fa
Using latest deploy version 2023-01-08 22:03:27 +01:00
d31d22919b
unboarding lambda to secrets 2023-01-08 21:22:34 +01:00
ba5e68ef5e
Added lambda as ssh machine 2023-01-08 21:19:52 +01:00
8d694cb9a1
Added lambda as a new machine 2023-01-08 21:18:42 +01:00
56f1e4948b
Added lambda secrets 2023-01-08 21:18:11 +01:00
be06e7c911
Added deploy pkg 2023-01-07 18:39:38 +01:00
3180cb9839
Added check 2023-01-07 18:39:16 +01:00
be4f6d8b48
We need that for deploy 2023-01-07 18:23:50 +01:00
6117ff0122
Goodbye Lisa as a build machine 2023-01-07 18:23:32 +01:00
6712d66795
Init deploy for newton 2023-01-07 18:23:11 +01:00
6d13ae4c22
Init deploy-rs 2023-01-07 18:22:48 +01:00
712b67baae
Merge branch 'main' of github.com:JulienMalka/nix-config 2023-01-07 12:56:53 +01:00
6d6bb6d004
Added tower key to all machines 2023-01-07 12:56:30 +01:00
2de999fa55
Merge branch 'main' of github.com:JulienMalka/nix-config 2023-01-07 12:51:36 +01:00
01a1b5f6e3
Added mail alias 2023-01-07 12:51:26 +01:00
ffb4472f67
Updated drone to build tower 2023-01-07 00:09:57 +01:00
85c5510e72
lint 2023-01-06 23:53:31 +01:00
Julien
d35d441ffb Start of tower 2023-01-06 23:41:53 +01:00
2232dc327a
Bootstraping of new machine 2023-01-06 22:57:36 +01:00
6be97ba53e
Updated onedarker.nvim 2023-01-06 11:55:37 +01:00
7b15c314cd
removed useless file 2023-01-06 10:58:38 +01:00
16e96658d0
Updated to 22.11 2023-01-06 10:21:10 +01:00
aeda9a2775
Updated github keys 2023-01-06 10:19:57 +01:00
5a86a25849
Update neovim config 2023-01-06 10:18:13 +01:00
e2642957ab
Rolledback to home version 22.05 to fix nvim, have to find a long term solution 2023-01-06 10:16:15 +01:00
f6862a1944
Updated nix for 22.11 (4) 2023-01-05 17:15:06 +01:00
3b57581c17
Updated nix for 22.11 (3) 2023-01-05 17:12:02 +01:00
a76c7b2925
Updated nix for 22.11 (2) 2023-01-05 17:10:42 +01:00
b8a60187df
Updated nix for 22.11 2023-01-05 17:09:27 +01:00
4bfc60bb7d
Updated grafana for 22.11 2023-01-05 17:02:47 +01:00
37e894c634
Updated hedgedocs for 22.11 2023-01-05 17:01:15 +01:00
dfc3e4de32
Updated ENS calendars 2023-01-04 11:43:22 +01:00
9438958632 Updated flake lock 2023-01-01 00:37:08 +01:00
0131b3f099 Deleted macintosh as machine not in use anymore 2022-12-26 21:07:25 +01:00
39ad86f851
Removed mosh from ci 2022-12-22 23:40:20 +01:00
64856429fc
Removed useless double check 2022-12-22 23:32:51 +01:00
a853107321
Updated keys 2022-12-22 23:27:45 +01:00
0b2cee33f5
Removed conflict 2022-12-22 23:25:24 +01:00
0a54694b57
Removed garbage collection 2022-12-22 22:59:26 +01:00
6690454de9
Updated flaresolverr 2022-12-22 22:57:41 +01:00
679d20904d
Updated flake - OpenSSL is up to date 2022-11-04 10:28:36 +01:00
6649e04990
Updated keys 2022-11-03 01:10:30 +01:00
d5e33cd626
Changed mtu on ens20 on lisa 2022-11-03 01:10:03 +01:00
9de4fa151a
Updated lockfile 2022-11-03 01:09:28 +01:00
f2be4eab3f
We had a mosh release 2022-11-03 01:09:10 +01:00
8976722bf8 Updated flake lock 2022-10-23 00:29:01 +02:00
17a1114a00
Removed depreciated server 2022-10-22 11:45:05 +02:00
d58908f46a
Removed vim plugin 2022-10-22 11:43:26 +02:00
ec3a917073
updated flake 2022-10-22 11:43:04 +02:00
36a61df8be
Updated keys 2022-10-12 09:54:19 +02:00
c1d23b691e
Added roundcube 2022-10-12 09:54:03 +02:00
88e3a5c360
Added new neovim config: WIP 2022-10-12 09:53:16 +02:00
c1e4547e47
Added linkal module 2022-10-12 09:52:51 +02:00
8db7a68330
Merge branch 'main' of github.com:JulienMalka/nix-config 2022-09-27 06:58:27 +02:00
6b4b2cbe31
Added linkal service 2022-09-27 06:58:08 +02:00
dfcda207e6
Update README.md 2022-09-27 04:51:15 +02:00
49739e585e
Update flake 2022-09-25 13:43:18 +02:00
4c3e8ccb90
Removed polr from lisa 2022-09-25 07:00:12 +02:00
b62e5bcad3
Removed polr part 2 2022-09-25 06:59:06 +02:00
5eefcdfd74
Removed polr because unmaintained 2022-09-25 06:57:19 +02:00
74155f0524
Removed linux 5.18 2022-09-25 06:48:54 +02:00
0473e82aed
Added Sieve to mailserver 2022-09-25 06:42:46 +02:00
7f97929c20
updated flake 2022-08-30 16:47:09 +02:00
8ea0314c9d
Bumped flaresolverr to 2.2.6 2022-08-30 13:50:43 +02:00
19246fbaf3 Updated flake lock 2022-08-23 00:23:01 +02:00
f5fb037cbe
Updated machines 2022-08-22 18:12:52 +02:00
477e3f188e
Removed unused devices from drone pipeline 2022-08-22 15:31:12 +02:00
93b7428cc1
Merge branch 'main' of github.com:JulienMalka/nix-config 2022-08-22 14:22:02 +02:00
707b19ccb7
Removed impurities in flake 2022-08-22 14:21:42 +02:00
615328910f
Update README.md 2022-08-16 14:25:50 +02:00
3d6f3e3a10
Fixed little issues with polr 2022-08-16 10:58:56 +02:00
690490282b
Added polr module 2022-08-14 18:28:19 +02:00
0d0b9592d4
Added polr package 2022-08-14 17:45:00 +02:00
b53e3e0e34
Updated htpdate 2022-08-14 17:41:58 +02:00
47435c93d8
Wireguard out 2022-07-29 09:41:23 +02:00
b596fc1490
Bumped newton to 5.18 2022-07-29 09:31:25 +02:00
162e1d990b
Added redirections 2022-07-29 09:30:49 +02:00
26e534e032
Updated lisa 2022-07-24 14:19:45 +02:00
6805cf011d
Updated flake lock 2022-06-18 23:23:13 +02:00
0f28ad7183
Disabling login via ssh keys 2022-06-18 22:39:04 +02:00
77d8ca4749
Updated lisa's kernel 2022-06-18 22:31:47 +02:00
3c1f616e23
Updated newton to 22.05 2022-06-04 10:12:47 +02:00
8b60c12a50
Added ssh certificates 2022-06-03 22:03:15 +02:00
152415a0bb
Ssh certificates, got to clean that 2022-06-03 21:59:41 +02:00
f035cb42b0
Jackett has to be up to date 2022-06-03 21:59:14 +02:00
d69b2a6ba3
Added nginx for the lounge 2022-05-25 07:58:15 +02:00
234cd1d1fc
Changed irc service 2022-05-25 07:34:01 +02:00
a56bbe1f2b
Using updated Nodepackage, can't remember why but must be important 2022-05-25 07:08:52 +02:00
b953c6e208
Added internal dns to newton 2022-05-10 07:52:23 +02:00
bc47b08d6e
Merge branch 'main' of github.com:JulienMalka/nix-config 2022-05-10 07:01:39 +02:00
e40ce2983b
Updated newton to support tailscale 2022-05-10 07:01:21 +02:00
8e7416e38b
Updated flake lock 2022-05-10 06:57:50 +02:00
6b369314b6
Updated lisa config 2022-05-10 06:56:35 +02:00
1f00356b81
Added root certificate for all machines 2022-05-10 06:49:38 +02:00
b9a5c3b946
Added ssl cert for homer 2022-05-10 06:46:32 +02:00
919c11573f
Added automatic ssl certificates for internal domains 2022-05-10 06:45:21 +02:00
5dc1c4ac79
Added one ssh key 2022-05-10 06:42:58 +02:00
2d7a488542
Added beta feature : tailscale 2022-04-21 19:33:23 +02:00
12c6446aaf Updated flake lock 2022-04-21 18:10:45 +02:00
d0f691d3d6
Merge branch 'main' of github.com:JulienMalka/nix-config 2022-04-17 15:51:15 +02:00
0878ed808d
Radarr 21.11 version is not working 2022-04-17 15:50:31 +02:00
c17cdbb53a
Fixed neomutt not filtering bc 2022-04-15 20:36:19 +02:00
e5e91363f2
Reconnected to VPN 2022-04-15 20:05:41 +02:00
053647f426
Update machines 2022-04-03 21:14:14 +02:00
be00428bef
Decomissionned useless feature 2022-04-02 20:41:05 +02:00
6215e2b195
Changed subdomains in VPN 2022-04-02 19:57:47 +02:00
727fcbb76e
Bumped flaresolverr version to 2.2.2 2022-04-02 19:57:11 +02:00
f74b6882c2
Fought letsencrypt rate limits 2022-04-01 21:02:35 +02:00
258a2c37b8
Deleted stupid certificate generation 2022-04-01 21:02:09 +02:00
19a8f298cd
Reinstalled lisa 2022-04-01 21:01:38 +02:00
b4b83e1ef4
Updated keys 2022-04-01 19:09:19 +02:00
e336074a55
Reinstalling lisa, again 2022-04-01 18:55:16 +02:00
Julien Malka
d9eb0717dc
Should verify now 2022-04-01 10:56:51 +02:00
Julien Malka
fb74b6e0d6
Rolled git keys 2022-04-01 10:55:14 +02:00
Julien Malka
f09d71e677
Using new gpg key 2022-04-01 10:46:56 +02:00
Julien Malka
4c849df7db
Updated everyone 2022-04-01 10:42:48 +02:00
Julien Malka
08bde4af31
Fixed kernel version to 5.10 to avoid problems and updated zfs 2022-04-01 10:42:32 +02:00
Julien Malka
1849156fd6
And another one 2022-04-01 10:41:40 +02:00
Julien Malka
eb7bd95e1a
Another file impacted by secrets rolling 2022-04-01 10:41:19 +02:00
Julien Malka
f3ab033298
Changed binary cache key 2022-04-01 10:38:13 +02:00
Julien Malka
aad06bd853
Rolled all secrets for security purposes 2022-04-01 10:36:27 +02:00
Julien Malka
a4c67b2bc7
Et c reparti 2022-03-30 23:03:12 +02:00
Julien Malka
c8b0e4aa31
On retente nix 2.7 2022-03-29 22:19:54 +02:00
Julien Malka
e6365ceefc
Remise en service lisa 2 2022-03-29 22:19:02 +02:00
Julien Malka
e9d139982f
Remise en service de lisa 2022-03-29 22:17:47 +02:00
Julien Malka
ab74c67aa4
Something is broken 2022-03-21 19:51:55 +01:00
Julien Malka
0b4ed0e2c7
Updated infra 2022-03-16 21:52:54 +01:00
Julien Malka
43695f3005
Updated flake 2022-03-13 20:34:57 +01:00
Julien Malka
2aa3dccfcf
Updated flake 2022-03-12 00:02:38 +01:00
Julien Malka
4c9e93f508
Added irc service 2022-03-11 01:07:21 +01:00
Julien Malka
8ebcb7ef4f
Merge branch 'main' of github.com:JulienMalka/nix-config 2022-03-10 15:25:33 +01:00
Julien Malka
2162967af4
Added an irc service 2022-03-10 15:25:23 +01:00
Julien Malka
9482dbb731
Merge branch 'main' of github.com:JulienMalka/nix-config 2022-03-10 15:23:04 +01:00
Julien Malka
90e2e3e9bb
Updated authelia : still not in prod 2022-03-10 15:22:54 +01:00
Julien Malka
ac7e2747a4
Updated flake lock 2022-02-28 21:03:58 +01:00
Julien Malka
2879423999
Updated status page to refect some services are now private 2022-02-28 18:53:36 +01:00
Julien Malka
83eac90d2e
Trying to save lambda 2022-02-28 18:29:11 +01:00
Julien Malka
35f2efc973
I don't really know what I'm doing here 2022-02-28 15:42:54 +01:00
Julien Malka
9ae1d8a7de
Updated machines 2022-02-28 14:50:02 +01:00
Julien Malka
bce831f4fe
Added inputs to gcroots 2022-02-28 14:29:42 +01:00
Julien Malka
0fad8200a3
Fixed paperless not building 2022-02-28 13:14:27 +01:00
Julien Malka
a5a55af5d5
Updated machines 2022-02-27 00:18:07 +01:00
Julien Malka
3a330cd200
Merge branch 'main' of github.com:JulienMalka/nix-config 2022-02-26 23:50:12 +01:00
Julien Malka
3ea05e0d89
Added macintosh to vpn 2022-02-26 23:50:06 +01:00
Julien Malka
1e24eb44ab
Fixed paperless OCR langages 2022-02-26 23:48:07 +01:00
Julien Malka
e6a52b60db
Merge branch 'main' of github.com:JulienMalka/nix-config 2022-02-26 22:43:17 +01:00
Julien Malka
37799b141b
Added paperless service 2022-02-26 22:43:10 +01:00
Julien Malka
33e8a8bef7
Added client to vpn 2022-02-26 22:37:16 +01:00
Julien Malka
ff54bc72b5
Added Authelia : en chantier 2022-02-26 19:07:28 +01:00
Julien Malka
8d4b959af6
Added new mail account 2022-02-26 19:03:11 +01:00
Julien Malka
b5acef6edf
Changed subdomain for navidrome 2022-02-26 18:56:11 +01:00
Julien Malka
c864b96f07
Create VPN subdomains 2022-02-26 18:55:41 +01:00
Julien Malka
56133bec60
Add vpn subdomains with domain name luj.home 2022-02-26 18:44:16 +01:00
Julien Malka
f66f54312f
Add a 404 page 2022-02-26 18:39:09 +01:00
Julien Malka
48be1d78ea
Added authelia pkg 2022-02-20 20:34:43 +01:00
Julien Malka
96d5711503
Secret services are now under cover 2022-02-20 18:36:34 +01:00
Julien Malka
f01fd4e8ca
Time to update 2022-02-20 00:37:55 +01:00
Julien Malka
cf0bb1617f
Merge branch 'main' of github.com:JulienMalka/nix-config 2022-02-19 23:59:54 +01:00
Julien Malka
3452da4cd1
Removed and revoked exposed spotify id 2022-02-19 23:57:36 +01:00
Julien Malka
b5c6140eee
Updated status page 2022-02-19 22:29:27 +01:00
Julien Malka
4b08a592d7
Updated filters and neomutt config 2022-02-19 22:07:50 +01:00
Julien Malka
b9f3d8f46c
Refactoring of the machines 2022-02-19 22:05:59 +01:00
Julien Malka
4841bdf10f
VPN... this is not really stable yet 2022-02-19 22:05:24 +01:00
Julien Malka
f983465cf5
Updated navidrome to support biographies 2022-02-19 22:03:25 +01:00
Julien Malka
1a174c13de
Updated download client 2022-02-19 22:02:37 +01:00
Julien Malka
5aac2dc691
Added new services to status page 2022-02-05 22:07:28 +01:00
Julien Malka
9bda18412f
Added flaresolverr to drone pipeline 2022-02-05 19:02:12 +01:00
Julien Malka
051426d64b
Refactored mediaserver 2022-02-05 19:00:46 +01:00
Julien Malka
3a5e96b530
Another typo 2022-02-05 18:30:52 +01:00
Julien Malka
8b233383ee
Fixed typo in flake.nix 2022-02-05 18:29:27 +01:00
Julien Malka
53554b019b
Added flaresolverr service and some other 2022-02-05 18:24:26 +01:00
Julien Malka
5545b88992 Updated flake lock 2022-02-02 01:15:12 +01:00
Julien Malka
e5a49156ca
Fixed a stupid mistake 2022-02-01 13:50:12 +01:00
Julien Malka
49691531a0 Updated flake lock 2022-01-30 01:13:34 +01:00
Julien Malka
9a8ce982a7 Updated flake lock 2022-01-29 01:17:50 +01:00
Julien Malka
6a742ec005 Updated flake lock 2022-01-27 00:52:24 +01:00
Julien Malka
7e58c2bcfd Updated flake lock 2022-01-25 01:42:36 +01:00
Julien Malka
85ea17f194
Updated flake.lock 2022-01-24 22:42:58 +01:00
Julien Malka
a04b427b65
Updated status page 2022-01-23 20:20:40 +01:00
Julien Malka
8b47b55ecf
Added mailserver and hedgedoc service 2022-01-23 19:11:10 +01:00
Julien Malka
5e0aeec052 Updated flake lock 2022-01-22 01:12:00 +01:00
Julien Malka
6bdc926599
Merged 2022-01-20 12:37:17 +01:00
Julien Malka
8813ffb4f1
Really closed registrations 2022-01-20 12:35:38 +01:00
Julien Malka
25b43e5ab5
Updated flake lock 2022-01-20 05:52:44 +01:00
Julien Malka
06a2c22a35 Updated flake lock 2022-01-16 01:36:55 +01:00
Julien Malka
90b8e8de5a
Merge remote-tracking branch 'origin/flake-update' 2022-01-13 17:53:06 +01:00
Julien Malka
7c0c9a39fd Updated flake lock 2022-01-13 13:41:06 +01:00
Julien Malka
8938ed945f
Merge branch 'main' of github.com:JulienMalka/nix-config 2022-01-13 03:30:57 +01:00
Julien Malka
06ff917abf
So that's why neovim was at the wrong version 2022-01-13 03:30:46 +01:00
Julien Malka
fa7660ddfc
Adaped status mails for lisa 2022-01-13 01:31:49 +01:00
Julien Malka
44bf16ddf0
So yeah I'm stupid... and tired 2022-01-13 00:46:46 +01:00
Julien Malka
51d8e1f034
Forgot that 2022-01-13 00:00:33 +01:00
Julien Malka
5e1fe991c1
Transitionning lisa to uncrypted zfs 2022-01-12 23:40:17 +01:00
Julien Malka
33971396f3
Merge remote-tracking branch 'origin/flake-update' 2022-01-12 13:54:28 +01:00
Julien Malka
21775513ce
Merge branch 'main' of github.com:JulienMalka/nix-config 2022-01-12 13:54:16 +01:00
Julien Malka
4551b44b3c
Changed lisa ip 2022-01-12 13:54:12 +01:00
Julien Malka
c9fe7da30c Updated flake lock 2022-01-12 01:21:04 +01:00
Julien Malka
573ecc80d2
Just a small formatting change 2022-01-11 10:05:05 +01:00
Julien Malka
ccc600a6e6 Updated flake lock 2022-01-11 00:42:27 +01:00
Julien Malka
71616cac84
Updated flake.lock 2022-01-10 16:15:03 +01:00
Julien Malka
77adbcfbb3
Merge branch 'main' of github.com:JulienMalka/nix-config 2022-01-10 15:09:23 +01:00
Julien Malka
e821f4f291
Cleaned htpdate 2022-01-10 15:09:14 +01:00
Julien Malka
4f9d3abfb4 Updated flake lock 2022-01-08 01:27:50 +01:00
Julien Malka
d42483fef4
Adde htpdate to build 2022-01-07 17:56:17 +01:00
Julien Malka
ae4fc05dd7
Merge remote-tracking branch 'origin/flake-update' 2022-01-07 17:54:07 +01:00
Julien Malka
9802f48358
Merge branch 'main' of github.com:JulienMalka/nix-config 2022-01-07 17:50:13 +01:00
Julien Malka
1df85c0ed8
Cleaning htpdate 2022-01-07 17:50:02 +01:00
Julien Malka
3b34b8622f Updated flake lock 2022-01-07 01:23:48 +01:00
Julien Malka
522416952f
Corrected time for lambda 2022-01-06 14:17:21 +01:00
Julien Malka
8daeddf5c5
Repaired htpdate (hopefully) 2022-01-06 13:15:44 +01:00
Julien Malka
7fba273442 Updated flake lock 2022-01-06 01:26:23 +01:00
Julien Malka
8396843c1f
Merge remote-tracking branch 'origin/flake-update' 2022-01-05 23:58:45 +01:00
Julien Malka
b91af8a6c4
Repaired ip 2022-01-05 23:40:31 +01:00
Julien Malka
fc80e0e119 Updated flake lock 2022-01-05 01:18:14 +01:00
Julien Malka
530a0f5393
Merge remote-tracking branch 'origin/flake-update' 2022-01-04 00:29:14 +01:00
Julien Malka
ae382430af
Sometimes I make mistakes 2022-01-04 00:29:02 +01:00
Julien Malka
7a4a3f5e39 Updated flake lock 2022-01-04 00:26:58 +01:00
Julien Malka
d366b2ac0a
Merge remote-tracking branch 'origin/flake-update' 2022-01-03 17:23:03 +01:00
Julien Malka
583b4903b3
This is stupid 2022-01-03 17:11:01 +01:00
Julien Malka
db25a309ae Updated flake lock 2022-01-03 14:56:35 +01:00
Julien Malka
29198ae459
Fixed mbsync not able to use cat 2022-01-03 13:43:01 +01:00
Julien Malka
adb104946e
Quick fix 2022-01-02 23:09:48 +01:00
Julien Malka
9666de1181
Merge branch 'main' of github.com:JulienMalka/nix-config 2022-01-02 23:01:08 +01:00
Julien Malka
0279b0b986
Updated filerun and fixed permissions 2022-01-02 23:00:58 +01:00
Julien Malka
c846d9af2c
Fixing drone error 2022-01-02 15:43:06 +01:00
Julien Malka
aecefa12e2
Updated drone pipeline 2022-01-02 15:41:24 +01:00
Julien Malka
171ee59ab4
Updated config for rpi 2022-01-02 15:15:03 +01:00
Julien Malka
a36c041fda Updated flake lock 2022-01-02 00:47:42 +01:00
Julien Malka
80accf3912
Added git to rpi 2022-01-01 20:58:26 +01:00
Julien Malka
b7b288c261
Changed status machine 2022-01-01 20:52:02 +01:00
Julien Malka
75954eb673
Oops 2022-01-01 20:49:41 +01:00
Julien Malka
de03120bfd
Small refactor 2022-01-01 20:46:20 +01:00
Julien Malka
d05b910886
Trying to add new machine 2022-01-01 19:16:42 +01:00
Julien Malka
5889cfdbdb Updated flake lock 2022-01-01 14:40:43 +01:00
Julien Malka
da6df21720
New ip 2021-12-31 12:36:16 +01:00
Julien Malka
698ddcc02a
Fixed my knowledge about attribute set merging 2021-12-29 18:20:42 +01:00
Julien Malka
be4fce11f4
Refactored subdomains creation 2021-12-29 17:40:57 +01:00
Julien Malka
f6b29709c5
Removed useless with 2021-12-29 16:53:18 +01:00
Julien Malka
e94b93266c
Oops 2021-12-29 16:44:32 +01:00
Julien Malka
9889a415df
Merged utils with lib 2021-12-29 16:41:31 +01:00
Julien Malka
35817544b1 Updated flake lock 2021-12-29 16:12:49 +01:00
Julien Malka
3bce60caa4
Sending people to ssh jail 2021-12-29 11:34:55 +01:00
Julien Malka
8e4ddf4ef0
Added a (tiny) bit of modularity in the mediaserver module 2021-12-29 10:40:31 +01:00
Julien Malka
08df42e079
Small problem with flake update 2021-12-29 10:04:38 +01:00
Julien Malka
74fc03c693
Merge branch 'main' of github.com:JulienMalka/nix-config 2021-12-28 23:05:33 +01:00
Julien Malka
01fdf60381
Added auth for transmission 2021-12-28 23:05:27 +01:00
Julien Malka
9f4a286d14
Just a little bit of cleaning 2021-12-28 22:49:59 +01:00
Julien Malka
e584520fa7
Merge branch 'main' of github.com:JulienMalka/nix-config 2021-12-28 22:02:31 +01:00
Julien Malka
9677f19430
Refactoring of the mediaserver module 2021-12-28 22:02:24 +01:00
Julien Malka
4b09b12c2d
Added jftui program 2021-12-28 17:37:27 +01:00
Julien Malka
dd70cbb76d
Fixing wrong user for drone 2021-12-28 17:05:08 +01:00
Julien Malka
2b510e6304
Added key for macintosh 2021-12-28 17:00:29 +01:00
Julien Malka
ec84636e99
Added newton ssh key 2021-12-28 16:50:05 +01:00
Julien Malka
6096bc5515
Lot of changes, playing with ssh keys 2021-12-28 16:42:30 +01:00
Julien Malka
920ac9efc4
Continued drone rework 2021-12-27 23:08:03 +01:00
Julien Malka
be19ddbde6
Fixed a few bugs 2021-12-27 22:19:54 +01:00
Julien Malka
61e2ddc881
Cleaned drone a little bit 2021-12-27 22:14:37 +01:00
Julien Malka
66230c5efc
Goodbye docker 2021-12-27 19:47:56 +01:00
Julien Malka
f3333833f7 Updated flake lock 2021-12-27 19:45:10 +01:00
Julien Malka
e241a17387 Updated flake lock 2021-12-27 19:18:27 +01:00
Julien Malka
32cbdd5600
Trying everything 2021-12-27 18:22:30 +01:00
Julien Malka
4f012194db
Pray for me 2021-12-27 18:08:41 +01:00
Julien Malka
98fa0f4a1b
Back 2021-12-27 17:49:42 +01:00
Julien Malka
0bf0b6f5c3
Taking a break now 2021-12-27 17:02:47 +01:00
Julien Malka
72d984f932
I feel we are near 2021-12-27 16:44:58 +01:00
Julien Malka
3e07adbb49
Help is on the way 2021-12-27 16:33:19 +01:00
Julien Malka
8a94329533
Getting mad 2021-12-27 12:29:11 +01:00
Julien Malka
4c1482640f
Still not working 2021-12-27 12:19:22 +01:00
Julien Malka
c2182ecb25
Merge branch 'main' of github.com:JulienMalka/nix-config 2021-12-27 11:47:05 +01:00
Julien Malka
1771cedb86
Please work 2021-12-27 11:46:52 +01:00
Julien Malka
93f9df6fdb
I meant that 2021-12-27 11:35:54 +01:00
Julien Malka
845a322f36
What is not working ? 2021-12-27 11:33:41 +01:00
Julien Malka
63595546a3
Improved pipeline 2021-12-27 10:48:48 +01:00
Julien Malka
167099bc2b
I think I've got it now 2021-12-27 10:38:16 +01:00
Julien Malka
df143d23c0
I'm starting to go mad 2021-12-27 10:29:47 +01:00
Julien Malka
f27f02b403
Disabled transmission until better security 2021-12-27 10:24:28 +01:00
Julien Malka
90bc6a96ee
I'm rate limited so closing that for now 2021-12-26 23:32:20 +01:00
Julien Malka
26767d1308
trying to fix that 2021-12-26 23:27:36 +01:00
Julien Malka
ae8f8c0a30
Fixed that 2021-12-26 23:19:04 +01:00
Julien Malka
82484d89ed
Udpdated readme // This is a CI test 2021-12-26 23:11:24 +01:00
Julien Malka
4fc6c701d1
Merge 2021-12-26 22:57:35 +01:00
Julien Malka
1b41632c2d
Tried to add docker exec runner 2021-12-26 22:55:09 +01:00
Julien Malka
b46f61a11a
I've got to try this 2021-12-26 21:45:51 +01:00
Julien Malka
b586b7a022
Updated drone 2021-12-26 21:40:19 +01:00
Julien Malka
1689efee41
Added mosh as a package 2021-12-26 21:07:40 +01:00
Julien Malka
0b006a916a
Fixed binary cache status not working 2021-12-26 18:36:06 +01:00
Julien Malka
37afbfebad
Added binary cache to status page 2021-12-26 18:24:42 +01:00
Julien Malka
a68f0b93f0
Merge branch 'main' of github.com:JulienMalka/nix-config 2021-12-26 18:19:00 +01:00
Julien Malka
0adf9cedff
It's time 2021-12-26 18:18:47 +01:00
Julien Malka
ac63e3a790
Few improvments 2021-12-26 16:01:23 +01:00
Julien Malka
bfe9c8d31d
Still giving back a few ports to nginx 2021-12-26 15:58:55 +01:00
Julien Malka
f43552916f
Merge branch 'main' of github.com:JulienMalka/nix-config 2021-12-26 15:52:20 +01:00
Julien Malka
417cebf210
Closed some ports 2021-12-26 15:52:13 +01:00
Julien Malka
d076710b90
Actually every 5 minutes 2021-12-26 13:24:36 +01:00
Julien Malka
b3450bde4f
Fixed a few things on the status page 2021-12-26 13:16:06 +01:00
Julien Malka
d63f558eb5
Status working now 2021-12-26 02:45:49 +01:00
Julien Malka
a42a771ece
Added status page 2021-12-26 00:21:23 +01:00
Julien Malka
48c36bbd4c
Updated flake inputs 2021-12-25 22:31:24 +01:00
Julien Malka
31c8529504
Refactored nix allowed users 2021-12-25 22:16:24 +01:00
Julien Malka
761a68e8d9
Removed useless binary cache (I have to monitor for performances tho 2021-12-25 22:13:16 +01:00
Julien Malka
b66d194cc3
Reactivated binary serv 2021-12-25 19:26:14 +01:00
Julien Malka
0c788fd30c
Fixed bincache 2021-12-25 19:21:55 +01:00
Julien Malka
b727539b09
Updated flake.lock 2021-12-25 17:42:02 +01:00
Julien Malka
4ab1b6c8e9
Fix unexisting group 2021-12-25 17:20:51 +01:00
Julien Malka
18cd7a5c8b
Added bincache 2021-12-25 17:15:58 +01:00
Julien Malka
8103e8e236
Added mosh module 2021-12-25 16:37:08 +01:00
Julien Malka
43fe8ad54f
Updated ReadMe (mainly to test drone) 2021-12-25 16:03:15 +01:00
Julien Malka
2c25fbcbd0
Moved drone to lisa 2021-12-25 15:56:30 +01:00
Julien Malka
215dbf847b
Added nix to path 2021-12-25 13:00:07 +01:00
Julien Malka
fec37cf294
Merge branch 'main' of github.com:JulienMalka/nix-config 2021-12-25 12:54:12 +01:00
Julien Malka
f9450c2e81
Added drone module 2021-12-25 12:53:48 +01:00
Julien Malka
768085c5ad
Merge branch 'main' of github.com:JulienMalka/nix-config 2021-12-24 19:50:37 +01:00
Julien Malka
06eed410c2
Killed hydra 2021-12-24 19:50:28 +01:00
Julien Malka
25aadce9b4
Kinda works 2021-12-24 19:43:28 +01:00
Julien Malka
7df4b6677a
This is mainly a test 2021-12-24 19:40:57 +01:00
Julien Malka
530113181c
Simplified 2021-12-24 19:24:36 +01:00
Julien Malka
17f8672172
Je fais n'importe quoi 2021-12-24 19:03:38 +01:00
Julien Malka
16b5175acb
This is a test 2021-12-24 16:43:30 +01:00
Julien Malka
03fc5cb590
Activating firewall on macintosh 2021-12-24 11:23:45 +01:00
Julien Malka
c4db8ba856
Create LICENSE 2021-12-24 00:01:42 +01:00
Julien Malka
cee780bc2f
Still a WIP but better 2021-12-23 23:57:26 +01:00
Julien Malka
625c803f1e
Updated readme // WIP 2021-12-23 11:50:02 +01:00
Julien Malka
3b994c682a
Updated flake.lock 2021-12-23 11:13:57 +01:00
Julien Malka
7a2aeaef98
Refactoring of default editor 2021-12-23 11:05:14 +01:00
Julien Malka
419629c779
Merge branch 'main' of github.com:JulienMalka/nix-config 2021-12-23 11:00:59 +01:00
Julien Malka
9c4d5b2921
Added gtk module 2021-12-23 11:00:26 +01:00
Julien Malka
c93d89446d
Updated readme... this is a test 2021-12-23 00:53:17 +01:00
Julien Malka
d397d083ff
I guess it will be working now 2021-12-23 00:38:00 +01:00
Julien Malka
eb517d5692
Trying automatically adding gpg key 2021-12-23 00:31:39 +01:00
Julien Malka
cdcf91798b
Added gpg secret 2021-12-23 00:11:01 +01:00
Julien Malka
56d8dc7236
I guess this is the explanation 2021-12-22 23:34:50 +01:00
Julien Malka
e29af2f7a2
updated readme 2021-12-22 23:29:47 +01:00
Julien Malka
cb2351b2fd Think I did not add the key correctly 2021-12-22 23:20:32 +01:00
Julien Malka
0ed8376f60 Merge branch 'main' of github.com:JulienMalka/nix-config 2021-12-22 23:13:30 +01:00
Julien Malka
5969e82d97 Added gpg key for git 2021-12-22 23:12:37 +01:00
Julien Malka
24ed19d9ae Added flake lock 2021-12-22 22:44:11 +01:00
Julien Malka
158e53fdae Added lisa port 2021-12-22 22:39:40 +01:00
Julien Malka
4b0d80d349 Much change, kinda broke my git history 2021-12-22 22:16:48 +01:00
Julien Malka
077322deaf Updated secrets 2 2021-12-22 14:07:05 +01:00
Julien Malka
a7894af6a9 updated secrets 2021-12-22 13:43:32 +01:00
Julien Malka
d1e9340820 Updated macintosh age key 2021-12-22 13:38:51 +01:00
Julien Malka
373d85bfe5 Removed useless firewall opening 2021-12-22 12:27:58 +01:00
Julien Malka
33b2ebef7b Fixed broken services on lisa 2021-12-22 12:24:13 +01:00
Julien Malka
c186bc73a8 Playing a little bit too much with users 2021-12-22 11:54:06 +01:00
Julien Malka
516034c19f First step with sops 2021-12-21 22:55:20 +01:00
205 changed files with 13345 additions and 2636 deletions

2
.envrc Normal file
View file

@ -0,0 +1,2 @@
use nix
watch_file deps/sources.json

5
.gitignore vendored Normal file
View file

@ -0,0 +1,5 @@
.pre-commit-config.yaml
.direnv
result
result-*
nixmoxer.conf

21
LICENSE Normal file
View file

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2021 Julien Malka
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View file

@ -1,2 +1,24 @@
# nix-config # Snowfield ❄
My Machines configuration [![Build status](https://ci.julienmalka.me/badges/JulienMalka_snowfield_nix-eval.svg)](https://ci.julienmalka.me/#/builders/16) [![built with nix](https://img.shields.io/static/v1?logo=nixos&logoColor=white&label=&message=Built%20with%20Nix&color=41439a)](https://builtwithnix.org)
This repository contains the configurations of my machines using NixOS.
### *What is NixOS ?*
NixOS is a linux distribution based on the Nix package manager. It allows fully reproducible builds and a declarative configuration style, using a functionnal langage called Nix (yes, it is the same name as the package manager and the OS).
Machines configurations are located in the machines folder, and are using all the custom modules defined in this project.
#### Modules
This configuration defines a number of custom NixOS and home-manager modules. They are respectively defined in the modules and home-manager-modules folders.
#### Secrets
Secrets are stored in the secrets folder. They are uncrypted upon system activation using the host ssh key. Secrets are managed using agenix.
### Inspirations
This project is freely inspired by some really cool projects, including MayNiklas/nixos, pinox/nixos and ncfavier/config.

View file

@ -1,20 +0,0 @@
{ config, pkgs, ... }:
{
imports = [ ./users/julien.nix ];
luj.nix.enable = true;
time.timeZone = "Europe/Paris";
i18n.defaultLocale = "en_US.UTF-8";
console = {
font = "Lat2-Terminus16";
keyMap = "fr";
};
services.openssh.enable = true;
programs.mosh.enable = true;
programs.gnupg.agent.enable = true;
}

94
default.nix Normal file
View file

@ -0,0 +1,94 @@
let
inputs = import ./lon.nix;
inputs_final = inputs;
dnsLib = (import inputs.dns).lib;
lib = (import "${inputs.nixpkgs}/lib").extend (import ./lib inputs_final self.profiles dnsLib);
mkLibForMachine =
machine:
(import "${lib.snowfield.${machine}.nixpkgs_version}/lib").extend (
import ./lib inputs_final self.profiles dnsLib
);
machines_plats = lib.lists.unique (
lib.mapAttrsToList (_name: value: value.arch) (
lib.filterAttrs (_n: v: builtins.hasAttr "arch" v) lib.snowfield
)
);
nixpkgs_plats = builtins.listToAttrs (
builtins.map (plat: {
name = plat;
value = import inputs.nixpkgs { system = plat; };
}) machines_plats
);
self = rec {
nixosModules = builtins.listToAttrs (
map (x: {
name = x;
value = import (./modules + "/${x}");
}) (builtins.attrNames (builtins.readDir ./modules))
);
profiles = builtins.listToAttrs (
map (x: {
name = lib.strings.removeSuffix ".nix" x;
value = import (./profiles + "/${x}");
}) (builtins.attrNames (builtins.readDir ./profiles))
);
nixosConfigurations = builtins.mapAttrs (
name: value:
(lib.mkMachine {
inherit name self dnsLib;
host-config = value;
modules = builtins.attrValues nixosModules ++ lib.snowfield.${name}.profiles;
nixpkgs = lib.snowfield.${name}.nixpkgs_version;
system = lib.snowfield.${name}.arch;
home-manager = lib.snowfield.${name}.hm_version;
})
) (lib.importConfig ./machines);
colmena = {
meta = {
nodeNixpkgs = builtins.mapAttrs (
n: _: import lib.snowfield.${n}.nixpkgs_version
) nixosConfigurations;
nodeSpecialArgs = builtins.mapAttrs (
n: v: v._module.specialArgs // { lib = mkLibForMachine n; }
) nixosConfigurations;
};
} // builtins.mapAttrs (_: v: { imports = v._module.args.modules; }) nixosConfigurations;
packages = builtins.listToAttrs (
builtins.map (plat: {
name = plat;
value =
lib.filterAttrs
(
_name: value:
(
!lib.hasAttrByPath [
"meta"
"platforms"
] value
)
|| builtins.elem plat value.meta.platforms
)
(
builtins.listToAttrs (
builtins.map (e: {
name = e;
value = nixpkgs_plats.${plat}.callPackage (./packages + "/${e}") { };
}) (builtins.attrNames (builtins.readDir ./packages))
)
);
}) machines_plats
);
checks = {
inherit packages;
machines = lib.mapAttrs (_: v: v.config.system.build.toplevel) nixosConfigurations;
};
};
in
self

237
flake.lock generated
View file

@ -1,237 +0,0 @@
{
"nodes": {
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1627913399,
"narHash": "sha256-hY8g6H2KFL8ownSiFeMOjwPC8P0ueXpCVEbxgda3pko=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "12c64ca55c1014cdc1b16ed5a804aa8576601ff2",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-utils": {
"locked": {
"lastModified": 1629481132,
"narHash": "sha256-JHgasjPR0/J1J3DRm4KxM4zTyAj4IOJY8vIl75v/kPI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "997f7efcb746a9c140ce1f13c72263189225f482",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1640037534,
"narHash": "sha256-lbD5EEqu2tXq3qo6UN3cZkWZA0hEWQkhluctivMtLZY=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "aef97988dac0541747de8bcc85c7e27726eea4af",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"homepage": {
"flake": false,
"locked": {
"lastModified": 1639518131,
"narHash": "sha256-YuwHCXEbrzuEyRy1/2bX4Rux/nqmzRZ8H44+83JQNV8=",
"owner": "JulienMalka",
"repo": "homepage",
"rev": "29e779d8600b1c1e6235570a3614a54f8ec8126e",
"type": "github"
},
"original": {
"owner": "JulienMalka",
"repo": "homepage",
"type": "github"
}
},
"neovim-flake": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs"
},
"locked": {
"dir": "contrib",
"lastModified": 1640040739,
"narHash": "sha256-uuG7GM/N5T+cOpJ55+NnWCC+GhzGQElIIUUELY13WII=",
"owner": "neovim",
"repo": "neovim",
"rev": "1062ea2cc532b32862346a1972073f1a8dd6d19d",
"type": "github"
},
"original": {
"dir": "contrib",
"owner": "neovim",
"repo": "neovim",
"type": "github"
}
},
"neovim-nightly-overlay": {
"inputs": {
"flake-compat": "flake-compat",
"neovim-flake": "neovim-flake",
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1640074481,
"narHash": "sha256-AY6pRenvEJamWWYV+WfkEmF5KN+SNUjhj7EOaqEEGf0=",
"owner": "nix-community",
"repo": "neovim-nightly-overlay",
"rev": "d69c7f42edb31bf839373cabb8e834aab85b338c",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "neovim-nightly-overlay",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1640053112,
"narHash": "sha256-7C0UQssCdAMyCNSv8szLJfZ5xYMBr9mh27zYUmo8wHQ=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "c478eaf416411a7dedf773185b6d5bfc966a80ae",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1639966735,
"narHash": "sha256-FmVGFiyqE+pjQUTCTY0H75hqrnBnbEf3VVRB4dsd4KI=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "d87b72206aadebe6722944f541f55d33fd7046fb",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1640077788,
"narHash": "sha256-YMSDk3hlucJTTARaHNOeQEF6zEW3A/x4sXgrz94VbS0=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "9ab7d12287ced0e1b4c03b61c781901f178d9d77",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-21.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_4": {
"locked": {
"lastModified": 1638097282,
"narHash": "sha256-EXCzj9b8X/lqDPJapxZThIOKL5ASbpsJZ+8L1LnY1ig=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "78cb77b29d37a9663e05b61abb4fa09465da4b70",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nur": {
"locked": {
"lastModified": 1640109122,
"narHash": "sha256-IlbvQ+Grm8+qAEYW+a111+NsMeosjFF6GwYTSRXHOKk=",
"owner": "nix-community",
"repo": "NUR",
"rev": "b9810aabbd64485f31bea99096af5fae26177689",
"type": "github"
},
"original": {
"id": "nur",
"type": "indirect"
}
},
"root": {
"inputs": {
"home-manager": "home-manager",
"homepage": "homepage",
"neovim-nightly-overlay": "neovim-nightly-overlay",
"nixpkgs": "nixpkgs_3",
"nur": "nur",
"sops-nix": "sops-nix",
"unstable": "unstable"
}
},
"sops-nix": {
"inputs": {
"nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1638821683,
"narHash": "sha256-oyqALhGijy2ZQxFSACrcC+Z8MzYLiomKCr9FQXVZ47U=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "afe00100b16648c1d79e62926caacac561df93a5",
"type": "github"
},
"original": {
"owner": "Mic92",
"repo": "sops-nix",
"type": "github"
}
},
"unstable": {
"locked": {
"lastModified": 1640053112,
"narHash": "sha256-7C0UQssCdAMyCNSv8szLJfZ5xYMBr9mh27zYUmo8wHQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c478eaf416411a7dedf773185b6d5bfc966a80ae",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

View file

@ -1,48 +0,0 @@
{
description = "A flake for my personnal configurations";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-21.11";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
neovim-nightly-overlay = {
url = "github:nix-community/neovim-nightly-overlay";
};
homepage = {
url = "github:JulienMalka/homepage";
flake = false;
};
unstable = {
url = "github:NixOS/nixpkgs/nixos-unstable";
};
sops-nix = {
url = "github:Mic92/sops-nix";
};
};
outputs = { self, home-manager, nixpkgs, unstable, sops-nix, neovim-nightly-overlay, nur, ... }@inputs:
let
utils = import ./utils.nix { inherit nixpkgs sops-nix home-manager inputs; nixpkgs-unstable = unstable; };
in
with utils;
{
nixosModules = builtins.listToAttrs (map
(x: {
name = x;
value = import (./modules + "/${x}");
})
(builtins.attrNames (builtins.readDir ./modules)));
nixosConfigurations = builtins.mapAttrs (name: value: (mkMachine name value self.nixosModules)) (importConfig ./machines);
hydraJobs = (nixpkgs.lib.mapAttrs' (name: config:
nixpkgs.lib.nameValuePair "nixos-${name}"
config.config.system.build.toplevel) self.nixosConfigurations);
};
}

1
hive.nix Normal file
View file

@ -0,0 +1 @@
let outputs = import ./.; in outputs.colmena

View file

@ -0,0 +1,990 @@
# Configuration for Alacritty, the GPU enhanced terminal emulator.
# Import additional configuration files
#
# Imports are loaded in order, skipping all missing files, with the importing
# file being loaded last. If a field is already present in a previous import, it
# will be replaced.
#
# All imports must either be absolute paths starting with `/`, or paths relative
# to the user's home directory starting with `~/`.
#import:
# - /path/to/alacritty.yml
# Any items in the `env` entry below will be added as
# environment variables. Some entries may override variables
# set by alacritty itself.
env:
TERM: xterm-256color
#env:
# TERM variable
#
# This value is used to set the `$TERM` environment variable for
# each instance of Alacritty. If it is not present, alacritty will
# check the local terminfo database and use `alacritty` if it is
# available, otherwise `xterm-256color` is used.
#TERM: alacritty
window:
# Window dimensions (changes require restart)
#
# Number of lines/columns (not pixels) in the terminal. Both lines and columns
# must be non-zero for this to take effect. The number of columns must be at
# least `2`, while using a value of `0` for columns and lines will fall back
# to the window manager's recommended size
#dimensions:
# columns: 0
# lines: 0
# Window position (changes require restart)
#
# Specified in number of pixels.
# If the position is not set, the window manager will handle the placement.
#position:
# x: 0
# y: 0
# Window padding (changes require restart)
#
# Blank space added around the window in pixels. This padding is scaled
# by DPI and the specified value is always added at both opposing sides.
padding:
x: 10
y: 10
# Spread additional padding evenly around the terminal content.
#dynamic_padding: false
# Window decorations
#
# Values for `decorations`:
# - full: Borders and title bar
# - none: Neither borders nor title bar
#
# Values for `decorations` (macOS only):
# - transparent: Title bar, transparent background and title bar buttons
# - buttonless: Title bar, transparent background and no title bar buttons
#decorations: full
# Background opacity
#
# Window opacity as a floating point number from `0.0` to `1.0`.
# The value `0.0` is completely transparent and `1.0` is opaque.
#opacity: 1.0
# Startup Mode (changes require restart)
#
# Values for `startup_mode`:
# - Windowed
# - Maximized
# - Fullscreen
#
# Values for `startup_mode` (macOS only):
# - SimpleFullscreen
#startup_mode: Windowed
# Window title
#title: Alacritty
# Allow terminal applications to change Alacritty's window title.
#dynamic_title: true
# Window class (Linux/BSD only):
#class:
# Application instance name
#instance: Alacritty
# General application class
#general: Alacritty
# Decorations theme variant
#
# Override the variant of the System theme/GTK theme/Wayland client side
# decorations. Commonly supported values are `Dark`, `Light`, and `None` for
# auto pick-up. Set this to `None` to use the default theme variant.
#decorations_theme_variant: None
# Make `Option` key behave as `Alt` (macOS only):
# - OnlyLeft
# - OnlyRight
# - Both
# - None (default)
#option_as_alt: None
#scrolling:
# Maximum number of lines in the scrollback buffer.
# Specifying '0' will disable scrolling.
#history: 10000
# Scrolling distance multiplier.
#multiplier: 3
# Font configuration
font:
#Normal (roman) font face
normal:
# Font family
#
# Default:
# - (macOS) Menlo
# - (Linux/BSD) monospace
# - (Windows) Consolas
family: Fira Code
# The `style` can be specified to pick a specific face.
style: Regular
# Bold font face
bold:
# Font family
#
# If the bold family is not specified, it will fall back to the
# value specified for the normal font.
#family: monospace
# The `style` can be specified to pick a specific face.
style: Bold
# Italic font face
italic:
# Font family
#
# If the italic family is not specified, it will fall back to the
# value specified for the normal font.
#family: monospace
# The `style` can be specified to pick a specific face.
style: Italic
# Bold italic font face
#bold_italic:
# Font family
#
# If the bold italic family is not specified, it will fall back to the
# value specified for the normal font.
#family: monospace
# The `style` can be specified to pick a specific face.
#style: Bold Italic
# Point size
size: 10.0
# Offset is the extra space around each character. `offset.y` can be thought
# of as modifying the line spacing, and `offset.x` as modifying the letter
# spacing.
#offset:
# x: 0
# y: 0
# Glyph offset determines the locations of the glyphs within their cells with
# the default being at the bottom. Increasing `x` moves the glyph to the
# right, increasing `y` moves the glyph upward.
#glyph_offset:
# x: 0
# y: 0
# Use built-in font for box drawing characters.
#
# If `true`, Alacritty will use a custom built-in font for box drawing
# characters (Unicode points 2500 - 259f).
#
#builtin_box_drawing: true
# If `true`, bold text is drawn using the bright color variants.
#draw_bold_text_with_bright_colors: false
# Colors (Tomorrow Night)
#colors:
# Default colors
#primary:
# background: '#1d1f21'
# foreground: '#c5c8c6'
# Bright and dim foreground colors
#
# The dimmed foreground color is calculated automatically if it is not
# present. If the bright foreground color is not set, or
# `draw_bold_text_with_bright_colors` is `false`, the normal foreground
# color will be used.
#dim_foreground: '#828482'
#bright_foreground: '#eaeaea'
# Cursor colors
#
# Colors which should be used to draw the terminal cursor.
#
# Allowed values are CellForeground/CellBackground, which reference the
# affected cell, or hexadecimal colors like #ff00ff.
#cursor:
# text: CellBackground
# cursor: CellForeground
# Vi mode cursor colors
#
# Colors for the cursor when the vi mode is active.
#
# Allowed values are CellForeground/CellBackground, which reference the
# affected cell, or hexadecimal colors like #ff00ff.
#vi_mode_cursor:
# text: CellBackground
# cursor: CellForeground
# Search colors
#
# Colors used for the search bar and match highlighting.
#search:
# Allowed values are CellForeground/CellBackground, which reference the
# affected cell, or hexadecimal colors like #ff00ff.
#matches:
# foreground: '#000000'
# background: '#ffffff'
#focused_match:
# foreground: '#ffffff'
# background: '#000000'
# Keyboard hints
#hints:
# First character in the hint label
#
# Allowed values are CellForeground/CellBackground, which reference the
# affected cell, or hexadecimal colors like #ff00ff.
#start:
# foreground: '#1d1f21'
# background: '#e9ff5e'
# All characters after the first one in the hint label
#
# Allowed values are CellForeground/CellBackground, which reference the
# affected cell, or hexadecimal colors like #ff00ff.
#end:
# foreground: '#e9ff5e'
# background: '#1d1f21'
# Line indicator
#
# Color used for the indicator displaying the position in history during
# search and vi mode.
#
# By default, these will use the opposing primary color.
#line_indicator:
# foreground: None
# background: None
# Footer bar
#
# Color used for the footer bar on the bottom, used by search regex input,
# hyperlink URI preview, etc.
#
#footer_bar:
# background: '#c5c8c6'
# foreground: '#1d1f21'
# Selection colors
#
# Colors which should be used to draw the selection area.
#
# Allowed values are CellForeground/CellBackground, which reference the
# affected cell, or hexadecimal colors like #ff00ff.
#selection:
# text: CellBackground
# background: CellForeground
# Normal colors
#normal:
# black: '#1d1f21'
# red: '#cc6666'
# green: '#b5bd68'
# yellow: '#f0c674'
# blue: '#81a2be'
# magenta: '#b294bb'
# cyan: '#8abeb7'
# white: '#c5c8c6'
# Bright colors
#bright:
# black: '#666666'
# red: '#d54e53'
# green: '#b9ca4a'
# yellow: '#e7c547'
# blue: '#7aa6da'
# magenta: '#c397d8'
# cyan: '#70c0b1'
# white: '#eaeaea'
# Dim colors
#
# If the dim colors are not set, they will be calculated automatically based
# on the `normal` colors.
#dim:
# black: '#131415'
# red: '#864343'
# green: '#777c44'
# yellow: '#9e824c'
# blue: '#556a7d'
# magenta: '#75617b'
# cyan: '#5b7d78'
# white: '#828482'
# Indexed Colors
#
# The indexed colors include all colors from 16 to 256.
# When these are not set, they're filled with sensible defaults.
#
# Example:
# `- { index: 16, color: '#ff00ff' }`
#
#indexed_colors: []
# Transparent cell backgrounds
#
# Whether or not `window.opacity` applies to all cell backgrounds or only to
# the default background. When set to `true` all cells will be transparent
# regardless of their background color.
#transparent_background_colors: false
# Bell
#
# The bell is rung every time the BEL control character is received.
#bell:
# Visual Bell Animation
#
# Animation effect for flashing the screen when the visual bell is rung.
#
# Values for `animation`:
# - Ease
# - EaseOut
# - EaseOutSine
# - EaseOutQuad
# - EaseOutCubic
# - EaseOutQuart
# - EaseOutQuint
# - EaseOutExpo
# - EaseOutCirc
# - Linear
#animation: EaseOutExpo
# Duration of the visual bell flash in milliseconds. A `duration` of `0` will
# disable the visual bell animation.
#duration: 0
# Visual bell animation color.
#color: '#ffffff'
# Bell Command
#
# This program is executed whenever the bell is rung.
#
# When set to `command: None`, no command will be executed.
#
# Example:
# command:
# program: notify-send
# args: ["Hello, World!"]
#
#command: None
#selection:
# This string contains all characters that are used as separators for
# "semantic words" in Alacritty.
#semantic_escape_chars: ",│`|:\"' ()[]{}<>\t"
# When set to `true`, selected text will be copied to the primary clipboard.
#save_to_clipboard: false
#cursor:
# Cursor style
#style:
# Cursor shape
#
# Values for `shape`:
# - ▇ Block
# - _ Underline
# - | Beam
#shape: Block
# Cursor blinking state
#
# Values for `blinking`:
# - Never: Prevent the cursor from ever blinking
# - Off: Disable blinking by default
# - On: Enable blinking by default
# - Always: Force the cursor to always blink
#blinking: Off
# Vi mode cursor style
#
# If the vi mode cursor style is `None` or not specified, it will fall back to
# the style of the active value of the normal cursor.
#
# See `cursor.style` for available options.
#vi_mode_style: None
# Cursor blinking interval in milliseconds.
#blink_interval: 750
# Time after which cursor stops blinking, in seconds.
#
# Specifying '0' will disable timeout for blinking.
#blink_timeout: 5
# If this is `true`, the cursor will be rendered as a hollow box when the
# window is not focused.
#unfocused_hollow: true
# Thickness of the cursor relative to the cell width as floating point number
# from `0.0` to `1.0`.
#thickness: 0.15
# Live config reload (changes require restart)
#live_config_reload: true
# Shell
#
# You can set `shell.program` to the path of your favorite shell, e.g.
# `/bin/fish`. Entries in `shell.args` are passed unmodified as arguments to the
# shell.
#
# Default:
# - (Linux/BSD/macOS) `$SHELL` or the user's login shell, if `$SHELL` is unset
# - (Windows) powershell
#shell:
# program: /bin/bash
# args:
# - --login
# Startup directory
#
# Directory the shell is started in. If this is unset, or `None`, the working
# directory of the parent process will be used.
#working_directory: None
# Offer IPC using `alacritty msg` (unix only)
#ipc_socket: true
#mouse:
# Click settings
#
# The `double_click` and `triple_click` settings control the time
# alacritty should wait for accepting multiple clicks as one double
# or triple click.
#double_click: { threshold: 300 }
#triple_click: { threshold: 300 }
# If this is `true`, the cursor is temporarily hidden when typing.
#hide_when_typing: false
# Hints
#
# Terminal hints can be used to find text or hyperlink in the visible part of
# the terminal and pipe it to other applications.
#hints:
# Keys used for the hint labels.
#alphabet: "jfkdls;ahgurieowpq"
# List with all available hints
#
# Each hint must have any of `regex` or `hyperlinks` field and either an
# `action` or a `command` field. The fields `mouse`, `binding` and
# `post_processing` are optional.
#
# The `hyperlinks` option will cause OSC 8 escape sequence hyperlinks to be
# highlighted.
#
# The fields `command`, `binding.key`, `binding.mods`, `binding.mode` and
# `mouse.mods` accept the same values as they do in the `key_bindings` section.
#
# The `mouse.enabled` field controls if the hint should be underlined while
# the mouse with all `mouse.mods` keys held or the vi mode cursor is above it.
#
# If the `post_processing` field is set to `true`, heuristics will be used to
# shorten the match if there are characters likely not to be part of the hint
# (e.g. a trailing `.`). This is most useful for URIs and applies only to
# `regex` matches.
#
# Values for `action`:
# - Copy
# Copy the hint's text to the clipboard.
# - Paste
# Paste the hint's text to the terminal or search.
# - Select
# Select the hint's text.
# - MoveViModeCursor
# Move the vi mode cursor to the beginning of the hint.
#enabled:
# - regex: "(ipfs:|ipns:|magnet:|mailto:|gemini:|gopher:|https:|http:|news:|file:|git:|ssh:|ftp:)\
# [^\u0000-\u001F\u007F-\u009F<>\"\\s{-}\\^⟨⟩`]+"
# hyperlinks: true
# command: xdg-open
# post_processing: true
# mouse:
# enabled: true
# mods: None
# binding:
# key: U
# mods: Control|Shift
# Mouse bindings
#
# Mouse bindings are specified as a list of objects, much like the key
# bindings further below.
#
# To trigger mouse bindings when an application running within Alacritty
# captures the mouse, the `Shift` modifier is automatically added as a
# requirement.
#
# Each mouse binding will specify a:
#
# - `mouse`:
#
# - Middle
# - Left
# - Right
# - Numeric identifier such as `5`
#
# - `action` (see key bindings for actions not exclusive to mouse mode)
#
# - Mouse exclusive actions:
#
# - ExpandSelection
# Expand the selection to the current mouse cursor location.
#
# And optionally:
#
# - `mods` (see key bindings)
#mouse_bindings:
# - { mouse: Right, action: ExpandSelection }
# - { mouse: Right, mods: Control, action: ExpandSelection }
# - { mouse: Middle, mode: ~Vi, action: PasteSelection }
# Key bindings
#
# Key bindings are specified as a list of objects. For example, this is the
# default paste binding:
#
# `- { key: V, mods: Control|Shift, action: Paste }`
#
# Each key binding will specify a:
#
# - `key`: Identifier of the key pressed
#
# - A-Z
# - F1-F24
# - Key0-Key9
#
# A full list with available key codes can be found here:
# https://docs.rs/winit/*/winit/event/enum.VirtualKeyCode.html#variants
#
# Instead of using the name of the keys, the `key` field also supports using
# the scancode of the desired key. Scancodes have to be specified as a
# decimal number. This command will allow you to display the hex scancodes
# for certain keys:
#
# `showkey --scancodes`.
#
# Then exactly one of:
#
# - `chars`: Send a byte sequence to the running application
#
# The `chars` field writes the specified string to the terminal. This makes
# it possible to pass escape sequences. To find escape codes for bindings
# like `PageUp` (`"\x1b[5~"`), you can run the command `showkey -a` outside
# of tmux. Note that applications use terminfo to map escape sequences back
# to keys. It is therefore required to update the terminfo when changing an
# escape sequence.
#
# - `action`: Execute a predefined action
#
# - ToggleViMode
# - SearchForward
# Start searching toward the right of the search origin.
# - SearchBackward
# Start searching toward the left of the search origin.
# - Copy
# - Paste
# - IncreaseFontSize
# - DecreaseFontSize
# - ResetFontSize
# - ScrollPageUp
# - ScrollPageDown
# - ScrollHalfPageUp
# - ScrollHalfPageDown
# - ScrollLineUp
# - ScrollLineDown
# - ScrollToTop
# - ScrollToBottom
# - ClearHistory
# Remove the terminal's scrollback history.
# - Hide
# Hide the Alacritty window.
# - Minimize
# Minimize the Alacritty window.
# - Quit
# Quit Alacritty.
# - ToggleFullscreen
# - SpawnNewInstance
# Spawn a new instance of Alacritty.
# - CreateNewWindow
# Create a new Alacritty window from the current process.
# - ClearLogNotice
# Clear Alacritty's UI warning and error notice.
# - ClearSelection
# Remove the active selection.
# - ReceiveChar
# - None
#
# - Vi mode exclusive actions:
#
# - Open
# Perform the action of the first matching hint under the vi mode cursor
# with `mouse.enabled` set to `true`.
# - ToggleNormalSelection
# - ToggleLineSelection
# - ToggleBlockSelection
# - ToggleSemanticSelection
# Toggle semantic selection based on `selection.semantic_escape_chars`.
# - CenterAroundViCursor
# Center view around vi mode cursor
#
# - Vi mode exclusive cursor motion actions:
#
# - Up
# One line up.
# - Down
# One line down.
# - Left
# One character left.
# - Right
# One character right.
# - First
# First column, or beginning of the line when already at the first column.
# - Last
# Last column, or beginning of the line when already at the last column.
# - FirstOccupied
# First non-empty cell in this terminal row, or first non-empty cell of
# the line when already at the first cell of the row.
# - High
# Top of the screen.
# - Middle
# Center of the screen.
# - Low
# Bottom of the screen.
# - SemanticLeft
# Start of the previous semantically separated word.
# - SemanticRight
# Start of the next semantically separated word.
# - SemanticLeftEnd
# End of the previous semantically separated word.
# - SemanticRightEnd
# End of the next semantically separated word.
# - WordLeft
# Start of the previous whitespace separated word.
# - WordRight
# Start of the next whitespace separated word.
# - WordLeftEnd
# End of the previous whitespace separated word.
# - WordRightEnd
# End of the next whitespace separated word.
# - Bracket
# Character matching the bracket at the cursor's location.
# - SearchNext
# Beginning of the next match.
# - SearchPrevious
# Beginning of the previous match.
# - SearchStart
# Start of the match to the left of the vi mode cursor.
# - SearchEnd
# End of the match to the right of the vi mode cursor.
#
# - Search mode exclusive actions:
# - SearchFocusNext
# Move the focus to the next search match.
# - SearchFocusPrevious
# Move the focus to the previous search match.
# - SearchConfirm
# - SearchCancel
# - SearchClear
# Reset the search regex.
# - SearchDeleteWord
# Delete the last word in the search regex.
# - SearchHistoryPrevious
# Go to the previous regex in the search history.
# - SearchHistoryNext
# Go to the next regex in the search history.
#
# - macOS exclusive actions:
# - ToggleSimpleFullscreen
# Enter fullscreen without occupying another space.
#
# - Linux/BSD exclusive actions:
#
# - CopySelection
# Copy from the selection buffer.
# - PasteSelection
# Paste from the selection buffer.
#
# - `command`: Fork and execute a specified command plus arguments
#
# The `command` field must be a map containing a `program` string and an
# `args` array of command line parameter strings. For example:
# `{ program: "alacritty", args: ["-e", "vttest"] }`
#
# And optionally:
#
# - `mods`: Key modifiers to filter binding actions
#
# - Command
# - Control
# - Option
# - Super
# - Shift
# - Alt
#
# Multiple `mods` can be combined using `|` like this:
# `mods: Control|Shift`.
# Whitespace and capitalization are relevant and must match the example.
#
# - `mode`: Indicate a binding for only specific terminal reported modes
#
# This is mainly used to send applications the correct escape sequences
# when in different modes.
#
# - AppCursor
# - AppKeypad
# - Search
# - Alt
# - Vi
#
# A `~` operator can be used before a mode to apply the binding whenever
# the mode is *not* active, e.g. `~Alt`.
#
# Bindings are always filled by default, but will be replaced when a new
# binding with the same triggers is defined. To unset a default binding, it can
# be mapped to the `ReceiveChar` action. Alternatively, you can use `None` for
# a no-op if you do not wish to receive input characters for that binding.
#
# If the same trigger is assigned to multiple actions, all of them are executed
# in the order they were defined in.
#key_bindings:
#- { key: Paste, action: Paste }
#- { key: Copy, action: Copy }
#- { key: L, mods: Control, action: ClearLogNotice }
#- { key: L, mods: Control, mode: ~Vi|~Search, chars: "\x0c" }
#- { key: PageUp, mods: Shift, mode: ~Alt, action: ScrollPageUp }
#- { key: PageDown, mods: Shift, mode: ~Alt, action: ScrollPageDown }
#- { key: Home, mods: Shift, mode: ~Alt, action: ScrollToTop }
#- { key: End, mods: Shift, mode: ~Alt, action: ScrollToBottom }
# Vi Mode
#- { key: Space, mods: Shift|Control, mode: ~Search, action: ToggleViMode }
#- { key: Space, mods: Shift|Control, mode: Vi|~Search, action: ScrollToBottom }
#- { key: Escape, mode: Vi|~Search, action: ClearSelection }
#- { key: I, mode: Vi|~Search, action: ToggleViMode }
#- { key: I, mode: Vi|~Search, action: ScrollToBottom }
#- { key: C, mods: Control, mode: Vi|~Search, action: ToggleViMode }
#- { key: Y, mods: Control, mode: Vi|~Search, action: ScrollLineUp }
#- { key: E, mods: Control, mode: Vi|~Search, action: ScrollLineDown }
#- { key: G, mode: Vi|~Search, action: ScrollToTop }
#- { key: G, mods: Shift, mode: Vi|~Search, action: ScrollToBottom }
#- { key: B, mods: Control, mode: Vi|~Search, action: ScrollPageUp }
#- { key: F, mods: Control, mode: Vi|~Search, action: ScrollPageDown }
#- { key: U, mods: Control, mode: Vi|~Search, action: ScrollHalfPageUp }
#- { key: D, mods: Control, mode: Vi|~Search, action: ScrollHalfPageDown }
#- { key: Y, mode: Vi|~Search, action: Copy }
#- { key: Y, mode: Vi|~Search, action: ClearSelection }
#- { key: Copy, mode: Vi|~Search, action: ClearSelection }
#- { key: V, mode: Vi|~Search, action: ToggleNormalSelection }
#- { key: V, mods: Shift, mode: Vi|~Search, action: ToggleLineSelection }
#- { key: V, mods: Control, mode: Vi|~Search, action: ToggleBlockSelection }
#- { key: V, mods: Alt, mode: Vi|~Search, action: ToggleSemanticSelection }
#- { key: Return, mode: Vi|~Search, action: Open }
#- { key: Z, mode: Vi|~Search, action: CenterAroundViCursor }
#- { key: K, mode: Vi|~Search, action: Up }
#- { key: J, mode: Vi|~Search, action: Down }
#- { key: H, mode: Vi|~Search, action: Left }
#- { key: L, mode: Vi|~Search, action: Right }
#- { key: Up, mode: Vi|~Search, action: Up }
#- { key: Down, mode: Vi|~Search, action: Down }
#- { key: Left, mode: Vi|~Search, action: Left }
#- { key: Right, mode: Vi|~Search, action: Right }
#- { key: Key0, mode: Vi|~Search, action: First }
#- { key: Key4, mods: Shift, mode: Vi|~Search, action: Last }
#- { key: Key6, mods: Shift, mode: Vi|~Search, action: FirstOccupied }
#- { key: H, mods: Shift, mode: Vi|~Search, action: High }
#- { key: M, mods: Shift, mode: Vi|~Search, action: Middle }
#- { key: L, mods: Shift, mode: Vi|~Search, action: Low }
#- { key: B, mode: Vi|~Search, action: SemanticLeft }
#- { key: W, mode: Vi|~Search, action: SemanticRight }
#- { key: E, mode: Vi|~Search, action: SemanticRightEnd }
#- { key: B, mods: Shift, mode: Vi|~Search, action: WordLeft }
#- { key: W, mods: Shift, mode: Vi|~Search, action: WordRight }
#- { key: E, mods: Shift, mode: Vi|~Search, action: WordRightEnd }
#- { key: Key5, mods: Shift, mode: Vi|~Search, action: Bracket }
#- { key: Slash, mode: Vi|~Search, action: SearchForward }
#- { key: Slash, mods: Shift, mode: Vi|~Search, action: SearchBackward }
#- { key: N, mode: Vi|~Search, action: SearchNext }
#- { key: N, mods: Shift, mode: Vi|~Search, action: SearchPrevious }
# Search Mode
#- { key: Return, mode: Search|Vi, action: SearchConfirm }
#- { key: Escape, mode: Search, action: SearchCancel }
#- { key: C, mods: Control, mode: Search, action: SearchCancel }
#- { key: U, mods: Control, mode: Search, action: SearchClear }
#- { key: W, mods: Control, mode: Search, action: SearchDeleteWord }
#- { key: P, mods: Control, mode: Search, action: SearchHistoryPrevious }
#- { key: N, mods: Control, mode: Search, action: SearchHistoryNext }
#- { key: Up, mode: Search, action: SearchHistoryPrevious }
#- { key: Down, mode: Search, action: SearchHistoryNext }
#- { key: Return, mode: Search|~Vi, action: SearchFocusNext }
#- { key: Return, mods: Shift, mode: Search|~Vi, action: SearchFocusPrevious }
# (Windows, Linux, and BSD only)
#- { key: V, mods: Control|Shift, mode: ~Vi, action: Paste }
#- { key: C, mods: Control|Shift, action: Copy }
#- { key: F, mods: Control|Shift, mode: ~Search, action: SearchForward }
#- { key: B, mods: Control|Shift, mode: ~Search, action: SearchBackward }
#- { key: C, mods: Control|Shift, mode: Vi|~Search, action: ClearSelection }
#- { key: Insert, mods: Shift, action: PasteSelection }
#- { key: Key0, mods: Control, action: ResetFontSize }
#- { key: Equals, mods: Control, action: IncreaseFontSize }
#- { key: Plus, mods: Control, action: IncreaseFontSize }
#- { key: NumpadAdd, mods: Control, action: IncreaseFontSize }
#- { key: Minus, mods: Control, action: DecreaseFontSize }
#- { key: NumpadSubtract, mods: Control, action: DecreaseFontSize }
# (Windows only)
#- { key: Return, mods: Alt, action: ToggleFullscreen }
# (macOS only)
#- { key: K, mods: Command, mode: ~Vi|~Search, chars: "\x0c" }
#- { key: K, mods: Command, mode: ~Vi|~Search, action: ClearHistory }
#- { key: Key0, mods: Command, action: ResetFontSize }
#- { key: Equals, mods: Command, action: IncreaseFontSize }
#- { key: Plus, mods: Command, action: IncreaseFontSize }
#- { key: NumpadAdd, mods: Command, action: IncreaseFontSize }
#- { key: Minus, mods: Command, action: DecreaseFontSize }
#- { key: NumpadSubtract, mods: Command, action: DecreaseFontSize }
#- { key: V, mods: Command, action: Paste }
#- { key: C, mods: Command, action: Copy }
#- { key: C, mods: Command, mode: Vi|~Search, action: ClearSelection }
#- { key: H, mods: Command, action: Hide }
#- { key: H, mods: Command|Alt, action: HideOtherApplications }
#- { key: M, mods: Command, action: Minimize }
#- { key: Q, mods: Command, action: Quit }
#- { key: W, mods: Command, action: Quit }
#- { key: N, mods: Command, action: CreateNewWindow }
#- { key: F, mods: Command|Control, action: ToggleFullscreen }
#- { key: F, mods: Command, mode: ~Search, action: SearchForward }
#- { key: B, mods: Command, mode: ~Search, action: SearchBackward }
#debug:
# Display the time it takes to redraw each frame.
#render_timer: false
# Keep the log file after quitting Alacritty.
#persistent_logging: false
# Log level
#
# Values for `log_level`:
# - Off
# - Error
# - Warn
# - Info
# - Debug
# - Trace
#log_level: Warn
# Renderer override.
# - glsl3
# - gles2
# - gles2_pure
#renderer: None
# Print all received window events.
#print_events: false
# Highlight window damage information.
#highlight_damage: false
colors:
primary:
background: "#1E1E2E" # base
foreground: "#CDD6F4" # text
# Bright and dim foreground colors
dim_foreground: "#CDD6F4" # text
bright_foreground: "#CDD6F4" # text
# Cursor colors
cursor:
text: "#1E1E2E" # base
cursor: "#F5E0DC" # rosewater
vi_mode_cursor:
text: "#1E1E2E" # base
cursor: "#B4BEFE" # lavender
# Search colors
search:
matches:
foreground: "#1E1E2E" # base
background: "#A6ADC8" # subtext0
focused_match:
foreground: "#1E1E2E" # base
background: "#A6E3A1" # green
footer_bar:
foreground: "#1E1E2E" # base
background: "#A6ADC8" # subtext0
# Keyboard regex hints
hints:
start:
foreground: "#1E1E2E" # base
background: "#F9E2AF" # yellow
end:
foreground: "#1E1E2E" # base
background: "#A6ADC8" # subtext0
# Selection colors
selection:
text: "#1E1E2E" # base
background: "#F5E0DC" # rosewater
# Normal colors
normal:
black: "#45475A" # surface1
red: "#F38BA8" # red
green: "#A6E3A1" # green
yellow: "#F9E2AF" # yellow
blue: "#89B4FA" # blue
magenta: "#F5C2E7" # pink
cyan: "#94E2D5" # teal
white: "#BAC2DE" # subtext1
# Bright colors
bright:
black: "#585B70" # surface2
red: "#F38BA8" # red
green: "#A6E3A1" # green
yellow: "#F9E2AF" # yellow
blue: "#89B4FA" # blue
magenta: "#F5C2E7" # pink
cyan: "#94E2D5" # teal
white: "#A6ADC8" # subtext0
# Dim colors
dim:
black: "#45475A" # surface1
red: "#F38BA8" # red
green: "#A6E3A1" # green
yellow: "#F9E2AF" # yellow
blue: "#89B4FA" # blue
magenta: "#F5C2E7" # pink
cyan: "#94E2D5" # teal
white: "#BAC2DE" # subtext1
indexed_colors:
- { index: 16, color: "#FAB387" }
- { index: 17, color: "#F5E0DC" }

View file

@ -0,0 +1,17 @@
{ config, lib, ... }:
let
cfg = config.luj.programs.alacritty;
in
with lib;
{
options.luj.programs.alacritty = {
enable = mkEnableOption "Enable alacritty program";
};
config = mkIf cfg.enable
{
programs.alacritty.enable = true;
xdg.configFile."alacritty/alacritty.yml".source = lib.mkForce ./config;
};
}

View file

@ -0,0 +1,80 @@
colors:
# Default colors
primary:
background: "#24273A" # base
foreground: "#CAD3F5" # text
# Bright and dim foreground colors
dim_foreground: "#CAD3F5" # text
bright_foreground: "#CAD3F5" # text
# Cursor colors
cursor:
text: "#24273A" # base
cursor: "#F4DBD6" # rosewater
vi_mode_cursor:
text: "#24273A" # base
cursor: "#B7BDF8" # lavender
# Search colors
search:
matches:
foreground: "#24273A" # base
background: "#A5ADCB" # subtext0
focused_match:
foreground: "#24273A" # base
background: "#A6DA95" # green
footer_bar:
foreground: "#24273A" # base
background: "#A5ADCB" # subtext0
# Keyboard regex hints
hints:
start:
foreground: "#24273A" # base
background: "#EED49F" # yellow
end:
foreground: "#24273A" # base
background: "#A5ADCB" # subtext0
# Selection colors
selection:
text: "#24273A" # base
background: "#F4DBD6" # rosewater
# Normal colors
normal:
black: "#494D64" # surface1
red: "#ED8796" # red
green: "#A6DA95" # green
yellow: "#EED49F" # yellow
blue: "#8AADF4" # blue
magenta: "#F5BDE6" # pink
cyan: "#8BD5CA" # teal
white: "#B8C0E0" # subtext1
# Bright colors
bright:
black: "#5B6078" # surface2
red: "#ED8796" # red
green: "#A6DA95" # green
yellow: "#EED49F" # yellow
blue: "#8AADF4" # blue
magenta: "#F5BDE6" # pink
cyan: "#8BD5CA" # teal
white: "#A5ADCB" # subtext0
# Dim colors
dim:
black: "#494D64" # surface1
red: "#ED8796" # red
green: "#A6DA95" # green
yellow: "#EED49F" # yellow
blue: "#8AADF4" # blue
magenta: "#F5BDE6" # pink
cyan: "#8BD5CA" # teal
white: "#B8C0E0" # subtext1
indexed_colors:
- { index: 16, color: "#F5A97F" }
- { index: 17, color: "#F4DBD6" }

View file

@ -0,0 +1,44 @@
{ config, lib, ... }:
let
cfg = config.luj.programs.dunst;
in
with lib;
{
options.luj.programs.dunst = {
enable = mkEnableOption "Enable Dunst";
};
config = mkIf cfg.enable {
services.dunst = {
enable = true;
settings = {
global = {
monitor = 0;
corner_radius = 5;
frame_color = "#89B4FA";
frame_width = 0;
separator_color = "frame";
};
urgency_low = {
background = "#1E1E2E";
foreground = "#CDD6F4";
};
urgency_normal = {
background = "#1E1E2E";
foreground = "#CDD6F4";
};
urgency_critical = {
background = "#1E1E2E";
foreground = "#CDD6F4";
frame_color = "#FAB387";
};
};
};
};
}

View file

@ -0,0 +1,16 @@
{ config, lib, ... }:
let
cfg = config.luj.programs.emacs;
in
with lib;
{
options.luj.programs.emacs = {
enable = mkEnableOption "Enable Emacs";
};
config = mkIf cfg.enable {
services.emacs.enable = true;
};
}

View file

@ -0,0 +1 @@
(setq doom-theme 'catppuccin)

View file

@ -0,0 +1,192 @@
;;; init.el -*- lexical-binding: t; -*-
;; This file controls what Doom modules are enabled and what order they load
;; in. Remember to run 'doom sync' after modifying it!
;; NOTE Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's
;; documentation. There you'll find a "Module Index" link where you'll find
;; a comprehensive list of Doom's modules and what flags they support.
;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or
;; 'C-c c k' for non-vim users) to view its documentation. This works on
;; flags as well (those symbols that start with a plus).
;;
;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its
;; directory (for easy access to its source code).
(doom! :input
;;chinese
;;japanese
;;layout ; auie,ctsrnm is the superior home row
:completion
company ; the ultimate code completion backend
;;helm ; the *other* search engine for love and life
;;ido ; the other *other* search engine...
;;ivy ; a search engine for love and life
vertico ; the search engine of the future
:ui
;;deft ; notational velocity for Emacs
doom ; what makes DOOM look the way it does
doom-dashboard ; a nifty splash screen for Emacs
doom-quit ; DOOM quit-message prompts when you quit Emacs
(emoji +unicode) ; 🙂
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
;;hydra
;;indent-guides ; highlighted indent columns
;;ligatures ; ligatures and symbols to make your code pretty again
;;minimap ; show a map of the code on the side
modeline ; snazzy, Atom-inspired modeline, plus API
;;nav-flash ; blink cursor line after big motions
;;neotree ; a project drawer, like NERDTree for vim
ophints ; highlight the region an operation acts on
(popup +defaults) ; tame sudden yet inevitable temporary windows
;;tabs ; a tab bar for Emacs
treemacs ; a project drawer, like neotree but cooler
;;unicode ; extended unicode support for various languages
vc-gutter ; vcs diff in the fringe
vi-tilde-fringe ; fringe tildes to mark beyond EOB
;;window-select ; visually switch windows
workspaces ; tab emulation, persistence & separate workspaces
;;zen ; distraction-free coding or writing
:editor
(evil +everywhere); come to the dark side, we have cookies
file-templates ; auto-snippets for empty files
fold ; (nigh) universal code folding
(format +onsave) ; automated prettiness
;;god ; run Emacs commands without modifier keys
;;lispy ; vim for lisp, for people who don't like vim
;;multiple-cursors ; editing in many places at once
;;objed ; text object editing for the innocent
;;parinfer ; turn lisp into python, sort of
;;rotate-text ; cycle region at point between text candidates
snippets ; my elves. They type so I don't have to
;;word-wrap ; soft wrapping with language-aware indent
:emacs
dired ; making dired pretty [functional]
electric ; smarter, keyword-based electric-indent
;;ibuffer ; interactive buffer management
undo ; persistent, smarter undo for your inevitable mistakes
vc ; version-control and Emacs, sitting in a tree
:term
eshell ; the elisp shell that works everywhere
;;shell ; simple shell REPL for Emacs
;;term ; basic terminal emulator for Emacs
vterm ; the best terminal emulation in Emacs
:checkers
syntax ; tasing you for every semicolon you forget
;;(spell +flyspell) ; tasing you for misspelling mispelling
;;grammar ; tasing grammar mistake every you make
:tools
;;ansible
;;biblio ; Writes a PhD for you (citation needed)
;;debugger ; FIXME stepping through code, to help you add bugs
;;direnv
;;docker
;;editorconfig ; let someone else argue about tabs vs spaces
;;ein ; tame Jupyter notebooks with emacs
(eval +overlay) ; run code, run (also, repls)
;;gist ; interacting with github gists
lookup ; navigate your code and its documentation
lsp ; M-x vscode
magit ; a git porcelain for Emacs
;;make ; run make tasks from Emacs
;;pass ; password manager for nerds
pdf ; pdf enhancements
;;prodigy ; FIXME managing external services & code builders
;;rgb ; creating color strings
;;taskrunner ; taskrunner for all your projects
;;terraform ; infrastructure as code
;;tmux ; an API for interacting with tmux
;;upload ; map local to remote projects via ssh/ftp
:os
(:if IS-MAC macos) ; improve compatibility with macOS
;;tty ; improve the terminal Emacs experience
:lang
;;agda ; types of types of types of types...
;;beancount ; mind the GAAP
;;cc ; C > C++ == 1
;;clojure ; java with a lisp
;;common-lisp ; if you've seen one lisp, you've seen them all
;;coq ; proofs-as-programs
;;crystal ; ruby at the speed of c
;;csharp ; unity, .NET, and mono shenanigans
;;data ; config/data formats
;;(dart +flutter) ; paint ui and not much else
;;dhall
;;elixir ; erlang done right
;;elm ; care for a cup of TEA?
emacs-lisp ; drown in parentheses
;;erlang ; an elegant language for a more civilized age
;;ess ; emacs speaks statistics
;;factor
;;faust ; dsp, but you get to keep your soul
;;fortran ; in FORTRAN, GOD is REAL (unless declared INTEGER)
;;fsharp ; ML stands for Microsoft's Language
;;fstar ; (dependent) types and (monadic) effects and Z3
;;gdscript ; the language you waited for
;;(go +lsp) ; the hipster dialect
;;(haskell +lsp) ; a language that's lazier than I am
;;hy ; readability of scheme w/ speed of python
;;idris ; a language you can depend on
;;json ; At least it ain't XML
;;(java +meghanada) ; the poster child for carpal tunnel syndrome
;;javascript ; all(hope(abandon(ye(who(enter(here))))))
;;julia ; a better, faster MATLAB
;;kotlin ; a better, slicker Java(Script)
latex ; writing papers in Emacs has never been so fun
;;lean ; for folks with too much to prove
;;ledger ; be audit you can be
;;lua ; one-based indices? one-based indices
markdown ; writing docs for people to ignore
;;nim ; python + lisp at the speed of c
nix ; I hereby declare "nix geht mehr!"
;;ocaml ; an objective camel
org ; organize your plain life in plain text
;;php ; perl's insecure younger brother
;;plantuml ; diagrams for confusing people more
;;purescript ; javascript, but functional
;;python ; beautiful is better than ugly
;;qt ; the 'cutest' gui framework ever
;;racket ; a DSL for DSLs
;;raku ; the artist formerly known as perl6
;;rest ; Emacs as a REST client
;;rst ; ReST in peace
;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
rust ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
;;scala ; java, but good
;;(scheme +guile) ; a fully conniving family of lisps
sh ; she sells {ba,z,fi}sh shells on the C xor
;;sml
;;solidity ; do you need a blockchain? No.
;;swift ; who asked for emoji variables?
;;terra ; Earth and Moon in alignment for performance.
;;web ; the tubes
;;yaml ; JSON, but readable
;;zig ; C, but simpler
:email
;;(mu4e +org +gmail)
;;notmuch
;;(wanderlust +gmail)
:app
;;calendar
;;emms
;;everywhere ; *leave* Emacs!? You must be joking
;;irc ; how neckbeards socialize
;;(rss +org) ; emacs as an RSS reader
;;twitter ; twitter client https://twitter.com/vnought
:config
;;literate
(default +bindings +smartparens))

View file

@ -0,0 +1 @@
(package! catppuccin-theme)

View file

@ -0,0 +1,23 @@
{
config,
pkgs,
lib,
...
}:
let
cfg = config.luj.programs.firefox;
in
with lib;
{
options.luj.programs.firefox = {
enable = mkEnableOption "Enable Firefox";
};
config = mkIf cfg.enable {
programs.firefox = {
enable = true;
package = pkgs.firefox;
};
};
}

View file

@ -0,0 +1,111 @@
{
config,
pkgs,
lib,
...
}:
let
cfg = config.luj.programs.fish;
in
with lib;
{
options.luj.programs.fish = {
enable = mkEnableOption "Enable fish";
};
config = mkIf cfg.enable {
programs.fish = {
enable = true;
shellInit = ''
[ -n "$EAT_SHELL_INTEGRATION_DIR" ] && \
source "$EAT_SHELL_INTEGRATION_DIR/fish"
'';
shellAliases = {
ka = "killall";
mkd = "mkdir -pv";
nix-build = "nom-build";
ca = "khal interactive";
sync_ca = "vsync sync";
dnd = "dunstctl set-paused true";
nodnd = "dunstctl set-paused false";
lg = "lazygit";
g = "git";
gua = "git remote | xargs -L1 git push --all";
v = "$EDITOR";
sdn = "shutdown now";
SU = "systemctl --user";
SS = "sudo systemctl";
weather = "curl wttr.in";
v6 = "curl api6.ipify.org";
v4 = "curl api.ipify.org";
clbin = "curl -F'clbin=<-' https://clbin.com";
_0x0 = "curl -F'file=@-' https://0x0.st";
phs = "python -m http.server";
ls = "eza";
rtmv = "rsync -avP";
archive = "rsync --remove-source-files -avPzz";
luks_integrity_check = "gocryptfs -fsck -extpass 'pass Private/LUKS' /boot/luks";
fetch-emails = "mbsync --all && notmuch new && afew -t -n -v";
nsp = "nix-shell -p";
ns = "nix-shell";
ncg = "sudo nix-collect-garbage --delete-older-than 30d";
ncga = "sudo nix-collect-garbage -d";
nso = "sudo nix-store --optimise";
lln = "NIX_PATH=\"nixpkgs=$LOCAL_NIXPKGS_CHECKOUT\"";
# Local build
lnb = "NIX_PATH=\"nixpkgs=$LOCAL_NIXPKGS_CHECKOUT\" nom-build '<nixpkgs>' --no-out-link -A $1";
# Local shell
lns = "NIX_PATH=\"nixpkgs=$LOCAL_NIXPKGS_CHECKOUT\" nix-shell -p $1";
# Local test
ltt = ''NIX_PATH=\"nixpkgs=$LOCAL_NIXPKGS_CHECKOUT\" nom-build --no-out-link "$LOCAL_NIXPKGS_CHECKOUT/nixos/tests/$1"'';
};
};
# Broot
programs.broot = {
enable = true;
enableFishIntegration = true;
};
# Direnv: must have.
programs.direnv = {
enable = true;
nix-direnv.enable = true;
};
programs.oh-my-posh = {
enable = true;
enableFishIntegration = true;
useTheme = "catppuccin_mocha";
};
# Misc
programs.lesspipe.enable = true;
home.packages = with pkgs; [
eza
python3
libnotify
nix-output-monitor
];
};
}

View file

@ -1,4 +1,9 @@
{ config, pkgs, lib, ... }: {
config,
pkgs,
lib,
...
}:
let let
cfg = config.luj.programs.git; cfg = config.luj.programs.git;
in in
@ -12,7 +17,34 @@ with lib;
programs.git = { programs.git = {
enable = true; enable = true;
userName = "Julien Malka"; userName = "Julien Malka";
userEmail = "julien.malka@me.com"; userEmail = "julien@malka.sh";
signing = {
signByDefault = true;
key = "6FC74C847011FD83";
};
maintenance = {
enable = true;
repositories = [
"/home/julien/dev/nixpkgs"
];
};
delta.enable = true;
ignores = [ ".direnv" ];
extraConfig = {
init.defaultBranch = "main";
diff.colorMoved = "zebra";
pull.rebase = true;
fetch.prune = true;
rebase.autoStash = true;
push.autoSetupRemote = true;
};
};
home.extraActivationPath = [ pkgs.gnupg ];
home.activation = {
myActivationAction = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
gpg --import /run/agenix/git-gpg-private-key
'';
}; };
}; };
} }

View file

@ -0,0 +1,32 @@
{
config,
pkgs,
lib,
...
}:
let
cfg = config.luj.programs.gtk;
in
with lib;
{
options.luj.programs.gtk = {
enable = mkEnableOption "Enable gtk customizations";
};
config = mkIf cfg.enable {
gtk = {
enable = true;
theme = {
name = "Catppuccin-Macchiato-Standard-Pink-Dark";
package = pkgs.catppuccin-gtk.override {
accents = [ "pink" ];
variant = "macchiato";
};
};
};
qt = {
enable = true;
platformTheme.name = "gtk";
};
};
}

View file

@ -0,0 +1,170 @@
{
config,
pkgs,
lib,
...
}:
let
cfg = config.luj.programs.hyprland;
terminal = "${pkgs.kitty}/bin/kitty";
menu = "${pkgs.rofi-wayland}/bin/rofi -no-lazy-grab -show drun";
in
with lib;
{
options.luj.programs.hyprland = {
enable = mkEnableOption "Enable HyprLand";
};
config = mkIf cfg.enable {
wayland.windowManager.hyprland = {
enable = true;
package = pkgs.unstable.hyprland;
systemd = {
enable = true;
variables = [ "WLR_NO_HARDWARE_CURSORS=1" ];
};
settings = {
# Variables
"$mod" = "ALT_L";
"$term" = terminal;
"$launcher" = menu;
general = {
gaps_in = "6";
gaps_out = "10";
};
input = {
kb_layout = "fr";
follow_mouse = 1;
sensitivity = 0; # -1.0 - 1.0, 0 means no modification.
};
misc = {
disable_hyprland_logo = true;
disable_splash_rendering = true;
};
decoration = {
rounding = 6;
};
animations.enabled = true;
xwayland = {
force_zero_scaling = true;
};
workspace = [
"1,monitor:DP-3"
"2,monitor:HDM1-A-1"
];
exec = [ "hyprpaper" ];
env = [
"LIBVA_DRIVER_NAME, nvidia"
"WLR_NO_HARDWARE_CURSORS, 1"
"WLR_DRM_DEVICES,/home/julien/.config/hypr/card"
];
monitor = [
"DP-3, 2560x1440@60, 0x0, 1"
"HDM1-A-1, 2560x1440@60, 2560x0, 1"
];
bind = [
"$mod, RETURN, exec, kitty"
"$mod, SPACE, exec, $launcher"
"$mod, w, exec, swaylock"
# Window management
"$mod, Q, killactive"
"$mod, F, fullscreen"
# Focus
"$mod, left, movefocus, l"
"$mod, right, movefocus, r"
"$mod, up, movefocus, u"
"$mod, down, movefocus, d"
# Move
"$mod SHIFT, left, movewindow, l"
"$mod SHIFT, right, movewindow, r"
"$mod SHIFT, up, movewindow, u"
"$mod SHIFT, down, movewindow, d"
# Switch workspaces
"$mod, code:10, workspace, 1"
"$mod, code:11, workspace, 2"
"$mod, code:12, workspace, 3"
"$mod, code:13, workspace, 4"
"$mod, code:14, workspace, 5"
"$mod, code:15, workspace, 6"
"$mod, code:16, workspace, 7"
"$mod, code:17, workspace, 8"
"$mod, code:18, workspace, 9"
"$mod, code:19, workspace, 10"
"$mod SHIFT, code:10, movetoworkspace, 1"
"$mod SHIFT, code:11, movetoworkspace, 2"
"$mod SHIFT, code:12, movetoworkspace, 3"
"$mod SHIFT, code:13, movetoworkspace, 4"
"$mod SHIFT, code:14, movetoworkspace, 5"
"$mod SHIFT, code:15, movetoworkspace, 6"
"$mod SHIFT, code:16, movetoworkspace, 7"
"$mod SHIFT, code:17, movetoworkspace, 8"
"$mod SHIFT, code:18, movetoworkspace, 9"
"$mod SHIFT, code:19, movetoworkspace, 10"
];
};
};
xdg.configFile."hypr/hyprpaper.conf".text = ''
preload = ${../../machines/fischer/wallpaper.jpg}
wallpaper = ,${../../machines/fischer/wallpaper.jpg}
'';
services.swayidle = {
enable = true;
systemdTarget = "hyprland-session.target";
events = [
{
event = "before-sleep";
command = "${pkgs.swaylock-effects}/bin/swaylock --config /home/julien/.config/swaylock/config";
}
];
};
programs.swaylock = {
enable = true;
package = pkgs.swaylock-effects;
settings = {
screenshots = true;
clock = true;
indicator = true;
indicator-radius = 200;
indicator-thickness = 20;
grace = 0;
grace-no-mouse = true;
grace-no-touch = true;
line-uses-ring = false;
ignore-empty-password = true;
show-failed-attempts = false;
font = "Fira Code";
timestr = "%H:%M";
datestr = "";
effect-blur = "8x5";
effect-vignette = "0.5:0.5";
color = "00000000";
};
};
home.packages = with pkgs; [
qt6.qtwayland
libsForQt5.qt5.qtwayland
hyprpaper
];
};
}

View file

@ -1,265 +0,0 @@
# This file has been auto-generated by i3-config-wizard(1).
# It will not be overwritten, so edit it as you like.
#
# Should you change your keyboard layout some time, delete
# this file and re-run i3-config-wizard(1).
#
# i3 config file (v4)
#
# Please see http://i3wm.org/docs/userguide.html for a complete reference!
#Execs
exec_always xrandr --output $leftm --primary --mode 1920x1080 --pos 0x0 --rotate normal --output $rightm --mode 1920x1080 --pos 1920x0 --rotate normal
#exec_always xrandr --output $leftm --primary --mode 1920x1080 --pos 0x0 --rotate normal
exec_always feh --bg-scale ~/df/bg.jpg
# Variables {{{
set $sup Mod1
set $terminal tabbed -c urxvt -embed
set $leftm HDMI-1
set $rightm eDP-1
set $workspace1 ""
set $workspace2 ""
set $workspace3 ""
set $workspace4 "4"
set $workspace5 "5"
set $workspace6 "6"
set $workspace7 "7"
set $workspace8 "8"
set $workspace9 "9"
set $workspace10 ""
# }}}
workspace "" output $leftm
workspace "" output $rightm
workspace "" output $rightm
#Set Mod
set $mod Mod4
set $bg-color #172A47
set $text-color #5A9857
set $urgent-bg-color #E53935
set $inactive-bg-color #435E75
##########################################
#Scrolling - doesn't work
#exec --no-startup-id synclient HorizEdgeScroll=1 VertEdgeScroll=1 VertScrollDelta=-111
#WORKSPACE STARTUP
#Gaps and Window
for_window [class="^.*"] border pixel 2
#new_window pixel 4
#new_float pixel 4
#gaps inner 20
gaps inner 10
#border_radius 5
#new_window pixel 3
#new_float pixel 3
#gaps top 35
hide_edge_borders vertical
# Color variables
set $unfocused_border #72afff
set $focused_border #b21c0e
# class border backgr. text indicator
client.focused #698AB2 #698AB2 #698AB2 #698AB2 #698AB2
#client.focused_inactive $base03 $base03 $base05 $base03
#client.unfocused $base03 $base03 $base05 $base00
#client.urgent $base01 $base01 $base05 $base00
#Check .Xresources for font
# start a terminal
bindsym $mod+Return workspace 
bindsym $mod+Shift+Return exec urxvt
# kill focused window
bindsym $mod+q kill
# start rofi
bindsym $mod+space exec rofi -show run
# change focus
# alternatively, you can use the cursor keys:
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right
# alternatively, you can use the cursor keys:
bindsym $mod+Shift+h move left
bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up
bindsym $mod+Shift+l move right
# split in horizontal orientation
bindsym $mod+o split h
# split in vertical orientation
bindsym $mod+v split v
# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle
# change container layout (stacked, tabbed, toggle split)
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
# change focus between tiling / floating windows
#bindsym $mod+space focus mode_toggle
# focus the parent container
bindsym $mod+a focus parent
# focus the child container
#bindsym $mod+d focus child
bindsym $mod+Ctrl+Left move workspace to output $leftm
bindsym $mod+Ctrl+Right move workspace to output $rightm
# switch to workspace
bindsym $mod+1 workspace 
bindsym $mod+2 workspace 
bindsym $mod+3 workspace 
bindsym $mod+4 workspace 4
bindsym $mod+5 workspace 5
bindsym $mod+6 workspace 6
bindsym $mod+7 workspace 7
bindsym $mod+8 workspace 8
bindsym $mod+9 workspace 9
bindsym $mod+0 workspace 
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace 
bindsym $mod+Shift+2 move container to workspace 
bindsym $mod+Shift+3 move container to workspace 
bindsym $mod+Shift+4 move container to workspace 4
bindsym $mod+Shift+5 move container to workspace 5
bindsym $mod+Shift+6 move container to workspace 6
bindsym $mod+Shift+7 move container to workspace 7
bindsym $mod+Shift+8 move container to workspace 8
bindsym $mod+Shift+9 move container to workspace 9
bindsym $mod+Shift+0 move container to workspace 
#assign apps to workspaces
#assign [class = "URxvt"] 
assign [class = "Firefox"] 
assign [class = "discord"] 
assign[class="Atomic TweetDeck"] 
assign [class="Slack"] 
assign[class="Atom"]
# reload the configuration file
bindsym $mod+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
# also destroy anything in startup workspace
bindsym $mod+Shift+r restart [workspace=] kill
# exit i3 (logs you out of your X session)
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
# resize window (you can also use the mouse for that)
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
# Pressing left will shrink the windows width.
# Pressing right will grow the windows width.
# Pressing up will shrink the windows height.
# Pressing down will grow the windows height.
bindsym h resize shrink width 10 px or 10 ppt
bindsym j resize shrink height 10 px or 10 ppt
bindsym k resize grow height 10 px or 10 ppt
bindsym l resize grow width 10 px or 10 ppt
# same bindings, but for the arrow keys
bindsym Left resize shrink width 10 px or 10 ppt
bindsym Down resize grow height 10 px or 10 ppt
bindsym Up resize shrink height 10 px or 10 ppt
bindsym Right resize grow width 10 px or 10 ppt
# back to normal: Enter or Escape
bindsym $mod+R mode "default"
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
bindsym $mod+p exec i3lock-fancy
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
#bar {
# font pango:DejaVu Sans Mono, Awesome 8
# status_command i3blocks
# colors {
# background #23313D
# separator #757575
# # border background text
# focused_workspace $inactive-bg-color $bg-color $text-color
# inactive_workspace $bg-color $bg-color $text-color
# urgent_workspace $urgent-bg-color $urgent-bg-color $text-color
# }
#}
#SCROT
bindsym --release Print exec "scrot ~/Pictures/Screenshots/%b%d:%H%M%S.png"
# Alsa controls
bindsym XF86AudioMute exec amixer set Master toggle; exec pkill -RTMIN+10 i3blocks
bindsym XF86AudioRaiseVolume exec amixer set Master 5%+; exec pkill -RTMIN+10 i3blocks
bindsym XF86AudioLowerVolume exec amixer set Master 5%-; exec pkill -RTMIN+10 i3blocks
#Pulse Audio controls
#bindsym XF86AudioRaiseVolume exec amixer -q -D pulse sset Master 2%+;
#exec pkill -RTMIN+10 i3blocks
#bindsym XF86AudioLowerVolume exec amixer -q -D pulse sset Master 2%-;
#exec pkill -RTMIN+10 i3blocks
#bindsym XF86AudioMute exec amixer -q -D pulse sset Master toggle;
#exec pkill -RTMIN+10 i3blocks
# Sreen brightness controls
bindsym XF86MonBrightnessUp exec xbacklight -inc 20 # increase screen brightness
bindsym XF86MonBrightnessDown exec xbacklight -dec 20 # decrease screen brightness
# Touchpad controls
bindsym XF86TouchpadToggle exec /some/path/toggletouchpad.sh # toggle touchpad
# Media player controls
bindsym XF86AudioPlay exec playerctl play
bindsym XF86AudioPause exec playerctl pause
#bindsym XF86AudioNext exec playerctl next
#bindsym XF86AudioPrev exec playerctl previous
exec systemctl --user restart polybar
exec xrdb /home/julien/.Xressources
#exec --no-startup-id i3-msg 'workspace ; exec urxvt;exec urxvt;exec urxvt;exec urxvt; workspace '

View file

@ -1,19 +0,0 @@
{ config, pkgs, lib, ... }:
let
cfg = config.luj.i3;
in with lib;
{
options.luj.i3 = {
enable = mkEnableOption "activate i3";
};
config = mkIf cfg.enable {
xsession.windowManager.i3 = {
enable = true;
package = pkgs.i3-gaps;
};
xdg.configFile."i3/config".source = lib.mkForce ./config;
};
}

View file

@ -0,0 +1,35 @@
{
config,
pkgs,
lib,
...
}:
let
cfg = config.luj.programs.kitty;
in
with lib;
{
options.luj.programs.kitty = {
enable = mkEnableOption "Enable Kitty";
};
config = mkIf cfg.enable {
programs.kitty = {
enable = true;
settings = {
wayland_titlebar_color = "background";
shell_integration = "no-cursor";
window_padding_width = 3;
font_size = 10;
confirm_os_window_close = 0;
};
font = {
name = "FiraCode Nerd Font Mono Reg";
package = pkgs.nerd-fonts.fira-code;
};
themeFile = "Catppuccin-Mocha";
};
};
}

View file

@ -1,90 +0,0 @@
[Filter.1]
query = subject:"Formulaire d'externement"
tags = +externement
message = Externement
[Filter.2]
query = subject:/\[DG\]/
tags = +dg
message = Mail pour la DG
[Filter.3]
query = subject:"Demande de malle"
tags = +malle
message = Malle
[Filter.4]
query = subject:"Demande d'inscription de"
tags = +thurnage
message = Thurnage
[Filter.5]
query = subject:"Formulaire situation de"
tags = +situation
message = Situation
[Filter.6]
query = subject:"Inscription au thurnage général de"
tags = +thurnage
message = TG
[Filter.7]
query = subject:"Prévision d'externement de"
tags = +externement
message = previsionext
[Filter.8]
query = subject:"Demande d'accès"
tags = +malle
message = acces
[Filter.9]
query = subject:"Rendu de malle"
tags = +malle
message = rendu
[Filter.10]
query = subject:"Prolongation de la malle"
tags = +malle
message = prolong
[Filter.11]
query = subject:"Fermeture de l'internat"
tags = +fermeture
message = fermeture
[Filter.12]
query = subject:/\[COF\]/
tags = +cof
message = COF
[Filter.13]
query = subject:"Modification inscription TG"
tags= +thurnage
[Filter.14]
query = subject:/\[Pouët-Pouêt\]/
tags = +fanfare
message = fanfare
[Filter.15]
query = subject:/\[K-Fêt\]/
tags = +kfet
message = kfet
[Filter.16]
query = subject:/\[Chef.fe.s\]/
tags = +chefs
message = chefs
[InboxFilter]
[MailMover]
folders = ens/INBOX ens/DG
rename = True
ens/INBOX = 'tag:dg':ens/DG 'tag:COF':ens/COF 'tag:fanfare':ens/Fanfare 'tag:kfet':ens/K-Fet 'tag:chefs':ens/K-Fet/Chefs
ens/DG = 'tag:externement':ens/DG/Externements 'tag:malle':ens/DG/Malles 'tag:thurnage':ens/DG/Thurnages 'tag:situation':ens/DG/Situations 'tag:fermeture':ens/DG/Fermeture

View file

@ -1,4 +1,9 @@
{ pkgs, config, lib, ... }: {
pkgs,
config,
lib,
...
}:
let let
cfg = config.luj.emails; cfg = config.luj.emails;
in in
@ -6,68 +11,156 @@ with lib;
{ {
options.luj.emails = { options.luj.emails = {
enable = mkEnableOption "enable mail management"; enable = mkEnableOption "enable mail management";
backend.enable = mkEnableOption "enable filtering backend";
}; };
config = mkIf cfg.enable {
config = mkMerge [ age.secrets.work-mail-pw = {
(mkIf cfg.enable { file = ../../secrets/work-mail-pw.age;
programs.mbsync.enable = true; };
programs.neomutt.enable = true;
programs.msmtp.enable = true; age.secrets.dgnum-mail-pw = {
accounts.email = { file = ../../secrets/dgnum-mail-pw.age;
accounts.ens = { };
address = "julien.malka@ens.fr";
imap.host = "clipper.ens.fr"; age.secrets.telecom-mail-pw = {
mbsync = { file = ../../secrets/telecom-mail-pw.age;
enable = true; };
create = "maildir";
extraConfig.channel = { age.secrets.ens-mail-pw = {
"CopyArrivalDate" = "yes"; file = ../../secrets/ens-mail-pw.age;
}; };
programs.mbsync = {
enable = lib.mkDefault true;
package = pkgs.unstable.isync;
};
programs.msmtp.enable = true;
accounts.email = {
accounts.ens = {
notmuch.enable = true;
folders.inbox = "INBOX";
address = "julien.malka@ens.fr";
imap.host = "clipper.ens.fr";
mbsync = {
enable = true;
create = "maildir";
expunge = "both";
extraConfig.channel = {
"CopyArrivalDate" = "yes";
}; };
msmtp.enable = true;
primary = true;
realName = "Julien Malka";
passwordCommand = "${pkgs.gnupg}/bin/gpg -q --batch --passphrase-file /home/julien/email-passphrase -d ${./ens.pass.gpg}";
smtp = {
host = "clipper.ens.fr";
};
userName = "jmalka";
}; };
msmtp.enable = true;
primary = true;
realName = "Julien Malka";
passwordCommand = "${pkgs.coreutils}/bin/cat ${config.age.secrets.ens-mail-pw.path}";
smtp = {
host = "clipper.ens.fr";
};
userName = "jmalka";
}; };
services.mbsync = { accounts.work = {
enable = true; notmuch.enable = true;
frequency = "*-*-* *:*:00"; folders.inbox = "INBOX";
verbose = false; address = "julien@malka.sh";
}; imap.host = "mail.luj.fr";
xdg.configFile = { mbsync = {
"neomutt/neomuttrc".source = lib.mkForce ./neomuttrc; enable = true;
create = "maildir";
expunge = "both";
extraConfig.channel = {
"CopyArrivalDate" = "yes";
};
};
msmtp.enable = true;
primary = false;
realName = "Julien Malka";
passwordCommand = "${pkgs.coreutils}/bin/cat ${config.age.secrets.work-mail-pw.path}";
smtp = {
host = "mail.luj.fr";
};
userName = "malka";
}; };
accounts.telecom = {
}) notmuch.enable = true;
folders.inbox = "INBOX";
(mkIf (cfg.enable && cfg.backend.enable) { address = "julien.malka@telecom-paris.fr";
programs.afew.enable = true; imap.host = "z.imt.fr";
accounts.email.accounts.ens.notmuch.enable = true; mbsync = {
services.mbsync.postExec = "${pkgs.notmuch}/bin/notmuch new"; enable = true;
programs.notmuch = { create = "maildir";
enable = true; expunge = "both";
new.tags = [ "new" ]; extraConfig.channel = {
hooks.postNew = '' "CopyArrivalDate" = "yes";
${pkgs.afew}/bin/afew --tag --new };
${pkgs.afew}/bin/afew --move-mails };
''; msmtp.enable = true;
}; primary = false;
xdg.configFile = { realName = "Julien Malka";
"afew/config".source = lib.mkForce ./afewconfig; passwordCommand = "${pkgs.coreutils}/bin/cat ${config.age.secrets.telecom-mail-pw.path}";
smtp = {
host = "z.imt.fr";
};
userName = "julien.malka@telecom-paris.fr";
}; };
accounts.dgnum = {
notmuch.enable = true;
folders.inbox = "INBOX";
address = "luj@dgnum.eu";
imap.host = "kurisu.lahfa.xyz";
mbsync = {
enable = true;
create = "maildir";
expunge = "both";
extraConfig.channel = {
"CopyArrivalDate" = "yes";
};
};
msmtp.enable = true;
primary = false;
realName = "Julien Malka";
passwordCommand = "${pkgs.coreutils}/bin/cat ${config.age.secrets.dgnum-mail-pw.path}";
smtp = {
host = "kurisu.lahfa.xyz";
};
userName = "luj@dgnum.eu";
};
}) };
services.mbsync = {
enable = lib.mkDefault true;
frequency = "minutely";
package = pkgs.unstable.isync;
};
]; services.mbsync.postExec = lib.mkDefault "${pkgs.notmuch}/bin/notmuch new";
programs.notmuch = {
enable = lib.mkDefault true;
new.tags = [ "new" ];
hooks.preNew = lib.mkDefault ''
${pkgs.notmuch-mailmover}/bin/notmuch-mailmover --config ${./mailmover.lua}
'';
hooks.postNew = lib.mkDefault ''
${pkgs.afew}/bin/afew --tag --new
'';
};
programs.afew = {
enable = true;
extraConfig = ''
[FolderNameFilter]
maildir_separator = /
folder_lowercases = true
[Filter.1]
query = tag:new
tags = -new
'';
};
};
} }

View file

@ -0,0 +1,173 @@
local match_modes = {
ALL = "all",
FIRST = "first",
UNIQUE = "unique",
}
--- Execute a shell command and return its output
local function execute_command(cmd)
local handle = io.popen(cmd)
local result = handle:read("*a")
handle:close()
return result
end
--- Get all folders from the Maildir structure
local function get_maildir_folders(maildir_path)
local cmd = "find " .. maildir_path .. " -type d -name cur | sed 's|/cur$||' | sed 's|" .. maildir_path .. "/||'"
local output = execute_command(cmd)
local folders = {}
for folder in string.gmatch(output, "([^\n]+)") do
if folder ~= "" then
folders[#folders+1] = folder
end
end
return folders
end
--- Check if one path is a parent of another
local function is_parent_path(parent, child)
return child:match("^" .. parent .. "/") ~= nil
end
--- Check if a folder contains "Archive" in its name
local function contains_archive(folder)
return string.find(folder, "Archive") ~= nil
end
--- Generate rules based on folder structure
local function generate_rules(maildir_path)
local folders = get_maildir_folders(maildir_path)
local rules = {}
-- Create a sorted copy of folders, from longest path to shortest
-- This ensures we process children before parents
local sorted_folders = {}
for _, folder in ipairs(folders) do
table.insert(sorted_folders, folder)
end
table.sort(sorted_folders, function(a, b)
return #a > #b
end)
-- Store each folder's subfolder tags for exclusion
local subfolder_tags = {}
for _, folder in ipairs(sorted_folders) do
subfolder_tags[folder] = {}
end
-- Collect all subfolder-specific tags for each folder
for _, folder in ipairs(sorted_folders) do
local parts = {}
for part in string.gmatch(folder, "([^/]+)") do
table.insert(parts, part)
end
-- For each folder, find its parent folders and add its deepest tag to their exclusion list
if #parts > 0 then
local deepest_tag = string.lower(parts[#parts])
local parent_path = ""
for i = 1, #parts - 1 do
if i > 1 then
parent_path = parent_path .. "/"
end
parent_path = parent_path .. parts[i]
-- Add this tag to the parent's exclusion list
if subfolder_tags[parent_path] then
table.insert(subfolder_tags[parent_path], deepest_tag)
end
end
end
end
-- Now generate rules with proper exclusions
for _, folder in ipairs(folders) do
-- Skip Trash and Sent as they're already handled
if folder ~= "Trash" and folder ~= "Sent" then
local query_parts = {}
local exclusion_parts = {}
-- Convert each folder component to a lowercase tag requirement
for part in string.gmatch(folder, "([^/]+)") do
table.insert(query_parts, "tag:" .. string.lower(part))
end
-- Add exclusions for subfolder-specific tags
if subfolder_tags[folder] then
for _, tag in ipairs(subfolder_tags[folder]) do
table.insert(exclusion_parts, "not tag:" .. tag)
end
end
-- Add "not tag:sent" for any folder containing "Archive"
if contains_archive(folder) then
table.insert(exclusion_parts, "not tag:sent")
end
-- Build the complete query
local query = table.concat(query_parts, " and ")
if #exclusion_parts > 0 then
query = query .. " and " .. table.concat(exclusion_parts, " and ")
end
-- Add rule for this folder
rules[#rules+1] = {
folder = folder,
query = query,
}
end
end
-- Sort rules by complexity (number of tags) - more specific rules first
table.sort(rules, function(a, b)
if a.folder == "Trash" then return true end
if b.folder == "Trash" then return false end
if a.folder == "Sent" then return true end
if b.folder == "Sent" then return false end
local a_count = select(2, string.gsub(a.query, "tag:", ""))
local b_count = select(2, string.gsub(b.query, "tag:", ""))
return a_count > b_count
end)
local final_rules = {}
for _, rule in ipairs(rules) do
if string.lower(rule.folder) ~= "drafts" then
table.insert(final_rules, rule)
end
end
return final_rules
end
-- Path to maildir
local maildir_path = os.getenv("HOME") .. "/Maildir"
--- Configuration for notmuch-mailmover.
--
--- @class config
--- @field maildir string Path to the maildir
--- @field notmuch_config string Path to the notmuch configuration
--- @field rename boolean Rename the files when moving
--- @field max_age_days number Maximum age (days) of the messages to be procssed
--- @field rule_match_mode config.match_mode Match mode for rules
--- @field rules rule[] List of rules
---
--- @class rule
--- @field folder string Folder to move the messages to
--- @field query string Notmuch query to match the messages
local config = {
maildir = maildir_path,
notmuch_config = "/home/julien/.config/notmuch/default/config",
rename = true,
max_age_days = 356,
rule_match_mode = match_modes.UNIQUE,
rules = generate_rules(maildir_path),
}
return config

View file

@ -1,83 +0,0 @@
set from = "julien.malka@ens.fr"
# Nom complet de l'expéditeur
set realname = "Julien Malka"
# Génération du champs from
set use_from = yes
set edit_headers=yes
set reverse_name
set mark_old=no
set editor = "nvim -c 'set tw=72' -c 'set wrap'"
#set editor="vim +':set textwidth=0' +':set wrapmargin=0' +':set wrap'"
#set wrap="72"
set folder = ~/Maildir/ens
set mbox_type=Maildir
set virtual_spoolfile=yes
set header_cache=~/.cache/mutt
set sidebar_visible = yes
set record = "+Sent\ Messages"
#mailboxes =Inbox =DG =DG/Malles =DG/Externements =DG/Thurnages =DG/Situations =DG/Fermeture =Sent\ Messages
#named-mailboxes "Malles" =DG/Malles
#named-mailboxes "Externements" =DG/Externements
#named-mailboxes "Thurnages" =DG/Thurnages
#named-mailboxes "Situations" =DG/Situations
#named-mailboxes "Fermeture" =DG/Fermeture
#named-mailboxes "Sent" =Sent\ Messages
set nm_unread_tag = unread
set mail_check_stats=yes
set sidebar_short_path = yes
set timeout=10
set mail_check=10
virtual-mailboxes "Inbox" "notmuch://?query=tag:inbox and NOT tag:dg and NOT tag:cof and NOT tag:fanfare and NOT tag:kfet and NOT tag:chefs"
virtual-mailboxes "K-Fêt" "notmuch://?query=tag:kfet"
virtual-mailboxes "Chefs" "notmuch://?query=tag:chefs"
virtual-mailboxes "DG" "notmuch://?query=tag:dg and NOT tag:externement and NOT tag:fermeture and NOT tag:malle and NOT tag:situation and NOT tag:thurnage"
virtual-mailboxes "Externements" "notmuch://?query=tag:externement"
virtual-mailboxes "Fermeture" "notmuch://?query=tag:fermeture"
virtual-mailboxes "Malles" "notmuch://?query=tag:malle"
virtual-mailboxes "Situations" "notmuch://?query=tag:situation"
virtual-mailboxes "Thurnages" "notmuch://?query=tag:thurnage"
virtual-mailboxes "Fanfare" "notmuch://?query=tag:fanfare"
set sidebar_width=15
set sidebar_divider_char='|'
# color of folders with new mail
# ctrl-n, ctrl-p to select next, prev folder# ctrl-o to open selected folder
bind index \CP sidebar-prev
bind index \CN sidebar-next
bind index \CO sidebar-open
bind pager \CP sidebar-prev
bind pager \CN sidebar-next
bind pager \CO sidebar-open
bind pager <Backspace> previous-line
set nm_default_url = "notmuch:///home/julien/Maildir"
macro index \\ "<vfolder-from-query>"
set metoo=yes
set text_flowed
set collapse_unread = no
set collapse_all = yes
bind index - collapse-thread
set sort = threads
set sort_aux = reverse-last-date-received
folder-hook . 'source /home/julien/dotfiles/profile.default'
folder-hook "DG" 'source /home/julien/dotfiles/profile.dg'
folder-hook "K-Fêt" 'source /home/julien/dotfiles/profile.kfet'
folder-hook "Chefs" 'source /home/julien/dotfiles/profile.chefs'
set sidebar_format = '%D%* %?N?(%N)?%*'
color sidebar_unread yellow default
source ~/dotfiles/dracula.muttrc
set sendmail = "msmtp"

View file

@ -1,16 +1,12 @@
{ pkgs, lib, config, ... }: {
pkgs,
home,
lib,
config,
...
}:
let let
cfg = config.luj.programs.neovim; cfg = config.luj.programs.neovim;
dusk-vim = pkgs.vimUtils.buildVimPlugin {
name = "dusk-vim";
src = pkgs.fetchFromGitHub {
owner = "notusknot";
repo = "dusk-vim";
rev = "8eb71f092ebfa173a6568befbe522a56e8382756";
sha256 = "09l4hda5jnyigc2hhlirv1rc8hsnsc4zgcv4sa4br8fryi73nf4g";
};
};
in in
with lib; with lib;
{ {
@ -19,54 +15,166 @@ with lib;
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
home.packages = with pkgs; [
git
nodejs
ripgrep
gcc
];
programs.neovim = { programs.neovim = {
enable = true; enable = true;
package = pkgs.neovim-unwrapped; package = pkgs.neovim-unwrapped;
viAlias = true;
vimAlias = true;
vimdiffAlias = true;
coc = {
enable = true;
settings = {
coc.preferences.formatOnSaveFiletypes = [
"nix"
"rust"
"sql"
"python"
"haskell"
];
rust-analyzer.enable = true;
rust-analyzer.cargo.allFeatures = true;
rust-analyzer.checkOnSave.allTargets = true;
languageserver = {
python = {
command = "pyright";
filetypes = [
"py"
"python"
];
};
haskell = {
command = "haskell-language-server-wrapper";
args = [ "--lsp" ];
rootPatterns = [
"*.cabal"
"cabal.project"
"hie.yaml"
".stack.yaml"
];
filetypes = [
"haskell"
"lhaskell"
"hs"
"lhs"
];
settings = {
haskell = {
checkParents = "CheckOnSave";
checkProject = true;
maxCompletions = 40;
formattingProvider = "ormolu";
};
};
};
go = {
command = "gopls";
rootPatterns = [
"go.work"
"go.mod"
".vim/"
".git/"
".hg/"
];
filetypes = [ "go" ];
initializationOptions = {
usePlaceholders = true;
};
};
nix = {
command = "nixd";
filetypes = [ "nix" ];
settings.nixd.formatting.command = [ "nixfmt" ];
};
ccls = {
command = "ccls";
filetypes = [
"c"
"cpp"
"objc"
"objcpp"
];
rootPatterns = [
".ccls"
"compile_commands.json"
".vim/"
".git/"
".hg/"
];
initializationOptions = {
cache = {
directory = "/tmp/ccls";
};
};
};
};
};
};
withPython3 = true;
plugins = with pkgs.vimPlugins; [ plugins = with pkgs.vimPlugins; [
# File tree plenary-nvim
nvim-web-devicons
nvim-tree-lua
# LSP
nvim-lspconfig
# Languages
vim-nix
# Eyecandy #Telescope
nvim-treesitter
bufferline-nvim
galaxyline-nvim
nvim-colorizer-lua
pears-nvim
dusk-vim
# Lsp and completion
nvim-lspconfig
nvim-compe
# Telescope
telescope-nvim telescope-nvim
# Indent lines nvim-web-devicons
#indent-blankline-nvim
catppuccin-nvim
pkgs.unstable.vimPlugins.bufferline-nvim
nvim-colorizer-lua
pears-nvim
nvim-tree-lua
(nvim-treesitter.withPlugins (
ps: with ps; [
tree-sitter-nix
tree-sitter-python
]
))
vim-lastplace
vim-nix
vim-nixhash
vim-yaml
vim-toml
vim-airline
vim-devicons
zig-vim
vim-scriptease
semshi
coc-prettier
coc-pyright
coc-rust-analyzer
rust-vim
]; ];
extraPackages = with pkgs; [ extraPackages = with pkgs; [
gcc rust-analyzer
rnix-lsp pkgs.nixd
tree-sitter pyright
sumneko-lua-language-server ormolu
ccls
gopls
unstable.nixfmt-rfc-style
]; ];
extraConfig = '' extraConfig = ''
luafile ${./lua}/lsp.lua luafile ${./settings.lua}
luafile ${./lua}/nvim-tree.lua
luafile ${./lua}/galaxyline.lua
luafile ${./lua}/settings.lua
''; '';
}; };
}; };
} }

View file

@ -1,204 +0,0 @@
-- This file configures galaxyline, a fast and small statusline for nvim.
-- The configuration was taken from github.com/siduck76/neovim-dotfiles/
-- All I did was change the colors. Full credit goes to siduck76
local gl = require("galaxyline")
local gls = gl.section
gl.short_line_list = {" "} -- keeping this table { } as empty will show inactive statuslines
local colors = {
bg = "#2e303e",
line_bg = "#2e303e",
fg = "#e3e6ee",
green = "#29d398",
orange = "#efb993",
red = "#e95678",
lightbg = "#2e303e",
lightbasdfg = "#393b4d",
nord = "#9699b7",
greenYel = "#efb993"
}
gls.left[1] = {
leftRounded = {
provider = function()
return " "
end,
highlight = {colors.nord, colors.bg}
}
}
gls.left[2] = {
statusIcon = {
provider = function()
return ""
end,
highlight = {colors.fg, colors.bg},
separator = " ",
separator_highlight = {colors.lightbg, colors.lightbg}
}
}
gls.left[3] = {
FileIcon = {
provider = "FileIcon",
condition = buffer_not_empty,
highlight = {require("galaxyline.provider_fileinfo").get_file_icon_color, colors.lightbg}
}
}
gls.left[4] = {
FileName = {
provider = {"FileName", "FileSize"},
condition = buffer_not_empty,
highlight = {colors.fg, colors.lightbg}
}
}
gls.left[5] = {
teech = {
provider = function()
return " "
end,
separator = " ",
highlight = {colors.lightbg, colors.bg}
}
}
local checkwidth = function()
local squeeze_width = vim.fn.winwidth(0) / 2
if squeeze_width > 40 then
return true
end
return false
end
gls.left[6] = {
DiffAdd = {
provider = "DiffAdd",
condition = checkwidth,
icon = "",
highlight = {colors.greenYel, colors.line_bg}
}
}
gls.left[7] = {
DiffModified = {
provider = "DiffModified",
condition = checkwidth,
icon = "",
highlight = {colors.orange, colors.line_bg}
}
}
gls.left[8] = {
DiffRemove = {
provider = "DiffRemove",
condition = checkwidth,
icon = "",
highlight = {colors.lightbg, colors.line_bg}
}
}
gls.left[9] = {
LeftEnd = {
provider = function()
return " "
end,
separator = " ",
separator_highlight = {colors.line_bg, colors.line_bg},
highlight = {colors.line_bg, colors.line_bg}
}
}
gls.left[10] = {
DiagnosticError = {
provider = "DiagnosticError",
icon = "",
highlight = {colors.red, colors.bg}
}
}
gls.left[11] = {
Space = {
provider = function()
return " "
end,
highlight = {colors.line_bg, colors.line_bg}
}
}
gls.left[12] = {
DiagnosticWarn = {
provider = "DiagnosticWarn",
icon = "",
highlight = {colors.red, colors.bg}
}
}
gls.right[1] = {
GitIcon = {
provider = function()
return ""
end,
condition = require("galaxyline.provider_vcs").check_git_workspace,
highlight = {colors.green, colors.line_bg}
}
}
gls.right[2] = {
GitBranch = {
provider = "GitBranch",
condition = require("galaxyline.provider_vcs").check_git_workspace,
highlight = {colors.green, colors.line_bg}
}
}
gls.right[3] = {
right_LeftRounded = {
provider = function()
return " "
end,
separator = " ",
separator_highlight = {colors.bg, colors.bg},
highlight = {colors.lightbg, colors.bg}
}
}
gls.right[4] = {
ViMode = {
provider = function()
local alias = {
n = "NORMAL",
i = "INSERT",
c = "COMMAND",
V = "VISUAL",
[""] = "VISUAL",
v = "VISUAL",
R = "REPLACE"
}
return alias[vim.fn.mode()]
end,
highlight = {colors.fg, colors.lightbg}
}
}
gls.right[5] = {
PerCent = {
provider = "LinePercent",
separator = " ",
separator_highlight = {colors.lightbg, colors.lightbg},
highlight = {colors.fg, colors.lightbg}
}
}
gls.right[6] = {
rightRounded = {
provider = function()
return " "
end,
highlight = {colors.lightbg, colors.bg}
}
}

View file

@ -1,76 +0,0 @@
-- This file sets up autocompletion for neovim's native lsp
-- This enables all the language servers I want on my system
-- Change these to whatever languages you use
require'lspconfig'.rnix.setup{}
require'lspconfig'.sumneko_lua.setup{}
vim.o.completeopt = "menuone,noselect"
-- Autocompletion setup
require'compe'.setup {
enabled = true;
autocomplete = true;
debug = false;
min_length = 1;
preselect = 'enable';
throttle_time = 80;
source_timeout = 200;
incomplete_delay = 400;
max_abbr_width = 100;
max_kind_width = 100;
max_menu_width = 100;
documentation = false;
source = {
path = true;
buffer = true;
nvim_lsp = true;
treesitter = true;
};
}
-- Set tab to accept the autocompletion
local t = function(str)
return vim.api.nvim_replace_termcodes(str, true, true, true)
end
_G.tab_complete = function()
if vim.fn.pumvisible() == 1 then
return t "<C-n>"
else
return t "<S-Tab>"
end
end
vim.api.nvim_set_keymap("i", "<Tab>", "v:lua.tab_complete()", {expr = true})
vim.api.nvim_set_keymap("s", "<Tab>", "v:lua.tab_complete()", {expr = true})
-- set the path to the sumneko installation; if you previously installed via the now deprecated :LspInstall, use
local sumneko_root_path = vim.fn.stdpath('cache')..'/lspconfig/sumneko_lua/lua-language-server'
local sumneko_binary = "lua-language-server"
local runtime_path = vim.split(package.path, ';')
table.insert(runtime_path, "lua/?.lua")
table.insert(runtime_path, "lua/?/init.lua")
require'lspconfig'.sumneko_lua.setup {
cmd = {sumneko_binary, "-E", sumneko_root_path .. "/main.lua"};
settings = {
Lua = {
runtime = {
version = 'LuaJIT',
path = runtime_path,
},
diagnostics = {
globals = {'vim'},
},
workspace = {
library = vim.api.nvim_get_runtime_file("", true),
preloadFileSize = 120
},
telemetry = {
enable = false,
},
},
},
}

View file

@ -1,60 +0,0 @@
-- following options are the default
-- each of these are documented in `:help nvim-tree.OPTION_NAME`
require'nvim-tree'.setup {
disable_netrw = true,
hijack_netrw = true,
open_on_setup = false,
ignore_ft_on_setup = {},
auto_close = false,
open_on_tab = false,
hijack_cursor = false,
update_cwd = false,
update_to_buf_dir = {
enable = true,
auto_open = true,
},
diagnostics = {
enable = false,
icons = {
hint = "",
info = "",
warning = "",
error = "",
}
},
update_focused_file = {
enable = false,
update_cwd = false,
ignore_list = {}
},
system_open = {
cmd = nil,
args = {}
},
filters = {
dotfiles = false,
custom = {}
},
git = {
enable = true,
ignore = true,
timeout = 500,
},
view = {
width = 30,
height = 30,
hide_root_folder = false,
side = 'left',
auto_resize = false,
mappings = {
custom_only = false,
list = {}
},
number = false,
relativenumber = false
},
trash = {
cmd = "trash",
require_confirm = true
}
}

View file

@ -1,96 +0,0 @@
-- Lazy load everything!
--
--
--dofile("lsp.lua")
--dofile("galaxyline.lua")
--dofile("nvim-tree.lua")
local opt = vim.opt
local g = vim.g
vim.cmd [[
set nowrap
set nobackup
set nowritebackup
set noerrorbells
set noswapfile
colorscheme dusk
function! Preserve(command)
let w = winsaveview()
execute a:command
call winrestview(w)
endfunction
autocmd FileType nix map <nowait> <leader>u :call Preserve("%!update-nix-fetchgit --location=" . line(".") . ":" . col("."))<CR>
autocmd BufWinEnter NvimTree setlocal nonumber
map ; :
highlight IndentBlanklineChar guifg = #393b4d
]]
-- Enable plugins
require('bufferline').setup{}
require('pears').setup()
require('colorizer').setup()
-- Treesitter settings
require'nvim-treesitter.configs'.setup {
ensure_installed = "all", -- one of "all", "maintained" (parsers with maintainers), or a list of languages
highlight = {
enable = true
},
}
local map = vim.api.nvim_set_keymap
options = { noremap = true }
map('n', '<C-p>', ':NvimTreeToggle <CR>', options)
map('n', '<C-f>', ':Telescope find_files <CR>', options)
map('n', '<C-n>', ':Telescope live_grep <CR>', options)
map('n', '<C-l>', ':noh <CR>', options)
map('n', '<C-s>', ':!xclip -sel c -o | pygmentize -f html | xclip -sel c <CR> <CR>', options)
vim.api.nvim_set_keymap('n', '0', "getline('.')[0 : col('.') - 2] =~# '^\\s\\+$' ? '0' : '^'", {silent = true, noremap = true, expr = true})
g.mapleader = ' '
-- Indent line
g.indent_blankline_char = ''
-- Performance
opt.lazyredraw = true;
opt.shell = "zsh"
opt.shadafile = "NONE"
-- Colors
opt.termguicolors = true
-- Undo files
opt.undofile = true
-- Indentation
opt.smartindent = true
opt.tabstop = 4
opt.shiftwidth = 4
opt.shiftround = true
opt.expandtab = true
opt.scrolloff = 3
-- Set clipboard to use system clipboard
opt.clipboard = "unnamedplus"
-- Use mouse
opt.mouse = "a"
-- Nicer UI settings
opt.cursorline = true
opt.relativenumber = true
opt.number = true
-- Get rid of annoying viminfo file
opt.viminfo = ""
opt.viminfofile = "NONE"
-- Miscellaneous quality of life
opt.ignorecase = true
opt.ttimeoutlen = 5
opt.compatible = false
opt.hidden = true
opt.shortmess = "atI"

View file

@ -0,0 +1,273 @@
local opt = vim.opt
local g = vim.g
local keyset = vim.keymap.set
opt.backup = false
opt.writebackup = false
opt.updatetime = 300
opt.signcolumn = "yes"
vim.cmd [[
syntax on
set scrolloff=4
set nocompatible
set encoding=utf-8
set fileencoding=utf-8
set smartindent
set autoindent
set number
set relativenumber
colorscheme catppuccin
]]
require("catppuccin").setup({
flavour = "mocha", -- latte, frappe, macchiato, mocha
background = { -- :h background
light = "latte",
dark = "mocha",
},
transparent_background = false,
show_end_of_buffer = false, -- show the '~' characters after the end of buffers
term_colors = false,
dim_inactive = {
enabled = false,
shade = "dark",
percentage = 0.15,
},
no_italic = false, -- Force no italic
no_bold = false, -- Force no bold
styles = {
comments = { "italic" },
conditionals = { "italic" },
loops = {},
functions = {},
keywords = {},
strings = {},
variables = {},
numbers = {},
booleans = {},
properties = {},
types = {},
operators = {},
},
color_overrides = {},
custom_highlights = {},
integrations = {
cmp = true,
gitsigns = true,
nvimtree = true,
telescope = true,
notify = false,
mini = false,
-- For more plugins integrations please scroll down (https://github.com/catppuccin/nvim#integrations)
},
})
require("nvim-tree").setup()
local builtin = require('telescope.builtin')
vim.keymap.set('n', 'ff', builtin.find_files, {})
vim.keymap.set('n', 'fg', builtin.live_grep, {})
vim.keymap.set('n', 'fb', builtin.buffers, {})
vim.keymap.set('n', 'fh', builtin.help_tags, {})
require'nvim-web-devicons'.setup()
vim.opt.termguicolors = true
require("bufferline").setup{}
require('colorizer').setup()
-- Treesitter settings
require'nvim-treesitter.configs'.setup {
ensure_installed = "", -- one of "all", "maintained" (parsers with maintainers), or a list of languages
highlight = {
enable = true
},
}
-- Some servers have issues with backup files, see #649.
vim.opt.backup = false
vim.opt.writebackup = false
-- Having longer updatetime (default is 4000 ms = 4 s) leads to noticeable
-- delays and poor user experience.
vim.opt.updatetime = 300
-- Always show the signcolumn, otherwise it would shift the text each time
-- diagnostics appear/become resolved.
vim.opt.signcolumn = "yes"
local keyset = vim.keymap.set
-- Auto complete
function _G.check_back_space()
local col = vim.fn.col('.') - 1
return col == 0 or vim.fn.getline('.'):sub(col, col):match('%s') ~= nil
end
-- Use tab for trigger completion with characters ahead and navigate.
-- NOTE: There's always complete item selected by default, you may want to enable
-- no select by `"suggest.noselect": true` in your configuration file.
-- NOTE: Use command ':verbose imap <tab>' to make sure tab is not mapped by
-- other plugin before putting this into your config.
local opts = {silent = true, noremap = true, expr = true, replace_keycodes = false}
keyset("i", "<TAB>", 'coc#pum#visible() ? coc#pum#next(1) : v:lua.check_back_space() ? "<TAB>" : coc#refresh()', opts)
keyset("i", "<S-TAB>", [[coc#pum#visible() ? coc#pum#prev(1) : "\<C-h>"]], opts)
-- Make <CR> to accept selected completion item or notify coc.nvim to format
-- <C-g>u breaks current undo, please make your own choice.
keyset("i", "<cr>", [[coc#pum#visible() ? coc#pum#confirm() : "\<C-g>u\<CR>\<c-r>=coc#on_enter()\<CR>"]], opts)
-- Use <c-j> to trigger snippets
keyset("i", "<c-j>", "<Plug>(coc-snippets-expand-jump)")
-- Use <c-space> to trigger completion.
keyset("i", "<c-space>", "coc#refresh()", {silent = true, expr = true})
-- Use `[g` and `]g` to navigate diagnostics
-- Use `:CocDiagnostics` to get all diagnostics of current buffer in location list.
keyset("n", "[g", "<Plug>(coc-diagnostic-prev)", {silent = true})
keyset("n", "]g", "<Plug>(coc-diagnostic-next)", {silent = true})
-- GoTo code navigation.
keyset("n", "gd", "<Plug>(coc-definition)", {silent = true})
keyset("n", "gy", "<Plug>(coc-type-definition)", {silent = true})
keyset("n", "gi", "<Plug>(coc-implementation)", {silent = true})
keyset("n", "gr", "<Plug>(coc-references)", {silent = true})
-- Use K to show documentation in preview window.
function _G.show_docs()
local cw = vim.fn.expand('<cword>')
if vim.fn.index({'vim', 'help'}, vim.bo.filetype) >= 0 then
vim.api.nvim_command('h ' .. cw)
elseif vim.api.nvim_eval('coc#rpc#ready()') then
vim.fn.CocActionAsync('doHover')
else
vim.api.nvim_command('!' .. vim.o.keywordprg .. ' ' .. cw)
end
end
keyset("n", "K", '<CMD>lua _G.show_docs()<CR>', {silent = true})
-- Highlight the symbol and its references when holding the cursor.
vim.api.nvim_create_augroup("CocGroup", {})
vim.api.nvim_create_autocmd("CursorHold", {
group = "CocGroup",
command = "silent call CocActionAsync('highlight')",
desc = "Highlight symbol under cursor on CursorHold"
})
-- Symbol renaming.
keyset("n", "<leader>rn", "<Plug>(coc-rename)", {silent = true})
-- Formatting selected code.
keyset("x", "<leader>f", "<Plug>(coc-format-selected)", {silent = true})
keyset("n", "<leader>f", "<Plug>(coc-format-selected)", {silent = true})
-- Setup formatexpr specified filetype(s).
vim.api.nvim_create_autocmd("FileType", {
group = "CocGroup",
pattern = "typescript,json",
command = "setl formatexpr=CocAction('formatSelected')",
desc = "Setup formatexpr specified filetype(s)."
})
-- Update signature help on jump placeholder.
vim.api.nvim_create_autocmd("User", {
group = "CocGroup",
pattern = "CocJumpPlaceholder",
command = "call CocActionAsync('showSignatureHelp')",
desc = "Update signature help on jump placeholder"
})
-- Applying codeAction to the selected region.
-- Example: `<leader>aap` for current paragraph
local opts = {silent = true, nowait = true}
keyset("x", "<leader>a", "<Plug>(coc-codeaction-selected)", opts)
keyset("n", "<leader>a", "<Plug>(coc-codeaction-selected)", opts)
-- Remap keys for applying codeAction to the current buffer.
keyset("n", "<leader>ac", "<Plug>(coc-codeaction)", opts)
-- Apply AutoFix to problem on the current line.
keyset("n", "<leader>qf", "<Plug>(coc-fix-current)", opts)
-- Run the Code Lens action on the current line.
keyset("n", "<leader>cl", "<Plug>(coc-codelens-action)", opts)
-- Map function and class text objects
-- NOTE: Requires 'textDocument.documentSymbol' support from the language server.
keyset("x", "if", "<Plug>(coc-funcobj-i)", opts)
keyset("o", "if", "<Plug>(coc-funcobj-i)", opts)
keyset("x", "af", "<Plug>(coc-funcobj-a)", opts)
keyset("o", "af", "<Plug>(coc-funcobj-a)", opts)
keyset("x", "ic", "<Plug>(coc-classobj-i)", opts)
keyset("o", "ic", "<Plug>(coc-classobj-i)", opts)
keyset("x", "ac", "<Plug>(coc-classobj-a)", opts)
keyset("o", "ac", "<Plug>(coc-classobj-a)", opts)
-- Remap <C-f> and <C-b> for scroll float windows/popups.
---@diagnostic disable-next-line: redefined-local
local opts = {silent = true, nowait = true, expr = true}
keyset("n", "<C-f>", 'coc#float#has_scroll() ? coc#float#scroll(1) : "<C-f>"', opts)
keyset("n", "<C-b>", 'coc#float#has_scroll() ? coc#float#scroll(0) : "<C-b>"', opts)
keyset("i", "<C-f>",
'coc#float#has_scroll() ? "<c-r>=coc#float#scroll(1)<cr>" : "<Right>"', opts)
keyset("i", "<C-b>",
'coc#float#has_scroll() ? "<c-r>=coc#float#scroll(0)<cr>" : "<Left>"', opts)
keyset("v", "<C-f>", 'coc#float#has_scroll() ? coc#float#scroll(1) : "<C-f>"', opts)
keyset("v", "<C-b>", 'coc#float#has_scroll() ? coc#float#scroll(0) : "<C-b>"', opts)
-- Use CTRL-S for selections ranges.
-- Requires 'textDocument/selectionRange' support of language server.
keyset("n", "<C-s>", "<Plug>(coc-range-select)", {silent = true})
keyset("x", "<C-s>", "<Plug>(coc-range-select)", {silent = true})
-- Add `:Format` command to format current buffer.
vim.api.nvim_create_user_command("Format", "call CocAction('format')", {})
-- " Add `:Fold` command to fold current buffer.
vim.api.nvim_create_user_command("Fold", "call CocAction('fold', <f-args>)", {nargs = '?'})
-- Add `:OR` command for organize imports of the current buffer.
vim.api.nvim_create_user_command("OR", "call CocActionAsync('runCommand', 'editor.action.organizeImport')", {})
-- Add (Neo)Vim's native statusline support.
-- NOTE: Please see `:h coc-status` for integrations with external plugins that
-- provide custom statusline: lightline.vim, vim-airline.
vim.opt.statusline:prepend("%{coc#status()}%{get(b:,'coc_current_function','')}")
-- Mappings for CoCList
-- code actions and coc stuff
---@diagnostic disable-next-line: redefined-local
local opts = {silent = true, nowait = true}
-- Show all diagnostics.
keyset("n", "<space>a", ":<C-u>CocList diagnostics<cr>", opts)
-- Manage extensions.
keyset("n", "<space>e", ":<C-u>CocList extensions<cr>", opts)
-- Show commands.
keyset("n", "<space>c", ":<C-u>CocList commands<cr>", opts)
-- Find symbol of current document.
keyset("n", "<space>o", ":<C-u>CocList outline<cr>", opts)
-- Search workspace symbols.
keyset("n", "<space>s", ":<C-u>CocList -I symbols<cr>", opts)
-- Do default action for next item.
keyset("n", "<space>j", ":<C-u>CocNext<cr>", opts)
-- Do default action for previous item.
keyset("n", "<space>k", ":<C-u>CocPrev<cr>", opts)
-- Resume latest coc list.
keyset("n", "<space>p", ":<C-u>CocListResume<cr>", opts)

View file

@ -0,0 +1,23 @@
{ config, pkgs, lib, ... }:
let
cfg = config.luj.programs.pass;
in
with lib;
{
options.luj.programs.pass = {
enable = mkEnableOption "Enable pass";
};
config = mkIf cfg.enable {
programs.rbw = {
enable = true;
settings = {
base_url = "https://vaults.malka.family";
email = "julien@malka.sh";
pinentry = pkgs.unstable.pinentry-tty;
lock_timeout = 600;
};
};
};
}

View file

@ -1,434 +0,0 @@
;-------------------------------------------------
; ;
; Polybar config for Cranium ;
; ;
;-------------------------------------------------
[colors]
;background = ${xrdb:color0:#222}
;background = #212E36
background = #cf172a47
;it's ARGB so "cfl" is for transparency
;background-alt = #cf3C5A46
background-unf = #2D4058
;background-unf = #cf2E463E
background-alt = #405C7D
background-mod0 = #cf3C5A46
background-mod1 = #cf546E53
background-mod2 = #cf708963
background-alrt = #cfA1BB76
;foreground = ${xrdb:color7:#222}
foreground = #F3F3BA
foreground-alt = #F3F3BA
primary = #F3F3BA
secondary = #F3F3BA
[bar/PolybarTony]
;monitor = ${env:MONITOR:HDMI-1}
;monitor = ${env:MONITOR:}
width = 100%
height = 30
offset-x = 0%
;offset-y = 10%
radius = 0.0
fixed-center = true
background = ${colors.background}
foreground = ${colors.foreground}
line-size = 0
line-color = #f00
border-size = 0
border-color = #00000000
padding-left = 0
padding-right = 0
module-margin-left = 0
module-margin-right = 0
font-0 = Misc Termsyn:size=8;1
;font-0 = Ubuntu:size=10;1
font-1 = FontAwesome:fontformat=truetype:size=12;1
font-3 = Font Awesome 5 Free:style=Regular:pixelsize=8;1
font-4 = Font Awesome 5 Free:style=Solid:pixelsize=8;1
font-5 = Font Awesome 5 Brands:pixelsize=8;1
font-2 = sm4tik:pixelsize=10;1
modules-left = i3
modules-center = date
modules-right = wireless-network memory cpu battery powermenu
tray-position = right
tray-padding = 11
tray-transparent = false
tray-offset-y = 0
tray-offset-x = 0
tray-maxsize = 18
tray-detached = false
tray-background = colors.background
;wm-restack = bspwm
wm-restack = i3
override-redirect = false
;scroll-up = bspwm-desknext
;scroll-down = bspwm-deskprev
;scroll-up = i3wm-wsnext
;scroll-down = i3wm-wsprev
[module/weather]
type = custom/script
interval = 60
;format-background = ${colors.background-alt}
format = <label>
format-prefix = "  "
format-suffix = " "
format-prefix-foreground = ${colors.foreground-alt}
exec = python ~/.config/polybar/weather.py
[module/music]
type = custom/script
interval = 1
bar-width = 50%
;format-background = ${colors.background-alt}
;format-foreground = ${colors.foreground-alt}
label = " %output% "
exec = ~/.config/polybar/mpris.sh
[module/i3]
pin-workspaces = true
type = internal/i3
;
;strip-wsnumbers = true
;
;label-focused-padding = 3
;label-unfocused-padding = 3
;
;label-focused-background = ${colors.background-alt}
label-unfocused-background = ${colors.background-unf}
;
;label-mode-padding = 0
;label-mode-background = ${colors.background-unf}
;
;label-visible-underline = #555555
;label-visible-padding = 4
; Available tokens:
; %mode%
; Default: %mode%
label-mode = %mode%
label-mode-padding = 2
label-mode-background = #e60053
; Available tokens:
; %name%
; %icon%
; %index%
; %output%
; Default: %icon% %name%
label-focused = %name%
label-focused-foreground = #ffffff
label-focused-background = ${colors.background-alt}
label-focused-underline = #fba922
label-focused-padding = 4
; Available tokens:
; %name%
; %icon%
; %index%
; Default: %icon% %name%
label-unfocused = %name%
label-unfocused-padding = 4
; Available tokens:
; %name%
; %icon%
; %index%
; Default: %icon% %name%
label-visible = %name%
label-visible-underline = #555555
label-visible-padding = 4
; Available tokens:
; %name%
; %icon%
; %index%
; Default: %icon% %name%
label-urgent = %name%
label-urgent-foreground = #000000
label-urgent-background = ${colors.background-alrt}
label-urgent-padding = 4
[module/wireless-network]
type = internal/network
interface = wlp3s0
interval = 3.0
format-connected-prefix = " "
format-connected-background = ${colors.background-alt}
format-connected = " <ramp-signal> <label-connected> "
format-connected-underline = #9f78e1
label-connected =
format-disconnected = " no wifi :( "
format-disconnected-background = ${colors.background-alt}
;format-disconnected-underline = ${self.format-connected-underline}
;label-disconnected = %ifname% disconnected
label-disconnected-foreground = ${colors.foreground-alt}
ramp-signal-0 = "  0%"
ramp-signal-1 = "  25%"
ramp-signal-2 = "  50%"
ramp-signal-3 = "  75%"
ramp-signal-4 = "  100%"
ramp-signal-foreground = ${colors.foreground-alt}
[module/wired-network]
type = internal/network
interface = enp0s25
interval = 3.0
format-connected-underline = #55aa55
format-connected-prefix = ""
format-connected-prefix-foreground = ${colors.foreground-alt}
label-connected = %local_ip%
format-disconnected =
;format-disconnected = <label-disconnected>
;format-disconnected-underline = ${self.format-connected-underline}
;label-disconnected = %ifname% disconnected
;label-disconnected-foreground = ${colors.foreground-alt}
[module/date]
type = internal/date
interval = 5
date =
date-alt = " %d/%m"
time = "  %a %b %d  %I:%M %p "
time-alt = %H:%M:%S
format-prefix-foreground = ${colors.foreground-alt}
format-underline = #0a6cf5
label = %date% %time%
;lable = %time%
[module/volume]
type = internal/pulseaudio
;type = internal/alsa
sink = alsa_output.pci-0000_00_1f.3.analog-stereo
; Soundcard to be used
; Usually in the format hw:#
master-soundcard = hw:1
speaker-soundcard = hw:1
headphone-soundcard = hw:1
; Name of the master mixer
; Default: Master
master-mixer = Master
; Optionally define speaker and headphone mixers
; Use the following command to list available mixer controls:
; $ amixer scontrols | sed -nr "s/.*'([[:alnum:]]+)'.*/\1/p"
; Default: none
speaker-mixer = Speaker
; Default: none
headphone-mixer = Headphone
; NOTE: This is required if headphone_mixer is defined
; Use the following command to list available device controls
; $ amixer controls | sed -r "/CARD/\!d; s/.*=([0-9]+).*name='([^']+)'.*/printf '%3.0f: %s\n' '\1' '\2'/e" | sort
; Default: none
headphone-id = 9
; Use volume mapping (similar to amixer -M and alsamixer), where the increase in volume is linear to the ear
; Default: false
mapped = true
format-muted-background = ${colors.background-unf}
format-volume-background = ${colors.background-alt}
format-volume = " <ramp-volume> <label-volume> "
format-volume-prefix = " "
label-muted = " mute "
;label-muted = "   "
; Only applies if <ramp-volume> is used
ramp-volume-0 = 
ramp-volume-1 = 
[module/battery]
type = internal/battery
battery = BAT0
adapter = AC
full-at = 97
format-full-background = ${colors.background-mod2}
format-charging-background = ${colors.background-alt}
format-charging = " <animation-charging> <label-charging>"
format-charging-underline = #ffb52a
format-charging-suffix = " "
format-discharging-background = ${colors.background-alt}
format-discharging = " <ramp-capacity> <label-discharging> "
format-discharging-underline = ${self.format-charging-underline}
format-full =
format-full-prefix-foreground = ${colors.foreground-alt}
format-full-underline = ${self.format-charging-underline}
ramp-capacity-0 = 
ramp-capacity-1 = 
ramp-capacity-2 = 
ramp-capacity-3 = 
ramp-capacity-4 = 
ramp-capacity-foreground = ${colors.foreground-alt}
animation-charging-0 = 
animation-charging-1 = 
animation-charging-2 = 
animation-charging-3 = 
animation-charging-4 = 
animation-charging-foreground = ${colors.foreground-alt}
animation-charging-framerate = 750
[module/powermenu]
type = custom/menu
format-spacing = 1
label-open = "  "
label-open-background = ${colors.background-unf}
label-open-foreground = ${colors.secondary}
label-close = "  cancel "
label-close-background = ${colors.background-unf}
label-close-foreground = ${colors.secondary}
label-separator = " "
label-separator-foreground = ${colors.foreground-alt}
menu-0-0 = reboot
menu-0-0-exec = menu-open-1
menu-0-1 = "power off "
menu-0-1-exec = menu-open-2
menu-1-0 = cancel
menu-1-0-exec = menu-open-0
menu-1-1 = reboot
menu-1-1-exec = sudo reboot
menu-2-0 = power off
menu-2-0-exec = shutdown now
menu-2-1 = cancel
menu-2-1-exec = menu-open-0
[settings]
screenchange-reload = true
;compositing-background = xor
;compositing-background = screen
;compositing-foreground = source
;compositing-border = over
[global/wm]
margin-top = 5
margin-bottom = 5
;
; [module/xkeyboard]
; type = internal/xkeyboard
; blacklist-0 = num lock
;
; format-prefix = " "
; format-prefix-foreground = ${colors.foreground-alt}
; format-prefix-underline = ${colors.secondary}
;
; label-layout = %layout%
; label-layout-underline = ${colors.secondary}
;
; label-indicator-padding = 2
; label-indicator-margin = 1
; label-indicator-background = ${colors.secondary}
; label-indicator-underline = ${colors.secondary}
;
; [module/filesystem]
; type = internal/fs
; interval = 25
;
; mount-0 = /
;
; label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %percentage_used%%
; label-unmounted = %mountpoint% not mounted
; label-unmounted-foreground = ${colors.foreground-alt}
;
;
;[module/xbacklight]
;type = internal/xbacklight
;
;format = <label> <bar>
;label = BL
;
;bar-width = 10
;bar-indicator = |
;bar-indicator-foreground = #ff
;bar-indicator-font = 2
;bar-fill = -
;bar-fill-font = 2
;bar-fill-foreground = #9f78e1
;bar-empty = -
;bar-empty-font = 2
;bar-empty-foreground = ${colors.foreground-alt}
;bar-empty-background = ${colors.foreground-mod}
;
;[module/backlight-acpi]
;inherit = module/xbacklight
;type = internal/backlight
;card = intel_backlight
;
[module/cpu]
type = internal/cpu
interval = 2
format-prefix = "  "
format-prefix-foreground = ${colors.foreground-alt}
format-prefix-background = ${colors.background-alt}
format-underline = #f90000
label = %percentage%%
format-background = ${colors.background-alt}
[module/memory]
type = internal/memory
interval = 2
format-prefix = " "
format-prefix-foreground = ${colors.foreground-alt}
format-underline = #4bffdc
label = %percentage_used%%
format-background = ${colors.background-alt}
; vim:ft=dosini

View file

@ -1,25 +0,0 @@
{ config, pkgs, lib, ... }:
let
cfg = config.luj.polybar;
in
with lib; {
options.luj.polybar = {
enable = mkEnableOption "Enable polybar";
};
config = mkIf cfg.enable {
services.polybar = {
enable = true;
package = pkgs.polybar.override {
i3GapsSupport = true;
};
script = "polybar -q PolybarTony &";
};
xdg.configFile."polybar/config".source = lib.mkForce ./config;
};
}

View file

@ -0,0 +1,60 @@
{ config, lib, ... }:
let
cfg = config.luj.programs.ssh-client;
in
with lib;
{
options.luj.programs.ssh-client = {
enable = mkEnableOption "Enable ssh client";
};
config = mkIf cfg.enable {
programs.ssh = {
enable = true;
matchBlocks =
lib.mapAttrs (_: v: {
hostname = if v.ips ? "vpn" then v.ips.vpn.ipv4 else v.ips.public.ipv4;
user = v.sshUser;
port = v.sshPort;
}) lib.snowfield
// {
sas = {
hostname = "sas.eleves.ens.fr";
user = "jmalka";
};
router = {
hostname = "vpn.saumon.network";
};
mails = {
hostname = "192.168.0.76";
proxyJump = "router";
};
proxy-telecom = {
hostname = "ssh.enst.fr";
user = "jmalka";
};
ferrari = {
hostname = "195.154.212.97";
};
lame24 = {
hostname = "lame24.enst.fr";
user = "jmalka";
proxyJump = "proxy-telecom";
};
epyc = {
hostname = "epyc.infra.newtype.fr";
user = "luj";
proxyJump = "tower";
};
exps = {
hostname = "192.168.0.240";
proxyJump = "router";
};
};
};
};
}

View file

@ -0,0 +1,131 @@
{ config, pkgs, lib, ... }:
let
cfg = config.luj.programs.sway;
inherit (cfg) modifier;
terminal = "kitty";
in
with lib;
{
options.luj.programs.sway = {
enable = mkEnableOption "Enable SwayWM";
modifier = mkOption {
type = lib.types.str;
default = "Mod1";
};
background = mkOption {
type = types.path;
};
};
config = mkIf cfg.enable {
wayland.windowManager.sway = {
enable = true;
package = pkgs.swayfx;
config = {
inherit terminal;
output."*" = {
bg = builtins.toString cfg.background + " fill";
};
inherit (cfg) modifier;
input = {
"*" = {
xkb_layout = "fr";
};
};
gaps = {
right = 2;
left = 2;
top = 0;
bottom = 0;
inner = 1;
};
bars = [ ];
keybindings = lib.mkOptionDefault {
"${modifier}+ampersand" = "workspace 1";
"${modifier}+eacute" = "workspace 2";
"${modifier}+quotedbl" = "workspace 3";
"${modifier}+apostrophe" = "workspace 4";
"${modifier}+parenleft" = "workspace 5";
"${modifier}+egrave" = "workspace 6";
"${modifier}+minus" = "workspace 7";
"${modifier}+underscore" = "workspace 8";
"${modifier}+ccedilla" = "workspace 9";
"${modifier}+agrave" = "workspace 10";
"${modifier}+Shift+ampersand" = "move container to workspace 1";
"${modifier}+Shift+eacute" = "move container to workspace 2";
"${modifier}+Shift+quotedbl" = "move container to workspace 3";
"${modifier}+Shift+apostrophe" = "move container to workspace 4";
"${modifier}+Shift+parenleft" = "move container to workspace 5";
"${modifier}+Shift+egrave" = "move container to workspace 6";
"${modifier}+Shift+minus" = "move container to workspace 7";
"${modifier}+Shift+underscore" = "move container to workspace 8";
"${modifier}+Shift+ccedilla" = "move container to workspace 9";
"${modifier}+Shift+agrave" = "move container to workspace 10";
"${modifier}+h" = "focus left";
"${modifier}+j" = "focus down";
"${modifier}+k" = "focus up";
"${modifier}+l" = "focus right";
"${modifier}+Shift+h" = "move left";
"${modifier}+Shift+j" = "move down";
"${modifier}+Shift+k" = "move up";
"${modifier}+Shift+l" = "move right";
"${modifier}+q" = "kill";
"${modifier}+space" = "exec rofi -show run";
"${modifier}+Return" = "exec ${terminal}";
"${modifier}+f" = "fullscreen toggle";
"XF86MonBrightnessUp" = "exec brightnessctl s +10";
"XF86MonBrightnessDown" = "exec brightnessctl s 10-";
"${modifier}+w" = "exec swaylock";
};
};
extraConfig = ''
set $laptop eDP-1
corner_radius 8
default_dim_inactive 0.2
default_border none
default_floating_border none
bindswitch lid:on output $laptop disable
bindswitch lid:off output $laptop enable
'';
extraOptions = [ "--unsupported-gpu" ];
};
programs.swaylock =
{
enable = true;
package = pkgs.swaylock-effects;
settings = {
screenshots = true;
clock = true;
indicator = true;
indicator-radius = 200;
indicator-thickness = 20;
grace = 0;
grace-no-mouse = true;
grace-no-touch = true;
line-uses-ring = false;
ignore-empty-password = true;
show-failed-attempts = false;
font = "Fira Code";
timestr = "%H:%M";
datestr = "";
effect-blur = "8x5";
effect-vignette = "0.5:0.5";
color = "00000000";
};
};
};
}

View file

@ -0,0 +1,199 @@
{
config,
pkgs,
lib,
...
}:
let
cfg = config.luj.programs.waybar;
in
with lib;
{
options.luj.programs.waybar = {
enable = mkEnableOption "Enable waybar";
interfaceName = mkOption { type = lib.types.str; };
};
config = mkIf cfg.enable {
programs.waybar = {
enable = true;
systemd.enable = true;
settings = {
mainBar = {
layer = "top";
modules-left = [
"custom/nixos"
"hyprland/workspaces"
];
modules-center = [ "clock" ];
modules-right = [
"custom/mails"
"network"
"battery"
];
"custom/nixos" = {
format = " ";
tooltip = false;
};
"hyprland/workspaces" = {
format = "{name}";
tooltip = false;
all-outputs = true;
};
"clock" = { };
"backlight" = {
device = "intel_backlight";
format = "<span color='#cba6f7'>{icon}</span> {percent}%";
format-icons = [
""
""
""
""
""
""
""
""
""
];
};
"pulseaudio" = {
format = "<span color='#cba6f7'>{icon}</span> {volume}%";
format-muted = "";
tooltip = false;
format-icons = {
headphone = "";
default = [
""
""
"󰕾"
"󰕾"
"󰕾"
""
""
""
];
};
scroll-step = 1;
};
"bluetooth" = {
format = "<span color='#cba6f7'></span> {status}";
format-disabled = "";
format-connected = "<span color='#cba6f7'></span> {num_connections}";
tooltip-format = "{device_enumerate}";
tooltip-format-enumerate-connected = "{device_alias} {device_address}";
};
"network" = {
interface = cfg.interfaceName;
format = "{ifname}";
format-wifi = "<span color='#cba6f7'> </span>{essid}";
format-ethernet = "{ipaddr}/{cidr} ";
format-disconnected = "<span color='#cba6f7'>󰖪 </span>No Network";
tooltip = false;
};
"battery" = {
format = "<span color='#cba6f7'>{icon}</span> {capacity}%";
format-icons = [
""
""
""
""
""
];
format-charging = "<span color='#cba6f7'></span> {capacity}%";
tooltip = false;
};
"custom/mails" = {
format = "<span color='#cba6f7'></span> {}";
exec = "${pkgs.notmuch}/bin/notmuch count 'tag:unread and (tag:dgnum-inbox or tag:ens-inbox or tag:work-inbox or tag:telecom-inbox or tag:dgnum-bureau)'";
interval = 10;
};
};
};
style = ''
* {
border: none;
font-family: 'Fira Code', 'Symbols Nerd Font Mono';
font-size: 8px;
font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"';
min-height: 2px;
}
window#waybar {
background: transparent;
}
#custom-nixos, #workspaces {
border-radius: 8px;
background-color: #11111b;
color: #7eb9e3;
margin-top: 4px;
margin-bottom: 3px;
margin-right: 15px;
padding-top: 1px;
padding-left: 4px;
padding-right: 4px;
}
#workspaces {
padding-left: 1px;
padding-right: 1px;
}
#custom-nixos {
font-size: 15px;
margin-left: 15px;
}
#workspaces button {
background: #11111b;
color: #cdd6f4;
min-width: 0;
}
#workspaces button.active {
color: #cba6f7;
}
#clock, #backlight, #pulseaudio, #bluetooth, #network, #battery, #custom-mails{
border-radius: 10px;
background-color: #11111b;
color: #cdd6f4;
margin-top: 4px;
margin-bottom: 3px;
padding-left: 10px;
padding-right: 10px;
margin-right: 15px;
}
#backlight, #bluetooth {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
padding-right: 5px;
margin-right: 0
}
#clock {
margin-right: 0;
}
@keyframes blink {
to {
background-color: #ffffff;
color: black;
}
}
#battery.warning:not(.charging) {
background: #f38ba8;
color: white;
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
'';
};
};
}

View file

@ -0,0 +1,183 @@
{ config, pkgs, lib, ... }:
let
cfg = config.luj.programs.zsh;
inherit (pkgs) fetchFromGitHub;
in
with lib;
{
options.luj.programs.zsh = {
enable = mkEnableOption "Enable Zsh";
};
config = mkIf cfg.enable {
programs.zsh = {
enable = true;
enableCompletion = true;
enableAutosuggestions = true;
history = { save = 1000000; extended = true; ignoreDups = true; };
initExtra = ''
setopt notify autopushd
unsetopt autocd beep
ZSH_AUTOSUGGEST_STRATEGY=(completion history)
'';
shellAliases = {
ka = "killall";
mkd = "mkdir -pv";
ca = "khal interactive";
sync_ca = "vsync sync";
dnd = "dunstctl set-paused true";
nodnd = "dunstctl set-paused false";
lg = "lazygit";
g = "git";
gua = "git remote | xargs -L1 git push --all";
v = "$EDITOR";
sdn = "shutdown now";
SU = "systemctl --user";
SS = "sudo systemctl";
weather = "curl wttr.in";
v6 = "curl api6.ipify.org";
v4 = "curl api.ipify.org";
clbin = "curl -F'clbin=<-' https://clbin.com";
_0x0 = "curl -F'file=@-' https://0x0.st";
phs = "python -m http.server";
ls = "eza";
rtmv = "rsync -avP";
archive = "rsync --remove-source-files -avPzz";
luks_integrity_check = "gocryptfs -fsck -extpass 'pass Private/LUKS' /boot/luks";
fetch-emails = "mbsync --all && notmuch new && afew -t -n -v";
nsp = "nix-shell -p";
ns = "nix-shell";
ncg = "sudo nix-collect-garbage --delete-older-than 30d";
ncga = "sudo nix-collect-garbage -d";
nso = "sudo nix-store --optimise";
lln = "NIX_PATH=\"nixpkgs=$LOCAL_NIXPKGS_CHECKOUT\"";
# Local build
lnb = "NIX_PATH=\"nixpkgs=$LOCAL_NIXPKGS_CHECKOUT\" nom-build '<nixpkgs>' --no-out-link -A $1";
# Local shell
lns = "NIX_PATH=\"nixpkgs=$LOCAL_NIXPKGS_CHECKOUT\" nix-shell -p $1";
# Local test
ltt = ''NIX_PATH=\"nixpkgs=$LOCAL_NIXPKGS_CHECKOUT\" nom-build --no-out-link "$LOCAL_NIXPKGS_CHECKOUT/nixos/tests/$1"'';
};
dirHashes = {
config = "/home/julien/dev/nix-config";
};
plugins = [
{
name = "history-search-multi-word";
src = fetchFromGitHub {
repo = "history-search-multi-word";
owner = "zdharma-continuum";
rev = "458e75c16db72596e4d7c6a45619dec285ebdcd7";
sha256 = "sha256-6B8uoKJm3gWmufsnLJzLEdSm1tQasrs2fUmS0pDsdMw=";
};
}
{
name = "git-aliases";
src = fetchFromGitHub {
repo = "git-aliases";
owner = "mdumitru";
rev = "c4cfe2cf5cf59a3da6bf3b735a20921a2c06c58d";
sha256 = "sha256-640qGgVeFaTIQBgYGY05/4wzMCxni0uWLWtByEFM2tE=";
};
}
{
name = "zsh-bitwarden";
src = fetchFromGitHub {
repo = "zsh-bitwarden";
owner = "Game4Move78";
rev = "8b32434d18765fe95ffc2191f5fb68100d913de7";
sha256 = "sha256-3zuutTUSdf218+jcn2z7yEGMYkg5VewXm9zO43aIYdI=";
};
}
{
name = "alias-tips";
src = fetchFromGitHub {
repo = "alias-tips";
owner = "djui";
rev = "4d2cf6f10e5080f3273be06b9801e1fd1f25d28d";
sha256 = "sha256-0N2DCpMraIXtEc7hMp0OBANNuYhHPLqzJ/hrAFcLma8=";
};
}
{
name = "auto-notify";
src = fetchFromGitHub {
repo = "zsh-auto-notify";
owner = "MichaelAquilina";
rev = "fb38802d331408e2ebc8e6745fb8e50356344aa4";
sha256 = "sha256-bY0qLX5Kpt2x4KnfvXjYK2+BhR3zKBgGsCvIxSzApws=";
};
}
{
name = "nix-shell";
src = fetchFromGitHub {
repo = "zsh-nix-shell";
owner = "chisui";
rev = "f8574f27e1d7772629c9509b2116d504798fe30a";
sha256 = "sha256-WNa8RljYhkOWk7AZbdTOvYhWw1fR8PjFxH/tnUCbems=";
};
}
{
name = "syntax-highlighting";
src = fetchFromGitHub {
repo = "zsh-syntax-highlighting";
owner = "zsh-users";
rev = "bb27265aeeb0a22fb77f1275118a5edba260ec47";
sha256 = "sha256-bD0oKXSw9lucJR+6/O16m7prwA1cP36C0Tvh5mklapw=";
};
}
{
name = "jq";
src = fetchFromGitHub {
repo = "jq-zsh-plugin";
owner = "reegnz";
rev = "98650d6eac46b5f87aa19f0a3dd321b0105643b8";
sha256 = "sha256-L2+PW39BZTy8h4yxxZxbKCVVKlfPruM12gRZ9FJ8YD8=";
};
}
];
};
# Broot
programs.broot = {
enable = true;
enableZshIntegration = true;
};
# Direnv: must have.
programs.direnv = {
enable = true;
enableZshIntegration = true;
nix-direnv.enable = true;
};
programs.oh-my-posh = {
enable = true;
enableZshIntegration = true;
useTheme = "catppuccin_mocha";
};
# Misc
programs.lesspipe.enable = true;
home.packages = with pkgs; [ unstable.eza python3 libnotify ];
};
}

74
lib/default.nix Normal file
View file

@ -0,0 +1,74 @@
inputs: profiles: dnsLib: final: _prev:
with builtins;
let
evalMeta =
raw:
(_prev.evalModules {
modules = [
(import ../modules/meta/default.nix)
{ machine.meta = raw; }
];
specialArgs = {
inherit profiles;
};
}).config.machine.meta;
non_local_machines = (import ./snowfield.nix).machines;
in
rec {
importConfig =
path:
(mapAttrs (name: _value: import (path + "/${name}/default.nix")) (
final.filterAttrs (_: v: v == "directory") (readDir path)
));
mkSubdomain = name: port: {
luj.nginx.enable = true;
services.nginx.virtualHosts."${name}.julienmalka.me" = {
enableACME = true;
forceSSL = true;
locations."/" = {
proxyPass = "http://localhost:${toString port}";
};
};
};
mkVPNSubdomain = name: port: {
luj.nginx.enable = true;
services.nginx.virtualHosts."${name}.luj" = {
forceSSL = true;
enableACME = true;
locations."/" = {
proxyPass = "http://localhost:${toString port}";
};
};
};
listToAttrsWithMerge =
l:
mapAttrs (_: v: _prev.fold (elem: acc: elem.value // acc) { } v) (builtins.groupBy (e: e.name) l);
mapAttrsWithMerge = f: set: listToAttrsWithMerge (map (attr: f attr set.${attr}) (attrNames set));
snowfield =
(mapAttrs (
name: _value:
let
machineF = import (../machines + "/${name}/default.nix");
in
evalMeta
(machineF (
(mapAttrs (_: _: null) (builtins.functionArgs machineF)) // { inherit inputs profiles; }
)).machine.meta
) (final.filterAttrs (_: v: v == "directory") (readDir ../machines)))
// mapAttrs (_: evalMeta) non_local_machines;
dns = import ./dns.nix {
lib = final;
inherit dnsLib;
};
mkMachine = import ./mkmachine.nix inputs final;
}

50
lib/dns.nix Normal file
View file

@ -0,0 +1,50 @@
{ lib, dnsLib, ... }:
with lib;
rec {
allowedDomains = [
"luj.fr"
"julienmalka.me"
"malka.family"
"luj"
"malka.sh"
"hownix.works"
];
isVPNDomain = hasSuffix "luj";
hasSuffix' = flip strings.hasSuffix;
domainToZone = allowedDomains: domain: (findFirst (hasSuffix' domain) null allowedDomains);
filterElligibleDomains = allowedDomains: domain: domainToZone allowedDomains domain != null;
domainsFromConfiguration =
allowedDomains: config:
filter (filterElligibleDomains allowedDomains) (attrNames config.services.nginx.virtualHosts);
ipsToRecord =
ipType: ipValue:
with dnsLib.combinators;
if ipType == "ipv4" then { A = [ ipValue ]; } else { AAAA = [ ipValue ]; };
domainToRecords =
domain: machineMeta: isVPNDomain:
with dnsLib.combinators;
(optionalAttrs isVPNDomain (
mapAttrsWithMerge (n: v: nameValuePair domain (ipsToRecord n v)) machineMeta.ips.vpn
))
// (optionalAttrs (!isVPNDomain) (
mapAttrsWithMerge (n: v: nameValuePair domain (ipsToRecord n v)) machineMeta.ips.public
));
getDomainPrefix =
allowedDomains: domain:
let
zone = domainToZone allowedDomains domain;
in
strings.removeSuffix ".${zone}" domain;
}

97
lib/mkmachine.nix Normal file
View file

@ -0,0 +1,97 @@
inputs: lib:
let
overlay-unstable = arch: _final: _prev: {
stable = import inputs.nixpkgs { system = arch; };
unstable = import inputs.unstable { system = arch; };
};
in
{
name,
host-config,
modules,
nixpkgs ? inputs.nixpkgs,
system ? "x86_64-linux",
home-manager ? inputs.home-manager,
self,
dnsLib,
}:
let
pkgs = import nixpkgs { inherit system; };
in
import "${nixpkgs}/nixos/lib/eval-config.nix" {
inherit system;
lib = pkgs.lib.extend (import ./default.nix inputs self.profiles dnsLib);
specialArgs = {
inherit inputs dnsLib;
inherit (self) nixosConfigurations profiles;
};
modules = modules ++ [
host-config
(import "${home-manager}/nixos")
(import "${inputs.disko}/module.nix")
(import "${inputs.buildbot-nix}/nix/master.nix")
(import "${inputs.buildbot-nix}/nix/worker.nix")
(import "${inputs.agenix}/modules/age.nix")
(import "${inputs.artiflakery}/module.nix")
(import "${inputs.impermanence}/nixos.nix")
(import inputs.lanzaboote).nixosModules.lanzaboote
(import inputs.lila).nixosModules.hash-collection
(import "${inputs.stateless-uptime-kuma}/nixos/module.nix")
(import "${inputs.proxmox}/modules/declarative-vms")
{
home-manager.useGlobalPkgs = true;
nixpkgs.system = system;
networking.hostName = name;
nixpkgs.overlays = lib.mkAfter [
(overlay-unstable system)
(import "${inputs.emacs-overlay}/overlays/emacs.nix")
(_final: prev: {
waybar = prev.waybar.overrideAttrs (oldAttrs: {
mesonFlags = oldAttrs.mesonFlags ++ [ "-Dexperimental=true" ];
});
# Packages comming from other repositories
lila-build-hook = (import inputs.lila).packages.${system}.utils;
artiflakery = (import inputs.artiflakery).defaultPackage.${system};
# My own packages
keycloak-keywind = prev.pkgs.callPackage ../packages/keycloak-keywind { };
hydrasect = prev.pkgs.callPackage ../packages/hydrasect { };
codeberg-pages-custom = prev.pkgs.callPackage ../packages/codeberg-pages-custom { };
uptime-kuma-beta = prev.pkgs.callPackage ../packages/uptime-kuma-beta { };
})
(
_final: prev:
let
generated = import "${inputs.nix-index-database}/generated.nix";
nix-index-database =
(prev.fetchurl {
url = generated.url + prev.stdenv.system;
hash = generated.hashes.${prev.stdenv.system};
}).overrideAttrs
{
__structuredAttrs = true;
unsafeDiscardReferences.out = true;
};
in
{
inherit nix-index-database;
nix-index-with-db = prev.callPackage "${inputs.nix-index-database}/nix-index-wrapper.nix" {
inherit nix-index-database;
};
comma-with-db = prev.callPackage "${inputs.nix-index-database}/comma-wrapper.nix" {
inherit nix-index-database;
};
}
)
];
}
];
extraModules =
let
colmenaModules = import "${inputs.colmena}/src/nix/hive/options.nix";
in
[ colmenaModules.deploymentOptions ];
}

113
lib/snowfield.nix Normal file
View file

@ -0,0 +1,113 @@
{
# Metadata of machines whose configuration is not handled by this repository
machines = {
router = {
ips = {
public.ipv4 = "82.67.34.230";
public.ipv6 = "2a01:e0a:de4:a0e0:2f0:cbff:feef:e12a";
vpn.ipv4 = "100.100.45.1";
vpn.ipv6 = "fd7a:115c:a1e0::1";
};
};
doma-backups = {
subdomains = [ "doma-backups.julienmalka.me" ];
ips = {
public.ipv4 = "82.67.34.230";
local.ipv4 = "192.168.0.250";
public.ipv6 = "2a01:e0a:de4:a0e1:6b86:c2c:2141:6702";
};
};
proxmox-nixos-infra = {
subdomains = [ "proxmox-nixos-update-logs.saumon.network" ];
ips = {
public.ipv4 = "82.67.34.230";
local.ipv4 = "192.168.0.177";
public.ipv6 = "2a01:e0a:de4:a0e1:eb2:caa1::78";
};
};
doma-zulip = {
subdomains = [ "zulip.julienmalka.me" ];
ips = {
public.ipv4 = "82.67.34.230";
local.ipv4 = "192.168.0.187";
public.ipv6 = "2a01:e0a:de4:a0e1:6830:ddff:fe52:a444";
};
};
pve1 = {
subdomains = [ "pve1.luj" ];
ips = {
public.ipv4 = "82.67.34.230";
local.ipv4 = "192.168.1.1";
vpn.ipv4 = "100.100.45.3";
public.ipv6 = "2a01:e0a:de4:a0e1:d250:99ff:fefa:b62";
vpn.ipv6 = "fd7a:115c:a1e0::3";
};
sshPort = 22;
sshUser = "root";
};
pve2 = {
ips = {
public.ipv4 = "82.67.34.230";
local.ipv4 = "192.168.1.2";
vpn.ipv4 = "100.100.45.15";
public.ipv6 = "2a01:e0a:de4:a0e1:aaa1:59ff:fec7:1d6";
vpn.ipv6 = "fd7a:115c:a1e0::f";
};
sshPort = 22;
sshUser = "root";
};
pve3 = {
subdomains = [ "pve3.luj" ];
ips = {
public.ipv4 = "82.67.34.230";
local.ipv4 = "192.168.1.3";
vpn.ipv4 = "100.100.45.16";
public.ipv6 = "2a01:e0a:de4:a0e1:aaa1:59ff:fec1:aa10";
vpn.ipv6 = "fd7a:115c:a1e0::10";
};
sshPort = 22;
sshUser = "root";
};
pve4 = {
subdomains = [ "pve4.luj" ];
ips = {
public.ipv4 = "82.67.34.230";
local.ipv4 = "192.168.1.4";
vpn.ipv4 = "100.100.45.17";
public.ipv6 = "2a01:e0a:de4:a0e1:d250:99ff:fefa:b76";
vpn.ipv6 = "fd7a:115c:a1e0::11";
};
sshPort = 22;
sshUser = "root";
};
saves-paris = {
subdomains = [ "saves-paris.luj" ];
ips = {
public.ipv4 = "82.67.34.230";
local.ipv4 = "192.168.4.5";
vpn.ipv4 = "100.100.45.4";
public.ipv6 = "2a01:e0a:de4:a0e1:3af3:abff:fe6a:1f54";
vpn.ipv6 = "fd7a:115c:a1e0::4";
};
sshPort = 22;
sshUser = "root";
};
saves-lyon = {
subdomains = [ "saves-lyon.luj" ];
ips = {
vpn.ipv4 = "100.100.45.20";
vpn.ipv6 = "fd7a:115c:a1e0::14";
};
sshPort = 22;
sshUser = "root";
};
};
}

204
lon.lock Normal file
View file

@ -0,0 +1,204 @@
{
"version": "1",
"sources": {
"agenix": {
"type": "GitHub",
"fetchType": "tarball",
"owner": "ryantm",
"repo": "agenix",
"branch": "main",
"revision": "4835b1dc898959d8547a871ef484930675cb47f1",
"url": "https://github.com/ryantm/agenix/archive/4835b1dc898959d8547a871ef484930675cb47f1.tar.gz",
"hash": "sha256-NwmAFuDUO/PFcgaGGr4j3ozG9Pe5hZ/ogitWhY+D81k="
},
"artiflakery": {
"type": "GitHub",
"fetchType": "tarball",
"owner": "JulienMalka",
"repo": "artiflakery",
"branch": "authenticated-listing",
"revision": "9fc2c243c0f152303c602836ccbec8c23b4743eb",
"url": "https://github.com/JulienMalka/artiflakery/archive/9fc2c243c0f152303c602836ccbec8c23b4743eb.tar.gz",
"hash": "sha256-rbm5Ws+nsguJTZ1404bGLVexpJmFyyVirdRXCvLgtJs="
},
"buildbot-nix": {
"type": "GitHub",
"fetchType": "tarball",
"owner": "JulienMalka",
"repo": "buildbot-nix",
"branch": "main",
"revision": "699160c3e095d349cf26a4957e07d9cb99a379f2",
"url": "https://github.com/JulienMalka/buildbot-nix/archive/699160c3e095d349cf26a4957e07d9cb99a379f2.tar.gz",
"hash": "sha256-AzQrQPctgjr+wGiVLMrP8ZT/B2s0W+DlxViniQbzZ+4="
},
"colmena": {
"type": "GitHub",
"fetchType": "tarball",
"owner": "zhaofengli",
"repo": "colmena",
"branch": "main",
"revision": "c61641b156dfa3e82fc0671e77fccf7d7ccfaa3b",
"url": "https://github.com/zhaofengli/colmena/archive/c61641b156dfa3e82fc0671e77fccf7d7ccfaa3b.tar.gz",
"hash": "sha256-csQQPoCA5iv+Nd9yCOCQNKflP7qUKEe7D27wsz+LPKM="
},
"disko": {
"type": "GitHub",
"fetchType": "tarball",
"owner": "nix-community",
"repo": "disko",
"branch": "master",
"revision": "7f1857b31522062a6a00f88cbccf86b43acceed1",
"url": "https://github.com/nix-community/disko/archive/7f1857b31522062a6a00f88cbccf86b43acceed1.tar.gz",
"hash": "sha256-KrC9iOVYIn6ukpVlHbqSA4hYCZ6oDyJKrcLqv4c5v84="
},
"dns": {
"type": "GitHub",
"fetchType": "tarball",
"owner": "JulienMalka",
"repo": "dns.nix",
"branch": "master",
"revision": "922d6a72ae1f4436cc8f8e04080c50aa65e0d749",
"url": "https://github.com/JulienMalka/dns.nix/archive/922d6a72ae1f4436cc8f8e04080c50aa65e0d749.tar.gz",
"hash": "sha256-K2X21U4sSYtEZiDM0Eg/IV4wRs80kztLi6qaVDIUCJE="
},
"emacs-overlay": {
"type": "GitHub",
"fetchType": "tarball",
"owner": "nix-community",
"repo": "emacs-overlay",
"branch": "master",
"revision": "cff16fc129c76889ddfb0ebb17b53b6633c77ba5",
"url": "https://github.com/nix-community/emacs-overlay/archive/cff16fc129c76889ddfb0ebb17b53b6633c77ba5.tar.gz",
"hash": "sha256-EtSUmvOKU7mfocPNsBSmgjOcqPBKWshSN/jsxmHZqfI="
},
"git-hooks": {
"type": "GitHub",
"fetchType": "tarball",
"owner": "cachix",
"repo": "git-hooks.nix",
"branch": "master",
"revision": "623c56286de5a3193aa38891a6991b28f9bab056",
"url": "https://github.com/cachix/git-hooks.nix/archive/623c56286de5a3193aa38891a6991b28f9bab056.tar.gz",
"hash": "sha256-WUaIlOlPLyPgz9be7fqWJA5iG6rHcGRtLERSCfUDne4="
},
"home-manager": {
"type": "GitHub",
"fetchType": "tarball",
"owner": "nix-community",
"repo": "home-manager",
"branch": "release-25.05",
"revision": "7aae0ee71a17b19708b93b3ed448a1a0952bf111",
"url": "https://github.com/nix-community/home-manager/archive/7aae0ee71a17b19708b93b3ed448a1a0952bf111.tar.gz",
"hash": "sha256-gjN3j7joRvT3a8Zgcylnd4NFsnXeDBumqiu4HmY1RIg="
},
"home-manager-unstable": {
"type": "GitHub",
"fetchType": "tarball",
"owner": "nix-community",
"repo": "home-manager",
"branch": "master",
"revision": "28eef8722d1af18ca13e687dbf485e1c653a0402",
"url": "https://github.com/nix-community/home-manager/archive/28eef8722d1af18ca13e687dbf485e1c653a0402.tar.gz",
"hash": "sha256-K2xFtlD3PcKAZriOE3LaBLYmVfGQu+rIF4Jr1RFYR0Q="
},
"impermanence": {
"type": "GitHub",
"fetchType": "tarball",
"owner": "nix-community",
"repo": "impermanence",
"branch": "master",
"revision": "4b3e914cdf97a5b536a889e939fb2fd2b043a170",
"url": "https://github.com/nix-community/impermanence/archive/4b3e914cdf97a5b536a889e939fb2fd2b043a170.tar.gz",
"hash": "sha256-LJggUHbpyeDvNagTUrdhe/pRVp4pnS6wVKALS782gRI="
},
"lanzaboote": {
"type": "GitHub",
"fetchType": "tarball",
"owner": "nix-community",
"repo": "lanzaboote",
"branch": "master",
"revision": "38c2addd2e0cedcb03708de6e6c21fb1be86d410",
"url": "https://github.com/nix-community/lanzaboote/archive/38c2addd2e0cedcb03708de6e6c21fb1be86d410.tar.gz",
"hash": "sha256-PBfJ7dGsR02im/RYN8wXII8yNPFhKxiPdq+JDfbvD2k="
},
"lila": {
"type": "GitHub",
"fetchType": "tarball",
"owner": "JulienMalka",
"repo": "lila",
"branch": "main",
"revision": "7e84b2a9656fd139c6e12ff3dadde07a495bd796",
"url": "https://github.com/JulienMalka/lila/archive/7e84b2a9656fd139c6e12ff3dadde07a495bd796.tar.gz",
"hash": "sha256-TIK8220a8M/PQ36pJSRd2yBHhM7/PfMUTtj62qTD94c="
},
"lon": {
"type": "GitHub",
"fetchType": "tarball",
"owner": "nikstur",
"repo": "lon",
"branch": "main",
"revision": "c44e33ce55eed38a06fde43e69512380c4065441",
"url": "https://github.com/nikstur/lon/archive/c44e33ce55eed38a06fde43e69512380c4065441.tar.gz",
"hash": "sha256-bxu83mbdfAeDZYOnjZQYyjTs5WgZS8o6Q2irlzgbYs0="
},
"nix-index-database": {
"type": "GitHub",
"fetchType": "tarball",
"owner": "mic92",
"repo": "nix-index-database",
"branch": "main",
"revision": "424a40050cdc5f494ec45e46462d288f08c64475",
"url": "https://github.com/mic92/nix-index-database/archive/424a40050cdc5f494ec45e46462d288f08c64475.tar.gz",
"hash": "sha256-EWlr9MZDd+GoGtZB4QsDzaLyaDQPGnRY03MFp6u2wSg="
},
"nixos-anywhere": {
"type": "GitHub",
"fetchType": "tarball",
"owner": "nix-community",
"repo": "nixos-anywhere",
"branch": "main",
"revision": "ff87db6a952191648ffaea97ec5559784c7223c6",
"url": "https://github.com/nix-community/nixos-anywhere/archive/ff87db6a952191648ffaea97ec5559784c7223c6.tar.gz",
"hash": "sha256-7iTUVUP6xgEYXdl9aCYBbYMYVsQmOvMoLUsUS2aoDNA="
},
"nixpkgs": {
"type": "GitHub",
"fetchType": "tarball",
"owner": "nixos",
"repo": "nixpkgs",
"branch": "nixos-25.05",
"revision": "6c64dabd3aa85e0c02ef1cdcb6e1213de64baee3",
"url": "https://github.com/nixos/nixpkgs/archive/6c64dabd3aa85e0c02ef1cdcb6e1213de64baee3.tar.gz",
"hash": "sha256-h/aac1dGLhS3qpaD2aZt25NdKY7b+JT0ZIP2WuGsJMU="
},
"proxmox": {
"type": "GitHub",
"fetchType": "tarball",
"owner": "saumonnet",
"repo": "proxmox-nixos",
"branch": "main",
"revision": "8df841766fab6c15341577b6982ddd368be72113",
"url": "https://github.com/saumonnet/proxmox-nixos/archive/8df841766fab6c15341577b6982ddd368be72113.tar.gz",
"hash": "sha256-yaEzei8/2LBZL+h0iKO28eeP1Cvl5v0piAyakZfZL0s="
},
"stateless-uptime-kuma": {
"type": "Git",
"fetchType": "git",
"branch": "truly-deterministic",
"revision": "78564e5f2c4fad5175f709560e6ee75d30115b22",
"url": "https://git.dgnum.eu/Luj/stateless-uptime-kuma.git",
"hash": "sha256-I5uHrQvwKvJMFSOJfEZRZyc5ZElD0tCGfFVDaBfcLNM=",
"submodules": false
},
"unstable": {
"type": "GitHub",
"fetchType": "tarball",
"owner": "nixos",
"repo": "nixpkgs",
"branch": "nixos-unstable",
"revision": "ee930f9755f58096ac6e8ca94a1887e0534e2d81",
"url": "https://github.com/nixos/nixpkgs/archive/ee930f9755f58096ac6e8ca94a1887e0534e2d81.tar.gz",
"hash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc="
}
}
}

53
lon.nix Normal file
View file

@ -0,0 +1,53 @@
# Generated by lon. Do not modify!
let
lock = builtins.fromJSON (builtins.readFile ./lon.lock);
# Override with a path defined in an environment variable. If no variable is
# set, the original path is used.
overrideFromEnv =
name: path:
let
replacement = builtins.getEnv "LON_OVERRIDE_${name}";
in
if replacement == "" then
path
else
# this turns the string into an actual Nix path (for both absolute and
# relative paths)
if builtins.substring 0 1 replacement == "/" then
/. + replacement
else
/. + builtins.getEnv "PWD" + "/${replacement}";
fetchSource =
args@{ fetchType, ... }:
if fetchType == "git" then
builtins.fetchGit (
{
url = args.url;
ref = args.branch;
rev = args.revision;
narHash = args.hash;
submodules = args.submodules;
}
// (
if args ? lastModified then
{
inherit (args) lastModified;
shallow = true;
}
else
{ }
)
)
else if fetchType == "tarball" then
builtins.fetchTarball {
url = args.url;
sha256 = args.hash;
}
else
builtins.throw "Unsupported source type ${fetchType}";
in
builtins.mapAttrs (name: args: overrideFromEnv name (fetchSource args)) lock.sources

View file

@ -0,0 +1,124 @@
{ inputs, profiles, ... }:
{
imports = [
./hardware.nix
./home-julien.nix
./stalwart.nix
./nsd.nix
];
machine.meta = {
arch = "x86_64-linux";
nixpkgs_version = inputs.unstable;
hm_version = inputs.home-manager-unstable;
ips = {
public.ipv4 = "163.172.91.82";
public.ipv6 = "2001:0bc8:3d24::45";
vpn.ipv4 = "100.100.45.33";
};
profiles = with profiles; [ server ];
};
disko = import ./disko.nix;
environment.persistence."/persistent" = {
hideMounts = true;
directories = [
"/var/lib"
"/var/log"
"/srv"
];
files = [
"/etc/machine-id"
"/etc/ssh/ssh_host_ed25519_key"
"/etc/ssh/ssh_host_ed25519_key.pub"
];
};
fileSystems."/srv".neededForBoot = true;
fileSystems."/persistent".neededForBoot = true;
services.fail2ban.enable = true;
networking.useNetworkd = true;
systemd.network = {
enable = true;
config.networkConfig.IPv4Forwarding = true;
networks = {
"10-wan" = {
matchConfig.Name = "enp0s20";
networkConfig = {
DHCP = "ipv6";
IPv6AcceptRA = true;
};
addresses = [
{ Address = "163.172.91.82/24"; }
{ Address = "2001:0bc8:3d24::45/64"; }
];
routes = [
{
Gateway = "163.172.91.1";
Destination = "0.0.0.0/0";
}
];
dhcpV6Config = {
DUIDRawData = "00:01:62:7c:0e:d3:27:5b";
DUIDType = "link-layer";
UseAddress = "no";
WithoutRA = "solicit";
};
ipv6AcceptRAConfig = {
DHCPv6Client = "always";
UseOnLinkPrefix = false;
UseAutonomousPrefix = false;
};
linkConfig.RequiredForOnline = "routable";
};
"30-wg0" = {
matchConfig.Name = "wg0";
address = [
"10.100.45.1/24"
"fc00::1/64"
];
networkConfig.IPMasquerade = "ipv4";
};
};
netdevs = {
"10-wg0" = {
netdevConfig = {
Kind = "wireguard";
Name = "wg0";
MTUBytes = "1300";
};
wireguardConfig = {
PrivateKeyFile = "/srv/wg-private";
ListenPort = 51821;
};
wireguardPeers = [
{
PublicKey = "axigTezuClSoQlxWvpdzXKXUDjrrQlswE50ox0uDLR0=";
AllowedIPs = [ "10.100.45.2/32" ];
}
{
PublicKey = "ElVrxNiYvV13hEDtqZNw4kLF7UiPTXziz8XgqABB0AU=";
AllowedIPs = [ "10.100.45.3/32" ];
}
];
};
};
};
networking.firewall.allowedUDPPorts = [
51821
];
networking.firewall.allowedTCPPorts = [
51821
];
system.stateVersion = "24.11";
}

View file

@ -0,0 +1,79 @@
{
devices = {
disk = {
main = {
type = "disk";
device = "/dev/disk/by-id/ata-HGST_HTE721010A9E630_JR10034M34EVTK";
content = {
type = "gpt";
partitions = {
boot = {
size = "1M";
type = "EF02";
};
ESP = {
size = "512M";
type = "EF00";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
};
};
swap = {
size = "16G";
content = {
type = "swap";
discardPolicy = "both";
};
};
root = {
size = "100%";
content = {
type = "lvm_pv";
vg = "mainpool";
};
};
};
};
};
};
lvm_vg = {
mainpool = {
type = "lvm_vg";
lvs = {
root = {
size = "100G";
pool = "mainpool";
content = {
type = "filesystem";
format = "ext4";
mountpoint = "/";
mountOptions = [ "defaults" ];
};
};
persistent = {
size = "100G";
pool = "mainpool";
content = {
type = "filesystem";
format = "ext4";
mountpoint = "/persistent";
mountOptions = [ "defaults" ];
};
};
store = {
size = "600G";
pool = "mainpool";
content = {
type = "filesystem";
format = "ext4";
mountpoint = "/nix";
};
};
};
};
};
};
}

View file

@ -0,0 +1,28 @@
{
config,
lib,
modulesPath,
pkgs,
...
}:
{
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
boot.loader.grub.enable = true;
boot.initrd.availableKernelModules = [ "ahci" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
boot.initrd.postDeviceCommands = ''
lvm lvremove --force /dev/mainpool/root || :
yes | lvm lvcreate --size 100G --name root mainpool
${pkgs.e2fsprogs}/bin/mkfs.ext4 /dev/mainpool/root
'';
networking.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View file

@ -1,7 +1,8 @@
{ pkgs, lib, config, ... }: _: {
{
luj.hmgr.julien = { luj.hmgr.julien = {
luj.programs.neovim.enable = true; luj.programs.neovim.enable = true;
luj.programs.ssh-client.enable = true;
luj.programs.git.enable = true; luj.programs.git.enable = true;
}; };
} }

61
machines/akhaten/nsd.nix Normal file
View file

@ -0,0 +1,61 @@
{
config,
lib,
inputs,
nixosConfigurations,
...
}:
let
zonesToList = lib.mapAttrsToList (name: value: { ${name} = value; });
zonesFromConfig = lib.mkMerge (
lib.fold (elem: acc: acc ++ (zonesToList elem.config.machine.meta.zones)) [ ] (
lib.attrValues nixosConfigurations
)
);
dnsLib = (import inputs.dns).lib;
evalZones =
zones:
(lib.evalModules {
modules = [
{
options = {
zones = lib.mkOption {
type = lib.types.attrsOf dnsLib.types.zone;
description = "DNS zones";
};
};
config = {
inherit zones;
};
}
];
}).config.zones;
minimalZone = {
SOA = {
nameServer = "ns";
adminEmail = "dns@julienmalka.me";
serial = 0;
};
};
in
{
services.nsd = {
enable = true;
interfaces = [
config.machine.meta.ips.public.ipv4
config.machine.meta.ips.public.ipv6
config.machine.meta.ips.vpn.ipv4
];
zones = lib.mapAttrs (name: _: {
requestXFR = [ "AXFR ${lib.snowfield.gustave.ips.vpn.ipv4} NOKEY" ];
allowNotify = [ "${lib.snowfield.gustave.ips.vpn.ipv4} NOKEY" ];
data = dnsLib.toString name minimalZone;
}) (evalZones zonesFromConfig);
};
networking.firewall.allowedUDPPorts = [ 53 ];
networking.firewall.allowedTCPPorts = [ 53 ];
}

View file

@ -0,0 +1,261 @@
{
config,
lib,
...
}:
{
services.stalwart-mail = {
enable = true;
settings = {
authentication.fallback-admin = {
user = "admin";
secret = "%{file:/var/lib/stalwart-mail/admin-hash}%";
};
lookup.default.hostname = "mail.luj.fr";
server = {
http.hsts = true;
max-connections = 8192;
hostname = "mail.luj.fr";
tls.enable = true;
listener = {
"smtp" = {
bind = [ "[::]:25" ];
protocol = "smtp";
};
"smtp-submission" = {
bind = "[::]:587";
protocol = "smtp";
};
"smtp-submissions" = {
bind = [ "[::]:465" ];
protocol = "smtp";
tls.implicit = true;
};
"imap" = {
bind = [ "[::]:143" ];
protocol = "imap";
};
"imaptls" = {
bind = [ "[::]:993" ];
protocol = "imap";
tls.implicit = true;
};
"http" = {
bind = "[::]:80";
protocol = "http";
};
"https" = {
bind = "[::]:443";
protocol = "http";
tls.implicit = true;
};
"sieve" = {
bind = "[::]:4190";
protocol = "managesieve";
};
};
};
};
};
services.backup.includes = [ "/var/lib/stalwart-mail/db" ];
age.secrets.stalwart-admin-hash = {
file = ../../secrets/stalwart-admin.age;
path = "/var/lib/stalwart-mail/admin-hash";
owner = "stalwart-mail";
group = "stalwart-mail";
};
machine.meta.zones."luj.fr" = {
MX = [
{
preference = 10;
exchange = "mail.luj.fr.";
}
];
SRV = [
{
service = "jmap";
proto = "tcp";
port = 443;
target = "mail.luj.fr.";
}
{
service = "imaps";
proto = "tcp";
port = 993;
target = "mail.luj.fr.";
}
{
service = "imap";
proto = "tcp";
port = 143;
target = "mail.luj.fr.";
}
{
service = "submissions";
proto = "tcp";
port = 465;
target = "mail.luj.fr.";
}
{
service = "submission";
proto = "tcp";
port = 587;
target = "mail.luj.fr.";
}
];
TXT = [ "v=spf1 mx ra=postmaster -all" ];
subdomains = {
"mail" = {
A = [ config.machine.meta.ips.public.ipv4 ];
AAAA = [ config.machine.meta.ips.public.ipv6 ];
TXT = [ "v=spf1 a ra=postmaster -all" ];
};
"202408e._domainkey".TXT = [
"v=DKIM1; k=ed25519; h=sha256; p=rWKEPnFhPFXFBlcEcLdxGHhFLzIjLdLzEChxUTafGyo="
];
"202408r._domainkey".TXT = [
"v=DKIM1; k=rsa; h=sha256; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmLgfZ1HvXIPx5HENRcidzy/Wwkwr5GHNytBl+tocQDL2TL+PS+zYm+n1ziOCrQJbqxmlbKSCaX0JXwKO/0qwA9G2XYsZV7CiAhGHBJ/DPDVGADTcdFTvVOgmcbnQuAvJOSS3qUjBaUaO4nZQv3HmhjMsq3ukfUvHUQ6bneES9W3PX0qUSyNJInXOYr3447K9drzahH07kPX64mPMxlyKcDsHukOn3XrHGcqbqt0kYyGVdiOuGErwCn+nes1FIRutKIz2rC/TiXum4AtP9mfb0caa+rHSvKuFdlC2UpBkhGf5MUQ1i5xxQJraS23gCpIz5WLcDzH5F8b73w4EBvGM+QIDAQAB"
];
"_mta-sts".TXT = [ "v=STSv1; id=17428246908727558748" ];
"_dmarc".TXT = [ "v=DMARC1; p=reject; rua=mailto:postmaster@luj.fr; ruf=mailto:postmaster@luj.fr" ];
"_smtp._tls".TXT = [ "v=TLSRPTv1; rua=mailto:postmaster@luj.fr" ];
"autoconfig".CNAME = [ "mail.luj.fr." ];
"autodiscover".CNAME = [ "mail.luj.fr." ];
"mta-sts".CNAME = [ "mail.luj.fr." ];
"_25._tcp".TLSA = [
{
usage = 3;
selector = 0;
matching-type = 1;
association-data = "44225ab4b789190c6b1a1992cfe6bd67ecbb958fd5e8cb4675c11b19754646fa";
}
{
usage = 3;
selector = 0;
matching-type = 2;
association-data = "82214869dc29f15a9becad146a4f6a8085992ef6ffc2fda53a0cafc03591c9c4fa3087aa7f44f5c965eb20176791f04666ad829f0cc3efe471743640e4b66e52";
}
{
usage = 3;
selector = 1;
matching-type = 1;
association-data = "c6242de30b6c304cbcfa5a391166c3aff89ada1e290081dde794594f724522f7";
}
{
usage = 3;
selector = 1;
matching-type = 2;
association-data = "c26c4c5a4079accbe9e310110d758cce1c965e5af1bbaef1c02f8b091bc7b3ae9e33b1f2c5db48df9c47355d8d88fa6ae6872b90304d49ef5323afd97b437294";
}
{
usage = 2;
selector = 0;
matching-type = 1;
association-data = "76e9e288aafc0e37f4390cbf946aad997d5c1c901b3ce513d3d8fadbabe2ab85";
}
{
usage = 2;
selector = 0;
matching-type = 2;
association-data = "afab698cbbbf892ebb555e09175056c1d4630fe7c350f44dcc6e71843d3b290df00d30ab4e356b630c69169d7633788338922fb637cf5b9f7be20a413eeaa518";
}
{
usage = 2;
selector = 1;
matching-type = 1;
association-data = "d016e1fe311948aca64f2de44ce86c9a51ca041df6103bb52a88eb3f761f57d7";
}
{
usage = 2;
selector = 1;
matching-type = 2;
association-data = "f8a2b4e23e82a4494e9998fcc4242bef1277656a118beede55ddfadcb82e20c5dc036dcb3b6c48d2ce04e362a9f477c82ad5a557b06b6f33b45ca6662b37c1c9";
}
];
};
};
machine.meta.zones."malka.sh" = {
# todo: remove when we are at a registar that knows how to publish GLUE records
NS = lib.mkForce [
"ns1.luj.fr."
"ns2.luj.fr."
];
MX = [
{
preference = 10;
exchange = "mail.luj.fr.";
}
];
SRV = [
{
service = "jmap";
proto = "tcp";
port = 443;
target = "mail.luj.fr.";
}
{
service = "imaps";
proto = "tcp";
port = 993;
target = "mail.luj.fr.";
}
{
service = "imap";
proto = "tcp";
port = 143;
target = "mail.luj.fr.";
}
{
service = "submissions";
proto = "tcp";
port = 465;
target = "mail.luj.fr.";
}
{
service = "submission";
proto = "tcp";
port = 587;
target = "mail.luj.fr.";
}
];
TXT = [ "v=spf1 mx ra=postmaster -all" ];
subdomains = {
"mail".CNAME = [ "mail.luj.fr." ];
"202408e._domainkey".TXT = [
"v=DKIM1; k=ed25519; h=sha256; p=yApFb5wLSoy9+5bBx0EgzQFxJv3bAPrkEkZhrlDh0hs="
];
"202408r._domainkey".TXT = [
"v=DKIM1; k=rsa; h=sha256; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApQii0y+8s9IM3ZTaGrwbG6H4qJTUsCFXhGjjfp11pv9hAzTMWKNiZQ9yazGGILtwX6l6ROBkzqFSfAeS2OV473dC5zPvQcWjDQaUbkf/XzktYkL7b8e4JuFqz4lRl3L/nzOYd37ymrM2wx1IDB78mjxqlyUjvdme+gYFHfd3a2RdpRhpsJtLhvCGItptxzRzrET3yUhEGFp4mM37eS0re0abckcodZTlCG4lHNlU4EsWTYDdbCuCVd43u15v27wET0MFnEyYvUYPB56n5eTNOXQd5DZU0xslldDwtUS0R5wpseWRGH+EFR22dtD/5dcvsdDYm+z16jjUL9bxUKooCwIDAQAB"
];
"_mta-sts".TXT = [ "v=STSv1; id=17428246908727558748" ];
"_dmarc".TXT = [
"v=DMARC1; p=reject; rua=mailto:postmaster@malka.sh; ruf=mailto:postmaster@malka.sh"
];
"_smtp._tls".TXT = [ "v=TLSRPTv1; rua=mailto:postmaster@malka.sh" ];
"autoconfig".CNAME = [ "mail.luj.fr." ];
"autodiscover".CNAME = [ "mail.luj.fr." ];
"mta-sts".CNAME = [ "mail.luj.fr." ];
};
};
networking.firewall.allowedTCPPorts = [
80
443
8080
465
993
143
25
4190
587
];
}

View file

@ -0,0 +1,46 @@
From 1282e77ea96e5154011b3d4607c15140003ee2e6 Mon Sep 17 00:00:00 2001
From: mdecimus <mauro@stalw.art>
Date: Sun, 9 Mar 2025 17:47:40 +0100
Subject: [PATCH] Do not panic when mailboxId is not found (closes #1293)
---
crates/imap/src/op/list.rs | 18 +++++++++++++++++-
1 file changed, 17 insertions(+), 1 deletion(-)
diff --git a/crates/imap/src/op/list.rs b/crates/imap/src/op/list.rs
index 250db4be..4231ec1b 100644
--- a/crates/imap/src/op/list.rs
+++ b/crates/imap/src/op/list.rs
@@ -22,6 +22,7 @@ use imap_proto::{
},
receiver::Request,
};
+use trc::StoreEvent;
use super::ImapContext;
@@ -202,7 +203,22 @@ impl<T: SessionStream> SessionData<T> {
for (mailbox_name, mailbox_id) in &account.mailbox_names {
if matches_pattern(&patterns, mailbox_name) {
- let mailbox = account.mailbox_state.get(mailbox_id).unwrap();
+ let mailbox = if let Some(mailbox) = account.mailbox_state.get(mailbox_id) {
+ mailbox
+ } else {
+ trc::event!(
+ Store(StoreEvent::UnexpectedError),
+ Details = "IMAP mailbox no longer present in account state",
+ Id = *mailbox_id,
+ Details = account
+ .mailbox_state
+ .keys()
+ .copied()
+ .map(trc::Value::from)
+ .collect::<Vec<_>>()
+ );
+ continue;
+ };
let mut has_recursive_match = false;
if recursive_match {
let prefix = format!("{}/", mailbox_name);

View file

@ -0,0 +1,98 @@
{
pkgs,
inputs,
lib,
...
}:
{
imports = [
./hardware.nix
./home-julien.nix
./syncthing.nix
];
machine.meta = {
arch = "x86_64-linux";
nixpkgs_version = inputs.unstable;
hm_version = inputs.home-manager-unstable;
# TODO: Fix colmena deployment
ips.public.ipv4 = "127.0.0.1";
ips.vpn.ipv4 = "100.100.45.12";
};
environment.persistence."/persistent" = {
hideMounts = true;
directories = [
"/var/lib"
"/var/log"
"/etc/NetworkManager/system-connections"
];
files = [
"/etc/machine-id"
"/etc/ssh/ssh_host_ed25519_key"
"/etc/ssh/ssh_host_ed25519_key.pub"
];
};
programs.fuse.userAllowOther = true;
fileSystems."/persistent".neededForBoot = true;
disko = import ./disko.nix;
boot.loader.systemd-boot.enable = true;
networking.wireless.enable = false;
services.tailscale.enable = true;
networking.networkmanager.enable = true;
services.dbus.enable = true;
programs.dconf.enable = true;
security.polkit.enable = true;
nix = {
distributedBuilds = true;
buildMachines = [
{
hostName = "epyc.infra.newtype.fr";
maxJobs = 100;
systems = [ "x86_64-linux" ];
sshUser = "root";
supportedFeatures = [
"kvm"
"nixos-test"
];
sshKey = "/home/julien/.ssh/id_ed25519";
speedFactor = 2;
}
];
};
environment.systemPackages = with pkgs; [
tailscale
brightnessctl
sbctl
];
security.pam.services.swaylock = { };
programs.ssh.startAgent = true;
services.xserver.displayManager.lightdm.enable = true;
services.xserver.desktopManager.xterm.enable = true;
services.xserver.enable = true;
services.xserver.windowManager.session = lib.singleton {
name = "exwm";
start = ''
${pkgs.emacs}/bin/emacs -l /home/julien/.emacs.d/exwm-config.el
'';
};
services.gnome.gnome-keyring.enable = true;
system.stateVersion = "25.05";
}

View file

@ -0,0 +1,90 @@
{
devices = {
disk = {
main = {
type = "disk";
device = "/dev/disk/by-id/nvme-PNY_CS2241_4TB_SSD_PNY23362309060100017";
content = {
type = "gpt";
partitions = {
boot = {
size = "1M";
type = "EF02";
};
ESP = {
size = "10G";
type = "EF00";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
};
};
swap = {
size = "16G";
content = {
type = "swap";
discardPolicy = "both";
};
};
luks = {
size = "100%";
content = {
type = "luks";
name = "crypted";
extraOpenArgs = [ ];
passwordFile = "/tmp/secret.key";
settings = {
# if you want to use the key for interactive login be sure there is no trailing newline
# for example use `echo -n "password" > /tmp/secret.key`
allowDiscards = true;
};
content = {
type = "lvm_pv";
vg = "mainpool";
};
};
};
};
};
};
};
lvm_vg = {
mainpool = {
type = "lvm_vg";
lvs = {
root = {
size = "500G";
pool = "mainpool";
content = {
type = "filesystem";
format = "ext4";
mountpoint = "/";
mountOptions = [ "defaults" ];
};
};
persistent = {
size = "1T";
pool = "mainpool";
content = {
type = "filesystem";
format = "ext4";
mountpoint = "/persistent";
mountOptions = [ "defaults" ];
};
};
store = {
size = "2T";
pool = "mainpool";
content = {
type = "filesystem";
format = "ext4";
mountpoint = "/nix";
};
};
};
};
};
};
}

View file

@ -0,0 +1,33 @@
{
config,
lib,
modulesPath,
...
}:
{
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
boot.initrd.availableKernelModules = [
"xhci_pci"
"ahci"
"nvme"
"usb_storage"
"sd_mod"
];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.enp1s0.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp3s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View file

@ -0,0 +1,127 @@
{ pkgs, lib, ... }:
{
luj.hmgr.julien = {
home.stateVersion = "25.05";
luj.programs.neovim.enable = true;
luj.programs.ssh-client.enable = true;
luj.programs.git.enable = true;
luj.programs.gtk.enable = true;
luj.programs.kitty.enable = true;
luj.programs.dunst.enable = true;
luj.programs.fish.enable = true;
luj.programs.firefox.enable = true;
luj.programs.pass.enable = true;
luj.emails.enable = true;
services.mbsync.postExec = lib.mkForce null;
services.mbsync.enable = lib.mkForce false;
programs.mbsync.enable = lib.mkForce false;
programs.notmuch.hooks.postNew = lib.mkForce "";
services.muchsync.remotes."gustave" = {
frequency = "minutely";
local.checkForModifiedFiles = true;
remote.checkForModifiedFiles = true;
remote.host = "gustave";
};
programs.direnv = {
enable = true;
nix-direnv.enable = true;
};
home.pointerCursor = {
name = "Adwaita";
package = pkgs.adwaita-icon-theme;
size = 15;
x11 = {
enable = true;
defaultCursor = "Adwaita";
};
};
home.packages =
with pkgs;
[
du-dust
kitty
jq
lazygit
fira-code
feh
meld
emacs-igc
vlc
jftui
libreoffice
font-awesome
cantarell-fonts
roboto
htop
evince
mosh
zotero
flameshot
kitty
networkmanagerapplet
xdg-utils
step-cli
gh
signal-desktop
scli
texlive.combined.scheme-full
unstable.nixd
emacs-lsp-booster
hunspellDicts.en_US
hunspellDicts.fr-moderne
rust-analyzer
cargo
rustc
pyright
unstable.nixfmt-rfc-style
i3lock
]
++ builtins.filter lib.attrsets.isDerivation (builtins.attrValues pkgs.nerd-fonts);
fonts.fontconfig.enable = true;
systemd.user.tmpfiles.rules = [
"L /home/julien/.emacs.d - - - - /home/julien/dev/emacs-config"
];
home.persistence."/persistent/home/julien" = {
files = [
".config/background"
".cert/nm-openvpn/telecom-paris-ca.pem"
];
directories = [
"Pictures"
"Documents"
".ssh"
".mozilla"
".local/share/direnv"
".local/share/atuin"
".local/share/firefoxpwa"
".config/Signal"
".cache/spotify"
".config/spotify"
".config/autostart"
".config/borg"
".config/Element"
".step"
".gnupg"
"Zotero"
".config/dconf"
".local/share/keyrings"
"Maildir"
];
allowOther = true;
};
home.keyboard = {
layout = "fr";
};
};
}

View file

@ -0,0 +1,52 @@
{ config, ... }:
{
services.syncthing = {
enable = true;
user = "julien";
group = "users";
overrideDevices = true;
overrideFolders = true;
settings.options = {
urAccepted = -1;
listenAddresses = [ "tcp://${config.machine.meta.ips.vpn.ipv4}" ];
};
devices = {
"gustave" = {
id = "6APF3EP-TIV7ZBK-5WB5SA4-Y2K37CR-AMIB2TM-6T2VORK-UYNQO2X-TO6V2QH";
addresses = [
"tcp://gustave.luj:22000"
];
};
"fischer" = {
id = "PLIMD3Z-L4DYKDB-MY4PFTS-3RMQUNF-GFWFOBB-SELW6MB-WIQJ2LM-QAC45QQ";
addresses = [
"tcp://fischer.luj:22000"
];
};
};
folders = {
"dev" = {
path = "/home/julien/dev";
devices = [
"gustave"
"fischer"
];
};
};
};
systemd.services.syncthing.serviceConfig.StateDirectory = "syncthing";
systemd.services.syncthing.environment.STNODEFAULTFOLDER = "true";
environment.persistence."/persistent".directories = [
{
directory = "/home/julien/dev";
user = "julien";
group = "users";
}
];
}

View file

@ -0,0 +1,58 @@
{
inputs,
profiles,
...
}:
{
imports = [
./hardware.nix
./home-julien.nix
./garage.nix
];
machine.meta = {
arch = "x86_64-linux";
nixpkgs_version = inputs.nixpkgs;
hm_version = inputs.home-manager;
profiles = with profiles; [
vm-simple-network
server
behind-sniproxy
];
ips = {
public.ipv4 = "82.67.34.230";
vpn.ipv4 = "100.100.45.39";
public.ipv6 = "2a01:e0a:de4:a0e1:eb2:aaaa::46";
vpn.ipv6 = "fd7a:115c:a1e0::27";
};
};
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
deployment.tags = [ "server" ];
disko = import ./disko.nix;
luj.nginx.enable = true;
environment.persistence."/persistent" = {
hideMounts = true;
directories = [
"/var/lib"
"/var/log"
"/srv"
];
files = [
"/etc/machine-id"
"/etc/ssh/ssh_host_ed25519_key"
"/etc/ssh/ssh_host_ed25519_key.pub"
];
};
fileSystems."/srv".neededForBoot = true;
services.tailscale.enable = true;
system.stateVersion = "24.11";
}

View file

@ -0,0 +1,79 @@
{
devices = {
disk = {
main = {
type = "disk";
device = "/dev/sda";
content = {
type = "gpt";
partitions = {
boot = {
size = "1M";
type = "EF02";
};
ESP = {
size = "512M";
type = "EF00";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
};
};
swap = {
size = "16G";
content = {
type = "swap";
discardPolicy = "both";
};
};
root = {
size = "100%";
content = {
type = "lvm_pv";
vg = "mainpool";
};
};
};
};
};
};
lvm_vg = {
mainpool = {
type = "lvm_vg";
lvs = {
root = {
size = "50G";
pool = "mainpool";
content = {
type = "filesystem";
format = "ext4";
mountpoint = "/";
mountOptions = [ "defaults" ];
};
};
persistent = {
size = "800G";
pool = "mainpool";
content = {
type = "filesystem";
format = "ext4";
mountpoint = "/persistent";
mountOptions = [ "defaults" ];
};
};
store = {
size = "100G";
pool = "mainpool";
content = {
type = "filesystem";
format = "ext4";
mountpoint = "/nix";
};
};
};
};
};
};
}

161
machines/biblios/garage.nix Normal file
View file

@ -0,0 +1,161 @@
{
config,
pkgs,
...
}:
let
api_domain = "s3.luj.fr";
in
{
services.garage = {
enable = true;
package = pkgs.garage_1_1_0;
settings = {
replication_factor = 1;
db_engine = "lmdb";
compression_level = 0;
s3_api = {
s3_region = "paris";
api_bind_addr = "[::]:3900";
root_domain = ".${api_domain}";
};
s3_web = {
bind_addr = "127.0.0.1:3902";
root_domain = ".cdn.luj.fr";
index = "index.html";
};
rpc_bind_addr = "[::]:3901";
rpc_public_addr = "127.0.0.1:3901";
admin.api_bind_addr = "127.0.0.1:3903";
};
environmentFile = config.age.secrets."garage-env-file".path;
};
age.secrets."garage-env-file".file = ../../secrets/garage-env-file.age;
age.secrets."book-auth" = {
file = ../../secrets/book-auth.age;
owner = "nginx";
};
age.secrets."notes-phd-auth" = {
file = ../../secrets/notes-phd-auth.age;
owner = "nginx";
};
age.secrets."notes-perso-auth" = {
file = ../../secrets/notes-perso-auth.age;
owner = "nginx";
};
services.nginx.virtualHosts."${api_domain}" = {
enableACME = true;
forceSSL = true;
locations."/" = {
proxyPass = "http://127.0.0.1:3900";
extraConfig = ''
proxy_max_temp_file_size 0;
client_max_body_size 5G;
'';
};
};
services.nginx.virtualHosts."cdn.luj.fr" = {
enableACME = true;
forceSSL = true;
serverAliases = [ "luj.fr" ];
locations."/".extraConfig = ''
proxy_pass http://127.0.0.1:3902;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
'';
};
services.nginx.virtualHosts."hownix.works" = {
enableACME = true;
forceSSL = true;
locations."/".extraConfig = ''
proxy_pass http://127.0.0.1:3902;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
'';
locations."/book" = {
basicAuthFile = config.age.secrets.book-auth.path;
extraConfig = ''
proxy_pass http://127.0.0.1:3902;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
'';
};
};
services.nginx.virtualHosts."notes.luj.fr" = {
enableACME = true;
forceSSL = true;
locations."/" = {
basicAuthFile = config.age.secrets.notes-perso-auth.path;
proxyPass = "http://127.0.0.1:3902";
extraConfig = ''
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
'';
};
};
services.nginx.virtualHosts."phd.luj.fr" = {
enableACME = true;
forceSSL = true;
locations."/" = {
basicAuthFile = config.age.secrets.notes-phd-auth.path;
proxyPass = "http://127.0.0.1:3902";
extraConfig = ''
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
'';
};
};
machine.meta.zones."luj.fr".A = [
config.machine.meta.ips.public.ipv4
];
machine.meta.zones."luj.fr".AAAA = [
config.machine.meta.ips.public.ipv6
];
machine.meta.probes.monitors."s3.luj.fr - IPv4".accepted_statuscodes = [ "403" ];
machine.meta.probes.monitors."s3.luj.fr - IPv6".accepted_statuscodes = [ "403" ];
machine.meta.probes.monitors."cdn.luj.fr - IPv4".accepted_statuscodes = [ "404" ];
machine.meta.probes.monitors."cdn.luj.fr - IPv6".accepted_statuscodes = [ "404" ];
machine.meta.probes.monitors = {
"luj.fr - IPv4" = {
url = "https://${config.machine.meta.ips.public.ipv4}";
type = "http";
accepted_statuscodes = [ "200-299" ];
notificationIDList = [ 1 ];
headers = ''
{
"Host": "luj.fr"
}
'';
};
"luj.fr - IPv6" = {
url = "https://[${config.machine.meta.ips.public.ipv6}]";
type = "http";
accepted_statuscodes = [ "200-299" ];
notificationIDList = [ 1 ];
headers = ''
{
"Host": "luj.fr"
}
'';
};
};
}

View file

@ -0,0 +1,39 @@
{
lib,
modulesPath,
pkgs,
...
}:
{
imports = [ (modulesPath + "/profiles/qemu-guest.nix") ];
boot.initrd.availableKernelModules = [
"ata_piix"
"uhci_hcd"
"virtio_pci"
"virtio_scsi"
"sd_mod"
"sr_mod"
];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ];
boot.extraModulePackages = [ ];
fileSystems."/persistent".neededForBoot = lib.mkForce true;
boot.initrd.postDeviceCommands = ''
lvm lvremove --force /dev/mainpool/root || :
yes | lvm lvcreate --size 100G --name root mainpool
${pkgs.e2fsprogs}/bin/mkfs.ext4 /dev/mainpool/root
'';
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
powerManagement.cpuFreqGovernor = lib.mkDefault "ondemand";
}

View file

@ -0,0 +1,3 @@
_: {
luj.hmgr.julien = { };
}

View file

@ -0,0 +1,100 @@
{
pkgs,
lib,
inputs,
profiles,
...
}:
{
imports = [
./hardware.nix
./home-julien.nix
];
machine.meta = {
arch = "x86_64-linux";
nixpkgs_version = inputs.nixpkgs;
hm_version = inputs.home-manager;
profiles = with profiles; [
vm-simple-network
server
behind-sniproxy
];
ips = {
public.ipv4 = "82.67.34.230";
local.ipv4 = "192.168.0.66";
vpn.ipv4 = "100.100.45.26";
public.ipv6 = "2a01:e0a:de4:a0e1:be24:11ff:fe09:638d";
vpn.ipv6 = "fd7a:115c:a1e0::1a";
};
};
# Bootloader.
boot.loader.systemd-boot.enable = true;
deployment.tags = [ "server" ];
luj.nginx.enable = true;
systemd.services.NetworkManager-wait-online.enable = lib.mkForce false;
systemd.services.systemd-networkd-wait-online.enable = lib.mkForce false;
# Photoprism
services.photoprism = {
enable = true;
port = 2342;
originalsPath = "/data/photos";
passwordFile = "/srv/photoprism";
importPath = "import";
address = "0.0.0.0";
settings = {
PHOTOPRISM_ADMIN_USER = "admin";
PHOTOPRISM_DEFAULT_LOCALE = "en";
PHOTOPRISM_DATABASE_DRIVER = "mysql";
PHOTOPRISM_DATABASE_NAME = "photoprism";
PHOTOPRISM_DATABASE_SERVER = "/run/mysqld/mysqld.sock";
PHOTOPRISM_DATABASE_USER = "photoprism";
PHOTOPRISM_SITE_URL = "http://photos.malka.family:2342";
PHOTOPRISM_SITE_TITLE = "My PhotoPrism";
};
};
services.mysql = {
enable = true;
package = pkgs.mariadb;
ensureDatabases = [ "photoprism" ];
ensureUsers = [
{
name = "photoprism";
ensurePermissions = {
"photoprism.*" = "ALL PRIVILEGES";
};
}
];
};
services.nginx = {
clientMaxBodySize = "500m";
virtualHosts = {
"photos.malka.family" = {
forceSSL = true;
enableACME = true;
http2 = true;
locations."/" = {
proxyPass = "http://0.0.0.0:2342";
proxyWebsockets = true;
};
};
};
};
services.openssh.extraConfig = ''
HostCertificate /etc/ssh/ssh_host_ed25519_key-cert.pub
HostKey /etc/ssh/ssh_host_ed25519_key
TrustedUserCAKeys /etc/ssh/ssh_user_key.pub
MaxAuthTries 20
'';
system.stateVersion = "23.11";
}

View file

@ -0,0 +1,39 @@
{ lib, modulesPath, ... }:
{
imports =
[
(modulesPath + "/profiles/qemu-guest.nix")
];
boot.initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{
device = "/dev/disk/by-uuid/f2688b7f-1a8b-4060-a20e-db19a0c3a6ff";
fsType = "ext4";
};
boot.initrd.luks.devices."cryptroot".device = "/dev/disk/by-uuid/ca603044-0917-4051-a17b-8b12ff8011df";
fileSystems."/boot" =
{
device = "/dev/disk/by-uuid/B005-E88F";
fsType = "vfat";
};
swapDevices =
[{ device = "/dev/disk/by-uuid/64070c2e-42ba-4f70-a5da-234b4474a1b3"; }];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.ens18.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
}

View file

@ -0,0 +1,4 @@
_:
{
luj.hmgr.julien = { };
}

View file

@ -0,0 +1,134 @@
{
config,
pkgs,
lib,
inputs,
profiles,
...
}:
{
imports = [
./hardware.nix
./home-julien.nix
./kanidm.nix
];
machine.meta = {
arch = "x86_64-linux";
nixpkgs_version = inputs.nixpkgs;
hm_version = inputs.home-manager;
profiles = with profiles; [
vm-simple-network
server
behind-sniproxy
];
ips = {
public.ipv4 = "82.67.34.230";
local.ipv4 = "192.168.0.175";
vpn.ipv4 = "100.100.45.14";
public.ipv6 = "2a01:e0a:de4:a0e1:40f0:8cff:fe31:3e94";
vpn.ipv6 = "fd7a:115c:a1e0::e";
};
};
boot.loader.grub.enable = true;
boot.loader.grub.device = "/dev/sda";
boot.loader.grub.useOSProber = true;
deployment.tags = [ "server" ];
services.openssh.enable = true;
systemd.services.systemd-networkd-wait-online.enable = lib.mkForce false;
luj.nginx.enable = true;
services.nginx.virtualHosts."vaults.malka.family" = {
forceSSL = true;
enableACME = true;
locations."/" = {
proxyPass = "http://127.0.0.1:${toString config.services.vaultwarden.config.ROCKET_PORT}";
};
};
services.vaultwarden = {
enable = true;
config = {
DOMAIN = "https://vaults.malka.family";
ROCKET_PORT = "8223";
SIGNUPS_ALLOWED = false;
};
environmentFile = "/var/lib/vaultwarden.env";
};
services.keycloak = {
enable = true;
database.createLocally = true;
database.passwordFile = "/run/agenix/keycloak-db";
settings = {
hostname = "https://auth.julienmalka.me";
hostname-admin-url = "https://auth.julienmalka.me";
http-port = 8080;
proxy-headers = "forwarded";
http-enabled = true;
};
themes = {
keywind = pkgs.keycloak-keywind;
};
};
services.nginx.virtualHosts."auth.julienmalka.me" = {
forceSSL = true;
enableACME = true;
locations."/" = {
proxyPass = "http://127.0.0.1:8080";
extraConfig = ''
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
'';
};
};
age.secrets.keycloak-db.file = ../../secrets/keycloak-db.age;
services.openssh.extraConfig = ''
HostCertificate /etc/ssh/ssh_host_ed25519_key-cert.pub
HostKey /etc/ssh/ssh_host_ed25519_key
TrustedUserCAKeys /etc/ssh/ssh_user_key.pub
MaxAuthTries 20
'';
services.step-ca.enable = true;
services.step-ca.intermediatePasswordFile = "/root/capw";
services.step-ca.address = "100.100.45.14";
services.step-ca.port = 8444;
services.step-ca.settings = builtins.fromJSON ''
{}
'';
systemd.services."step-ca".serviceConfig.ExecStart = [
"" # override upstream
"${pkgs.step-ca}/bin/step-ca /etc/smallstep/ca_prod.json --password-file \${CREDENTIALS_DIRECTORY}/intermediate_password"
];
services.nginx.virtualHosts."ca.luj" = {
enableACME = true;
forceSSL = true;
locations."/" = {
proxyPass = "https://127.0.0.1:8444";
};
};
security.acme.certs."ca.luj".server = lib.mkForce "https://127.0.0.1:8444/acme/acme/directory";
machine.meta.probes.monitors."ca.luj - IPv4".url = lib.mkForce "https://100.100.45.14/health";
machine.meta.probes.monitors."ca.luj - IPv6".url = lib.mkForce "https://[fd7a:115c:a1e0::e]/health";
systemd.services."step-ca".after = [ "keycloak.service" ];
# TODO: Remove when keycloak is update in stable channel
nixpkgs.config.permittedInsecurePackages = [ "keycloak-23.0.6" ];
system.stateVersion = "22.11";
}

View file

@ -0,0 +1,31 @@
{ config, lib, modulesPath, ... }:
{
imports =
[
(modulesPath + "/profiles/qemu-guest.nix")
];
boot.initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{
device = "/dev/disk/by-uuid/bee9d8e2-9350-4949-a360-f3049ce7b89c";
fsType = "ext4";
};
swapDevices = [ ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.ens18.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View file

@ -0,0 +1,4 @@
_:
{
luj.hmgr.julien = { };
}

View file

@ -0,0 +1,32 @@
{ pkgs, config, ... }:
let
certificate = config.security.acme.certs."auth.luj.fr";
kanidm = pkgs.kanidm_1_5;
in
{
services.kanidm = {
enableServer = true;
package = kanidm;
serverSettings = rec {
domain = "auth.luj.fr";
origin = "https://${domain}";
bindaddress = "127.0.0.1:8443";
trust_x_forward_for = true;
tls_chain = "${certificate.directory}/fullchain.pem";
tls_key = "${certificate.directory}/key.pem";
};
};
environment.systemPackages = [ kanidm ];
users.users.kanidm.extraGroups = [ certificate.group ];
services.nginx.virtualHosts."auth.luj.fr" = {
enableACME = true;
forceSSL = true;
locations."/" = {
proxyPass = "https://127.0.0.1:8443";
};
};
}

View file

@ -0,0 +1,350 @@
{
config,
pkgs,
lib,
inputs,
...
}:
let
stumpwmContrib = pkgs.fetchFromGitHub {
owner = "stumpwm";
repo = "stumpwm-contrib";
rev = "1e3fa7abae30e5d5498e69ba56da6a7e265144cc";
hash = "sha256-ewPeamcEWcvAHY1pmnbsVmej8gSt2qIo+lSMjpKwF6k=";
};
sbcl_stump = pkgs.sbcl_2_4_6;
stumpwmWithDeps = sbcl_stump.pkgs.stumpwm.overrideLispAttrs (x: {
lispLibs =
x.lispLibs
++ (with sbcl_stump.pkgs; [
clx-truetype
slynk
]);
});
stumpwmWithDepsRunnable = pkgs.runCommand "stuumpwm-with-deps-runnable" { } ''
mkdir -p "$out/bin" "$out/lib"
cp -r "${stumpwmContrib}" "contrib"
chmod u+rwX -R contrib
export HOME="$PWD"
FIRA_CODE_PATH="${pkgs.fira-code}/share/fonts/truetype"
POWERLINE_PATH="${pkgs.powerline-fonts}/share/fonts/truetype"
ln -s "${stumpwmWithDeps}" "$out/lib/stumpwm"
${(sbcl_stump.withPackages (_: [ stumpwmWithDeps ]))}/bin/sbcl \
--eval '(require :asdf)' --eval '(asdf:disable-output-translations)' \
--eval '(require :stumpwm)' \
--eval '(in-package :stumpwm)' \
--eval '(setf *default-package* :stumpwm)' \
--eval '(set-module-dir "contrib")' \
--eval '(defvar stumpwm::*local-module-dir* "contrib")' \
--eval '(load-module "mem")' \
--eval '(load-module "cpu")' \
--eval '(load-module "battery-portable")' \
--eval '(load-module "net")' \
--eval '(load-module "urgentwindows")' \
--eval '(load-module "ttf-fonts")' \
--eval '(require :slynk)' \
--eval '(require :clx-truetype)' \
--eval '(defvar *wallpaper* nil)' \
--eval '(setf *wallpaper* "${./wallpaper.jpeg}")' \
--eval "(setf clx-truetype:*font-dirs* (list \"$FIRA_CODE_PATH\" \"$POWERLINE_PATH\"))" \
--eval "(sb-ext:save-lisp-and-die \"$out/bin/stumpwm\" :executable t :toplevel #'stumpwm:stumpwm)"
test -x "$out/bin/stumpwm"
'';
in
{
imports = [
./hardware.nix
./home-julien.nix
./syncthing.nix
];
machine.meta = {
arch = "x86_64-linux";
nixpkgs_version = inputs.unstable;
hm_version = inputs.home-manager-unstable;
# TODO: Fix colmena deployment
ips.public.ipv4 = "127.0.0.1";
ips.vpn.ipv4 = "100.100.45.11";
};
# Boot stuff
boot.loader.systemd-boot.enable = lib.mkForce false;
boot.lanzaboote = {
enable = true;
pkiBundle = "/etc/secureboot";
};
boot.initrd.systemd.enable = true;
boot.initrd.clevis = {
enable = true;
devices."cryptroot".secretFile = ./root.jwe;
};
boot.initrd.systemd.tpm2.enable = true;
services.xserver = {
enable = true;
displayManager.lightdm.enable = true;
windowManager.stumpwm.enable = true;
windowManager.stumpwm.package = stumpwmWithDepsRunnable;
};
services.picom = {
enable = true;
backend = "xr_glx_hybrid";
vSync = true;
};
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
# If you want to use JACK applications, uncomment this
#jack.enable = true;
# use the example session manager (no others are packaged yet so this is enabled by default,
# no need to redefine it in your config for now)
#media-session.enable = true;
wireplumber.enable = true;
};
networking.hostName = "fischer";
services.blueman.enable = true;
hardware.bluetooth.enable = true;
environment.sessionVariables = {
LIBSEAT_BACKEND = "logind";
};
services.tailscale.enable = true;
networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
networking.networkmanager.dns = "systemd-resolved";
services.resolved.enable = true;
services.autorandr = {
enable = true;
matchEdid = true;
ignoreLid = true;
profiles = {
default = {
fingerprint = {
"eDP*" =
"00ffffffffffff0006af9af900000000141f0104a51e13780363f5a854489d240e505400000001010101010101010101010101010101fa3c80b870b0244010103e002dbc1000001ac83080b870b0244010103e002dbc1000001a000000fe004a38335646804231343055414e0000000000024101b2001100000a410a20200068";
};
config = {
"eDP*" = {
enable = true;
primary = true;
position = "0x0";
mode = "1920x1200";
};
};
};
dock-julien = {
fingerprint = {
"eDP*" =
"00ffffffffffff0006af9af900000000141f0104a51e13780363f5a854489d240e505400000001010101010101010101010101010101fa3c80b870b0244010103e002dbc1000001ac83080b870b0244010103e002dbc1000001a000000fe004a38335646804231343055414e0000000000024101b2001100000a410a20200068";
"DP*-3" =
"00ffffffffffff0010ac42d1425439312021010380351e78eaa3d5ab524f9d240f5054a54b008100b300d100714fa9408180d1c00101565e00a0a0a02950302035000f282100001a000000ff004446354c5459330a2020202020000000fc0044454c4c205032343233440a20000000fd00314b1d711c000a2020202020200107020318b14d010203071112161304141f051065030c001000023a801871382d40582c45000f282100001e011d8018711c1620582c25000f282100009e011d007251d01e206e2855000f282100001e7e3900a080381f4030203a000f282100001a00000000000000000000000000000000000000000000000000000000000000c1";
"DP*-1" =
"00ffffffffffff0026cd6b610f01010117210104a5351e783be725a8554ea0260d5054bfef80d140d100d1c0b30095009040818081c0565e00a0a0a02950302035000f282100001a000000ff0031323134383332333030313335000000fd00314b0f5a19000a202020202020000000fc00504c32343933510a202020202001c5020320f153101f051404131e1d121116150f0e030207060123097f0783010000394e00a0a0a02250302035000f282100001a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000079";
};
config = {
"eDP*".enable = false;
"DP*-1" = {
enable = true;
primary = true;
position = "0x0";
mode = "2560x1440";
};
"DP*3" = {
enable = true;
position = "2560x0";
mode = "2560x1440";
};
};
};
dock-theo = {
fingerprint = {
"eDP*" =
"00ffffffffffff0006af9af900000000141f0104a51e13780363f5a854489d240e505400000001010101010101010101010101010101fa3c80b870b0244010103e002dbc1000001ac83080b870b0244010103e002dbc1000001a000000fe004a38335646804231343055414e0000000000024101b2001100000a410a20200068";
"DP*-1" =
"00ffffffffffff0010ac4042424d34412d200104a53c22783ac525aa534f9d25105054a54b00714f8180a9c0d1c081c081cf01010101023a801871382d40582c450056502100001e000000ff0039464c505a4e330a2020202020000000fc0044454c4c205032373232480a20000000fd00384c1e5311010a2020202020200000";
};
config = {
"eDP*".enable = false;
"DP*-1" = {
enable = true;
primary = true;
position = "0x0";
mode = "1920x1080";
};
};
};
};
};
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
console = {
useXkbConfig = true; # use xkbOptions in tty.
};
# Enable OpenGL
hardware.graphics.enable = true;
# Load nvidia driver for Xorg and Wayland
services.xserver.videoDrivers = [ "nvidia" ];
services.xserver.autoRepeatDelay = 250;
services.xserver.autoRepeatInterval = 30;
hardware.nvidia.forceFullCompositionPipeline = true;
services.libinput.touchpad.tapping = false;
hardware.nvidia.prime = {
sync.enable = true;
intelBusId = "PCI:0:2:0";
nvidiaBusId = "PCI:1:0:0";
};
nix = {
distributedBuilds = true;
buildMachines = [
{
hostName = "epyc.infra.newtype.fr";
maxJobs = 100;
systems = [
"x86_64-linux"
"aarch64-linux"
];
sshUser = "root";
sshKey = "/home/julien/.ssh/id_ed25519";
supportedFeatures = [
"nixos-test"
"benchmark"
"big-parallel"
"kvm"
];
speedFactor = 2;
}
];
};
hardware.nvidia = {
modesetting.enable = true;
open = true;
nvidiaSettings = true;
package = config.boot.kernelPackages.nvidiaPackages.beta;
};
environment.variables = {
# Required to run the correct GBM backend for nvidia GPUs on wayland
GBM_BACKEND = "nvidia-drm";
# Apparently, without this nouveau may attempt to be used instead
# (despite it being blacklisted)
__GLX_VENDOR_LIBRARY_NAME = "nvidia";
# Hardware cursors are currently broken on wlroots
WLR_NO_HARDWARE_CURSORS = "1";
};
boot.extraModprobeConfig =
"options nvidia "
+ lib.concatStringsSep " " [
# nvidia assume that by default your CPU does not support PAT,
# but this is effectively never the case in 2023
"NVreg_UsePageAttributeTable=1"
# This is sometimes needed for ddc/ci support, see
# https://www.ddcutil.com/nvidia/
#
# Current monitor does not support it, but this is useful for
# the future
"NVreg_RegistryDwords=RMUseSwI2c=0x01;RMI2cSpeed=100"
];
boot.initrd.kernelModules = [ "nvidia" ];
programs.dconf.enable = true;
security.polkit.enable = true;
security.tpm2.enable = true;
security.tpm2.pkcs11.enable = true; # expose /run/current-system/sw/lib/libtpm2_pkcs11.so
security.tpm2.tctiEnvironment.enable = true; # TPM2TOOLS_TCTI and TPM2_PKCS11_TCTI env variables
users.users.julien.extraGroups = [ "tss" ]; # tss group has access to TPM devices
services.postgresql.enable = true;
environment.systemPackages = with pkgs; [
tailscale
brightnessctl
sbctl
wl-mirror
texlive.combined.scheme-full
mu
stumpwmWithDepsRunnable
];
networking.hosts = {
"172.25.90.82" = [ "ducati-diavel" ];
};
services.printing = {
enable = true;
extraConf = ''
JobPrivateAccess all
JobPrivateValues none
'';
clientConf = ''
ServerName localhost
Encryption Required
User jmalka
'';
};
environment.variables = {
CUPS_USER = "jmalka";
};
security.pam.services.swaylock = { };
programs.ssh.startAgent = true;
services.gnome.gnome-keyring.enable = true;
services.openssh.extraConfig = ''
HostCertificate /etc/ssh/ssh_host_ed25519_key-cert.pub
HostKey /etc/ssh/ssh_host_ed25519_key
TrustedUserCAKeys /etc/ssh/ssh_user_key.pub
MaxAuthTries 20
'';
virtualisation.docker.enable = true;
services.pcscd.enable = true;
services.udev.packages = [ pkgs.yubikey-personalization ];
services.zerotierone = {
enable = true;
joinNetworks = [
"ebe7fbd4451442b0"
];
};
# Desktop environment
programs.xwayland.enable = true;
programs.hyprland = {
enable = true;
package = pkgs.hyprland;
portalPackage = pkgs.xdg-desktop-portal-hyprland;
};
xdg.portal = {
enable = true;
wlr.enable = true;
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
};
system.stateVersion = "23.05";
}

View file

@ -0,0 +1,58 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{
config,
lib,
pkgs,
modulesPath,
...
}:
{
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [
"xhci_pci"
"thunderbolt"
"vmd"
"nvme"
"usb_storage"
"usbhid"
"sd_mod"
"rtsx_pci_sdmmc"
];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
boot.kernelPackages = pkgs.linuxPackages_latest;
fileSystems."/" = {
device = "/dev/disk/by-uuid/f7072a83-0478-48ea-9f55-074541c1c524";
fsType = "btrfs";
};
boot.initrd.luks.devices."cryptroot".device =
"/dev/disk/by-uuid/56dc5a16-94ca-4a9c-a215-51ed55aec6b5";
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/9331-9E52";
fsType = "vfat";
};
swapDevices = [ { device = "/dev/disk/by-uuid/63debceb-44e6-4e27-94df-092dd59fd9e2"; } ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.enp0s13f0u4u4u4.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp0s20f3.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View file

@ -0,0 +1,117 @@
{ pkgs, lib, ... }:
{
luj.hmgr.julien = {
home.stateVersion = "22.11";
luj.programs.neovim.enable = true;
luj.programs.ssh-client.enable = true;
luj.programs.git.enable = true;
luj.programs.gtk.enable = true;
luj.programs.waybar.enable = true;
luj.programs.waybar.interfaceName = "enp0s13f0u1u4u4";
luj.programs.kitty.enable = true;
luj.programs.fish.enable = true;
luj.programs.dunst.enable = true;
luj.programs.firefox.enable = true;
luj.programs.hyprland.enable = true;
luj.emails.enable = true;
services.mbsync.postExec = lib.mkForce null;
services.mbsync.enable = lib.mkForce false;
programs.mbsync.enable = lib.mkForce false;
programs.notmuch.hooks.postNew = lib.mkForce "";
services.muchsync.remotes."gustave" = {
frequency = "minutely";
local.checkForModifiedFiles = true;
remote.checkForModifiedFiles = true;
remote.host = "gustave";
};
programs.emacs = {
enable = true;
package = pkgs.emacs-igc;
extraPackages = epkgs: [
epkgs.mu4e
];
};
programs.mu.enable = true;
programs.rofi = {
enable = true;
package = pkgs.rofi-wayland;
font = "Fira Font";
theme = "DarkBlue";
};
home.pointerCursor = {
name = "Adwaita";
package = pkgs.adwaita-icon-theme;
size = 15;
};
services.screen-locker = {
enable = true;
lockCmd = "XSECURELOCK_PASSWORD_PROMPT=time_hex ${pkgs.xsecurelock}/bin/xsecurelock";
xautolock.enable = false; # means use xss-lock
xss-lock.extraOptions = [
"--notifier=${pkgs.xsecurelock}/libexec/xsecurelock/dimmer"
"-l" # prevents suspend before locker is started
];
};
home.packages =
with pkgs;
[
du-dust
kitty
jq
lazygit
fira-code
feh
meld
vlc
jftui
cantarell-fonts
libreoffice
font-awesome
nodejs
htop
evince
mosh
zotero
flameshot
networkmanagerapplet
xdg-utils
step-cli
gh
gh-dash
signal-desktop
scli
emacsPackages.jinx
hunspellDicts.en_US
hunspellDicts.fr-moderne
texlive.combined.scheme-full
hledger
emacs-lsp-booster
pkgs.stable.pyright
unstable.nixd
unstable.nixfmt-rfc-style
kanidm
yubioath-flutter
ltex-ls
powerline-fonts
drawio
]
++ builtins.filter lib.attrsets.isDerivation (builtins.attrValues pkgs.nerd-fonts);
fonts.fontconfig.enable = true;
home.keyboard = {
layout = "fr";
};
};
}

View file

@ -0,0 +1 @@
eyJhbGciOiJkaXIiLCJjbGV2aXMiOnsicGluIjoidHBtMiIsInRwbTIiOnsiaGFzaCI6InNoYTI1NiIsImp3a19wcml2IjoiQU80QUlPTG9sak5fQTVia3FnMExxZzd2ZTE5TUR6TElScFJWYjdaNDVPenZ1UnBJQUJDTWFkQWdYYV9BWW5vQUU3VnRMWF9xNG44di1NdVh4YWVzVVQwUm51cEZYVzlEN2hDZ2QwY2pROFJoX2YyLWFzbGhPYWkxTU4wZ0hib3d5U25weVlYOHFfeUY5UXRZcjR6TXlwVFZfUmpwT18tdmZwSnFzYlBsTk9uWkpIc1pNd01rbHpuVXJYeXJnelpYRVlWUG9vU3RoSVFhZWF1enJDeG9DTWhKTXozTjdvNzRQT3M0MElxYjBXMHhrYW1WVjh1ZDFYbklxaG5hOGNQUDhqcjdsOXIwamRrOHJJTzF5LThhcWphTlMxVnFQYmJDNDVSNE80YUw0Y3cwV0VRTXRXVmxIWVhGcEt5dUtnN0wiLCJqd2tfcHViIjoiQUM0QUNBQUxBQUFFMGdBQUFCQUFJQVVLTVl0Slp2ZEltZWZla20xOFFxYTVtWWRYRlo2Q25RSi1tSkkxUFdHViIsImtleSI6ImVjYyJ9fSwiZW5jIjoiQTI1NkdDTSJ9..h1YWJLRjyGOHJF1a.oRKmPpgk3Q5fLJUOBQ.nKokH0S90iew6-k5n_aaeA

View file

@ -0,0 +1,52 @@
{ config, ... }:
{
services.syncthing = {
enable = true;
user = "julien";
group = "users";
overrideDevices = true;
overrideFolders = true;
settings.options = {
urAccepted = -1;
listenAddresses = [ "tcp://${config.machine.meta.ips.vpn.ipv4}" ];
};
devices = {
"gustave" = {
id = "6APF3EP-TIV7ZBK-5WB5SA4-Y2K37CR-AMIB2TM-6T2VORK-UYNQO2X-TO6V2QH";
addresses = [
"tcp://gustave.luj:22000"
];
};
"gallifrey" = {
id = "P3BTFAX-4MCSFQB-C5R5YBP-YGMJ6FU-OKJN4QG-MJ2BV6Y-YB4U7VL-3GFSTAM";
addresses = [
"tcp://gallifrey.luj:22000"
];
};
"arcadia" = {
id = "E5CGH2H-3XMMCKQ-5PTMKKA-4C4VDS3-JCBZGRM-4GTAWHQ-QRJ367E-BXFMUAU";
addresses = [
"tcp://arcadia.luj:22000"
];
};
};
folders = {
"dev" = {
path = "/home/julien/dev";
devices = [
"gustave"
"gallifrey"
"arcadia"
];
};
};
};
systemd.services.syncthing.serviceConfig.StateDirectory = "syncthing";
systemd.services.syncthing.environment.STNODEFAULTFOLDER = "true";
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 253 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 467 KiB

View file

@ -0,0 +1,163 @@
{
config,
pkgs,
inputs,
profiles,
...
}:
{
imports = [
./hardware.nix
./home-julien.nix
./syncthing.nix
];
machine.meta = {
arch = "x86_64-linux";
nixpkgs_version = inputs.unstable;
hm_version = inputs.home-manager-unstable;
profiles = with profiles; [ sound ];
ips.vpn.ipv4 = "100.100.45.35";
};
networking.hostName = "gallifrey";
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
networking.networkmanager.enable = true;
programs.ssh.knownHosts."epyc.infra.newtype.fr".publicKey =
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOXT9Init1MhKt4rjBANLq0t0bPww/WQZ96uB4AEDrml";
networking.networkmanager.dns = "systemd-resolved";
services.resolved.enable = true;
#services.userborn.enable = true;
networking.interfaces.eno1.wakeOnLan.enable = true;
boot.kernelParams = [
# # See <https://www.kernel.org/doc/Documentation/filesystems/nfs/nfsroot.txt> for docs on this
# # ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf>:<dns0-ip>:<dns1-ip>:<ntp0-ip>
# # The server ip refers to the NFS server -- we don't need it.
# # "ip=${ipv4.address}::${ipv4.gateway}:${ipv4.netmask}:${hostName}-initrd:${networkInterface}:off:1.1.1.1"
## initrd luks_remote_unlock
"ip=192.168.4.10::192.168.0.1:255.255.248.0:gallifrey-initrd:eno1:none"
];
boot.initrd.kernelModules = [
"r8169"
];
boot.initrd.network = {
enable = true;
ssh = {
enable = true;
port = 2222;
authorizedKeys = config.users.users.root.openssh.authorizedKeys.keys;
hostKeys = [ "/persistent/initrd/ssh_host_ed25519_key" ];
};
};
security.pam.loginLimits = [
{
domain = "*";
type = "-";
item = "nofile";
value = "262144";
}
];
disko = import ./disko.nix;
boot.extraModulePackages = [ config.boot.kernelPackages.nvidia_x11 ];
services.xserver = {
enable = true;
videoDrivers = [ "nvidia" ];
displayManager.gdm.enable = true;
desktopManager.gnome.enable = true;
};
hardware.graphics.enable = true;
hardware.nvidia = {
modesetting.enable = true;
powerManagement.enable = false;
powerManagement.finegrained = false;
open = false;
gsp.enable = false;
nvidiaSettings = true;
package = config.boot.kernelPackages.nvidiaPackages.stable;
};
programs.xwayland.enable = true;
services.postgresql.enable = true;
programs.dconf.enable = true;
services.udev.packages = [ pkgs.nitrokey-udev-rules ];
security.polkit.enable = true;
nix = {
distributedBuilds = true;
buildMachines = [
{
hostName = "epyc.infra.newtype.fr";
maxJobs = 100;
systems = [
"x86_64-linux"
"aarch64-linux"
];
sshUser = "root";
supportedFeatures = [
"kvm"
"nixos-test"
"benchmark"
"big-parallel"
];
sshKey = "/home/julien/.ssh/id_ed25519";
speedFactor = 2;
}
];
};
networking.networkmanager.plugins = [ pkgs.networkmanager-openvpn ];
programs.ssh.startAgent = true;
environment.systemPackages = with pkgs; [
tailscale
brightnessctl
sbctl
ddcutil
xorg.xinit
gnomeExtensions.dash-to-dock
gnomeExtensions.tailscale-status
gnomeExtensions.appindicator
gnome-tweaks
pkgs.firefoxpwa
];
programs.firefox = {
enable = true;
package = pkgs.firefox;
nativeMessagingHosts.packages = [ pkgs.firefoxpwa ];
};
environment.persistence."/persistent" = {
hideMounts = true;
directories = [
"/var/lib"
"/var/log"
"/etc/NetworkManager/system-connections"
];
files = [
"/etc/machine-id"
"/etc/ssh/ssh_host_ed25519_key"
"/etc/ssh/ssh_host_ed25519_key.pub"
];
};
programs.fuse.userAllowOther = true;
fileSystems."/persistent".neededForBoot = true;
system.stateVersion = "24.11";
}

View file

@ -0,0 +1,90 @@
{
devices = {
disk = {
main = {
type = "disk";
device = "/dev/disk/by-id/nvme-CT2000P3PSSD8_2316E6CBA6BA";
content = {
type = "gpt";
partitions = {
boot = {
size = "1M";
type = "EF02";
};
ESP = {
size = "10G";
type = "EF00";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
};
};
swap = {
size = "16G";
content = {
type = "swap";
discardPolicy = "both";
};
};
luks = {
size = "100%";
content = {
type = "luks";
name = "crypted";
extraOpenArgs = [ ];
passwordFile = "/tmp/secret.key";
settings = {
# if you want to use the key for interactive login be sure there is no trailing newline
# for example use `echo -n "password" > /tmp/secret.key`
allowDiscards = true;
};
content = {
type = "lvm_pv";
vg = "mainpool";
};
};
};
};
};
};
};
lvm_vg = {
mainpool = {
type = "lvm_vg";
lvs = {
root = {
size = "300G";
pool = "mainpool";
content = {
type = "filesystem";
format = "ext4";
mountpoint = "/";
mountOptions = [ "defaults" ];
};
};
persistent = {
size = "600G";
pool = "mainpool";
content = {
type = "filesystem";
format = "ext4";
mountpoint = "/persistent";
mountOptions = [ "defaults" ];
};
};
store = {
size = "900G";
pool = "mainpool";
content = {
type = "filesystem";
format = "ext4";
mountpoint = "/nix";
};
};
};
};
};
};
}

View file

@ -0,0 +1,47 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{
lib,
modulesPath,
pkgs,
...
}:
{
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [
"xhci_pci"
"nvme"
"usb_storage"
"usbhid"
];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ];
boot.extraModulePackages = [ ];
boot.kernelPackages = pkgs.linuxPackages_6_13;
fileSystems."/data" = {
device = "/dev/disk/by-uuid/4680be45-8156-4bf0-8b0b-e7493aaf37c0";
fsType = "ext4";
};
boot.initrd.postDeviceCommands = ''
lvm lvremove --force /dev/mainpool/root || :
yes | lvm lvcreate --size 100G --name root mainpool
${pkgs.e2fsprogs}/bin/mkfs.ext4 /dev/mainpool/root
'';
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.enP5p1s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
powerManagement.cpuFreqGovernor = lib.mkDefault "ondemand";
}

View file

@ -0,0 +1,184 @@
{ pkgs, lib, ... }:
{
luj.hmgr.julien = {
home.stateVersion = "24.11";
luj.programs.neovim.enable = true;
luj.programs.ssh-client.enable = true;
luj.programs.git.enable = true;
luj.programs.kitty.enable = true;
luj.programs.fish.enable = true;
luj.emails.enable = true;
services.mbsync.postExec = lib.mkForce null;
services.mbsync.enable = lib.mkForce false;
programs.mbsync.enable = lib.mkForce false;
programs.notmuch.hooks.postNew = lib.mkForce "";
services.muchsync.remotes."gustave" = {
frequency = "minutely";
local.checkForModifiedFiles = true;
remote.checkForModifiedFiles = true;
remote.host = "gustave";
};
programs.rofi = {
enable = true;
package = pkgs.rofi-wayland;
font = "Fira Font";
theme = "DarkBlue";
};
programs.direnv = {
enable = true;
enableZshIntegration = true;
nix-direnv.enable = true;
};
home.pointerCursor = {
gtk.enable = true;
name = "Adwaita";
package = pkgs.adwaita-icon-theme;
size = 15;
x11 = {
enable = true;
defaultCursor = "Adwaita";
};
};
programs.atuin = {
enable = true;
enableFishIntegration = true;
};
dconf.settings = {
"org/gnome/shell" = {
welcome-dialog-last-shown-version = "999"; # prevent popup until gnome version 999 :)
};
};
programs.obs-studio = {
enable = true;
plugins = with pkgs; [ obs-studio-plugins.obs-vkcapture ];
};
programs.mu.enable = true;
programs.emacs = {
enable = true;
package = pkgs.emacs-igc;
extraPackages = epkgs: [
epkgs.mu4e
];
};
home.packages =
with pkgs;
[
du-dust
kitty
jq
lazygit
fira-code
feh
meld
jetbrains-mono
cantarell-fonts
unstable.nixd
libreoffice
signal-desktop
font-awesome
nodejs
htop
evince
mosh
flameshot
kitty
networkmanagerapplet
element-desktop
xdg-utils
step-cli
scli
jftui
texlive.combined.scheme-full
inochi-creator
inochi-session
gh
ouch
spotify
nautilus
pika-backup
mpv
zotero
emacsPackages.jinx
hunspellDicts.en_US
hunspellDicts.fr-moderne
forge-sparks
citations
blanket
fragments
metadata-cleaner
gnome-obfuscate
warp
tuba
resources
notify-client
emacs-lsp-booster
pyright
nixfmt-rfc-style
slack
haskell-language-server
aporetic
notmuch
muchsync
]
++ builtins.filter lib.attrsets.isDerivation (builtins.attrValues pkgs.nerd-fonts);
fonts.fontconfig.enable = true;
systemd.user.tmpfiles.rules = [
"L /home/julien/.emacs.d - - - - /home/julien/dev/emacs-config"
];
home.persistence."/persistent/home/julien" = {
files = [
".config/gnome-initial-setup-done"
".config/background"
".cert/nm-openvpn/telecom-paris-ca.pem"
".local/share/com.ranfdev.Notify.sqlite"
];
directories = [
"Pictures"
"Documents"
".ssh"
".mozilla"
"devold"
".config/cosmic"
".local/share/direnv"
".local/state/cosmic-comp"
".local/share/atuin"
".local/share/firefoxpwa"
".config/Signal"
".cache/spotify"
".config/spotify"
".config/autostart"
".config/borg"
".config/pika-backup"
".config/Element"
".step"
".gnupg"
"Zotero"
".config/dconf"
".local/share/keyrings"
".cache/mu"
"Maildir"
];
allowOther = true;
};
home.keyboard = {
layout = "fr";
};
};
}

View file

@ -0,0 +1,52 @@
{ config, ... }:
{
services.syncthing = {
enable = true;
user = "julien";
group = "users";
overrideDevices = true;
overrideFolders = true;
settings.options = {
urAccepted = -1;
listenAddresses = [ "tcp://${config.machine.meta.ips.vpn.ipv4}" ];
};
devices = {
"gustave" = {
id = "6APF3EP-TIV7ZBK-5WB5SA4-Y2K37CR-AMIB2TM-6T2VORK-UYNQO2X-TO6V2QH";
addresses = [
"tcp://gustave.luj:22000"
];
};
"fischer" = {
id = "PLIMD3Z-L4DYKDB-MY4PFTS-3RMQUNF-GFWFOBB-SELW6MB-WIQJ2LM-QAC45QQ";
addresses = [
"tcp://fischer.luj:22000"
];
};
};
folders = {
"dev" = {
path = "/home/julien/dev";
devices = [
"gustave"
"fischer"
];
};
};
};
systemd.services.syncthing.serviceConfig.StateDirectory = "syncthing";
systemd.services.syncthing.environment.STNODEFAULTFOLDER = "true";
environment.persistence."/persistent".directories = [
{
directory = "/home/julien/dev";
user = "julien";
group = "users";
}
];
}

View file

@ -0,0 +1,120 @@
{ config, lib, ... }:
{
age.secrets."artiflakery-auth" = {
file = ../../secrets/artiflakery-auth.age;
owner = "artiflakery";
};
services.nginx.virtualHosts."static.luj.fr" = {
forceSSL = true;
enableACME = true;
locations."/" = {
proxyWebsockets = true;
proxyPass = "http://localhost:8090";
};
locations."/ws" = {
proxyWebsockets = true;
proxyPass = "http://localhost:8090";
};
};
users.users.artiflakery.isSystemUser = lib.mkForce false;
users.users.artiflakery.isNormalUser = lib.mkForce true;
services.artiflakery = {
enable = true;
authFile = config.age.secrets."artiflakery-auth".path;
routes = {
"papers/2024/increasing-trust-scc-rb-fpm/" = {
flakeref = "git+ssh://git@gitlab.enst.fr/julien.malka/phd.git?dir=productions/papers/2024-ICSE-doctoral-symposium&ref=main";
access = [
"public"
];
};
"papers/2024/reproducibility-env-space-time/" = {
flakeref = "git+ssh://git@gitlab.enst.fr/julien.malka/phd.git?dir=productions/papers/2024-ICSE-reproducibility-build-env-space-time&ref=main";
access = [
"public"
];
};
"papers/2025/bitwise-reproducibility-at-scale/" = {
flakeref = "git+ssh://git@gitlab.enst.fr/julien.malka/phd.git?dir=productions/papers/2025-MSR-reproducibility&ref=main";
access = [
"public"
];
};
"papers/WIP/xz-mitigation-rb/" = {
flakeref = "git+ssh://git@gitlab.enst.fr/julien.malka/phd.git?dir=productions/papers/2025-xz-reproducible-builds&ref=main";
access = [
"phd"
"julien"
];
};
"posters/2024/ICSE-DS/" = {
flakeref = "git+ssh://git@gitlab.enst.fr/julien.malka/phd.git?dir=productions/posters/2024-ICSE-DS&ref=main";
access = [
"public"
];
};
"posters/2025/MSR/" = {
flakeref = "git+ssh://git@gitlab.enst.fr/julien.malka/phd.git?dir=productions/posters/2025-MSR&ref=main";
access = [
"public"
];
};
"slides/2023/journee-gdr-gpl/" = {
flakeref = "git+ssh://git@gitlab.enst.fr/julien.malka/phd.git?dir=productions/slides/2023-gdr-gpl-days&ref=main";
access = [
"public"
];
};
"slides/2024/csi-year-1/" = {
flakeref = "git+ssh://git@gitlab.enst.fr/julien.malka/phd.git?dir=productions/slides/2024-csi-year-1&ref=main";
access = [
"phd"
"julien"
];
};
"slides/2024/phd-symposium-infres/" = {
flakeref = "git+ssh://git@gitlab.enst.fr/julien.malka/phd.git?dir=productions/slides/2024-phd-symposium-infres&ref=main";
access = [
"public"
];
};
"slides/2024/point-etape-mai/" = {
flakeref = "git+ssh://git@gitlab.enst.fr/julien.malka/phd.git?dir=productions/slides/2024-point-etape-main&ref=main";
access = [
"phd"
"julien"
];
};
"slides/2024/reading-group-build-systems/" = {
flakeref = "git+ssh://git@gitlab.enst.fr/julien.malka/phd.git?dir=productions/slides/2024-reading-group-build-systems&ref=main";
access = [
"aces"
];
};
"slides/2024/reading-group-vulnerabilities-ssc/" = {
flakeref = "git+ssh://git@gitlab.enst.fr/julien.malka/phd.git?dir=productions/slides/2024-reading-group-vulnerabilities-ssc&ref=main";
access = [
"aces"
];
};
"slides/2025/assert-june-workshop/" = {
flakeref = "git+ssh://forgejo@git.luj.fr/luj/assert-prez.git?ref=main";
access = [
"assert"
"phd"
"julien"
];
};
"slides/2025/chains-april-workshop/" = {
flakeref = "git+ssh://forgejo@git.luj.fr/luj/chains-2025.git?ref=main";
access = [
"public"
];
};
};
};
}

17
machines/gustave/borg.nix Normal file
View file

@ -0,0 +1,17 @@
{ pkgs, ... }:
{
users.users.borg = {
home = "/home/borg";
group = "borg";
isNormalUser = true;
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAziNbLEO9D69xUGPGEq3eXYauFuOlvhqQTwpLNKjFqs julien@tower"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMAa0wll9ildhgPiV0DhgJXXtw3TQr5VkNxxxPspHSbX julien@gallifrey"
];
};
users.groups.borg = { };
environment.systemPackages = with pkgs; [ borgbackup ];
}

View file

@ -0,0 +1,201 @@
{
pkgs,
inputs,
profiles,
lib,
...
}:
{
imports = [
./hardware.nix
./home-julien.nix
./nsd.nix
./borg.nix
# Performance is not as good as we expected, wait for pages v3
# ./pages.nix
./readeck.nix
./plausible.nix
./nextcloud.nix
./glance.nix
./syncthing.nix
./artiflakery.nix
];
users.users.julien.linger = true;
services.backup.includes = [ "/home/julien/Maildir" ];
services.openssh.extraConfig = ''
HostCertificate /etc/ssh/ssh_host_ed25519_key-cert.pub
HostKey /etc/ssh/ssh_host_ed25519_key
TrustedUserCAKeys /etc/ssh/ssh_user_key.pub
MaxAuthTries 20
'';
machine.meta = {
arch = "x86_64-linux";
nixpkgs_version = inputs.nixpkgs;
hm_version = inputs.home-manager;
profiles = with profiles; [
vm-simple-network
server
behind-sniproxy
];
ips = {
public.ipv4 = "82.67.34.230";
local.ipv4 = "192.168.0.90";
vpn.ipv4 = "100.100.45.24";
public.ipv6 = "2a01:e0a:de4:a0e1:eb2:aaaa::45";
vpn.ipv6 = "fd7a:115c:a1e0::18";
};
};
luj.docs = {
enable = true;
nginx.enable = true;
nginx.subdomain = "docs";
};
security.polkit.enable = true;
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
programs.fuse.userAllowOther = true;
deployment.tags = [ "server" ];
disko = import ./disko.nix;
nixpkgs.config.permittedInsecurePackages = [
"dotnet-sdk-6.0.428"
"aspnetcore-runtime-6.0.36"
];
systemd.network.netdevs = {
"20-wg0" = {
netdevConfig = {
Kind = "wireguard";
Name = "wg0";
MTUBytes = "1300";
};
wireguardConfig = {
PrivateKeyFile = "/srv/wg-private";
ListenPort = 51820;
};
wireguardPeers = [
{
PublicKey = "oYsN1Qy+a7dwVOKapN5s5KJOmhSflLHZqh+GLMeNpHw=";
AllowedIPs = [ "0.0.0.0/0" ];
Endpoint = "[${lib.snowfield.akhaten.ips.public.ipv6}]:51821";
PersistentKeepalive = 25;
}
];
};
};
systemd.network.networks."30-wg0" = {
matchConfig.Name = "wg0";
addresses = [
{
Address = "10.100.45.2/24";
AddPrefixRoute = false;
}
];
routes = [
{
Gateway = "10.100.45.1";
Destination = "10.100.45.0/24";
}
];
DHCP = "no";
networkConfig = {
IPv6AcceptRA = false;
};
};
services.forgejo = {
enable = true;
package = pkgs.unstable.forgejo;
database.type = "postgres";
settings = {
server = {
ROOT_URL = "https://git.luj.fr/";
LANDING_PAGE = "luj";
};
#openid.ENABLE_OPENID_SIGNIN = true;
openid.ENABLE_OPENID_SIGNUP = true;
oauth2_client.REGISTER_EMAIL_CONFIRM = false;
oauth2_client.ENABLE_AUTO_REGISTRATION = true;
oauth2_client.UPDATE_AVATAR = true;
oauth2_client.ACCOUNT_LINKING = "auto";
service.ALLOW_ONLY_EXTERNAL_REGISTRATION = true;
};
};
services.openssh.ports = [ 22 ];
services.nginx.virtualHosts."git.luj.fr" = {
forceSSL = true;
enableACME = true;
locations."/" = {
proxyPass = "http://localhost:3000";
proxyWebsockets = true;
};
};
environment.persistence."/persistent" = {
hideMounts = true;
directories = [
"/var/lib"
"/var/log"
"/srv"
];
files = [
"/etc/machine-id"
"/etc/ssh/ssh_host_ed25519_key"
"/etc/ssh/ssh_host_ed25519_key.pub"
];
};
fileSystems."/srv".neededForBoot = true;
environment.systemPackages = [ pkgs.tailscale ];
services.tailscale.enable = true;
luj.irc = {
enable = true;
nginx = {
enable = true;
subdomain = "irc";
};
};
luj.homepage.enable = true;
luj.mediaserver = {
enable = true;
tv.enable = true;
music.enable = false;
};
luj.deluge.interface = "wg0";
networking.firewall.allowedTCPPorts = [ 51820 ];
networking.firewall.allowedUDPPorts = [ 51820 ];
services.roundcube = {
enable = true;
plugins = [
"managesieve"
];
hostName = "webmail.luj.fr";
extraConfig = ''
# starttls needed for authentication, so the fqdn required to match
# the certificate
$config['smtp_server'] = "tls://mail.luj.fr";
$config['smtp_user'] = "%u";
$config['smtp_pass'] = "%p";
$config['imap_host'] = 'ssl://mail.luj.fr';
'';
};
system.stateVersion = "23.11";
}

View file

@ -0,0 +1,79 @@
{
devices = {
disk = {
main = {
type = "disk";
device = "/dev/sdb";
content = {
type = "gpt";
partitions = {
boot = {
size = "1M";
type = "EF02";
};
ESP = {
size = "512M";
type = "EF00";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
};
};
swap = {
size = "16G";
content = {
type = "swap";
discardPolicy = "both";
};
};
root = {
size = "100%";
content = {
type = "lvm_pv";
vg = "mainpool";
};
};
};
};
};
};
lvm_vg = {
mainpool = {
type = "lvm_vg";
lvs = {
root = {
size = "100G";
pool = "mainpool";
content = {
type = "filesystem";
format = "ext4";
mountpoint = "/";
mountOptions = [ "defaults" ];
};
};
persistent = {
size = "1500G";
pool = "mainpool";
content = {
type = "filesystem";
format = "ext4";
mountpoint = "/persistent";
mountOptions = [ "defaults" ];
};
};
store = {
size = "200G";
pool = "mainpool";
content = {
type = "filesystem";
format = "ext4";
mountpoint = "/nix";
};
};
};
};
};
};
}

144
machines/gustave/glance.nix Normal file
View file

@ -0,0 +1,144 @@
{ config, ... }:
{
services.glance = {
enable = true;
settings = {
pages = [
{
center-vertically = true;
columns = [
{
size = "full";
widgets = [
{
autofocus = true;
type = "search";
search-engine = "google";
}
{
cache = "1m";
sites = [
{
icon = "si:jellyfin";
title = "Jellyfin";
url = "https://yourdomain.com/";
}
{
icon = "si:gitea";
title = "Gitea";
url = "https://yourdomain.com/";
}
{
icon = "si:qbittorrent";
title = "qBittorrent";
url = "https://yourdomain.com/";
}
{
icon = "si:immich";
title = "Immich";
url = "https://yourdomain.com/";
}
{
icon = "si:adguard";
title = "AdGuard Home";
url = "https://yourdomain.com/";
}
{
icon = "si:vaultwarden";
title = "Vaultwarden";
url = "https://yourdomain.com/";
}
];
title = "Services";
type = "monitor";
}
{
type = "lobsters";
sort-by = "hot";
limit = 15;
collapse-after = 5;
}
{
type = "repository";
repository = "SaumonNet/proxmox-nixos";
pull-requests-limit = 5;
issues-limit = 3;
}
{
groups = [
{
links = [
{
title = "Gmail";
url = "https://mail.google.com/mail/u/0/";
}
{
title = "Amazon";
url = "https://www.amazon.com/";
}
{
title = "Github";
url = "https://github.com/";
}
];
title = "General";
}
{
links = [
{
title = "YouTube";
url = "https://www.youtube.com/";
}
{
title = "Prime Video";
url = "https://www.primevideo.com/";
}
{
title = "Disney+";
url = "https://www.disneyplus.com/";
}
];
title = "Entertainment";
}
{
links = [
{
title = "Reddit";
url = "https://www.reddit.com/";
}
{
title = "Twitter";
url = "https://twitter.com/";
}
{
title = "Instagram";
url = "https://www.instagram.com/";
}
];
title = "Social";
}
];
type = "bookmarks";
}
];
}
];
hide-desktop-navigation = true;
name = "Startpage";
width = "slim";
}
];
};
};
services.nginx.virtualHosts = {
"dashboard.luj" = {
forceSSL = true;
enableACME = true;
locations."/" = {
proxyPass = "http://127.0.0.1:${toString config.services.glance.settings.server.port}";
};
};
};
}

View file

@ -0,0 +1,34 @@
{
lib,
modulesPath,
pkgs,
...
}:
{
imports = [ (modulesPath + "/profiles/qemu-guest.nix") ];
boot.initrd.availableKernelModules = [
"ata_piix"
"uhci_hcd"
"virtio_pci"
"virtio_scsi"
"sd_mod"
"sr_mod"
];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ];
boot.extraModulePackages = [ ];
boot.initrd.postDeviceCommands = ''
lvm lvremove --force /dev/mainpool/root || :
yes | lvm lvcreate --size 100G --name root mainpool
${pkgs.e2fsprogs}/bin/mkfs.ext4 /dev/mainpool/root
'';
fileSystems."/persistent".neededForBoot = lib.mkForce true;
networking.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
}

View file

@ -0,0 +1,23 @@
{ pkgs, ... }:
{
luj.hmgr.julien = {
luj.emails.enable = true;
luj.programs.fish.enable = true;
systemd.user.startServices = "sd-switch";
home.persistence."/persistent/home/julien" = {
directories = [
".ssh"
".local/share/direnv"
".gnupg"
".local/share/keyrings"
"Maildir"
];
allowOther = true;
};
home.stateVersion = "23.11";
home.packages = [ pkgs.muchsync ];
};
}

View file

@ -0,0 +1,91 @@
{ pkgs, config, ... }:
{
environment.systemPackages = [ config.services.nextcloud.occ ];
age.secrets."nextcloud-admin-password" = {
file = ../../secrets/nextcloud-admin-password.age;
owner = "nextcloud";
group = "nextcloud";
};
age.secrets."nextcloud-s3-token" = {
file = ../../secrets/nextcloud-s3-token.age;
owner = "nextcloud";
group = "nextcloud";
};
services.nextcloud = {
enable = true;
configureRedis = true;
database.createLocally = true;
package = pkgs.nextcloud31;
https = true;
hostName = "nuage.luj.fr";
autoUpdateApps.enable = true;
config = {
dbtype = "pgsql";
adminuser = "admin";
adminpassFile = config.age.secrets."nextcloud-admin-password".path;
objectstore.s3 = {
enable = true;
hostname = "s3.luj.fr";
usePathStyle = true;
port = 443;
region = "paris";
bucket = "nextcloud-bucket";
key = "GK5e980f5f3c7e2780b931ccd0";
secretFile = config.age.secrets."nextcloud-s3-token".path;
autocreate = false;
};
};
settings = {
overwriteprotocol = "https";
overwritehost = "nuage.luj.fr";
"overwrite.cli.url" = "https://nuage.luj.fr";
updatechecker = false;
default_phone_region = "FR";
"memories.exiftool" = "${pkgs.exiftool}/bin/exiftool";
"memories.vod.ffmpeg" = "${pkgs.ffmpeg-headless}/bin/ffmpeg";
"memories.vod.ffprobe" = "${pkgs.ffmpeg-headless}/bin/ffprobe";
trusted_proxies = [ "::1" ];
allow_local_remote_servers = true;
allow_user_to_change_display_name = false;
lost_password_link = "disabled";
};
poolSettings = {
"pm" = "dynamic";
"pm.max_children" = "32";
"pm.start_servers" = "8";
"pm.min_spare_servers" = "2";
"pm.max_spare_servers" = "16";
"pm.max_requests" = "500";
};
phpOptions = {
"opcache.enable_cli" = "1";
"opcache.interned_strings_buffer" = "32";
"opcache.max_accelerated_files" = "10000";
"opcache.memory_consumption" = "256";
"opcache.revalidate_freq" = "1";
"opcache.fast_shutdown" = "0";
"openssl.cafile" = "/etc/ssl/certs/ca-certificates.crt";
};
};
services.nginx.virtualHosts."nuage.luj.fr" = {
enableACME = true;
forceSSL = true;
extraConfig = ''
proxy_max_temp_file_size 4096m;
'';
};
}

112
machines/gustave/nsd.nix Normal file
View file

@ -0,0 +1,112 @@
{
config,
lib,
nixosConfigurations,
dnsLib,
...
}:
let
zonesToList = lib.mapAttrsToList (name: value: { ${name} = value; });
zonesFromConfig = lib.mkMerge (
lib.fold (elem: acc: acc ++ (zonesToList elem.config.machine.meta.zones)) [ ] (
lib.attrValues nixosConfigurations
)
);
allowedDomains = [
"luj.fr"
"julienmalka.me"
"malka.family"
"luj"
"malka.sh"
"hownix.works"
];
isVPNDomain = domain: lib.dns.domainToZone [ "luj" ] domain != null;
zonesFromSnowField = lib.fold (elem: acc: lib.attrsets.recursiveUpdate acc elem) { } (
lib.flatten (
map (
elem:
let
domains = if builtins.hasAttr "subdomains" elem then elem.subdomains else [ ];
in
map (domain: {
machine.meta.zones.${lib.dns.domainToZone allowedDomains domain}.subdomains =
lib.dns.domainToRecords (lib.dns.getDomainPrefix allowedDomains domain) elem
(isVPNDomain domain);
}) domains
) (lib.attrValues lib.snowfield)
)
);
evalZones =
zones:
(lib.evalModules {
modules = [
{
options = {
zones = lib.mkOption {
type = lib.types.attrsOf dnsLib.types.zone;
description = "DNS zones";
};
};
config = {
inherit zones;
};
}
];
}).config.zones;
stateDir = "/var/lib/nsd";
in
lib.mkMerge [
{
services.nsd = {
enable = true;
interfaces = [
config.machine.meta.ips.vpn.ipv4
config.machine.meta.ips.vpn.ipv6
config.machine.meta.ips.public.ipv6
];
zones = lib.mapAttrs (_: value: {
data = builtins.toString value;
provideXFR = [
"100.100.45.0/24 NOKEY"
"fd7a:115c:a1e0::1/128 NOKEY"
];
notify = [
"${lib.snowfield.akhaten.ips.vpn.ipv4} NOKEY"
"fd7a:115c:a1e0::1 NOKEY"
];
}) (evalZones zonesFromConfig);
};
systemd.services.nsd.preStart = lib.mkAfter ''
if [ -f ${stateDir}/counter ]; then
current_value=$(cat ${stateDir}/counter)
new_value=$((current_value + 1))
echo "$new_value" > ${stateDir}/counter
else
echo "0" > ${stateDir}/counter
new_value="0"
fi
for file in ${stateDir}/zones/*; do
sed -i "3s/0/$new_value/" "$file"
done
'';
networking.firewall.allowedUDPPorts = [ 53 ];
networking.firewall.allowedTCPPorts = [ 53 ];
# Page server disabled for now
#machine.meta.zones."luj.fr".TXT = [ "homepage.luj.luj-static.page" ];
}
# DNS Records from all non local configurations are exported here
zonesFromSnowField
]

122
machines/gustave/pages.nix Normal file
View file

@ -0,0 +1,122 @@
{
lib,
pkgs,
config,
...
}:
let
allowedUpstream = "2a01:e0a:de4:a0e1:4bb5:9275:6010:e9b5/128";
in
{
age.secrets."pages-settings-file".file = ../../secrets/pages-settings-file.age;
services.codeberg-pages = {
enable = true;
package = pkgs.unstable.codeberg-pages.overrideAttrs (_: {
src = pkgs.fetchFromGitea {
domain = "codeberg.org";
owner = "Codeberg";
repo = "pages-server";
rev = "044c684a47853af53c660e454328348a49277c9c";
hash = "sha256-FZmz4pSSa+d9UGUZuK6ROktsoDtYL8xBl0eRtr/BAD0=";
};
vendorHash = "sha256-Zs900VVd9jZIoeVFv2SqD97hbTqv2JqroDUz8G3XbY0=";
patches = [
./update-lego.patch
];
});
settings = {
ACME_ACCEPT_TERMS = "true";
ACME_EMAIL = "acme@malka.sh";
DNS_PROVIDER = "gandiv5";
ENABLE_HTTP_SERVER = "false";
GITEA_ROOT = "http://127.0.0.1:3000";
PORT = "8010";
PAGES_DOMAIN = "luj-static.page";
RAW_DOMAIN = "raw.luj-static.page";
PAGES_BRANCHES = "pages,main,master";
USE_PROXY_PROTOCOL = "true";
LOG_LEVEL = "trace";
};
settingsFile = config.age.secrets."pages-settings-file".path;
};
networking.nftables.enable = true;
# Only requests from the router must be accepted by proxy protocol listeners
# in order to prevent ip spoofing.
networking.firewall.extraInputRules = ''
ip6 saddr ${allowedUpstream} tcp dport 444 accept
ip6 saddr ${allowedUpstream} tcp dport 8110 accept
'';
networking.firewall.allowedTCPPorts = [
8010
];
luj.nginx.enable = true;
services.nginx = {
appendHttpConfig = ''
set_real_ip_from ${allowedUpstream};
real_ip_header proxy_protocol;
'';
defaultListen = [
# proxy protocol listener with ipv6, which is what is used by the sniproxy
{
addr = "[::]";
port = 444;
ssl = true;
proxyProtocol = true;
}
# used for certificate requests with let's encrypt
{
addr = "[::]";
port = 80;
ssl = false;
}
# listener for ipv6 clients in private infra
{
addr = "[${config.machine.meta.ips.vpn.ipv6}]";
port = 443;
ssl = true;
}
# listener for ipv4 client in private infra
{
addr = config.machine.meta.ips.vpn.ipv4;
port = 443;
ssl = true;
}
# used for certificate request with internal CA
{
addr = "[${config.machine.meta.ips.vpn.ipv6}]";
port = 80;
ssl = false;
}
];
# Listen to ipv6 packets coming from the internet, check the SNI
# If they are one of the declared virtualHosts, forward them to the proxy protocol listener
# for that virtualHost, else forward them to the page server
streamConfig = ''
map $ssl_preread_server_name $sni_upstream {
hostnames;
default [::]:8010;
${lib.concatMapStringsSep "\n" (vhost: " ${vhost} [::0]:444;") (
lib.filter (e: e != "default") (lib.attrNames config.services.nginx.virtualHosts)
)}
}
server {
listen [${config.machine.meta.ips.public.ipv6}]:443;
ssl_preread on;
proxy_pass $sni_upstream;
proxy_protocol on;
}
'';
};
}

View file

@ -0,0 +1,27 @@
{ config, ... }:
{
services.plausible = {
enable = true;
server = {
baseUrl = "https://probable.luj.fr";
port = 8455;
secretKeybaseFile = config.age.secrets.plausible-secret-key-base.path;
};
};
services.nginx.virtualHosts = {
"probable.luj.fr" = {
forceSSL = true;
enableACME = true;
locations."/" = {
proxyPass = "http://localhost:${toString config.services.plausible.server.port}";
};
};
};
age.secrets = {
plausible-admin-password.file = ../../secrets/plausible-password.age;
plausible-secret-key-base.file = ../../secrets/plausible-keybase-secret.age;
};
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,18 @@
{ config, ... }:
{
age.secrets."readeck-config".file = ../../secrets/readeck-config.age;
services.nginx.virtualHosts."read.luj" = {
forceSSL = true;
enableACME = true;
locations."/" = {
proxyPass = "http://localhost:8000";
};
};
services.readeck = {
enable = true;
environmentFile = config.age.secrets."readeck-config".path;
};
}

View file

@ -0,0 +1,51 @@
{ config, ... }:
{
services.syncthing = {
enable = true;
user = "julien";
group = "users";
overrideDevices = true;
overrideFolders = true;
settings.options = {
urAccepted = -1;
listenAddresses = [ "tcp://${config.machine.meta.ips.vpn.ipv4}" ];
};
devices = {
"fischer" = {
id = "PLIMD3Z-L4DYKDB-MY4PFTS-3RMQUNF-GFWFOBB-SELW6MB-WIQJ2LM-QAC45QQ";
addresses = [
"tcp://fischer.luj:22000"
];
};
"gallifrey" = {
id = "P3BTFAX-4MCSFQB-C5R5YBP-YGMJ6FU-OKJN4QG-MJ2BV6Y-YB4U7VL-3GFSTAM";
addresses = [
"tcp://gallifrey.luj:22000"
];
};
};
folders = {
"dev" = {
path = "/home/julien/dev";
devices = [
"fischer"
"gallifrey"
];
};
};
};
systemd.services.syncthing.serviceConfig.StateDirectory = "syncthing";
systemd.services.syncthing.environment.STNODEFAULTFOLDER = "true";
environment.persistence."/persistent".directories = [
{
directory = "/home/julien/dev";
user = "julien";
group = "users";
}
];
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,72 @@
{
pkgs,
inputs,
profiles,
...
}:
{
imports = [
./hardware.nix
./home-julien.nix
./uptime-kuma.nix
];
machine.meta = {
arch = "aarch64-linux";
nixpkgs_version = inputs.nixpkgs;
hm_version = inputs.home-manager;
profiles = with profiles; [ server ];
ips = {
public.ipv4 = "141.145.197.219";
vpn.ipv4 = "100.100.45.13";
public.ipv6 = "2603:c027:c001:89aa:aad9:34b3:f3c9:924f";
vpn.ipv6 = "fd7a:115c:a1e0::d";
};
};
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
networking.useNetworkd = true;
systemd.network.networks."10-wan" = {
matchConfig.Name = "enp0s3";
DHCP = "ipv4";
addresses = [ { Address = "2603:c027:c001:89aa:aad9:34b3:f3c9:924f"; } ];
linkConfig.RequiredForOnline = "routable";
};
deployment.buildOnTarget = true;
deployment.tags = [ "server" ];
luj.nginx.enable = true;
services.ntfy-sh = {
enable = true;
package = pkgs.unstable.ntfy-sh;
settings = {
listen-http = ":8081";
behind-proxy = true;
upstream-base-url = "https://ntfy.sh";
base-url = "https://notifications.julienmalka.me";
auth-file = "/srv/ntfy/user.db";
auth-default-access = "deny-all";
};
};
services.nginx.virtualHosts."notifications.julienmalka.me" = {
forceSSL = true;
enableACME = true;
locations."/" = {
proxyPass = "http://localhost:8081";
proxyWebsockets = true;
};
};
nix.gc = {
automatic = true;
dates = "weekly";
};
system.stateVersion = "22.11";
}

Some files were not shown because too many files have changed in this diff Show more