Compare commits

...

1391 commits

Author SHA1 Message Date
77a740d2b3 fix: remove startAgent 2025-06-18 15:52:55 +02:00
4ed79be6bf chore: everybody uses attic 2025-06-18 15:45:04 +02:00
229af31872 chore: update deps 2025-06-18 15:42:36 +02:00
614d7ece25 feat: update kanidm 2025-06-18 14:49:03 +02:00
2399b8e9fd feat: update garage 2025-06-18 14:48:56 +02:00
2b1d7bbd8c fix: fix stalwart build 2025-06-18 14:47:26 +02:00
ee328d7e8a feat: init custom stalwart package 2025-06-18 14:27:23 +02:00
db68bed95a chore: silence eval warnings from 25.05 update 2025-06-18 14:18:22 +02:00
114abc4c0a chore: move secrets to private repo 2025-06-18 13:57:51 +02:00
5c0182d087 feat: nextcloud 30 -> 31 2025-06-17 17:43:02 +02:00
73f54128e2 chore: switch home-manager to 25.05 2025-06-17 17:38:49 +02:00
4d33129a6d chore: drop unused stalwart patch 2025-06-17 17:06:30 +02:00
c0b6de04ae fix: try to fix ssh connections 2025-06-17 17:06:20 +02:00
ca80c5104f chore: update deps 2025-06-17 17:05:38 +02:00
2f030046aa fix: fix arcadia build 2025-06-17 16:02:24 +02:00
ea8ff67b73 chore: init garage config on tower 2025-06-17 15:58:25 +02:00
99c14cefa0 fix: fix readeck after 25.05 2025-06-17 14:51:54 +02:00
c5ba0c0fbd fix: fix plausible after 25.05 2025-06-17 14:51:40 +02:00
ca7be358d3 chore: upgrade to 25.05 and other deps 2025-06-17 14:51:17 +02:00
251da7e049 fix: edit biblios tailscale address 2025-06-17 14:50:36 +02:00
85165d784f chore: decrease buildbot eval worker count 2025-06-17 14:48:01 +02:00
ea0d96596e chore: updated artiflakery projects 2025-06-17 13:35:52 +02:00
1fe8889dc0 chore: multiple xorg change for fischer 2025-06-03 15:15:08 +02:00
66c3844ca9 fix: properly import artiflakery 2025-06-03 15:08:47 +02:00
de9659ad8e chore: update deps 2025-06-03 15:08:26 +02:00
f7d71fcc19 feat: deploy artiflakery to gustave 2025-06-03 15:07:00 +02:00
00f8f03221 chore: revert upgrading emacs 2025-05-08 16:04:32 +02:00
2429e7de6d chore: try to make stump work well on fischer 2025-05-06 20:21:19 +02:00
4b382e84ff chore: update deps 2025-05-06 20:20:30 +02:00
a397820bbe chore: modify mailmover to stop breaking sent folder 2025-04-26 13:41:48 +02:00
88176978bc chore: move gustave to ext4 2025-04-26 12:56:41 +02:00
e2ed0b912e chore: something something init arcadia 2025-04-26 12:55:10 +02:00
8f155d1827 chore: add powerline-fonts to fischer 2025-04-26 12:52:18 +02:00
f84edcf795 chore: enable muchsync on fischer 2025-04-26 12:52:10 +02:00
a64c0c2b8b chore: add expunging of mails 2025-04-26 12:50:53 +02:00
558ad1a5f4 feat: init stumpwm on fischer 2025-04-26 12:50:17 +02:00
4bee74856b chore: update mailmover 2025-04-22 19:02:13 +02:00
9bc31dcfe0 fix: fix kanidm fr 2025-04-15 13:31:17 +02:00
5ffd186249 feat: upgrade garage 2025-04-15 13:27:03 +02:00
4bc3f0da0c feat: upgrade kanidm 2025-04-15 13:26:14 +02:00
c933a41da1 feat: migrate forgejo to postgres 2025-04-15 13:24:33 +02:00
adfa525452 chore: update nixpkgs 2025-04-15 12:42:56 +02:00
5fa55a7466 feat: add ltex-lsp to fischer 2025-04-09 20:42:39 +02:00
72ae138971 chore: upgrade gallifrey kernel 2025-04-09 20:42:39 +02:00
995a63637f chore: update unstable 2025-04-09 20:42:39 +02:00
4edea5b857 feat: init git maintenance mode 2025-04-09 20:42:39 +02:00
d460f69df3 feat: add arcadia key to julien 2025-03-18 09:05:15 +01:00
30f706d11a feat: init exwm 2025-03-17 23:02:04 +01:00
9a276885ca chore: update emacs-overlay 2025-03-17 22:59:33 +01:00
143225a514 feat: add rbw to shell 2025-03-17 09:28:50 +01:00
e5310368b8 feat: init syncthing on arcadia 2025-03-17 08:36:32 +01:00
97cda8e791 feat: correct vpn ip for arcadia 2025-03-17 08:35:33 +01:00
5b437998a7 chore: add missing config for arcadia 2025-03-17 06:55:37 +01:00
b6510f1d00 chore: retract some mail options to default 2025-03-16 14:04:50 +01:00
b3cee95cdd feat: setup muchsync on gallifrey 2025-03-16 14:04:21 +01:00
70c4c12416 feat: init arcadia 2025-03-16 14:03:35 +01:00
a1c17bcfd8 chore: temp add my keys for muchsync 2025-03-13 00:17:08 +01:00
6042d724ca chore: ip of machines for fischer 2025-03-13 00:16:09 +01:00
f1b0b5c7e1 chore: some fix to gustave 2025-03-13 00:15:46 +01:00
78192f5886 chore: update deps 2025-03-13 00:13:13 +01:00
9f497f64af feat: re-enable notmuch 2025-03-12 16:04:45 +01:00
95a32e6ddb chore: roundcube on gustave + patch stalwart 2025-03-10 14:19:00 +01:00
ae7ca5ad17 feat: add roundcube 2025-03-08 14:30:15 +01:00
1b4d8e881b chore: test disable gsp 2025-03-01 18:53:24 +01:00
6f43c0478f chore: move to emacs-igc on fischer 2025-02-27 23:32:54 +01:00
f34b9e941b fix: disable diffocope 2025-02-23 11:55:50 +01:00
1b14dc9b49 feat: try emacs-igc 2025-02-23 11:55:40 +01:00
688b6210cc chore: update deps 2025-02-14 11:43:31 +01:00
7e99e43a84 chore(gallifrey): add haskell-language-server 2025-02-09 18:15:00 +01:00
a0dca7c9a8 chore(dns): new domain 2025-02-09 18:14:38 +01:00
b1bae4ef34 chore: update unstable to see if it fixes stalwart 2025-02-09 17:37:57 +01:00
f22a41cc3b fix(dns): fix some more mail records 2025-02-05 10:09:06 +01:00
bfb35ba606 chore(gallifrey): install slack 2025-02-05 09:59:09 +01:00
0cf9262002 fix(akhaten): fix CNAME records 2025-02-05 09:59:00 +01:00
446b533f6b chore(gallifrey): create symlink for emacs config 2025-02-04 23:14:35 +01:00
eaf8002c43 chore: decomission nuage 2025-02-02 17:44:12 +01:00
2456d7cd1c feat(gustave): use upstream readeck 2025-02-02 17:44:03 +01:00
4c7f4d72cd chore: update deps 2025-02-02 17:42:35 +01:00
b792a51d1b fix(gallifrey): remove rstudio (build failure) 2025-02-02 17:42:21 +01:00
4122af199c chore: delete readeck 2025-02-02 16:57:24 +01:00
42b233b2ac chore: delete readeck as it has been merged upstream 2025-02-02 16:56:47 +01:00
ab9844cc30 chore: activate syncthing on several machines 2025-01-25 16:49:42 +01:00
0ba2ce023a chore: update readme 2025-01-25 16:48:53 +01:00
ac00a8f9d3 chore: syncthing changer 2025-01-20 23:37:22 +01:00
8bcbf36e4e chore: update gustave id 2025-01-20 23:11:07 +01:00
ffc9320e5f feat(fischer): init syncthing 2025-01-20 22:28:28 +01:00
bd570326d3 feat(gustave): init syncthing 2025-01-19 22:54:03 +01:00
2904ce8e0b feat: redirect julienmalka.me->luj.fr 2025-01-18 01:02:33 +01:00
ba99648b9c feat: add declarative status page 2025-01-18 00:25:18 +01:00
cad537ec36 fix(fischer): fix nerdfonts 2025-01-14 16:40:42 +01:00
2003d633ed chore: update deps 2025-01-14 16:37:18 +01:00
1107819c83 chore: add yubikey support 2025-01-14 16:35:15 +01:00
e8d8765772 fix(perf): deploy personal page using s3 2025-01-12 00:52:54 +01:00
537912d410 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
f10c4b0bb7 feat(gustave): init glance 2025-01-10 02:33:26 +01:00
f49af388c9 feat(gustave): init mastodon 2025-01-10 02:33:09 +01:00
621fb45511 fix: fix sonarr + jackett on gustave 2025-01-03 00:16:39 +01:00
f9969fb4b7 fix: fix eval error on nerdfonts 2025-01-02 10:03:09 +01:00
863f4bdf92 chore: fallback on current mbsync 2025-01-02 10:02:52 +01:00
8e248115f2 chore: update deps 2025-01-01 10:33:28 +01:00
4691053ab7 fix: fix luj.fr monitor 2025-01-01 10:32:04 +01:00
f8caeb53eb feat: activate wake on lan on gallifrey 2025-01-01 10:32:04 +01:00
7445827ce7 chore: update nixpkgs 2024-12-25 18:03:29 +01:00
88aa1e4ebe feat: update authorized principals 2024-12-24 15:07:42 +01:00
8963c4a0dc feat(gustave): bootstrap a new nextcloud 2024-12-23 21:47:44 +01:00
dcebc64a46 feat: init biblios 2024-12-21 20:29:24 +01:00
ef5aafd1ba chore: add declarative vms module 2024-12-21 20:28:55 +01:00
ac70ab9806 chore(shell): add nixmoxer 2024-12-21 13:42:48 +01:00
8af92493b8 chore: clean useless timezone 2024-12-21 12:55:04 +01:00
40d3806e25 feat(core-security): init kanidm 2024-12-21 10:38:58 +01:00
65d6f842ef feat(luj.fr): add monitor 2024-12-13 21:27:45 +01:00
655d9a32a1 feat: finish stateless uptime kuma monitors configuration 2024-12-13 21:24:15 +01:00
3f3d3511fe fix(chore-data): add behind-sniproxy profile 2024-12-13 21:23:11 +01:00
3ee681c87b chore(gustave/songs): disable 2024-12-13 21:22:49 +01:00
5157fd0d42 chore(pages): add better logging to debug slowness 2024-12-12 22:58:19 +01:00
4d2a8623c9 fix(gustave/nsd): actually open port 53 over tcp for zone transfers 2024-12-12 22:57:50 +01:00
e6ea1aea20 chore: updates to fischer 2024-12-09 09:53:48 +01:00
aae53a271d feat(gallifrey/julien): make nixfmt-rfc-style available 2024-12-08 15:03:37 +01:00
79a8e1c6af 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
1502a6d317 feat: add initial setup for declarative uptime-kuma monitors 2024-12-08 13:23:45 +01:00
aa8a46e8f1 chore: ditch arkheon 2024-12-08 00:07:57 +01:00
c207b9ab0a feat: update uptime-kuma to 2.0, declarative config 2024-12-07 22:56:52 +01:00
f024df1e66 feat: clean proxy protocol everywhere 2024-12-07 01:03:20 +01:00
6500a1d4f5 feat(gustave): init plausible 2024-12-06 17:13:46 +01:00
aaaeee0ac0 chore: lots of pain to make code server work
But it was dns...
2024-12-06 16:34:10 +01:00
6d591609b9 feat(readeck): 0.15.4 -> 0.16.0 2024-12-05 21:03:53 +01:00
2cd60e83fa fix(keycloak): remove dynamic backchannel 2024-12-05 21:03:33 +01:00
74214983ba fix(eval): silence last eval warning 2024-12-01 17:59:34 +01:00
6b15ff10c3 fix(eval): silence some eval warnings 2024-12-01 17:58:31 +01:00
e3b20e46ec feat(nuage): update to nextcloud 30 2024-12-01 17:45:56 +01:00
871df9b23b fix(keycloak): more adaptations 2024-12-01 17:45:43 +01:00
b004eefced fix(keycloak): option changed name 2024-12-01 16:26:37 +01:00
15f8c563a7 fix(nuage): silence warning 2024-12-01 16:23:10 +01:00
af85f149f8 feat: update to 24.11 2024-12-01 16:12:06 +01:00
d68971ac2b feat: some changes for emacs 2024-11-30 20:51:16 +01:00
0819de8ecc feat: use acme address for let's encrypt 2024-11-30 20:48:53 +01:00
2abb60d0e9 feat: we have ygg at home 2024-11-30 20:46:38 +01:00
707ad3a495 chore: goodbye custom jackett 2024-11-30 20:45:51 +01:00
d959347e86 feat(gallifrey): enable mu 2024-11-25 22:15:28 +01:00
8eda741209 feat(profiles/base): disable network-manager-wait-online because it's so anoying 2024-11-25 22:15:17 +01:00
1fa01d0f7d feat(home-manager/mails): use secrets for passwords 2024-11-25 21:12:29 +01:00
08337f3e9c fix(gallifrey): revert to kernel 6.11 2024-11-25 20:13:37 +01:00
f87c2f9ab2 fix(snowfield): drop patches 2024-11-25 19:34:37 +01:00
817851e0f0 feat(gallifrey): add a few softwares 2024-11-25 19:19:53 +01:00
e662b90e5a chore: update deps 2024-11-25 19:19:53 +01:00
a9698e572d feat(modules/nix): machine's nixpkgs in nixPath 2024-11-25 19:19:53 +01:00
e7f3799615 feat(home-manager/mail): continue deprecation of neomutt 2024-11-25 19:19:53 +01:00
fbd24b77c4 fix(gustave/nginx): listen on ipv6 port 80 for let's encrypt 2024-11-25 19:19:53 +01:00
77f8ca953a feat(home-manager/mail): deprecate neomutt 2024-11-25 19:07:04 +01:00
c10a116751 feat(fischer): add hledger and change emacs version 2024-11-25 19:06:42 +01:00
4468256e30 feat(fisher): join zerotier network 2024-11-25 19:06:20 +01:00
84b1af93dc chore(snowfield): delete pve2.luj record 2024-11-25 19:06:01 +01:00
da8d7afe19 feat(lambda): init stateless uptime-kuma 2024-11-02 02:09:27 +01:00
ae98700493 chore(gallifrey): make epyc aarch64 remote builder 2024-11-02 02:08:57 +01:00
b4d2f40666 feat(servers): add motd 2024-11-02 00:49:31 +01:00
9a6de4eb07 feat(gustave): enable fileUpload on the-lounge 2024-11-01 22:43:24 +01:00
af9e895e93 chore(gustave): intro readeck 2024-11-01 22:43:02 +01:00
0f4cce40dc feat(gallifrey): intro backup ssd 2024-11-01 22:42:43 +01:00
016dd9c974 chore(gallifrey): drop cosmic, go back to gnome 2024-11-01 22:42:30 +01:00
e49804577d chore(gallifrey): add .gnupg to persisted paths 2024-10-26 11:48:43 +02:00
8a17349ce7 chore: update deps 2024-10-26 11:48:28 +02:00
66e22a751d fix(nginx): better handling of ssl_stapling 2024-10-26 04:18:59 +02:00
a3627e86b6 fix: force certificate server for CA 2024-10-26 04:12:46 +02:00
8d987a5e38 feat(dns,nginx): add some weird magic 2024-10-26 04:09:35 +02:00
e91ecd2ab6 chore(pages): cleanup module 2024-10-26 04:06:52 +02:00
8f4c465980 feat(home-manager/fish): add emacs integration 2024-10-26 00:16:28 +02:00
a6ee8e597f chore(gallifrey): persist zotero 2024-10-23 17:53:01 +02:00
98f717d3ad feat(gallifrey): add spellcheck to emacs 2024-10-23 17:52:43 +02:00
9d2dac0360 chore: revert to default lon expression 2024-10-22 23:06:00 +02:00
275aeccbb6 chore(profiles/networking): add useNetworkd 2024-10-22 22:52:23 +02:00
ef557aaa91 chore(fischer): emacs spell checking 2024-10-22 22:52:02 +02:00
66806a9857 chore(fischer): add mu to path 2024-10-22 22:51:46 +02:00
c8b1cadaa1 chore(gallifrey): move to pgtk + enable zotero 2024-10-21 20:12:30 +02:00
4b3fb1a9f5 chore: drop zotero-nix 2024-10-21 17:09:27 +02:00
bc612ba433 feat(profiles/base): add nixos-firewall-tool 2024-10-21 10:32:42 +02:00
5a99018666 chore(fischer): drop cvc5 + move to emacs-pgtk 2024-10-20 17:49:53 +02:00
f19c38d633 chore: update deps 2024-10-20 16:01:27 +02:00
43f144b953 chore: update deps 2024-10-18 11:12:56 +02:00
4cc6e05d13 chore: update deps 2024-10-16 22:10:25 +02:00
3357decd3c feat(pages): add proxy protocol 2024-10-16 22:05:27 +02:00
2aa4c78a73 chore(gallifrey): add epyc to know hosts 2024-10-16 22:04:16 +02:00
514491b769 feat(gustave/borg): add galifrey's key 2024-10-13 16:28:34 +02:00
a802d8a848 chore(eval): add ips to all machines 2024-10-13 13:33:11 +02:00
43610ad18c Revert "chore(home-manager/kitty): fix eval warning"
This reverts commit fbcba53ad7.
It breaks evaluation of 24.05 machines
2024-10-13 12:54:07 +02:00
3ad16b236d chore(akhaten): fix eval warning 2024-10-13 12:45:47 +02:00
fbcba53ad7 chore(home-manager/kitty): fix eval warning 2024-10-13 12:44:08 +02:00
565926da02 chore(fischer): fix eval warning 2024-10-13 12:41:38 +02:00
9d06e5a628 fix(gustave): fix pages build 2024-10-13 12:40:27 +02:00
4604e8038b chore(gallifrey): fix eval warning 2024-10-13 12:39:34 +02:00
96db988366 chore(nuage): fix eval warning 2024-10-13 12:39:06 +02:00
e4165e8893 chore(gallifrey): fix eval warning 2024-10-13 12:37:49 +02:00
6cafa98bf8 feat(nuage): add collabora 2024-10-13 12:36:39 +02:00
1b65e7f106 fix(gallifrey): add empty ip to calm down CI 2024-10-13 12:36:30 +02:00
70a128b2e1 feat(keys): add gallifrey to all machines 2024-10-13 12:36:15 +02:00
e3819ec8ae chore(pages): move to git.luj.fr 2024-10-13 12:35:56 +02:00
c86b068c54 chore(deployment): use ips instead of fqdn 2024-10-13 12:34:10 +02:00
5b0d977165 feat(gustave): activate pages 2024-10-13 12:33:08 +02:00
10bb925985 feat(pages): clean the module 2024-10-13 12:32:43 +02:00
c97fa41455 chore(fish): add alias to nom 2024-10-13 12:25:45 +02:00
97249881d3 chore: add some more saved folders 2024-10-13 12:24:41 +02:00
5ebb5793c1 chore: update deps 2024-10-13 12:24:15 +02:00
ee97d65f16 chore: luj-static is handled by gandi 2024-10-11 12:10:05 +02:00
34cf5ec200 chore: update deps 2024-10-11 11:19:12 +02:00
37849f9849 chore: sunset enigma 2024-10-10 22:11:35 +02:00
dd4ad52c54 feat: several changes for gallifrey 2024-10-10 22:11:21 +02:00
e6fa76a8c3 chore: update deps 2024-10-10 22:09:13 +02:00
1f5cff7c8b feat: init sound profile 2024-09-30 18:28:51 +02:00
f32360fe1a chore: add folders to impermanence 2024-09-30 12:29:38 +02:00
9065f81f07 fix: fix a few typos 2024-09-30 10:46:41 +02:00
718e996b22 feat: activate impermanence on gallifrey 2024-09-30 10:43:01 +02:00
6a1ae8a6d5 feat: init gallifrey 2024-09-30 09:36:09 +02:00
0c930ca3f8 chore: add dns records for agorakit 2024-09-27 18:43:23 +02:00
039cd1860f chore: update deps 2024-09-17 19:44:53 +02:00
fe7636e929 chore: drop npins from shell 2024-09-10 15:15:28 +02:00
1c1242aa5f chore: drop useless script 2024-09-10 15:15:06 +02:00
b353c1aa1e chore: dropping unecessary patches 2024-09-10 15:13:48 +02:00
79c2f8e893 chore: fix arkheon import 2024-09-10 15:11:56 +02:00
75191f4189 chore: drop mailserver module 2024-09-10 15:09:43 +02:00
611b3fec95 feat: move from npins to lon 2024-09-10 15:07:35 +02:00
2041b66afe chore: decomission lisa 2024-09-10 14:27:52 +02:00
d9cf8d9159 chore: update mail config 2024-09-05 12:49:14 +02:00
2903dd4c72 chore: fix ns on malka.sh to work with ovh 2024-09-05 10:55:25 +02:00
04706a5f09 chore: enable hedgedoc on akhaten 2024-09-05 10:55:09 +02:00
f8023c5d8e chore: disable mailserver on lisa 2024-09-05 10:54:54 +02:00
5833c279f2 chore: disable hedgedoc on lisa 2024-09-05 10:54:27 +02:00
b752f33201 chore: remove tunnel on lisa 2024-09-04 17:53:50 +02:00
3d0ca8e25f fix: fix mediaserver uid 2024-09-04 15:30:59 +02:00
e3f98821ac chore: add malka.sh mail records 2024-09-04 15:30:36 +02:00
c33f8ed32c feat: add malka.sh zone to dns 2024-09-04 15:30:24 +02:00
ad42157479 feat: move vpn ip from lisa to akhaten 2024-09-04 15:30:04 +02:00
3075cd0dd6 feat: init backup module 2024-09-03 22:03:09 +02:00
bf0a148264 chore: forgejo switch to unstable 2024-09-02 18:24:46 +02:00
209c124afc chore: remove bottom from gustave 2024-09-02 16:43:33 +02:00
bc31afe86a feat: setup arkheon 2024-09-02 16:42:35 +02:00
9c4bf3af61 fix: add patch for swaylock-effects 2024-09-02 14:25:52 +02:00
4d5f3667bf chore: add patch to fix hyprpaper 2024-09-02 14:21:25 +02:00
b113dacc80 chore: use patched hyprland 2024-09-02 14:16:36 +02:00
245fb089b9 fix: fix patch hash 2024-09-02 14:12:59 +02:00
56f95f3bc0 fix: add patch for xdg-desktop-portal-hyperland 2024-09-02 14:11:58 +02:00
c54b4d9c95 chore: update deps 2024-09-02 12:47:41 +02:00
247eaa0495 chore: add pve subdomains manually 2024-09-02 12:13:56 +02:00
ddfb3de1fb chore: enable tsts on stalwart 2024-08-26 10:36:34 +02:00
e9e954ee57 chore: add dns records for mail server 2024-08-26 00:55:18 +02:00
56869ba276 chore: redeploy stalwart with hidden creds 2024-08-25 19:28:56 +02:00
5cd0159059 feat(dns): add dns records for stalwart 2024-08-25 12:14:11 +02:00
e4e9b72d1b chore: cosmetic changes 2024-08-25 12:13:55 +02:00
b3b1b90626 feat(dns): add defaults to each zone through the module system 2024-08-25 12:13:35 +02:00
82430d4736 chore: move mkMachine in lib 2024-08-24 22:45:30 +02:00
c2e8c17abd fix: remove nixfmt patch 2024-08-24 22:45:18 +02:00
12734c7683 fix: remove zotero from fischer 2024-08-24 22:33:52 +02:00
4701f53215 chore: reduce number of dnsLib eval 2024-08-24 22:27:59 +02:00
8628d5ec30 chore: update deps 2024-08-24 20:41:55 +02:00
5c615978ed chore(enigma): various cleanups 2024-08-24 20:41:48 +02:00
07ebc9dfff fix: fix wallpaper not existing anymore 2024-08-24 20:25:08 +02:00
5d9e263223 chore(akhaten): remove useless targetHost 2024-08-24 16:06:14 +02:00
3b5b6dc662 chore: add ns A/AAAA records to all zones 2024-08-24 16:00:12 +02:00
9e63f160a3 chore: add router to snowfield 2024-08-24 15:59:10 +02:00
ae5c981c47 feat(dns): communicate with router through vpn ipv6 2024-08-24 15:00:51 +02:00
9395473a72 feat(dns): add A/AAAA records of name servers 2024-08-24 15:00:28 +02:00
489c7b6966 feat(akhaten): allow TCP connexions to DNS 2024-08-24 14:59:53 +02:00
7a5aca3c05 feat: enable ipv6 for akhaten 2024-08-24 02:12:38 +02:00
9471a6a902 feat: generalize simple network profile 2024-08-24 01:03:39 +02:00
1fef242ebf feat(dns): add router secondary 2024-08-24 00:55:55 +02:00
59add31947 feat(profiles/base): add internal record for each machine 2024-08-24 00:55:40 +02:00
1cfde66384 feat(akhaten): enable impermanence 2024-08-21 23:27:25 +02:00
b75daec23d chore: update disko 2024-08-21 23:27:03 +02:00
e213882a61 feat(profiles/base): add coma/command-not-found 2024-08-21 23:26:51 +02:00
9a1a268ce1 feat(deployment): make all options defaults 2024-08-21 23:26:10 +02:00
93f4df7f83 feat: init pages server 2024-08-21 15:50:46 +02:00
2aa33efac9 chore: remove x2100 2024-08-14 22:22:40 +02:00
1c75f6f4fc chore: add vm-simple-network to all eligible machines 2024-08-14 22:21:07 +02:00
f59a27b652 feat: intro vm-simple-network profile 2024-08-14 22:13:13 +02:00
95231289bc chore: remove useless users imports 2024-08-14 21:09:54 +02:00
42dc233576 chore: remove useless base.nix 2024-08-14 21:07:15 +02:00
d03904704a feat: intro profiles mechanism 2024-08-14 20:23:21 +02:00
dac48324d8 feat: generalize dns serial script to all zones 2024-08-14 17:16:29 +02:00
080bd3fbad fix: fix some subdomains not being generated 2024-08-14 16:20:46 +02:00
13b663085d fix: fix records from non local machines 2024-08-14 16:09:14 +02:00
230eb9f4bd fix: remove sound option from x2100 2024-08-14 14:58:35 +02:00
2a6e1b536e feat: add records from non local machines 2024-08-14 14:58:06 +02:00
5f52e53b5e feat: add non local machines to snowfield 2024-08-14 13:54:13 +02:00
5ac8992f5c chore: decomission luj lib 2024-08-14 13:32:07 +02:00
14494c7921 feat: implement notifications from gustave->akhaten 2024-08-14 13:15:29 +02:00
b80192e28e feat: deploy nsd on akhaten 2024-08-14 13:13:52 +02:00
1a054de96f fix: fix colmena with meta module 2024-08-14 13:12:49 +02:00
0a88cfa7e1 chore: change provideXFR for gustave 2024-08-13 20:41:00 +02:00
f7a75cb5cb chore: delete useless machines 2024-08-13 20:29:02 +02:00
0112d41ac2 chore: update dns.nix 2024-08-13 20:26:31 +02:00
86a0c84c62 chore: disable records for default vHost 2024-08-13 20:21:40 +02:00
f51bb5e066 feat: add NS records to zones 2024-08-13 20:21:19 +02:00
086924cdab feat: add dns module 2024-08-12 18:15:30 +02:00
b3081c691c chore: add dns.nix 2024-08-12 18:13:50 +02:00
293bcadd92 feat: expose nixosConfigurations to machines 2024-08-12 18:13:37 +02:00
1e14d0f37c feat: add dns lib 2024-08-12 18:12:37 +02:00
ac99031d19 chore: rewrite ips meta 2024-08-12 18:12:00 +02:00
d27f740966 chore: adapt machine creation to meta module 2024-08-10 17:59:19 +02:00
d32452cef4 chore: adapt ssh-client to meta module 2024-08-10 17:59:02 +02:00
70ae9a5e51 feat: use meta module in lib 2024-08-10 17:57:46 +02:00
f42d9a7e95 chore: use meta module 2024-08-10 17:56:30 +02:00
7e2373631d feat: add meta module 2024-08-10 17:56:12 +02:00
77c7a68ea9 feat: init codeberg-pages 2024-08-09 17:03:10 +02:00
582bc0e657 chore: update nixpkgs 2024-08-09 17:01:14 +02:00
763c245416 chore: firefox-esr -> firefox 2024-08-09 17:01:05 +02:00
5f891b8aa3 chore: add correct portal to fischer 2024-08-09 17:00:53 +02:00
cd55f504df feat: add forgejo runner on tower 2024-08-03 11:06:14 +02:00
84bdacfc70 chore: lix on tower 2024-08-03 11:05:58 +02:00
d0fa320bbe chore: remove attic-exec cache 2024-08-03 10:58:23 +02:00
cf760e442d chore: update akhaten vpn ip 2024-08-02 16:17:11 +02:00
a08b18733f chore: rename lisanew 2024-08-01 20:25:37 +02:00
1907ce8933 chore: update buildbot-nix 2024-07-21 10:59:24 +02:00
63f02d0672 chore: remove albert 2024-07-13 00:23:53 +02:00
8c5477f0e1 fix: silence warning for adwaita-icon 2024-07-13 00:07:09 +02:00
f6104a7236 chore: silence warnings in shell.nix 2024-07-12 16:41:22 +02:00
dc460ca9cf chore: improve shells 2024-07-12 16:31:09 +02:00
8ad260f7a5 chore: silence git-hooks nixfmt warning 2024-07-12 15:50:49 +02:00
36fd22fa91 chore: update deps 2024-07-12 15:50:09 +02:00
2ea4fe4585 chore: add vpn ip for lisanew 2024-07-11 00:57:45 +02:00
a3c8439d44 fix: fix hyprland on enigma 2024-07-10 23:36:06 +02:00
995e898b72 chore: init lisanew 2024-07-10 00:36:37 +02:00
a8e024ee40 feat: move to firefox non esr 2024-07-10 00:36:21 +02:00
b34d6c20a6 chore: add rbw to shell 2024-07-10 00:36:02 +02:00
d2b94ebd4b fix: fix routes on gustave 2024-07-08 16:45:48 +02:00
7da483c104 chore: openssh on port 22 too for gustave bc of git server 2024-07-08 11:22:27 +02:00
c671eadd85 chore: add some forgejo settings 2024-07-06 18:40:12 +02:00
d514887f40 feat: enable forgejo 2024-07-04 22:25:24 +02:00
747d3427a5 fix: fix dirty label 2024-07-04 21:52:10 +02:00
7760d21953 feat: more semantic system labels 2024-07-04 21:30:05 +02:00
d5fd2e611f chore: update deps 2024-07-04 21:29:47 +02:00
54e0c10ed3 chore: fix more eval warnings 2024-07-01 21:53:52 +02:00
3fc1e9270b chore: fix a few eval warnings 2024-06-28 11:16:58 +02:00
7f9493bea8 chore: update deps 2024-06-28 10:55:58 +02:00
c2f71d46b4 chore: switch lambda to systemd-networkd 2024-06-25 16:14:08 +02:00
357fe77267 chore: nextcloud27 -> nextcloud29 2024-06-25 15:25:04 +02:00
0d6345ecf2 chore: use nixpkgs's attic-client 2024-06-25 15:24:50 +02:00
461bc46771 chore: we don't need neomutt, we have neomutt at home 2024-06-25 10:15:10 +02:00
55693840d8 chore: use upstream lix 2024-06-25 10:12:15 +02:00
18d03b8017 chore: npins update and move away from building lix 2024-06-25 10:11:59 +02:00
430000a114 chore: add wireguard tunnel for camille 2024-06-25 10:11:17 +02:00
3b0d534a1f chore: add camille as buildbot owner 2024-06-25 10:10:23 +02:00
bfa7436414 fix: ensurePermissions -> ensureDBOwnership 2024-06-25 10:10:01 +02:00
d80dd962df fix: return to a version of neomutt that starts 2024-06-25 10:07:04 +02:00
f4b0515c75 chore: add proxmox-nixos domain 2024-06-24 13:06:04 +02:00
a3c038ad29 chore: update deps 2024-06-18 10:21:51 +02:00
e4f03d2dd3 chore: update everyone to 24.11 2024-06-01 12:39:34 +02:00
7e6e5830da chore: nuage nextcloud 27 2024-05-27 23:44:30 +02:00
dd891598a4 fix: add arch to nuage 2024-05-27 23:43:39 +02:00
d4bb4358d8 feat: nuage init 2024-05-27 23:01:33 +02:00
d0528177c7 chore: step-cli for everyone 2024-05-27 22:58:09 +02:00
9423199c7a feat: intro nuage 2024-05-27 22:56:16 +02:00
95a88fd9c7 chore: clean enigma 2024-05-26 20:37:28 +02:00
bee17042b9 chore: filter configurations through colmena tags 2024-05-26 20:24:00 +02:00
dd51b3cd10 chore: add vpn addresses for core-data 2024-05-26 20:07:02 +02:00
44363e9a91 chore: clean machines 2024-05-26 19:32:00 +02:00
07f010a032 chore: clean base config 2024-05-26 17:20:40 +02:00
49496375a7 chore: persist data directories for mediaserver 2024-05-25 19:34:12 +02:00
f6893ae17e chore: persist /srv on gustave 2024-05-25 19:33:42 +02:00
6eecd9ef63 feat: wireguard tunnel from gustave to lisac 2024-05-25 19:25:49 +02:00
cf958acb03 chore: add default route with metric for gustave 2024-05-25 19:24:14 +02:00
acd0cbf1bf chore: rework lisa's networking to use networkd 2024-05-25 19:11:23 +02:00
8107431bab chore: vendor jackett package 2024-05-25 19:09:30 +02:00
d619b6c69b feat: choose interface for deluge 2024-05-25 19:07:53 +02:00
5d89a9cc15 chore: add kitty to all machines 2024-05-25 18:48:44 +02:00
41982b9a4a chore: static ip for tower 2024-05-25 17:50:22 +02:00
91b0e243d4 chore: delete useless secret 2024-05-25 17:49:07 +02:00
619a6bcea9 chore: use most updated package for jackett, sonarr, radarr 2024-05-25 17:48:51 +02:00
4128841829 chore: vendor jackett package 2024-05-25 17:48:08 +02:00
023fec2521 chore: change deluge datadir 2024-05-24 17:32:02 +02:00
9b5e6eba12 chore: delete unnecessary neworking config on gustave 2024-05-24 09:50:41 +02:00
999754f789 chore: move mediaserver to gustave 2024-05-23 19:27:59 +02:00
eb6de0651a chore: reformat jackett 2024-05-23 18:35:14 +02:00
6ccc8f1a51 chore: reformat sonarr 2024-05-23 18:35:05 +02:00
bfa6ae56e0 chore: reformat radarr 2024-05-23 18:33:18 +02:00
9f1a0f4e07 chore: delete sops.yaml 2024-05-23 01:55:39 +02:00
05a73d5de7 Revert "fix: badge not appearing"
This reverts commit b1ef9bf224.
2024-05-23 01:50:02 +02:00
b1ef9bf224 fix: badge not appearing 2024-05-23 00:28:09 +02:00
b3440f5e3a chore: migrate homepage on gustave 2024-05-23 00:20:28 +02:00
f9edfc4487 chore: disable homer 2024-05-23 00:20:13 +02:00
fee0e589bb feat: enable badges on buildbot 2024-05-22 23:31:15 +02:00
cf01a08b07 fix: repair badges 2024-05-22 23:28:22 +02:00
0e19691f18 fix: gustave preserved paths 2024-05-22 16:33:09 +02:00
7aac47bbd0 feat: add gustave to tailscale 2024-05-22 16:32:46 +02:00
20e661814a feat: move irc away from lisa 2024-05-22 15:13:15 +02:00
ef050749bc feat: set ipv6 gustave 2024-05-22 15:08:31 +02:00
1a2b32e60f feat: persist important things on gustave 2024-05-22 15:03:22 +02:00
5c577f010c feat: enable tailscale on gustave 2024-05-22 15:03:02 +02:00
dfacecab1f feat: move irc to gustave 2024-05-22 15:02:00 +02:00
8520d1bdcb chore: conform buildbot to option rename 2024-05-22 14:49:17 +02:00
66880b16ec chore: enable fish on fischer 2024-05-22 14:32:51 +02:00
add8a3e97b fix: ficher now deployable with colmena 2024-05-22 13:46:00 +02:00
ecf8ca7957 chore: move fischer to hyprland 2024-05-22 13:45:40 +02:00
c4dcf2d9fe chore: disable syncthing 2024-05-21 22:49:37 +02:00
040dd24284 chore: add 2 TODOs 2024-05-21 22:46:39 +02:00
c79dbc6cfb chore: add x2100 rootjwe 2024-05-21 22:44:52 +02:00
49251311c4 fix: fix lix build on aarch64-linux 2024-05-21 22:36:19 +02:00
3888df0820 chore: drop unused share.nix 2024-05-21 22:21:29 +02:00
9a4afb037b fix: temp allow keycloak 23.0.6 2024-05-21 22:14:33 +02:00
8740f92fe3 feat: move x2100 to hyprland 2024-05-21 22:07:05 +02:00
5dd054621e feat: move x2100 to hyprland 2024-05-21 22:05:14 +02:00
df977e9802 fix: pin linux to 6.8 2024-05-21 22:04:01 +02:00
51a8c248c3 feat: hash-collection -> lila 2024-05-21 22:03:36 +02:00
c2ff9b14f9 feat: move waybar to hyprland 2024-05-21 22:03:09 +02:00
18dce818df feat: update npins 2024-05-21 22:02:36 +02:00
a1e1b14b7c chore: nix-hash-collection -> lila 2024-05-21 13:41:51 +02:00
fd692e2632 chore: remove unused python source code 2024-05-19 20:29:27 +02:00
5529d51990 chore: delete system-wide colmena 2024-05-18 23:34:15 +02:00
f048fa4ebe chore: npins update 2024-05-18 22:50:44 +02:00
5adcfa0637 fix: fix buildbot failing on rm 2024-05-18 22:37:26 +02:00
341b131898 chore: update buildbot-nix 2024-05-18 22:14:22 +02:00
198f74d0db feat: add photos to tower 2024-05-18 22:04:14 +02:00
1814b61003 fix: fix discrepencies with colmena eval 2024-05-18 21:53:23 +02:00
61e0e0ec69 feat: add photos.julienmalka.me 2024-05-12 19:01:58 +02:00
eb55666c90 Revert "fix: don't use flake compat for hash-collection"
This reverts commit 8d486437e6.
2024-05-12 18:59:37 +02:00
8d486437e6 fix: don't use flake compat for hash-collection 2024-05-12 18:58:16 +02:00
9e9f7524b9 fix: explicit system for nixpkgs 2024-05-12 18:52:54 +02:00
b9a5018cb7 chore: format deps 2024-05-09 01:32:57 +02:00
de4b738324 fix: disable cachix 2024-05-09 01:31:14 +02:00
f62f415f5c chore: reactivate secrets 2024-05-09 01:30:58 +02:00
b3f37ce9cc feat: init gustave 2024-05-09 00:52:59 +02:00
d839067c45 chore: add impermanence module 2024-05-09 00:52:59 +02:00
e5fea2e8eb chore: sunset transmission module 2024-05-09 00:52:59 +02:00
5727952cbd feat: move to agenix secrets 2024-05-09 00:52:59 +02:00
b12a6a8908 chore: deactivate navidrome 2024-05-09 00:52:59 +02:00
7dc1d4e96b chore: remove sops executable from home 2024-05-09 00:52:59 +02:00
a13b7e8a27 chore: delete sops-nix module 2024-05-09 00:52:59 +02:00
1439645ef0 chore: remove sops-nix input 2024-05-09 00:52:59 +02:00
384846c0e9 feat: add hash-collction to enigma (2) 2024-05-08 09:43:03 +02:00
b3b54f28b9 feat: add hash-collection to enigma 2024-05-08 09:42:25 +02:00
3075d448e6 chore: format mkmachine 2024-05-01 19:12:07 +02:00
e6307c4e45 chore: remove hardcoded nix version 2024-05-01 19:10:29 +02:00
ca7fdee9a6 chore: removed merged patches 2024-05-01 19:09:22 +02:00
6be035172d fix: move enigma to stable to fix drivers 2024-05-01 19:08:45 +02:00
e622b3f38d feat: move neovim fmt to nixfmt 2024-05-01 19:07:09 +02:00
59d12995dd fix: remove nodeNixpkgs to have equivalent vanilla/colmena eval 2024-05-01 19:05:52 +02:00
000a3d7262 chore: format default.nix 2024-05-01 18:08:34 +02:00
3ac4e2de9f chore: update deps 2024-05-01 18:06:35 +02:00
d9f3e69b0b fix: fix path to ssh folder to add in persistent 2024-04-07 14:35:02 +02:00
13fb7bd88f feat: add gitignore 2024-04-07 14:34:04 +02:00
ec6bf63f29 feat: add pre-commit-hooks 2024-04-07 14:33:13 +02:00
ec5a421d28 fix: fix deps/default.nix style 2024-04-07 14:32:46 +02:00
339a134b47 add ssh stuff to persistent 2024-04-07 11:52:35 +02:00
c68853252d bootstrap script in shell 2024-04-06 02:04:56 +02:00
f85f071263 improve bootstrap-machine script 2024-04-06 01:46:35 +02:00
005bea5ae2 add agenix to shell 2024-04-05 19:29:45 +02:00
35d31b5394 intro agenix 2024-04-05 19:27:53 +02:00
48dad626f0 go back to upstream nixos-anywhere 2024-04-05 19:24:04 +02:00
07a9b2bb4d init bootstrap script 2024-04-05 19:20:10 +02:00
e14dbe1717 move to unstable.pinentry-tty 2024-04-05 17:11:36 +02:00
728bd84495 add pass to tower 2024-04-05 17:11:22 +02:00
37a465bb3f Move to pinentry-tty 2024-04-05 17:08:00 +02:00
0819ef7440 put all unstable machines under patched 2024-04-05 16:13:37 +02:00
cd8dcfb887 pass name to mkmachine 2024-04-05 15:38:49 +02:00
580075ed21 remove wrong name 2024-04-05 15:37:25 +02:00
1afe705efc automatic machine name 2024-04-05 15:37:19 +02:00
d3baa9ab2b add rbw module 2024-04-05 15:34:34 +02:00
2c2fad40ba create gustave 2024-04-05 00:34:14 +02:00
81edbf8905 update deps 2024-04-05 00:33:59 +02:00
a0cf4af2e0 add patch to fix step-cli 2024-04-05 00:33:53 +02:00
36ee68ae25 add envrc 2024-04-05 00:33:43 +02:00
a01c02435d add shell 2024-04-05 00:33:26 +02:00
31e157e76c fish in user 2024-04-04 18:08:12 +02:00
e0059a3060 move away from zsh 2024-04-04 17:39:49 +02:00
3eefcb66fa move to fish 2024-04-04 17:37:40 +02:00
ba1f3c27a7 activate auto gc on lambda 2024-04-04 17:37:32 +02:00
57864402f8 fix wrong arch 2024-04-04 02:07:38 +02:00
85c0c14c69 update deps 2024-04-04 02:07:17 +02:00
e828884272 drop wiki dns record 2024-04-01 13:38:09 +02:00
7819a41dcc introduce patches 2024-04-01 01:28:46 +02:00
1c9c2773da update certificateScheme option 2024-04-01 00:35:42 +02:00
04059ab258 fix packages eval 2024-04-01 00:28:03 +02:00
a2499efe3b fix home-manager version 2024-03-31 23:45:33 +02:00
0d7852c7d1 fix lanzaboote 2024-03-31 23:38:12 +02:00
82110af04c add zotero-nix 2024-03-31 23:32:21 +02:00
c98fc3a7e0 npins update 2024-03-31 22:00:34 +02:00
8ee95a419d convert colmena input 2024-03-31 21:30:25 +02:00
2391c141c5 move out of flake 2024-03-31 21:23:04 +02:00
e5bed43810 remove patched nixpkgs 2024-03-31 14:09:17 +02:00
fa9fead223 drop zotero-nix 2024-03-31 12:41:13 +02:00
a4bb96b48e drop hash collection 2024-03-31 12:18:08 +02:00
8640231a5e remove nur 2024-03-31 12:11:09 +02:00
4f5cc093cd remove onagre: broken 2024-03-31 00:43:13 +01:00
82fd83d0db swaylock is back 2024-03-30 23:30:43 +01:00
b1f5ec785b fix warning 2024-03-30 23:19:34 +01:00
48e11bfe1f fix eval 2024-03-30 23:19:25 +01:00
07f3215c17 remove spotify-tui as unused 2024-03-30 22:53:48 +01:00
61368a18e6 switch enigma to unstable 2024-03-30 22:53:35 +01:00
187c9dd8d7 simplify config 2024-03-30 21:52:56 +01:00
d8b0d3eb33 all monitors get the same bg in sway 2024-03-30 21:43:28 +01:00
d5eccadf40 refactor user import 2024-03-30 21:36:12 +01:00
602521c297 delete eol modules 2024-03-30 21:05:32 +01:00
e64837a6d0 remove useless group for julien 2024-03-30 21:03:12 +01:00
f9eb21995b remove status user 2024-03-30 21:01:22 +01:00
e163efdcde remove unused arg 2024-03-30 20:58:27 +01:00
eba4550b3b delete unmaintained packages 2024-03-30 20:58:16 +01:00
193321c33a minor code cleaning 2024-03-30 20:58:04 +01:00
3c9212b60a dunst always shows notifications on first monitor 2024-03-30 20:55:12 +01:00
144e62017c statix fixes 2024-03-30 20:21:59 +01:00
fe5de12f3b removed dead code 2024-03-30 20:18:12 +01:00
5c4e6e83c2 delete unused code 2024-03-30 20:08:03 +01:00
8820bfb65a move to hm dunst module 2024-03-30 19:56:37 +01:00
938a5193e4 remove unstable-plus-patches 2024-03-30 13:26:58 +01:00
cb752584bc remove doom emacs 2024-03-30 13:02:19 +01:00
c0726881cc update hyprland 2024-03-30 13:02:12 +01:00
359f47d3a9 remove linkal/nixd/emacs inputs 2024-03-30 13:00:25 +01:00
cf16964fd4 add adb to enigma 2024-03-30 12:59:42 +01:00
80ea71a631 remove linkal from lisa 2024-03-30 12:58:02 +01:00
c9a53a991c move to emacs29 2024-03-30 12:57:40 +01:00
91c30d5cbf remove doom emacs 2024-03-30 12:57:27 +01:00
dc16c65f14 update user julien 2024-03-30 12:57:16 +01:00
de0dbeb7a5 update flake 2024-03-30 12:56:30 +01:00
ef4be86e99 x2100 changes 2024-03-30 12:30:25 +01:00
5a9b461e9f sway module for fisher 2024-03-30 12:09:15 +01:00
52b2f8f00d update core data 2024-03-30 12:09:03 +01:00
f5a4c3182f added bluetooth 2024-03-30 12:08:34 +01:00
d029e2b19d update few packages 2024-03-30 12:08:01 +01:00
a2b9b65c90 fischer: return to unstable 2024-03-30 12:04:59 +01:00
0d757ddf41 update flake 2024-03-02 17:33:00 +01:00
6ad45bec66 remove hyperpaper flake 2024-03-02 17:30:35 +01:00
daeb985b34 various changes on enigma 2024-03-02 17:30:35 +01:00
5d8e1a494d add julien to pipewire group 2024-03-02 17:30:35 +01:00
046a5eff96 update fischer 2024-02-13 10:49:25 +01:00
3e85531378 x2100: updates 2024-02-12 21:23:51 +01:00
cc566b3149 x2100: update home 2024-02-12 21:23:41 +01:00
f8dd3a733a add machine 2024-02-12 11:33:21 +01:00
00fdab697a add signal to enigma 2024-01-19 18:14:04 +01:00
336df2f158 update enigma 2023-12-26 16:50:42 +01:00
3614e62613 update enigma vpn ip 2023-12-26 16:48:13 +01:00
4e04c9b0c8 update ipv6 core data 2023-12-23 15:25:37 +01:00
3263d11f4b init core-data 2023-12-23 15:18:31 +01:00
cfbbef7449 added roboto font 2023-12-23 12:10:32 +01:00
780ca00a5f emacs change to pgtk 2023-12-06 10:47:40 +01:00
eb53c3df7d update x2100 2023-12-06 10:41:44 +01:00
276b0bc18a rework home fischer 2023-11-28 14:26:41 +01:00
960032efeb kitty -> alacritty 2023-11-28 14:26:01 +01:00
f91bc6c9fe remove xserver to fischer 2023-11-28 14:25:50 +01:00
374a184d6f update flake lock 2023-11-28 13:29:05 +01:00
d955418bd5 goodbye chromium 2023-11-28 13:26:35 +01:00
3e62de5a4e remove xserver 2023-11-28 13:26:34 +01:00
d926032de3 add nur 2023-11-28 13:26:34 +01:00
6bd7666388 upgrade waybar theme 2023-11-28 13:26:27 +01:00
7fd9ea0783 upgrade sway config 2023-11-28 13:26:27 +01:00
e27b80598f upgrade kitty theme 2023-11-28 13:26:27 +01:00
811fd0c132 create firefox module 2023-11-28 13:26:27 +01:00
2fe537f5cb x2100: updates 2023-11-28 13:26:03 +01:00
feedb27344 bcachefs-kernel: go with unstable version 2023-11-28 13:26:03 +01:00
75c2ed47a7 sway: update module 2023-11-28 13:24:12 +01:00
ef71340ac5 x2100: switch to unstable 2023-11-28 13:24:12 +01:00
eb409ec0af activate zsh on all desktops 2023-11-27 15:02:47 +01:00
35339993c5 emacs: enable on all graphical machines 2023-11-27 13:29:21 +01:00
d46b244f01 fix eval error 2023-11-27 12:17:51 +01:00
ff10a993f9 update flake lock 2023-11-27 12:15:28 +01:00
9f2d4bc2b4 switch to out of tree zotero 2023-11-27 12:13:56 +01:00
f63e810bb1 flake update 2023-11-26 17:12:26 +01:00
d5aca8d5db added aarch64 jobs to buildbot 2023-11-26 13:37:38 +01:00
bf4164c21c removed lambda as a remote builder 2023-11-26 13:37:27 +01:00
cc9c6dc3d3 fix worker count buildbot 2023-11-26 00:20:38 +01:00
4d25071d58 update flake lock 2023-11-25 23:57:05 +01:00
c099998b19 Update README.md 2023-11-25 23:52:13 +01:00
1f079bab15 flake lock update 2023-11-25 23:49:42 +01:00
4357de3d4f buildbot-nix: switch to fork 2023-11-25 23:46:27 +01:00
7213080396 enigma: updates 2023-11-25 23:27:12 +01:00
ab8858e5dc Update README.md 2023-11-24 22:18:34 +01:00
af166b4c1f revert unfortunate rename 2023-11-24 22:08:46 +01:00
3a4ad76ab7 silence some eval warning 2023-11-24 22:07:16 +01:00
2bc96046dc update unstable-with-patches 2023-11-24 21:45:25 +01:00
835da479c0 remove patches 2023-11-24 21:37:18 +01:00
36cc2c9ac3 fix eval error on x2100 2023-11-24 21:28:55 +01:00
6b8f63985d update flake lock 2023-11-24 21:18:15 +01:00
bc60a5c4da update home manager release 2023-11-24 17:57:45 +01:00
3b745901c4 update flake lock 2023-11-24 17:49:58 +01:00
50856e814d lets do updates 2023-11-24 17:44:30 +01:00
08bb2458cc buildbot: update 2023-11-24 17:40:18 +01:00
95cfeba3ae test 2023-11-24 17:18:06 +01:00
dea10d85ff fischer: disable tlp 2023-11-24 17:00:26 +01:00
7d97a14f7a buildbot: update 2023-11-24 16:55:20 +01:00
ab9e3d922e tower: switch to unstable 2023-11-24 16:55:04 +01:00
a4339ac5e2 zsh on tower 2023-11-22 18:19:52 +01:00
49756f54e3 Merge branch 'main' of github.com:JulienMalka/nix-config 2023-11-22 18:13:33 +01:00
49f367c290 tower: init syncthing 2023-11-22 18:13:28 +01:00
6c914eb6f2 machines: telecom -> fischer 2023-11-22 18:11:16 +01:00
2239a30312 mails: notifications + waybar 2023-11-22 18:10:35 +01:00
6f33cfe298 telecom: init syncthings 2023-11-22 18:10:14 +01:00
b01967e153 improved git config 2023-11-22 18:09:39 +01:00
3a7da809ff add dunst theme 2023-11-22 18:09:30 +01:00
34d1a939ee change shell to zsh 2023-11-22 18:09:11 +01:00
a2934a0d24 git: more sensible config 2023-11-21 13:56:43 +01:00
600494b10c print setup 2023-11-21 11:21:59 +01:00
56c769d9b8 Merge branch 'main' of github.com:JulienMalka/nix-config 2023-11-21 11:16:08 +01:00
57ac487354 gitlab-runner: update 2023-11-21 11:16:03 +01:00
20afc28f51 stuff 2023-11-19 22:54:55 +01:00
ecdfd27743 disable emacs config on enigma 2023-11-19 22:54:29 +01:00
d64efa18f5 init emacs module 2023-11-19 22:53:59 +01:00
e4055631ee add gitlab runner 2023-11-16 19:29:17 +01:00
35e304daca remove hyprland module
remove hyprland module
2023-11-13 10:36:42 +01:00
23bfe928cd remove obsidian 2023-11-13 10:36:17 +01:00
0440d9210d x2100: remove hyprland 2023-11-13 10:35:53 +01:00
0ab7e1ba76 update flake lock 2023-11-09 10:57:04 +01:00
fa6f914538 telecom/default: update 2023-11-09 10:55:23 +01:00
bfcc67401a delete doom folder 2023-11-09 10:53:19 +01:00
2803a05300 telecom/home: update 2023-11-09 10:52:22 +01:00
9bb8a7b542 telecom/hardware: format 2023-11-09 10:52:04 +01:00
e2f2600a75 kitty: better config 2023-11-09 10:50:32 +01:00
60dd647b7e mail: fix breakage 2023-11-09 10:50:22 +01:00
e063a16470 sway: update config 2023-11-09 10:50:10 +01:00
fb3591b3d8 waybar: fix css 2023-11-09 10:49:51 +01:00
46cb3e215c update flake lock 2023-11-06 10:29:56 +01:00
dbccbf3f78 remove hyprland 2023-11-06 10:29:56 +01:00
ca7cad7b86 fix bug with font in virtual console 2023-11-06 10:29:56 +01:00
19bd3db859 modules: delete ferretdb 2023-11-06 10:29:56 +01:00
2c1c128bde enigma: nerdfont 2023-11-06 10:29:56 +01:00
31b4b85c5f telecom: init 2023-11-06 10:29:56 +01:00
cd7904bdd8 move mkmachine in separate file 2023-11-06 10:29:14 +01:00
c400b68f47 Activate secure boot 2023-11-02 17:23:53 +01:00
3f4946ddd1 onboard telecom 2023-11-02 11:10:24 +01:00
ce84f4d63b update ipv6 2023-10-26 15:45:04 +02:00
dc9d08f476 update ipv6 2023-10-25 21:30:42 +02:00
f7d9fbdb66 updated ipv6 2023-10-25 17:30:14 +02:00
a2cc71d167 replace to new ipv4 2023-10-25 15:39:38 +02:00
e1f02b66e0 Upgrade flake lock 2023-10-16 16:11:41 +02:00
93d2781fd5 Remove systemd stage 1 2023-10-16 16:11:33 +02:00
2f14bfe888 Update bcachefs tools 2023-10-16 16:11:22 +02:00
06b053183c Update x2100 2023-10-16 12:23:07 +02:00
57688214a3 flaresolverr: drop 2023-10-11 18:42:40 +02:00
e7843f8a24 Added second patch 2023-10-11 15:36:20 +02:00
fb2fa14b75 Enable postgresql 2023-10-11 14:47:09 +02:00
8553291a5c Flaresolverr update step 1 2023-10-11 14:45:54 +02:00
f4cb5ab46d Machines update 2023-10-08 21:29:35 +02:00
b6ea2ccc4f Machines update 2023-10-08 21:12:51 +02:00
1ea02bb9ee Machines update 2023-10-08 13:05:37 +02:00
c692b6a41a Update machines 2023-10-08 13:02:58 +02:00
cb61247536 Update uptime-kuma 2023-10-08 13:01:02 +02:00
4d6dc7e8f2 update machines 2023-10-08 13:01:02 +02:00
0082def9d8 Merge branch 'main' of github.com:JulienMalka/nix-config 2023-10-02 23:57:53 +02:00
03baf6fc55 Update ipv6 core-security 2023-10-02 23:57:42 +02:00
b360fa2a0c Using upstream uptime-kuma 2023-10-02 22:53:09 +02:00
a1d060373c Added loginLimits 2023-10-02 22:49:24 +02:00
fedd4f649c Fixed bcachefs systemd stage 1 2023-10-02 22:40:19 +02:00
f70e20e248 Removed nix92 input 2023-10-02 22:30:10 +02:00
2993f138d8 Remove signal patch 2023-10-02 22:28:42 +02:00
c4b226436c Delete zotero 2023-10-02 16:25:02 +02:00
a7e34bcab5 x2100: add bluetooth and tpm stuff 2023-10-02 15:08:40 +02:00
dbe256697a update home x2100 2023-10-02 15:07:45 +02:00
767b6a99a1 bootsrap enigma 2023-09-19 21:03:52 +02:00
0f4cb9da7b enigma: added jftui 2023-09-19 14:39:06 +02:00
34980342d6 enigma: added epyc as remote builder 2023-09-19 14:38:52 +02:00
d793f96de5 nixd second try 2023-09-19 14:37:53 +02:00
ddcf40784e enigma changes 2023-09-18 15:48:18 +02:00
fa41bef3bb edited kitty config 2023-09-18 15:47:54 +02:00
8479cfe921 bootstrapped enigma 2023-09-17 23:29:19 +02:00
9a84c9ec60 changes to x2100 2023-09-17 20:48:41 +02:00
c30acbb309 patches 2023-09-17 20:48:41 +02:00
be8c0756ea home changesé 2023-09-17 20:48:41 +02:00
1dbb7a0f41 added patched nixpkgs 2023-09-17 20:48:41 +02:00
b68165b514 removed master url 2023-09-17 20:48:41 +02:00
d4c7c832ff removed master url 2023-09-17 20:48:41 +02:00
a6948a592e added ssh machines 2023-09-17 20:48:41 +02:00
e310544bdf added audio support 2023-09-17 20:48:41 +02:00
2d13ffb0a8 ip update 2023-09-12 20:50:02 +02:00
c91db400fc Merge branch 'main' of github.com:JulienMalka/nix-config 2023-08-27 14:52:54 +02:00
d467922ffc new dns records 2023-08-27 14:52:41 +02:00
5dda50830b Small wayland changes 2023-08-23 12:10:11 +02:00
acad0f2c66 Added keyring 2023-08-23 12:09:44 +02:00
b10ba8fa06 Added home packages 2023-08-23 12:08:55 +02:00
a5272e79c5 support for patched versions of nixpkgs 2023-08-18 12:02:38 +02:00
20565514c6 Goodbye macintosh (3) 2023-08-18 10:53:12 +02:00
7cf31a1b8b Goodbye macintosh (2):wq 2023-08-18 10:50:05 +02:00
8dd57ecbb9 Goodbye macintosh 2023-08-18 10:49:45 +02:00
9934011173 swaylock eye candy 2023-08-18 00:50:33 +02:00
5bcf52ae41 swayidle is working 2023-08-18 00:09:30 +02:00
ed23025a09 secure boot in x2100 (2) 2023-08-18 00:08:59 +02:00
c4e08fd63a kitty customisation 2023-08-18 00:08:44 +02:00
f62f172220 secure boot in x2100 2023-08-18 00:08:26 +02:00
24f6b0d0a3 adding mails to x2100 2023-08-18 00:08:00 +02:00
73baa6b688 remove touchpad 2023-08-17 18:32:04 +02:00
0291e0a589 Added step-cli 2023-08-17 18:16:40 +02:00
b5ec0d98b9 removed macintosh keys from x2100 2023-08-17 18:00:53 +02:00
86dd2925aa oboarding x2100 (2) 2023-08-17 18:00:06 +02:00
313c40588a added x2100 to machines 2023-08-17 14:47:06 +02:00
3f407e19a4 bootstrap of x2100 2023-08-17 14:44:28 +02:00
bbd27517ed use fork of apple-sillicon-nixos 2023-08-17 14:44:28 +02:00
f6dd0b616a replace driver 2023-08-17 14:44:28 +02:00
0d5e0024da removed macintosh from CI 2023-08-07 15:55:04 +02:00
6576353b93 building locally using ci 2023-08-07 15:14:52 +02:00
c345c4bfb4 added attic push 2023-08-07 00:26:16 +02:00
dbc91178fb Wrong ci on homer 2023-08-06 20:32:16 +02:00
20ecb8c7c4 updated flake lock 2023-07-31 09:23:37 +02:00
c33243e7bf can't build mac all over 2023-07-29 11:43:43 +02:00
1a017b6822 better ssh config 2023-07-28 13:19:46 +02:00
a3b8d4077b moved base 2023-07-28 12:30:22 +02:00
b744c90eef Only server can be colmenaded 2023-07-27 23:12:59 +02:00
be70ed9305 deployment module 2023-07-27 21:08:00 +02:00
5a5fbea34f colmena (3) 2023-07-27 20:35:38 +02:00
da7fd3dfba Tested colmena on core-security 2023-07-27 20:35:00 +02:00
8801611766 fixed eval error on macintosh 2023-07-27 20:34:26 +02:00
213b90e82d updated flake.lock 2023-07-27 20:33:22 +02:00
5849f92893 little fix 2023-07-27 20:33:09 +02:00
a3337d2819 colmena (2) 2023-07-27 20:32:32 +02:00
b5a00d9cf5 deleted unused machines 2023-07-27 20:31:44 +02:00
552f16a358 unfortunately cannot build macintosh rn 2023-07-27 14:48:53 +02:00
44a5f471a4 fixed flake nix 2023-07-27 14:47:11 +02:00
afb1e28b71 colmena on tower 2023-07-27 14:45:03 +02:00
3bda4e21dc installing colmena 2023-07-27 14:44:20 +02:00
f5052272c8 moveing machines meta to the proper place 2023-07-27 14:43:58 +02:00
ea74671d7e colmena (1) 2023-07-27 14:43:40 +02:00
f01e02a42a updated flake.lock 2023-07-27 14:43:26 +02:00
cb0de9d2d9 update core-security 2023-07-26 20:17:32 +02:00
6bead85d45 merge changes 2023-07-26 19:35:50 +02:00
b755559ce9 update tower firewall 2023-07-26 19:35:08 +02:00
e59e9838e4 updated module to add epyc builders 2023-07-26 19:34:55 +02:00
b2c4542a75 added julien to trusted users 2023-07-26 19:32:57 +02:00
694762fc21 update flake lock 2023-07-23 09:19:03 +02:00
79b9d93e9c let's rebuild the world 2023-07-23 09:15:39 +02:00
20ac2a1ff5 pushgateway 2023-07-16 16:08:20 +02:00
6c832ca6cb Merge branch 'main' of github.com:JulienMalka/nix-config 2023-07-16 14:48:23 +02:00
3e1d15b9a3 added monitoring stuff 2023-07-16 14:48:10 +02:00
b1d777c38c 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
2f71c1ab3e 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
c8b7e1ba82 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
3a09e981b1 saves-lyon is back 2023-07-04 18:29:41 +02:00
e5ad80a698 flake.lock: Update (#52) 2023-07-03 12:27:04 +02:00
44e03b55dd 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
95f59308ba Update flake.nix 2023-06-30 08:18:46 +02:00
3ba5490630 Update flake.nix 2023-06-30 08:14:01 +02:00
9c25a0b35c 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
072a6ae0c6 using resolvedctl instead of hardcoded dns 2023-06-15 22:58:09 +02:00
4bf200f719 lambda now has a public ipv6 2023-06-15 15:35:31 +02:00
f764123e24 update buildbot package to follow the move in nixpkgs 2023-06-15 11:03:22 +02:00
8b8fd6a888 core-security changed ip 2023-06-15 10:38:27 +02:00
f34917974b core-security switch to systemd-network 2023-06-15 10:37:04 +02:00
bf1970f3f2 added saves 2023-06-14 12:33:12 +02:00
731a47e0e2 vhost for step-ca 2023-06-14 12:27:40 +02:00
49b8593662 added resolved to all machines 2023-06-14 12:27:15 +02:00
b26230a53e accept internal connections in ipv6 2023-06-13 23:27:38 +02:00
2171ad1e7e corrected wrong ips 2023-06-12 14:29:09 +02:00
c3d8812d74 changed ssh config 2023-06-12 14:28:01 +02:00
f4e3e500fb merge 2023-06-10 23:51:49 +02:00
5128e9415e lambda deployment 2023-06-10 23:50:31 +02:00
c95e484919 changed lambda address 2023-06-10 23:50:09 +02:00
3aefe10a35 added CA to core-security 2023-06-10 23:49:54 +02:00
da85667e4f enabled resolved on tower 2023-06-10 23:23:52 +02:00
0dfa155713 changed ssh config 2023-06-10 19:54:28 +02:00
71918bf3dc deleted bin-cache as a job 2023-06-10 19:33:29 +02:00
3f1bd178f3 nix index automatic 2023-06-10 19:28:42 +02:00
f96a93ef50 renamed depreciated options 2023-06-10 19:07:06 +02:00
73cd7960a1 swaylock 2023-06-10 19:02:29 +02:00
dd1548649d correct keymap in gdm 2023-06-10 17:56:59 +02:00
efb45ca6fb resolved on macintosh 2023-06-10 17:50:12 +02:00
f0dfda6283 changed ssh machines 2023-06-10 17:50:12 +02:00
fcc702bf3d 22.11 -> 23.05 2023-06-10 17:50:12 +02:00
90b78d9c37 machines ips 2023-06-10 16:01:45 +02:00
2fe0fb502a trying to get back nuage 2023-06-09 20:09:59 +02:00
f299e6ae0f added internal adresses 2023-06-09 12:20:09 +02:00
faa49bc9c7 builders can download from substituters 2023-06-09 12:10:53 +02:00
89be00ff5b changed lambda dns 2023-06-09 12:05:52 +02:00
57fdd3fbaf changed buildbot certs 2023-06-09 11:36:19 +02:00
b58ebab13b changed tower dns 2023-06-09 11:36:00 +02:00
189b29ae4c added core-security to machines 2023-06-09 11:33:11 +02:00
97d19b29b0 updated builders 2023-06-09 10:57:00 +02:00
bb5e81061a deleted headscale from lambda 2023-06-09 10:10:05 +02:00
52c08449e9 added ipv6 of machines 2023-06-09 00:54:52 +02:00
9f3c7b6ad0 new machine syntax 2023-06-09 00:11:07 +02:00
a7d77d7e49 update lambda ip 2023-06-06 19:36:11 +02:00
1ffc82596a machines have suffix luj 2023-06-05 15:10:53 +02:00
5b01c4fc1f exporting dns 2023-06-05 14:04:33 +02:00
7ff0e59c36 exporting dnsRecords 2023-06-05 13:17:58 +02:00
5a80346803 Merge branch 'main' of github.com:JulienMalka/nix-config 2023-06-02 07:29:17 +02:00
82296cbdcd darwin remote builder 2023-06-02 07:28:50 +02:00
d254a7f5ed here we go 2023-06-02 07:12:17 +02:00
1c19833b0c merged stuff 2023-06-02 07:12:05 +02:00
3200160416 taking into account new curry port 2023-06-02 07:03:34 +02:00
d94cfa4f2e 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
5b4854f4b5 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
faac4c4b1b applied keywind theme to keycloak 2023-05-21 18:21:25 +02:00
315ff9ab99 added keywind theme 2023-05-21 18:16:16 +02:00
301bef66e2 deploy keycloak on core-security 2023-05-21 18:11:38 +02:00
5fa77013f7 fixed disk uuid for core-security 2023-05-20 22:54:54 +02:00
0741b10872 cleaned tower config 2023-05-20 21:47:36 +02:00
f65b446ff0 added headscale to lambda 2023-05-20 21:42:29 +02:00
2ad52bb59a updated nil version 2023-05-20 21:41:19 +02:00
ceff4d5991 moved headscale to lambda 2023-05-16 19:42:38 +02:00
8094ab2f31 added core-security to secrets 2023-05-16 18:23:03 +02:00
83ba6287b4 added core-security machine 2023-05-16 18:16:30 +02:00
1e31c6333d added attic to tower 2023-05-16 18:16:18 +02:00
98b23169b9 added attic pkg 2023-05-16 18:15:59 +02:00
9263626c81 attic stuff 2023-05-16 18:14:14 +02:00
315736015b Merge branch 'main' of github.com:JulienMalka/nix-config 2023-05-16 18:05:01 +02:00
617d50ef46 added core-security machine 2023-05-16 18:04:54 +02:00
e8f05d9d36 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
9756c2abc0 loaded attic secret on bin-cache 2023-05-14 14:27:05 +02:00
7444fe0c6b empty hm for bin-cache 2023-05-14 14:21:38 +02:00
08c50f0b06 correct config for bin-cache deploy 2023-05-14 14:21:26 +02:00
478dcb6414 corrected ssl for attic 2023-05-14 13:58:28 +02:00
1fa9db1e7a Deploy bin-cache 2023-05-14 13:53:34 +02:00
a0e9b03588 updated secrets 2023-05-14 13:29:21 +02:00
4418729481 added bin-cache to ci 2023-05-14 13:14:18 +02:00
ff3ecef36b bin-cache: fix wrong bootloader 2023-05-14 13:13:36 +02:00
c28ef8134b fix eval errors for bin-cache 2023-05-14 12:49:28 +02:00
a8fbd15201 Added a new bin-cache machine 2023-05-14 12:43:46 +02:00
624f572600 Added attic as module 2023-05-14 12:43:27 +02:00
20145bf6c7 Added attic as flake input 2023-05-14 12:43:15 +02:00
1da249fc69 flaresolverr platform is x86_64-linux 2023-05-14 00:47:41 +02:00
40b82e4c90 hydraJobs: filtering with meta plateform 2023-05-14 00:46:19 +02:00
0d26965a8a ci: added lambda 2023-05-13 22:20:56 +02:00
cdd2193d4d buildbot workers: 8 -> 14 2023-05-13 21:46:30 +02:00
9965f3627b modified nix-eval-jobs command 2023-05-13 21:40:17 +02:00
63ee72a899 added big-parallel feature 2023-05-13 21:33:35 +02:00
ce64ed9505 better jobs 2023-05-13 21:33:17 +02:00
914b699e3a Now building for aarch64-linux 2023-05-13 18:45:44 +02:00
21fabca4f3 Merge branch 'main' of github.com:JulienMalka/nix-config 2023-05-13 16:30:10 +02:00
2c93e36242 tower: i686 emulation 2023-05-13 16:30:04 +02:00
6c9ec2caff 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
c46f5de5ac trying to fix keyring 2023-05-09 10:31:47 +02:00
3c03be0c5b hold tight it is going to be a tough ride 2023-05-09 10:31:45 +02:00
b831ab7722 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
e979d61f0a added julien to needed groups 2023-05-07 14:27:17 +02:00
68fdde30a6 macintosh user env upgrade 2023-05-07 14:27:17 +02:00
46ed986826 android dev 2023-05-07 14:27:17 +02:00
ba13097ede comma on all machines 2023-05-07 14:27:17 +02:00
183e114053 HM now follows machine specific version 2023-05-07 14:25:12 +02:00
21b6ab4a7f HM now follows the correct version 2023-05-07 14:19:23 +02:00
8bf6c89cd1 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
73c38e7327 Merge branch 'main' of github.com:JulienMalka/nix-config 2023-05-07 13:51:27 +02:00
7138e90232 Updated builbot config 2023-05-07 13:51:12 +02:00
cb192fb968 Added go dev env 2023-05-07 13:49:28 +02:00
a680471a16 Removed unecessary follow 2023-05-07 13:48:32 +02:00
9f672855aa 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
268323c1ce feat: added ccls to neovim 2023-04-22 15:09:15 +02:00
dc6ea273cd 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
c76c737d27 Merge branch 'main' of github.com:JulienMalka/nix-config 2023-04-18 14:13:24 +02:00
a5a39b4cfe tower: added jq in user packages 2023-04-18 14:13:15 +02:00
b0681f28cd home-manager-modules/git: added default branch 2023-04-18 14:12:53 +02:00
985a13f4f3 feat: added zotero, courtesy of @camillemndn 2023-04-17 22:36:30 +02:00
940d701286 Merge branch 'main' of github.com:JulienMalka/nix-config 2023-04-15 15:09:50 +02:00
e4ebaf6e18 fix: networking on tower 2023-04-15 15:09:38 +02:00
5833ed9cb4 feat: cloud folder 2023-04-13 10:23:52 +02:00
fcabcc595c 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
da3c05db54 feat: added swaylock 2023-04-11 19:41:30 +02:00
5402be7931 feat: fix unecessary failure 2023-04-11 14:37:58 +02:00
dddd99551d fix: removed newton as hydra job 2023-04-09 11:47:32 +02:00
c82cb023e9 feat: failed evaluation mark the evaluation job as failed (2) 2023-04-09 11:45:48 +02:00
2a744a7a06 fix: update flake lock 2023-04-09 11:43:53 +02:00
155746d9d5 feat: changed hyprpaper source to official 2023-04-09 11:43:06 +02:00
ce89704910 feat: failed evaluation mark the evaluation job as failed 2023-04-09 11:41:50 +02:00
73877cb42b feat: failed evaluation doesnt create a job anymore (3) 2023-04-09 11:31:51 +02:00
d1d70652c4 feat: failed evaluation doesnt create a job anymore (2) 2023-04-09 11:29:40 +02:00
5dd8cdd5c7 feat: failed evaluation doesnt create a job anymore 2023-04-09 11:27:06 +02:00
0c84aa1720 feat: removed useless stuff 2023-04-09 11:18:58 +02:00
0f22885738 feat: newton depreciation 2023-04-09 00:14:00 +02:00
e1b8b3b420 fix: ntfy version rollback 2023-04-09 00:13:41 +02:00
a17a695f9e fix: buildbot syntax errors 2023-04-09 00:13:23 +02:00
14a4998d05 fix: few improvments 2023-04-09 00:10:49 +02:00
7d50ca363b 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
adff8601b7 fix: removing unnecessary package 2023-04-08 23:08:08 +02:00
1be644c534 fix: tentative fix for evaluation being reported failed (2) 2023-04-08 23:05:52 +02:00
fdb3244e27 fix: tentative fix for evaluation being reported failed 2023-04-08 22:58:33 +02:00
2892e6dbe3 feat: better handling of nixos version depending on the machine 2023-04-08 22:55:19 +02:00
8558aff891 feat: updated flaresolverr 2023-04-08 21:34:31 +02:00
d514552add fix: changed bad dns server on lambda 2023-04-08 21:34:11 +02:00
d9664b5f47 Merge branch 'main' of github.com:JulienMalka/nix-config 2023-04-06 22:42:04 +02:00
3b4a0520ee feat: added nixpkgs-fmt, removed unecessary plugin 2023-04-06 22:19:39 +02:00
0bc284daf5 feat: simplified flake.nix 2023-04-06 22:14:45 +02:00
9395365084 feat: changed nix lsp to nil 2023-04-06 21:40:39 +02:00
cfc8d564f1 feat: updated uptime-kuma 2023-04-04 18:58:28 +02:00
eadef5d5fc feat: movetoworkspace 2023-04-03 11:24:10 +02:00
7a38d26aa5 feat: more workspaces 2023-04-03 11:17:14 +02:00
238a8517ef feat: hyprland improvments 2023-04-02 15:59:46 +02:00
438243d809 feat: kitty config 2023-04-02 00:02:25 +02:00
97dd88811e fix: fixed theme for waybar 2023-04-01 23:57:19 +02:00
34011753b0 feat: added kitty 2023-04-01 23:56:11 +02:00
f4052318b6 feat: more hyprland 2023-04-01 23:09:40 +02:00
163308a7f0 feat: hyprland init 2023-04-01 18:40:54 +02:00
ad6ff8846a feat: deprecated authelia as now present in nixpkgs 2023-04-01 13:26:58 +02:00
c08ababae2 fix: disable wait-online 2023-04-01 13:24:31 +02:00
b9b5123fb0 feat: import hyprland modules 2023-04-01 13:23:44 +02:00
93fc89316e feat: disabled hidpi 2023-04-01 13:16:26 +02:00
54eb0a494a 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
aab1444038 fix: changed dns server for tower 2023-03-23 12:39:01 +01:00
18f56b334d fix: moved instruction to base.nix 2023-03-23 12:38:42 +01:00
c7ba63dab2 fix: fixed nm timeout for tailscale interface 2023-03-23 12:37:50 +01:00
9422c8e6dc Merge branch 'main' of github.com:JulienMalka/nix-config 2023-03-23 12:12:48 +01:00
39e099dd5e fix: changed dns address 2023-03-23 12:12:33 +01:00
c30eeec3a8 feat: delete newton machine 2023-03-23 11:47:10 +01:00
db3cd6b6c1 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
0f27053600 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
a30e346868 feat: added useful cli tools 2023-03-16 14:07:28 +01:00
a7734d3f80 feat: added obsidian 2023-03-16 11:23:00 +01:00
e24e8f9afe feat: added printing 2023-03-16 11:22:47 +01:00
15b4d5535c feat: added julien to networkmanager group 2023-03-16 11:22:26 +01:00
18233c3a76 feat: added waybar 2023-03-13 14:10:28 +01:00
f10f53734d feat: added mail as ssh machines 2023-03-13 14:10:28 +01:00
9a12595d1e feat: transform failure in warning 2023-03-10 23:50:57 +01:00
85588c63ef fix: wrong syntax to hide step 2023-03-10 23:42:59 +01:00
db3b7df775 feat: hide update steps 2023-03-10 21:29:17 +01:00
f1e52eace1 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
84dce82fe7 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
f6aa71c6ac 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
6e681a5101 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
9a168d89fc 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
24dfc3834d 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
4e5a8bcd69 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
97639fda86 feat: updated uptime-kuma 2023-02-26 18:55:45 +01:00
98106b90fe 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
2d87206594 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
71eb741de7 feat: added libreoffice 2023-02-21 09:47:53 +01:00
3d7fd39923 fix: use cvc4 from master 2023-02-21 09:47:16 +01:00
cf2181bc2e 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
de872ce672 feat: added software verification tools 2023-02-20 17:26:25 +01:00
fa7a2ff50a fix: Type in domain of one machine 2023-02-20 17:26:25 +01:00
17d88c0135 Merge branch 'main' of github.com:JulienMalka/nix-config 2023-02-15 15:48:56 +01:00
e036d0569e fix: Fixed pipeline not working 2023-02-15 15:48:47 +01:00
5b9ad42b71 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
158c763db3 feat: updated uptime-kuma 2023-02-13 13:30:32 +01:00
342df0265c fix: formatting for uptime-kuma 2023-02-13 13:26:47 +01:00
e66246e094 feat: added direnv on tower 2023-02-13 13:20:29 +01:00
8ac5b4472b Needed rust-analyser 2023-02-13 13:05:47 +01:00
a036cdd451 chore: deleted useless file 2023-02-11 13:39:23 +01:00
854c4f435e Merge branch 'main' of github.com:JulienMalka/nix-config 2023-02-11 12:43:22 +01:00
04852590dc feat: improved pr process, still a bit hacky 2023-02-11 12:43:14 +01:00
741a8f5468 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
c6b7e54530 feat: proper nixpkgs compliant update of uptime-kuma 2023-02-10 19:24:30 +01:00
a00fadbf94 feat: uptime-kuma now uses buildNpmPackages 2023-02-10 19:02:39 +01:00
526f5fdfaa 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
7a3a6e947d fix: buildbot pr from gitub 2023-02-08 14:30:04 +01:00
5e2c92b171 Added direnv 2023-02-07 10:49:36 +01:00
446536ec60 Added python lsp to neovim 2023-02-07 10:49:13 +01:00
e03a8fcee8 Launching ssh agent 2023-02-05 00:38:11 +01:00
0d50607caf Added new machines to ssh config 2023-02-05 00:37:56 +01:00
5056bbb32a Added rofi customization 2023-02-05 00:20:39 +01:00
b837c6fbf3 Added sway module 2023-02-04 23:55:39 +01:00
9f26c29677 cursor customization / alacritty 2023-02-04 23:39:10 +01:00
00f3da3c33 cleaned a bit macintosh config 2023-02-04 23:34:42 +01:00
a77948d537 changed nvim conf (2) 2023-02-04 23:34:19 +01:00
769854d9ca changed nvim conf 2023-02-04 23:34:05 +01:00
14f26bf9ed added alacrity conf 2023-02-04 23:33:51 +01:00
3ebb79afa3 Various improvments/brightness 2023-02-04 11:12:13 +01:00
43a9c04733 better battery mngt 2023-02-04 01:12:54 +01:00
807d724c62 disabled polybar 2023-02-04 01:12:39 +01:00
0607e4397b Converted macbook to wayland 2023-02-04 00:48:36 +01:00
c4ab18916e somehow conflicts 2023-02-04 00:48:36 +01:00
dd51e0cb00 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
c6b38b8d1f Fixing other machines 2023-02-03 18:43:17 +01:00
fac75a7088 Added ssh keys 2023-02-03 18:38:04 +01:00
4408a28d65 mkMachine now uses passed nixpkgs version 2023-02-03 18:31:33 +01:00
0010359bfd adding macintosh 2023-02-03 18:30:53 +01:00
e6c9802c5d macintosh depends on unstable 2023-02-03 18:30:30 +01:00
c569001c2c new input 2023-02-03 18:30:03 +01:00
dede722f1d Added new macintosh machine depending on unstable 2023-02-03 18:29:53 +01:00
21fcc785b0 Enrolling macintosh 2023-02-03 11:32:13 +01:00
9f3791e4df bumped flaresolverr 2023-02-03 00:37:34 +01:00
ebf1f61a4e buildbot: hopefully fixing fails 2023-02-02 11:10:47 +01:00
484d570842 buildbot: trying to fix reloading 2023-02-02 11:03:44 +01:00
9b67271a98 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
885e391281 Merge branch 'main' of github.com:JulienMalka/nix-config 2023-01-30 11:21:32 +01:00
2de6ca1082 Changed hour of linkal update to minimize dependent updates 2023-01-30 11:20:50 +01:00
565983be39 Update badge 2023-01-28 20:28:46 +01:00
5c69217370 Separated evaluators 2023-01-28 20:25:59 +01:00
f5d2a190c1 Merge branch 'main' of github.com:JulienMalka/nix-config 2023-01-28 02:19:50 +01:00
d7f8728e49 Quick and dirty linkal repo integration 2023-01-28 02:19:42 +01:00
cd2026cbed Merge pull request #9 from JulienMalka/update_flake_lock
flake.lock: Update
2023-01-28 02:18:59 +01:00
6b548aee74 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
7dda714b27 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
343a1f29d5 Little cosmetic changes to buildbot (2) 2023-01-28 00:28:49 +01:00
7d4582e18d Little cosmetic changes to buildbot 2023-01-28 00:11:56 +01:00
JulienMalka
4cd467af42 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
6245103232 Another fix 2023-01-27 00:06:28 +01:00
e8a121ecca Sieve script update 2023-01-26 23:56:53 +01:00
e0c4ef256d Just a few cosmetic stuff 2023-01-26 20:55:51 +01:00
85baf737cb Fixed sieve filters 2023-01-26 20:50:52 +01:00
237da9e08a Trying advanced sieve thingies 2023-01-26 18:48:35 +01:00
88e443c85b Disabling emulation on lisa 2023-01-26 15:28:53 +01:00
990e690da2 Merge pull request #8 from JulienMalka/update_flake_lock
flake.lock: Update
2023-01-25 15:30:57 +01:00
JulienMalka
c86e0e3c58 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
c2e0af1117 Merge pull request #7 from JulienMalka/update_flake_lock 2023-01-23 23:41:43 +01:00
JulienMalka
b055910560 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
d723ac6db9 Updated htpdate 2023-01-22 02:11:55 +01:00
ac690e2171 Deleted paperless 2023-01-22 02:00:54 +01:00
a24a64e9a4 Added new jobs 2023-01-22 01:54:59 +01:00
6756008fb3 Added uptime-kuma package 2023-01-22 00:06:44 +01:00
0dee7541e7 Secured buildbot change endpoint 2023-01-22 00:06:29 +01:00
513d837cd9 Merge branch 'main' of github.com:JulienMalka/nix-config 2023-01-21 21:25:26 +01:00
5f833d4eb1 Merge pull request #6 from JulienMalka/update_flake_lock
flake.lock: Update
2023-01-21 21:17:13 +01:00
7f99194216 Fixed update flake scheduler 2023-01-21 21:15:32 +01:00
JulienMalka
77bd2312ad 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
d4e83b24c2 We don't actually need that 2023-01-21 20:49:35 +01:00
a6702aefd7 Cleaned buildbot config 2023-01-21 20:49:07 +01:00
1e96b669f2 Merge branch 'main' of github.com:JulienMalka/nix-config 2023-01-21 20:38:05 +01:00
98112d37ec Badges style 2023-01-21 20:37:35 +01:00
366c4f345b Reading the docs is important 2023-01-21 20:36:21 +01:00
14f9f1e79a Badges are back 2023-01-21 20:08:10 +01:00
0a5cb85cc7 Actually this should do it 2023-01-21 19:55:57 +01:00
f9ba0b79e7 Trying to have all commits built 2023-01-21 19:53:08 +01:00
35b1e76a80 Buildbot badges are on the way 2023-01-21 19:36:38 +01:00
0fa46293c4 Packaged buildbot-badges 2023-01-21 19:36:20 +01:00
9c3fa0d242 Packaged hydrasect 2023-01-21 19:36:02 +01:00
07a50ed046 Added lazygit 2023-01-21 19:35:42 +01:00
4de3d7cdfd Merge pull request #5 from JulienMalka/update_flake_lock
flake.lock: Update
2023-01-21 00:11:18 +01:00
JulienMalka
66afd79482 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
201f8a201f Activated github auth 2023-01-20 02:59:52 +01:00
ab959a285a Goodbye drone 2023-01-20 02:44:57 +01:00
9f72167131 Merge branch 'main' of github.com:JulienMalka/nix-config 2023-01-20 02:16:45 +01:00
a222d36d13 Update flake everyday 2023-01-20 02:16:39 +01:00
ab0f1878c9 Merge pull request #4 from JulienMalka/update_flake_lock
flake.lock: Update
2023-01-20 02:13:40 +01:00
JulienMalka
b7009b76b2 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
b83078fd0c 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
f115a38557 Fixed buildbot 2023-01-20 01:59:06 +01:00
a143350236 cleaning buildbot config 2023-01-20 01:28:34 +01:00
5bf40dde1b better neovim config for python 2023-01-20 01:28:17 +01:00
b84dd558d1 Now using back ci domain 2023-01-20 00:55:06 +01:00
45880e07ac Removed ci on lisa 2023-01-20 00:33:32 +01:00
dab5b33e73 Merge branch 'main' of github.com:JulienMalka/nix-config 2023-01-20 00:29:30 +01:00
4359c0f0e9 Shoud be better 2023-01-20 00:29:09 +01:00
afb7acc0e3 Added format on save Python 2023-01-20 00:28:35 +01:00
42f02b002b Added more usefull tools 2023-01-20 00:28:21 +01:00
26e7328a3d Formatting 2023-01-20 00:27:21 +01:00
8482a5a2c2 Disabled badge until we can package buildbot-badges 2023-01-19 23:08:21 +01:00
00009d0353 Changed update pipeline 2023-01-19 21:23:23 +01:00
82653d2494 Simplified config (hope it works) 2023-01-19 21:05:41 +01:00
9b3dfe8001 trying less verbose (2) 2023-01-19 20:45:14 +01:00
1531d6b00b trying less verbose 2023-01-19 20:43:17 +01:00
376f669fb2 Added newton, had to go around strange bug 2023-01-19 19:50:26 +01:00
cdfca97aba Added 2nd job 2023-01-19 19:42:26 +01:00
b240a94604 updated tower config 2023-01-19 19:18:08 +01:00
d350f4a8b2 Added buildbot module 2023-01-19 19:17:40 +01:00
45a41f8b59 Removed test 2023-01-19 19:09:46 +01:00
92c0111e76 some formatting 2023-01-19 19:09:05 +01:00
d5adc5e41c Customizing home 2023-01-19 19:08:40 +01:00
69bc5ca324 Opening port for netdata 2023-01-19 19:00:02 +01:00
ad23854ba2 Merge branch 'main' of github.com:JulienMalka/nix-config 2023-01-19 18:55:29 +01:00
f31f7f38fc added 1 job 2023-01-19 18:55:22 +01:00
ca71a78b1d added 1 job 2023-01-19 18:24:05 +01:00
2609ade9fc added 1 job 2023-01-19 18:22:36 +01:00
cc966d5f35 added 1 job 2023-01-19 17:19:21 +01:00
ea5fb6ceb2 Test 2023-01-19 15:14:30 +01:00
ff9be7af08 Init monitoring 2023-01-15 18:29:05 +01:00
6a417ddef5 Cleaned lambda's config 2023-01-14 20:29:35 +01:00
d8066bc878 Fixed tower failing deployment 2023-01-14 20:24:01 +01:00
c4db9f476d Merged 2023-01-14 20:02:19 +01:00
ecd7108f53 Updated flake lock 2023-01-14 00:42:13 +01:00
85592cd783 Updated flake lock 2023-01-13 00:59:57 +01:00
81db2e73d7 Updated flake lock 2023-01-11 00:56:23 +01:00
f4a4a3db57 Updated flake lock 2023-01-10 18:10:47 +01:00
acb08e3466 Added tower as deployed machine 2023-01-09 22:10:53 +01:00
dd77a682b5 Disabling useless services on lisa 2023-01-09 21:36:14 +01:00
3d0b6e403c Optimized flake inputs 2023-01-09 20:48:49 +01:00
6c3dd77133 Added deploy for lisa 2023-01-09 19:50:27 +01:00
30edd221c0 Fixed lisa networking 2023-01-09 19:43:41 +01:00
e1eab8e95a Better network config 2023-01-09 17:43:00 +01:00
332eacb7e7 Updated flake lock 2023-01-09 17:38:10 +01:00
8a4bc3a7a5 Fixed typo 2023-01-09 17:37:57 +01:00
3b7549b067 Added emulated arch to build lambda 2023-01-08 23:49:40 +01:00
bbd820b34d Drone will now build lambda 2023-01-08 22:36:36 +01:00
90b8657dde Fixed stupidity 2023-01-08 22:33:35 +01:00
061ff4c705 Trying to add lambda to deploy 2023-01-08 22:03:47 +01:00
ea7b009738 Using latest deploy version 2023-01-08 22:03:27 +01:00
5229cb0afa Added lambda as ssh machine 2023-01-08 21:19:52 +01:00
beb5118cff Added lambda as a new machine 2023-01-08 21:18:42 +01:00
fefb8e07e2 Added lambda secrets 2023-01-08 21:18:11 +01:00
3f5da71fd4 Added deploy pkg 2023-01-07 18:39:38 +01:00
4037ae91f8 Added check 2023-01-07 18:39:16 +01:00
239c09b2ad We need that for deploy 2023-01-07 18:23:50 +01:00
6a62789761 Goodbye Lisa as a build machine 2023-01-07 18:23:32 +01:00
255ad608ff Init deploy for newton 2023-01-07 18:23:11 +01:00
facad9b40f Init deploy-rs 2023-01-07 18:22:48 +01:00
d516dca613 Merge branch 'main' of github.com:JulienMalka/nix-config 2023-01-07 12:56:53 +01:00
7ea9b14513 Added tower key to all machines 2023-01-07 12:56:30 +01:00
4023b8a1c9 Merge branch 'main' of github.com:JulienMalka/nix-config 2023-01-07 12:51:36 +01:00
1858e15525 Added mail alias 2023-01-07 12:51:26 +01:00
f9f6f1fe49 Updated drone to build tower 2023-01-07 00:09:57 +01:00
242b85abaa lint 2023-01-06 23:53:31 +01:00
Julien
de518e5028 Start of tower 2023-01-06 23:41:53 +01:00
ecdcc86118 Bootstraping of new machine 2023-01-06 22:57:36 +01:00
8c0f6d8af6 Updated onedarker.nvim 2023-01-06 11:55:37 +01:00
61ccfdacc0 removed useless file 2023-01-06 10:58:38 +01:00
9c159857fd Updated to 22.11 2023-01-06 10:21:10 +01:00
0b5a7fff07 Updated github keys 2023-01-06 10:19:57 +01:00
4bb5843166 Update neovim config 2023-01-06 10:18:13 +01:00
155a7ae627 Rolledback to home version 22.05 to fix nvim, have to find a long term solution 2023-01-06 10:16:15 +01:00
4963b96f21 Updated nix for 22.11 (4) 2023-01-05 17:15:06 +01:00
a1d198730f Updated nix for 22.11 (3) 2023-01-05 17:12:02 +01:00
3ad0bb78aa Updated nix for 22.11 (2) 2023-01-05 17:10:42 +01:00
6f99ed233a Updated nix for 22.11 2023-01-05 17:09:27 +01:00
1952a1b661 Updated grafana for 22.11 2023-01-05 17:02:47 +01:00
87e5e81272 Updated hedgedocs for 22.11 2023-01-05 17:01:15 +01:00
f30edf15c5 Updated ENS calendars 2023-01-04 11:43:22 +01:00
04cf6b25f0 Updated flake lock 2023-01-01 00:37:08 +01:00
2403c979be Deleted macintosh as machine not in use anymore 2022-12-26 21:07:25 +01:00
10391dd28c Removed mosh from ci 2022-12-22 23:40:20 +01:00
2fab91c40c Removed useless double check 2022-12-22 23:32:51 +01:00
b5de1e14ed Updated keys 2022-12-22 23:27:45 +01:00
8a63ca4822 Removed conflict 2022-12-22 23:25:24 +01:00
2d785e5b39 Removed garbage collection 2022-12-22 22:59:26 +01:00
496725c10c Updated flaresolverr 2022-12-22 22:57:41 +01:00
17a5cfd6e9 Updated flake - OpenSSL is up to date 2022-11-04 10:28:36 +01:00
63313a82e9 Updated keys 2022-11-03 01:10:30 +01:00
c91d07688d Changed mtu on ens20 on lisa 2022-11-03 01:10:03 +01:00
f3714f56e0 Updated lockfile 2022-11-03 01:09:28 +01:00
e1e1f5f0a9 We had a mosh release 2022-11-03 01:09:10 +01:00
aa96aaa869 Updated flake lock 2022-10-23 00:29:01 +02:00
5b0c33cc9b Removed depreciated server 2022-10-22 11:45:05 +02:00
3bfbebc547 Removed vim plugin 2022-10-22 11:43:26 +02:00
50377ebcfc updated flake 2022-10-22 11:43:04 +02:00
0ad9f1fefa Updated keys 2022-10-12 09:54:19 +02:00
ed3ab2717e Added roundcube 2022-10-12 09:54:03 +02:00
92bbca56ee Added new neovim config: WIP 2022-10-12 09:53:16 +02:00
70bef16422 Added linkal module 2022-10-12 09:52:51 +02:00
0b2b09afc1 Merge branch 'main' of github.com:JulienMalka/nix-config 2022-09-27 06:58:27 +02:00
03d557eb33 Added linkal service 2022-09-27 06:58:08 +02:00
52c38f004e Update README.md 2022-09-27 04:51:15 +02:00
18fe0bf7d0 Update flake 2022-09-25 13:43:18 +02:00
3d48b9dce1 Removed polr from lisa 2022-09-25 07:00:12 +02:00
b11a6454b5 Removed polr part 2 2022-09-25 06:59:06 +02:00
56577ce981 Removed polr because unmaintained 2022-09-25 06:57:19 +02:00
3d4af29e80 Removed linux 5.18 2022-09-25 06:48:54 +02:00
f752afb385 Added Sieve to mailserver 2022-09-25 06:42:46 +02:00
9e789dcced updated flake 2022-08-30 16:47:09 +02:00
d6e9572d2d Bumped flaresolverr to 2.2.6 2022-08-30 13:50:43 +02:00
0491ba5a85 Updated flake lock 2022-08-23 00:23:01 +02:00
07a116164d Updated machines 2022-08-22 18:12:52 +02:00
6121d9187f Removed unused devices from drone pipeline 2022-08-22 15:31:12 +02:00
e2827b7f8a Merge branch 'main' of github.com:JulienMalka/nix-config 2022-08-22 14:22:02 +02:00
773c960e1b Removed impurities in flake 2022-08-22 14:21:42 +02:00
20d6bfad0c Update README.md 2022-08-16 14:25:50 +02:00
e5fc67dd34 Fixed little issues with polr 2022-08-16 10:58:56 +02:00
2337084c77 Added polr module 2022-08-14 18:28:19 +02:00
5c559e2e09 Added polr package 2022-08-14 17:45:00 +02:00
f9610a0aa2 Updated htpdate 2022-08-14 17:41:58 +02:00
0efb40b86e Wireguard out 2022-07-29 09:41:23 +02:00
af682893c6 Bumped newton to 5.18 2022-07-29 09:31:25 +02:00
77a9fbc857 Added redirections 2022-07-29 09:30:49 +02:00
2537585465 Updated lisa 2022-07-24 14:19:45 +02:00
10b6c59c8d Updated flake lock 2022-06-18 23:23:13 +02:00
dbea60fd3e Disabling login via ssh keys 2022-06-18 22:39:04 +02:00
4afe1bdd21 Updated lisa's kernel 2022-06-18 22:31:47 +02:00
c4cac5036a Updated newton to 22.05 2022-06-04 10:12:47 +02:00
3686a3860b Added ssh certificates 2022-06-03 22:03:15 +02:00
7f9e6c5d2b Ssh certificates, got to clean that 2022-06-03 21:59:41 +02:00
d08b681e4a Jackett has to be up to date 2022-06-03 21:59:14 +02:00
f5114f16e7 Added nginx for the lounge 2022-05-25 07:58:15 +02:00
8f764915ca Changed irc service 2022-05-25 07:34:01 +02:00
909c33ad82 Using updated Nodepackage, can't remember why but must be important 2022-05-25 07:08:52 +02:00
d6bd6db6e9 Added internal dns to newton 2022-05-10 07:52:23 +02:00
8442c8686e Merge branch 'main' of github.com:JulienMalka/nix-config 2022-05-10 07:01:39 +02:00
62889493b6 Updated newton to support tailscale 2022-05-10 07:01:21 +02:00
fef7da9caa Updated flake lock 2022-05-10 06:57:50 +02:00
31e5d5657b Updated lisa config 2022-05-10 06:56:35 +02:00
cc78841674 Added root certificate for all machines 2022-05-10 06:49:38 +02:00
2fe91d74a2 Added ssl cert for homer 2022-05-10 06:46:32 +02:00
7978bf22f8 Added automatic ssl certificates for internal domains 2022-05-10 06:45:21 +02:00
c18d85923b Added one ssh key 2022-05-10 06:42:58 +02:00
07eff7b178 Added beta feature : tailscale 2022-04-21 19:33:23 +02:00
6ee32ce1f5 Updated flake lock 2022-04-21 18:10:45 +02:00
080a653b79 Merge branch 'main' of github.com:JulienMalka/nix-config 2022-04-17 15:51:15 +02:00
b811fbfd11 Radarr 21.11 version is not working 2022-04-17 15:50:31 +02:00
f74779cb23 Fixed neomutt not filtering bc 2022-04-15 20:36:19 +02:00
1b06445e78 Reconnected to VPN 2022-04-15 20:05:41 +02:00
7712c64a22 Update machines 2022-04-03 21:14:14 +02:00
7f15fa43da Decomissionned useless feature 2022-04-02 20:41:05 +02:00
a1bb935ba0 Changed subdomains in VPN 2022-04-02 19:57:47 +02:00
5e43492012 Bumped flaresolverr version to 2.2.2 2022-04-02 19:57:11 +02:00
5bc9d6d9f9 Fought letsencrypt rate limits 2022-04-01 21:02:35 +02:00
9e40a0d358 Deleted stupid certificate generation 2022-04-01 21:02:09 +02:00
ccf668ad1c Reinstalled lisa 2022-04-01 21:01:38 +02:00
7fbe2b1255 Updated keys 2022-04-01 19:09:19 +02:00
3f6fa30c20 Reinstalling lisa, again 2022-04-01 18:55:16 +02:00
Julien Malka
7a401da614 Should verify now 2022-04-01 10:56:51 +02:00
Julien Malka
7b67705a6c Rolled git keys 2022-04-01 10:55:14 +02:00
Julien Malka
4db2ca42de Using new gpg key 2022-04-01 10:46:56 +02:00
Julien Malka
685663ebe8 Updated everyone 2022-04-01 10:42:48 +02:00
Julien Malka
b2f9c813de Fixed kernel version to 5.10 to avoid problems and updated zfs 2022-04-01 10:42:32 +02:00
Julien Malka
1707d9af7f And another one 2022-04-01 10:41:40 +02:00
Julien Malka
c86fc8ff27 Another file impacted by secrets rolling 2022-04-01 10:41:19 +02:00
Julien Malka
d5d51bbe03 Changed binary cache key 2022-04-01 10:38:13 +02:00
Julien Malka
5f59ad7fef Rolled all secrets for security purposes 2022-04-01 10:36:27 +02:00
Julien Malka
6dcca9387c Et c reparti 2022-03-30 23:03:12 +02:00
Julien Malka
927532adc4 On retente nix 2.7 2022-03-29 22:19:54 +02:00
Julien Malka
bbe349a650 Remise en service lisa 2 2022-03-29 22:19:02 +02:00
Julien Malka
f3690a79bd Something is broken 2022-03-21 19:51:55 +01:00
Julien Malka
fd5ca5d698 Updated infra 2022-03-16 21:52:54 +01:00
Julien Malka
a0c3ccef1a Updated flake 2022-03-13 20:34:57 +01:00
Julien Malka
c22df5397f Updated flake 2022-03-12 00:02:38 +01:00
Julien Malka
0690b6c4f5 Added irc service 2022-03-11 01:07:21 +01:00
Julien Malka
b3cdcc78ce Merge branch 'main' of github.com:JulienMalka/nix-config 2022-03-10 15:25:33 +01:00
Julien Malka
8fd118c205 Added an irc service 2022-03-10 15:25:23 +01:00
Julien Malka
557b7cb4f3 Merge branch 'main' of github.com:JulienMalka/nix-config 2022-03-10 15:23:04 +01:00
Julien Malka
42f5c779a9 Updated authelia : still not in prod 2022-03-10 15:22:54 +01:00
Julien Malka
670efffcab Updated flake lock 2022-02-28 21:03:58 +01:00
Julien Malka
e6c3aa11d6 Updated status page to refect some services are now private 2022-02-28 18:53:36 +01:00
Julien Malka
21c3f5742b Trying to save lambda 2022-02-28 18:29:11 +01:00
Julien Malka
838fb923d4 I don't really know what I'm doing here 2022-02-28 15:42:54 +01:00
Julien Malka
693ab77482 Updated machines 2022-02-28 14:50:02 +01:00
Julien Malka
61834633bd Added inputs to gcroots 2022-02-28 14:29:42 +01:00
Julien Malka
625ad7b3a6 Fixed paperless not building 2022-02-28 13:14:27 +01:00
Julien Malka
989ff05882 Updated machines 2022-02-27 00:18:07 +01:00
Julien Malka
393b994201 Merge branch 'main' of github.com:JulienMalka/nix-config 2022-02-26 23:50:12 +01:00
Julien Malka
5ed3823232 Added macintosh to vpn 2022-02-26 23:50:06 +01:00
Julien Malka
8e7f82334d Fixed paperless OCR langages 2022-02-26 23:48:07 +01:00
Julien Malka
cabb0d33ba Merge branch 'main' of github.com:JulienMalka/nix-config 2022-02-26 22:43:17 +01:00
Julien Malka
7a20c86e3c Added paperless service 2022-02-26 22:43:10 +01:00
Julien Malka
8d4942c5cc Added client to vpn 2022-02-26 22:37:16 +01:00
Julien Malka
d64791344b Added Authelia : en chantier 2022-02-26 19:07:28 +01:00
Julien Malka
4a046c9203 Added new mail account 2022-02-26 19:03:11 +01:00
Julien Malka
3ee07e2d72 Changed subdomain for navidrome 2022-02-26 18:56:11 +01:00
Julien Malka
3807b7c860 Create VPN subdomains 2022-02-26 18:55:41 +01:00
Julien Malka
667ac0936f Add vpn subdomains with domain name luj.home 2022-02-26 18:44:16 +01:00
Julien Malka
680aee3668 Add a 404 page 2022-02-26 18:39:09 +01:00
Julien Malka
3be13f2b44 Added authelia pkg 2022-02-20 20:34:43 +01:00
Julien Malka
f4dedf0c4e Secret services are now under cover 2022-02-20 18:36:34 +01:00
Julien Malka
600519d0d7 Time to update 2022-02-20 00:37:55 +01:00
Julien Malka
e6e4f83d99 Merge branch 'main' of github.com:JulienMalka/nix-config 2022-02-19 23:59:54 +01:00
Julien Malka
d7acd091bd Removed and revoked exposed spotify id 2022-02-19 23:57:36 +01:00
Julien Malka
aed27629d9 Updated status page 2022-02-19 22:29:27 +01:00
Julien Malka
35b3828350 Updated filters and neomutt config 2022-02-19 22:07:50 +01:00
Julien Malka
2ff9a54200 Refactoring of the machines 2022-02-19 22:05:59 +01:00
Julien Malka
206a6a28bc VPN... this is not really stable yet 2022-02-19 22:05:24 +01:00
Julien Malka
c1337d2d42 Updated navidrome to support biographies 2022-02-19 22:03:25 +01:00
Julien Malka
c4fac38920 Updated download client 2022-02-19 22:02:37 +01:00
Julien Malka
e5296f199c Added new services to status page 2022-02-05 22:07:28 +01:00
Julien Malka
7a43767b73 Added flaresolverr to drone pipeline 2022-02-05 19:02:12 +01:00
Julien Malka
a72bf5add6 Refactored mediaserver 2022-02-05 19:00:46 +01:00
Julien Malka
1df9d1ddaa Another typo 2022-02-05 18:30:52 +01:00
Julien Malka
5b7f892929 Fixed typo in flake.nix 2022-02-05 18:29:27 +01:00
Julien Malka
5db52addd2 Added flaresolverr service and some other 2022-02-05 18:24:26 +01:00
Julien Malka
be55706d90 Updated flake lock 2022-02-02 01:15:12 +01:00
Julien Malka
081e3dc7e8 Fixed a stupid mistake 2022-02-01 13:50:12 +01:00
Julien Malka
c0b768cdc3 Updated flake lock 2022-01-30 01:13:34 +01:00
Julien Malka
f95e50f22e Updated flake lock 2022-01-29 01:17:50 +01:00
Julien Malka
7aaae891dd Updated flake lock 2022-01-27 00:52:24 +01:00
Julien Malka
cd4227ac4d Updated flake lock 2022-01-25 01:42:36 +01:00
Julien Malka
fc6f24edd9 Updated flake.lock 2022-01-24 22:42:58 +01:00
Julien Malka
913437f1c6 Updated status page 2022-01-23 20:20:40 +01:00
Julien Malka
e1319341a8 Added mailserver and hedgedoc service 2022-01-23 19:11:10 +01:00
Julien Malka
303b6ef88c Updated flake lock 2022-01-22 01:12:00 +01:00
Julien Malka
7491015128 Merged 2022-01-20 12:37:17 +01:00
Julien Malka
2513910878 Really closed registrations 2022-01-20 12:35:38 +01:00
Julien Malka
2b819aa29c Updated flake lock 2022-01-20 05:52:44 +01:00
Julien Malka
4b08e63857 Updated flake lock 2022-01-16 01:36:55 +01:00
Julien Malka
e47ab8ad35 Merge remote-tracking branch 'origin/flake-update' 2022-01-13 17:53:06 +01:00
Julien Malka
9fc1219433 Updated flake lock 2022-01-13 13:41:06 +01:00
Julien Malka
54423091f5 Merge branch 'main' of github.com:JulienMalka/nix-config 2022-01-13 03:30:57 +01:00
Julien Malka
9664bc1039 So that's why neovim was at the wrong version 2022-01-13 03:30:46 +01:00
Julien Malka
4a82be260e Adaped status mails for lisa 2022-01-13 01:31:49 +01:00
Julien Malka
2f172e1649 Forgot that 2022-01-13 00:00:33 +01:00
Julien Malka
e68bf96cf8 Transitionning lisa to uncrypted zfs 2022-01-12 23:40:17 +01:00
Julien Malka
4c0658d6c8 Merge remote-tracking branch 'origin/flake-update' 2022-01-12 13:54:28 +01:00
Julien Malka
7204520dce Merge branch 'main' of github.com:JulienMalka/nix-config 2022-01-12 13:54:16 +01:00
Julien Malka
766e9e4193 Changed lisa ip 2022-01-12 13:54:12 +01:00
Julien Malka
3f4d130260 Updated flake lock 2022-01-12 01:21:04 +01:00
Julien Malka
33afa293dd Just a small formatting change 2022-01-11 10:05:05 +01:00
Julien Malka
3bc364b60b Updated flake lock 2022-01-11 00:42:27 +01:00
Julien Malka
101b6c1a16 Updated flake.lock 2022-01-10 16:15:03 +01:00
Julien Malka
2ab2b0e6a9 Merge branch 'main' of github.com:JulienMalka/nix-config 2022-01-10 15:09:23 +01:00
Julien Malka
7bb120eda2 Cleaned htpdate 2022-01-10 15:09:14 +01:00
Julien Malka
9c4dfb29d1 Updated flake lock 2022-01-08 01:27:50 +01:00
Julien Malka
c5675f92c6 Adde htpdate to build 2022-01-07 17:56:17 +01:00
Julien Malka
d65859e59e Merge remote-tracking branch 'origin/flake-update' 2022-01-07 17:54:07 +01:00
Julien Malka
4a53418529 Merge branch 'main' of github.com:JulienMalka/nix-config 2022-01-07 17:50:13 +01:00
Julien Malka
5c268186f6 Cleaning htpdate 2022-01-07 17:50:02 +01:00
Julien Malka
fa75b59eee Updated flake lock 2022-01-07 01:23:48 +01:00
Julien Malka
3a853d8978 Corrected time for lambda 2022-01-06 14:17:21 +01:00
Julien Malka
a3f827ac2a Repaired htpdate (hopefully) 2022-01-06 13:15:44 +01:00
Julien Malka
13b6f831b3 Updated flake lock 2022-01-06 01:26:23 +01:00
Julien Malka
be4eeef3e7 Merge remote-tracking branch 'origin/flake-update' 2022-01-05 23:58:45 +01:00
Julien Malka
c71d07c28e Repaired ip 2022-01-05 23:40:31 +01:00
Julien Malka
c0f548a053 Updated flake lock 2022-01-05 01:18:14 +01:00
Julien Malka
32f7240026 Merge remote-tracking branch 'origin/flake-update' 2022-01-04 00:29:14 +01:00
Julien Malka
656b45bfca Sometimes I make mistakes 2022-01-04 00:29:02 +01:00
Julien Malka
33d78b16fa Updated flake lock 2022-01-04 00:26:58 +01:00
Julien Malka
e5b68cf0df Merge remote-tracking branch 'origin/flake-update' 2022-01-03 17:23:03 +01:00
Julien Malka
a382123a55 This is stupid 2022-01-03 17:11:01 +01:00
Julien Malka
1a0408b1a1 Updated flake lock 2022-01-03 14:56:35 +01:00
Julien Malka
6982ff82d8 Fixed mbsync not able to use cat 2022-01-03 13:43:01 +01:00
Julien Malka
75b559a1c4 Quick fix 2022-01-02 23:09:48 +01:00
Julien Malka
fddb59dc97 Merge branch 'main' of github.com:JulienMalka/nix-config 2022-01-02 23:01:08 +01:00
Julien Malka
785b837051 Updated filerun and fixed permissions 2022-01-02 23:00:58 +01:00
Julien Malka
9292fe56c8 Fixing drone error 2022-01-02 15:43:06 +01:00
Julien Malka
4c42e85469 Updated drone pipeline 2022-01-02 15:41:24 +01:00
Julien Malka
32cf524d4a Updated config for rpi 2022-01-02 15:15:03 +01:00
Julien Malka
5e541b5c75 Updated flake lock 2022-01-02 00:47:42 +01:00
Julien Malka
658caddc4a Added git to rpi 2022-01-01 20:58:26 +01:00
Julien Malka
2b131593a0 Changed status machine 2022-01-01 20:52:02 +01:00
Julien Malka
75d009d1d8 Oops 2022-01-01 20:49:41 +01:00
Julien Malka
ca94891163 Small refactor 2022-01-01 20:46:20 +01:00
Julien Malka
9b401d5c5e Trying to add new machine 2022-01-01 19:16:42 +01:00
Julien Malka
692b46da82 Updated flake lock 2022-01-01 14:40:43 +01:00
Julien Malka
14724f5039 New ip 2021-12-31 12:36:16 +01:00
Julien Malka
ba2f276c6b Fixed my knowledge about attribute set merging 2021-12-29 18:20:42 +01:00
Julien Malka
48815679d9 Refactored subdomains creation 2021-12-29 17:40:57 +01:00
Julien Malka
9688b98206 Removed useless with 2021-12-29 16:53:18 +01:00
Julien Malka
17764d464d Oops 2021-12-29 16:44:32 +01:00
Julien Malka
124e3f0b97 Merged utils with lib 2021-12-29 16:41:31 +01:00
Julien Malka
497dad9f18 Updated flake lock 2021-12-29 16:12:49 +01:00
Julien Malka
94d56ddce3 Sending people to ssh jail 2021-12-29 11:34:55 +01:00
Julien Malka
423ddf33f7 Added a (tiny) bit of modularity in the mediaserver module 2021-12-29 10:40:31 +01:00
Julien Malka
aea98557f7 Small problem with flake update 2021-12-29 10:04:38 +01:00
Julien Malka
71bbdee665 Merge branch 'main' of github.com:JulienMalka/nix-config 2021-12-28 23:05:33 +01:00
Julien Malka
b66bd69360 Added auth for transmission 2021-12-28 23:05:27 +01:00
Julien Malka
6aaa7b4807 Just a little bit of cleaning 2021-12-28 22:49:59 +01:00
Julien Malka
e1871c459f Merge branch 'main' of github.com:JulienMalka/nix-config 2021-12-28 22:02:31 +01:00
Julien Malka
ae3d889262 Refactoring of the mediaserver module 2021-12-28 22:02:24 +01:00
Julien Malka
e532889292 Added jftui program 2021-12-28 17:37:27 +01:00
Julien Malka
1718eb1a62 Fixing wrong user for drone 2021-12-28 17:05:08 +01:00
Julien Malka
f4d869ae91 Added key for macintosh 2021-12-28 17:00:29 +01:00
Julien Malka
a1b0cc86fa Added newton ssh key 2021-12-28 16:50:05 +01:00
Julien Malka
49299dc3b2 Lot of changes, playing with ssh keys 2021-12-28 16:42:30 +01:00
Julien Malka
3aab217530 Continued drone rework 2021-12-27 23:08:03 +01:00
Julien Malka
9532471765 Fixed a few bugs 2021-12-27 22:19:54 +01:00
Julien Malka
ee9e7d4c32 Cleaned drone a little bit 2021-12-27 22:14:37 +01:00
Julien Malka
a1c2c37e1d Goodbye docker 2021-12-27 19:47:56 +01:00
Julien Malka
1fad29735f Updated flake lock 2021-12-27 19:45:10 +01:00
Julien Malka
9d7b17de81 Updated flake lock 2021-12-27 19:18:27 +01:00
Julien Malka
8864cdfbf3 Trying everything 2021-12-27 18:22:30 +01:00
Julien Malka
bf35e0d1f6 Pray for me 2021-12-27 18:08:41 +01:00
Julien Malka
a44610d90e Back 2021-12-27 17:49:42 +01:00
Julien Malka
5d2ea6d051 Taking a break now 2021-12-27 17:02:47 +01:00
Julien Malka
5d47c280e3 I feel we are near 2021-12-27 16:44:58 +01:00
Julien Malka
9ac6808714 Help is on the way 2021-12-27 16:33:19 +01:00
Julien Malka
293d651696 Getting mad 2021-12-27 12:29:11 +01:00
Julien Malka
545cffaedd Still not working 2021-12-27 12:19:22 +01:00
Julien Malka
b59f0ebc07 Merge branch 'main' of github.com:JulienMalka/nix-config 2021-12-27 11:47:05 +01:00
Julien Malka
ce9ef88b1d Please work 2021-12-27 11:46:52 +01:00
Julien Malka
68cd94c09f I meant that 2021-12-27 11:35:54 +01:00
Julien Malka
c14d1be60f What is not working ? 2021-12-27 11:33:41 +01:00
Julien Malka
64fceca28f Improved pipeline 2021-12-27 10:48:48 +01:00
Julien Malka
b058110942 I think I've got it now 2021-12-27 10:38:16 +01:00
Julien Malka
bda470324e I'm starting to go mad 2021-12-27 10:29:47 +01:00
Julien Malka
7d85fed4da Disabled transmission until better security 2021-12-27 10:24:28 +01:00
Julien Malka
9a3692dd1c I'm rate limited so closing that for now 2021-12-26 23:32:20 +01:00
Julien Malka
46a61db68e trying to fix that 2021-12-26 23:27:36 +01:00
Julien Malka
95b6e5da79 Fixed that 2021-12-26 23:19:04 +01:00
Julien Malka
dac584cf02 Udpdated readme // This is a CI test 2021-12-26 23:11:24 +01:00
Julien Malka
25e9f104a6 Merge 2021-12-26 22:57:35 +01:00
Julien Malka
96c5dfac48 Tried to add docker exec runner 2021-12-26 22:55:09 +01:00
Julien Malka
49b1e7d764 I've got to try this 2021-12-26 21:45:51 +01:00
Julien Malka
58ee5aef86 Updated drone 2021-12-26 21:40:19 +01:00
Julien Malka
3c6a91f9a0 Added mosh as a package 2021-12-26 21:07:40 +01:00
Julien Malka
fe9506ac33 Fixed binary cache status not working 2021-12-26 18:36:06 +01:00
Julien Malka
d85c91ed60 Added binary cache to status page 2021-12-26 18:24:42 +01:00
Julien Malka
0941348da1 Merge branch 'main' of github.com:JulienMalka/nix-config 2021-12-26 18:19:00 +01:00
Julien Malka
29d945137e It's time 2021-12-26 18:18:47 +01:00
Julien Malka
c6441155b5 Few improvments 2021-12-26 16:01:23 +01:00
Julien Malka
728e9f9623 Still giving back a few ports to nginx 2021-12-26 15:58:55 +01:00
Julien Malka
9f72072285 Merge branch 'main' of github.com:JulienMalka/nix-config 2021-12-26 15:52:20 +01:00
Julien Malka
456c2b3129 Closed some ports 2021-12-26 15:52:13 +01:00
Julien Malka
82226fa744 Actually every 5 minutes 2021-12-26 13:24:36 +01:00
Julien Malka
3d5718fb67 Fixed a few things on the status page 2021-12-26 13:16:06 +01:00
Julien Malka
db1989e484 Status working now 2021-12-26 02:45:49 +01:00
Julien Malka
228a585f7f Added status page 2021-12-26 00:21:23 +01:00
Julien Malka
8201ddc785 Updated flake inputs 2021-12-25 22:31:24 +01:00
Julien Malka
2a03f29b63 Refactored nix allowed users 2021-12-25 22:16:24 +01:00
Julien Malka
f6e268422c Removed useless binary cache (I have to monitor for performances tho 2021-12-25 22:13:16 +01:00
Julien Malka
3d5dbf31a3 Reactivated binary serv 2021-12-25 19:26:14 +01:00
Julien Malka
11e677b697 Fixed bincache 2021-12-25 19:21:55 +01:00
Julien Malka
9eb7695535 Updated flake.lock 2021-12-25 17:42:02 +01:00
Julien Malka
78589a1fd7 Fix unexisting group 2021-12-25 17:20:51 +01:00
Julien Malka
7c0c58b3d2 Added bincache 2021-12-25 17:15:58 +01:00
Julien Malka
8cbfd7562b Added mosh module 2021-12-25 16:37:08 +01:00
Julien Malka
b27304323d Updated ReadMe (mainly to test drone) 2021-12-25 16:03:15 +01:00
Julien Malka
ff6e93af71 Moved drone to lisa 2021-12-25 15:56:30 +01:00
Julien Malka
8dbfd4002e Added nix to path 2021-12-25 13:00:07 +01:00
Julien Malka
e0e1890d53 Merge branch 'main' of github.com:JulienMalka/nix-config 2021-12-25 12:54:12 +01:00
Julien Malka
ea1ddda327 Added drone module 2021-12-25 12:53:48 +01:00
Julien Malka
67d14e9701 Merge branch 'main' of github.com:JulienMalka/nix-config 2021-12-24 19:50:37 +01:00
Julien Malka
9f5c827448 Killed hydra 2021-12-24 19:50:28 +01:00
Julien Malka
b6ea842e1d Kinda works 2021-12-24 19:43:28 +01:00
Julien Malka
47b90756cc This is mainly a test 2021-12-24 19:40:57 +01:00
Julien Malka
a7b6532398 Simplified 2021-12-24 19:24:36 +01:00
Julien Malka
9a256b4e75 Je fais n'importe quoi 2021-12-24 19:03:38 +01:00
Julien Malka
c23c91232c This is a test 2021-12-24 16:43:30 +01:00
Julien Malka
44700bab0e Activating firewall on macintosh 2021-12-24 11:23:45 +01:00
Julien Malka
0f3a479613 Create LICENSE 2021-12-24 00:01:42 +01:00
Julien Malka
79a76b33c1 Still a WIP but better 2021-12-23 23:57:26 +01:00
Julien Malka
c6be4f9836 Updated readme // WIP 2021-12-23 11:50:02 +01:00
Julien Malka
89e52afa4b Updated flake.lock 2021-12-23 11:13:57 +01:00
Julien Malka
c52a51ba0e Refactoring of default editor 2021-12-23 11:05:14 +01:00
Julien Malka
e458ec3d29 Merge branch 'main' of github.com:JulienMalka/nix-config 2021-12-23 11:00:59 +01:00
Julien Malka
011ec1a24e Added gtk module 2021-12-23 11:00:26 +01:00
Julien Malka
cc80eaba07 Updated readme... this is a test 2021-12-23 00:53:17 +01:00
Julien Malka
631b449bc1 Trying automatically adding gpg key 2021-12-23 00:31:39 +01:00
Julien Malka
7da377a47a Added gpg secret 2021-12-23 00:11:01 +01:00
Julien Malka
3dfca69970 I guess this is the explanation 2021-12-22 23:34:50 +01:00
Julien Malka
2cd2a3bdee updated readme 2021-12-22 23:29:47 +01:00
Julien Malka
171e929527 Think I did not add the key correctly 2021-12-22 23:20:32 +01:00
Julien Malka
534213aada Merge branch 'main' of github.com:JulienMalka/nix-config 2021-12-22 23:13:30 +01:00
Julien Malka
af7f4eb575 Added gpg key for git 2021-12-22 23:12:37 +01:00
Julien Malka
23652887a8 Added flake lock 2021-12-22 22:44:11 +01:00
Julien Malka
a200aab11f Added lisa port 2021-12-22 22:39:40 +01:00
Julien Malka
af11597854 Much change, kinda broke my git history 2021-12-22 22:16:48 +01:00
Julien Malka
dbd0f9a448 Updated macintosh age key 2021-12-22 13:38:51 +01:00
Julien Malka
7f57e4350b Removed useless firewall opening 2021-12-22 12:27:58 +01:00
Julien Malka
fce2bd75d1 Fixed broken services on lisa 2021-12-22 12:24:13 +01:00
Julien Malka
eba4867b84 Playing a little bit too much with users 2021-12-22 11:54:06 +01:00
Julien Malka
08b98123f7 First step with sops 2021-12-21 22:55:20 +01:00
165 changed files with 12880 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

3
.gitmodules vendored Normal file
View file

@ -0,0 +1,3 @@
[submodule "private"]
path = private
url = ssh://forgejo@git.luj.fr/luj/snowfield-private.git

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
My Machines configuration
# Snowfield ❄
[![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
cfg = config.luj.programs.git;
in
@ -12,7 +17,34 @@ with lib;
programs.git = {
enable = true;
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
cfg = config.luj.emails;
in
@ -6,68 +11,156 @@ with lib;
{
options.luj.emails = {
enable = mkEnableOption "enable mail management";
backend.enable = mkEnableOption "enable filtering backend";
};
config = mkIf cfg.enable {
config = mkMerge [
(mkIf cfg.enable {
programs.mbsync.enable = true;
programs.neomutt.enable = true;
programs.msmtp.enable = true;
accounts.email = {
accounts.ens = {
address = "julien.malka@ens.fr";
imap.host = "clipper.ens.fr";
mbsync = {
enable = true;
create = "maildir";
extraConfig.channel = {
"CopyArrivalDate" = "yes";
};
age.secrets.work-mail-pw = {
file = ../../private/secrets/work-mail-pw.age;
};
age.secrets.dgnum-mail-pw = {
file = ../../private/secrets/dgnum-mail-pw.age;
};
age.secrets.telecom-mail-pw = {
file = ../../private/secrets/telecom-mail-pw.age;
};
age.secrets.ens-mail-pw = {
file = ../../private/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 = {
enable = true;
frequency = "*-*-* *:*:00";
verbose = false;
};
xdg.configFile = {
"neomutt/neomuttrc".source = lib.mkForce ./neomuttrc;
accounts.work = {
notmuch.enable = true;
folders.inbox = "INBOX";
address = "julien@malka.sh";
imap.host = "mail.luj.fr";
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.work-mail-pw.path}";
smtp = {
host = "mail.luj.fr";
};
userName = "malka";
};
})
(mkIf (cfg.enable && cfg.backend.enable) {
programs.afew.enable = true;
accounts.email.accounts.ens.notmuch.enable = true;
services.mbsync.postExec = "${pkgs.notmuch}/bin/notmuch new";
programs.notmuch = {
enable = true;
new.tags = [ "new" ];
hooks.postNew = ''
${pkgs.afew}/bin/afew --tag --new
${pkgs.afew}/bin/afew --move-mails
'';
};
xdg.configFile = {
"afew/config".source = lib.mkForce ./afewconfig;
accounts.telecom = {
notmuch.enable = true;
folders.inbox = "INBOX";
address = "julien.malka@telecom-paris.fr";
imap.host = "z.imt.fr";
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.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
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
with lib;
{
@ -19,54 +15,166 @@ with lib;
};
config = mkIf cfg.enable {
home.packages = with pkgs; [
git
nodejs
ripgrep
gcc
];
programs.neovim = {
enable = true;
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; [
# File tree
nvim-web-devicons
nvim-tree-lua
# LSP
nvim-lspconfig
# Languages
vim-nix
plenary-nvim
# Eyecandy
nvim-treesitter
bufferline-nvim
galaxyline-nvim
nvim-colorizer-lua
pears-nvim
dusk-vim
# Lsp and completion
nvim-lspconfig
nvim-compe
# Telescope
#Telescope
telescope-nvim
# Indent lines
#indent-blankline-nvim
nvim-web-devicons
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; [
gcc
rnix-lsp
tree-sitter
sumneko-lua-language-server
rust-analyzer
pkgs.nixd
pyright
ormolu
ccls
gopls
unstable.nixfmt-rfc-style
];
extraConfig = ''
luafile ${./lua}/lsp.lua
luafile ${./lua}/nvim-tree.lua
luafile ${./lua}/galaxyline.lua
luafile ${./lua}/settings.lua
luafile ${./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": "531beac616433bac6f9e2a19feb8e99a22a66baf",
"url": "https://github.com/ryantm/agenix/archive/531beac616433bac6f9e2a19feb8e99a22a66baf.tar.gz",
"hash": "sha256-9P1FziAwl5+3edkfFcr5HeGtQUtrSdk/MksX39GieoA="
},
"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": "90856b1b570da027a768a8b8c11d49be723a7856",
"url": "https://github.com/nix-community/emacs-overlay/archive/90856b1b570da027a768a8b8c11d49be723a7856.tar.gz",
"hash": "sha256-2CmtuWDAxP/o14TeKXQa0BtHMALKjFAmoU4DaWX78zk="
},
"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": "36ab78dab7da2e4e27911007033713bab534187b",
"url": "https://github.com/nixos/nixpkgs/archive/36ab78dab7da2e4e27911007033713bab534187b.tar.gz",
"hash": "sha256-urV51uWH7fVnhIvsZIELIYalMYsyr2FCalvlRTzqWRw="
},
"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": "9e83b64f727c88a7711a2c463a7b16eedb69a84c",
"url": "https://github.com/nixos/nixpkgs/archive/9e83b64f727c88a7711a2c463a7b16eedb69a84c.tar.gz",
"hash": "sha256-v263g4GbxXv87hMXMCpjkIxd/viIF7p3JpJrwgKdNiI="
}
}
}

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.ssh-client.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,271 @@
{
config,
lib,
pkgs,
...
}:
let
stalwart-private-settings = import ../../private/pkgs/stalwart/settings.nix;
in
{
services.stalwart-mail = {
enable = true;
package = pkgs.callPackage ../../private/pkgs/stalwart { };
settings = {
metrics.history = {
enable = true;
store = "rocksdb";
retention = "90d";
interval = "0 * *";
};
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";
};
};
};
} // stalwart-private-settings;
};
services.backup.includes = [ "/var/lib/stalwart-mail/db" ];
age.secrets.stalwart-admin-hash = {
file = ../../private/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,96 @@
{
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 = { };
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}" ];
};
settings.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"
];
};
};
settings.folders = {
"dev" = {
path = "/home/julien/dev";
settings.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_x;
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 = ../../private/secrets/garage-env-file.age;
age.secrets."book-auth" = {
file = ../../private/secrets/book-auth.age;
owner = "nginx";
};
age.secrets."notes-phd-auth" = {
file = ../../private/secrets/notes-phd-auth.age;
owner = "nginx";
};
age.secrets."notes-perso-auth" = {
file = ../../private/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 = ../../private/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_6;
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,348 @@
{
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 = { };
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}" ];
};
settings.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"
];
};
};
settings.folders = {
"dev" = {
path = "/home/julien/dev";
settings.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" ];
};
services.desktopManager.gnome.enable = true;
services.displayManager.gdm.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 ];
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}" ];
};
settings.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"
];
};
};
settings.folders = {
"dev" = {
path = "/home/julien/dev";
settings.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 = ../../private/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 = ../../private/secrets/nextcloud-admin-password.age;
owner = "nextcloud";
group = "nextcloud";
};
age.secrets."nextcloud-s3-token" = {
file = ../../private/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;
verify_bucket_exists = 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 = ../../private/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 = ../../private/secrets/plausible-password.age;
plausible-secret-key-base.file = ../../private/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 = ../../private/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}" ];
};
settings.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"
];
};
};
settings.folders = {
"dev" = {
path = "/home/julien/dev";
settings.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

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