Compare commits

...

322 commits

Author SHA1 Message Date
Bruno BELANYI 50be0ff152 WIP: templates: add rust-cargo
All checks were successful
ci/woodpecker/push/check Pipeline was successful
TODO: find out if I can use the `cargoLock` FOD to run `clippy`.
2024-04-01 22:22:39 +01:00
Bruno BELANYI 6c1a9fbdba templates: fix description typo 2024-03-28 20:21:55 +00:00
Bruno BELANYI 887be08b69 templates: fix homepage links 2024-03-28 20:21:55 +00:00
Bruno BELANYI 68ff32a6d6 pkgs: zsh-done: fix homepage link 2024-03-28 20:21:55 +00:00
Bruno BELANYI 15d0e6bb38 flake: bump inputs
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2024-03-28 11:19:33 +00:00
Bruno BELANYI 607aa5351c nixos: services: tandoor-recipes: fix bulk upload
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2024-03-22 22:03:53 +01:00
Bruno BELANYI 61fa35093c nixos: services: mealie: fix bulk upload 2024-03-22 22:03:53 +01:00
Bruno BELANYI 4a01a50532 flake: bump inputs
All checks were successful
ci/woodpecker/push/check Pipeline was successful
And fix the update `pinentry` options in home-manager.
2024-03-16 19:49:00 +01:00
Bruno BELANYI 41e1ad3265 overlays: remove 'gruvbox-nvim-better-diff'
All checks were successful
ci/woodpecker/push/check Pipeline was successful
Now that I have the explicit override for it, this overlay is not
necessary.

This reverts commit 9e0930aca4.
This reverts commit 28187c3b8f.
2024-03-14 10:58:09 +00:00
Bruno BELANYI 10b4e6ce2d home: vim: explicitly revert diff highlighting 2024-03-14 10:56:08 +00:00
Bruno BELANYI c0ef5c9275 overlays: add gruvbox-nvin-expose-palette 2024-03-14 10:49:39 +00:00
Bruno BELANYI 0ff8366105 home: vim: fix path high-lighting
All checks were successful
ci/woodpecker/push/check Pipeline was successful
It was previously linked to `Underlined`, which just looks plain wrong
IMO.

This links it back to `GruvboxOrange`, as it used to be.
2024-03-13 13:08:57 +00:00
Bruno BELANYI d365aba3c0 home: vim: lua: utils: remove 'dump'
All checks were successful
ci/woodpecker/push/check Pipeline was successful
It's now available as 'vim.print'.
2024-03-12 15:13:20 +00:00
Bruno BELANYI b16b6a534b home: vim: lua: lsp: use 'vim.print' 2024-03-12 15:11:11 +00:00
Bruno BELANYI 070df03b7e home: vim: lua: utils: allow querying all clients
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2024-03-12 12:42:21 +00:00
Bruno BELANYI 0108b06a02 home: vim: lualine: use explicit buffer number
I want to tighten the API of this function a little bit, so let's be
more specific.
2024-03-12 12:40:49 +00:00
Bruno BELANYI 56e158f5c5 home: vim: lua: utils: fix deprecated function 2024-03-12 12:40:26 +00:00
Bruno BELANYI 4a8981c7b4 home: vim: lua: utils: fix documentation 2024-03-12 12:38:38 +00:00
Bruno BELANYI 07eca729f5 home: vim: null-ls: fix 'nixpkgs-fmt' condition
All checks were successful
ci/woodpecker/push/check Pipeline was successful
I haven't configured `nil` to format anything.

And I don't really care to, this is good enough for me.
2024-03-12 11:31:20 +00:00
Bruno BELANYI b24d299f70 home: xdg: move 'gdb' variables to their module
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2024-03-12 10:16:45 +00:00
Bruno BELANYI f06e99d95b home: xdg: move 'less' variables to their module 2024-03-12 10:16:45 +00:00
Bruno BELANYI 3fb758028c home: vim: lspconfig: remove 'rnix-lsp'
It's been abandoned, `nil` is a better language server nowadays.
2024-03-12 10:16:45 +00:00
Bruno BELANYI 276cc7e5f2 home: xdg: add '_JAVA_OPTIONS' 2024-03-11 17:32:54 +01:00
Bruno BELANYI b2dc051e6a flake: bump inputs
And fix the breaking changes in Vikunja (which actually make my
configuration simpler).
2024-03-11 17:32:54 +01:00
Bruno BELANYI 9749f0aa28 overlays: remove none-ls-shellcheck-nvim 2024-03-11 17:32:54 +01:00
Bruno BELANYI dc27b59912 home: vim: lspconfig: migrate to 'bashls'
Since `none-ls` has removed their `shellcheck` built-in. This actually
makes the diagnostics more robust to POSIX/non-POSIX scripts (the LSP
server detects it at runtime, which is more robust than the `ftdetect`
scripts).

Nice bonus: the shellcheck code is shown in the diagnostics message
without any configuration!

I'm not sure if I can configure `avoid-nullary-conditions` -- though it
seems like this check is broken at the moment (I couldn't get it to
trigger during my tests).
2024-03-11 17:32:54 +01:00
Bruno BELANYI 7a3e64f814 home: vim: lspconfig: add 'hls'
If I ever end up actually learning it...
2024-03-11 17:32:54 +01:00
Bruno BELANYI f13a6fb023 home: vim: lspconfig: add 'ruff-lsp'
Since everybody is moving towards using it instead of other linters...
2024-03-11 17:32:54 +01:00
Bruno BELANYI 30247ce3a0 home: vim: null-ls: fix deprecated builtins
`none-ls` deprecated a lot of unmaintained builtins, or ones that they
find has been replaced by a compete LSP server.

This removes those deprecated builtins, or uses a shim until I migrate
to the relevant LSP configuration (for `bash-language-server`).
2024-03-11 17:32:54 +01:00
Bruno BELANYI 08f4175412 overlays: add none-ls-shellcheck-nvim 2024-03-11 17:32:54 +01:00
Bruno BELANYI 6140e1c8f9 nixos: services: lohr: migrate to tmpfiles
This is better than a custom script.
2024-03-11 17:32:54 +01:00
Bruno BELANYI 5d3160fb0d hosts: nixos: porthos: migrate to new host
OVH/Kimsufi are deprecating my current server by the end of the year. So
let's migrate to a new host.

This was more painful than initially planned, OVH introduced a change to
their rescue system which messes with the NixOS installation [1].

In the end I used a kexec image [2] to run the installation.

[1]: https://github.com/NixOS/nix/issues/7790
[2]: https://github.com/nix-community/nixos-images
2024-03-11 17:32:54 +01:00
Bruno BELANYI 0f33dbd5c2 hosts: nixos: porthos: switch to forgejo
This required a quick rename to migrate from one to the other.
2024-03-11 17:32:54 +01:00
Bruno BELANYI f3207468f9 nixos: services: woodpecker: configurable forge 2024-03-11 17:32:54 +01:00
Bruno BELANYI b41fd9e48e hosts: nixos: porthos: secrets: add forgejo mail 2024-03-11 17:32:54 +01:00
Bruno BELANYI c1ffe09631 nixos: services: add forgejo 2024-03-11 17:32:54 +01:00
Bruno BELANYI 8591fb8b35 home: tmux: expand history limit 2024-03-11 16:03:53 +00:00
Bruno BELANYI 22139bd69f home: tmux: add hyperlinks support
Somewhat unfortunate that those have to be enabled by force, but easy
enough to support.
2024-03-11 16:03:53 +00:00
Bruno BELANYI 742b4c39a2 home: tmux: migrate to 'terminalFeatures'
There are other terminal capabilities I want to override in tmux, so
let's make this type more extensible.
2024-03-11 16:03:53 +00:00
Bruno BELANYI 97cc08d199 flake: use explicit 'systems' input 2024-03-11 16:03:53 +00:00
Bruno BELANYI a4e742bf55 nixos: services: blog: fix catch-all redirection
Don't use a hard-coded address...
2024-03-11 16:03:53 +00:00
Bruno BELANYI 84fea2f677 pkgs: add bt-migrate 2024-03-07 11:36:18 +00:00
Bruno BELANYI ef882a5267 pkgs: add sqlite_orm 2024-03-05 21:17:04 +00:00
Bruno BELANYI 6a47703c08 pkgs: add digestpp 2024-03-05 21:17:04 +00:00
Bruno BELANYI d423a03663 nixos: services: gitea: fix mail 'FROM' address
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2024-03-05 14:20:57 +00:00
Bruno BELANYI 40d1b39837 nixos: services: gitea: update mail configuration
Some checks failed
ci/woodpecker/push/check Pipeline failed
2024-03-05 14:17:30 +00:00
Bruno BELANYI ed15e62e1d nixos: services: gitea: use 'git' group
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2024-03-05 12:53:32 +00:00
Bruno BELANYI 6bef924513 overlays: remove gruvbox-nvim-treesitter-fix
All checks were successful
ci/woodpecker/push/check Pipeline was successful
Not needed anymore.

This reverts commit d6eceea08a.
2024-03-05 12:43:22 +00:00
Bruno BELANYI 7f0a889ccd hosts: nixos: porthos: services: enable mealie 2024-03-05 12:43:22 +00:00
Bruno BELANYI 380933e69b hosts: nixos: porthos: secrets: add mealie mail 2024-03-05 12:43:22 +00:00
Bruno BELANYI a3afafd9e0 nixos: services: add mealie 2024-03-05 12:43:22 +00:00
Bruno BELANYI 4d25609b26 nixos: system: nix: expand trusted users 2024-03-05 12:43:22 +00:00
Bruno BELANYI 56c0c28b02 hosts: nixos: porthos: home: disable cache
All checks were successful
ci/woodpecker/push/check Pipeline was successful
Same reason as the system-wide configuration...
2024-03-01 17:20:47 +00:00
Bruno BELANYI b9b47fffd6 flake: bump inputs
All checks were successful
ci/woodpecker/push/check Pipeline was successful
Fix the pyLoad user/group option that I added upstream [1].

Fix an evaluation error due to Pipewire changes [2].

[1]: https://github.com/NixOS/nixpkgs/pull/287304
[2]: https://github.com/NixOS/nixpkgs/pull/282377
2024-02-29 12:20:53 +00:00
Bruno BELANYI f9cdff8c13 hosts: homes: bazin: ignore interactive adb shells
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2024-02-23 13:28:48 +00:00
Bruno BELANYI eb668525f8 home: zsh: ignore more commands for notification 2024-02-23 13:14:09 +00:00
Bruno BELANYI 6539471186 templates: use explicit 'pre-commit check' CI step
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2024-02-16 23:00:57 +00:00
Bruno BELANYI 5d38d94da6 templates: use 'backend' CI label 2024-02-16 22:59:59 +00:00
Bruno BELANYI 7e361aff9d templates: c++-cmake: fix formatting
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2024-02-16 22:44:24 +00:00
Bruno BELANYI c5e5bee206 home: git: enable 'rerere'
All checks were successful
ci/woodpecker/push/check Pipeline was successful
How did I not already have it enabled?
2024-02-16 19:05:02 +00:00
Bruno BELANYI b2a199c9a0 home: nix: fix cache configuration
All checks were successful
ci/woodpecker/push/check Pipeline was successful
Copy-paste is bad kids, the home-manager module does *not* do the same
as NixOS.

I was rebuilding the world, since this was overriding the official Hydra
cache...
2024-02-15 17:09:56 +00:00
Bruno BELANYI a0dde6f274 home: zsh: add notification exclusion list
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2024-02-15 16:33:46 +00:00
Bruno BELANYI 3c79a373e4 pkgs: zsh-done: 0.1.0 -> 0.1.1 2024-02-15 16:33:46 +00:00
Bruno BELANYI 08f31c088b home: atuin: explicitly set 'enter_accept'
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2024-02-13 14:34:27 +00:00
Bruno BELANYI 8b07ff5bbe homes: bazin: enable zsh notifications
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2024-02-13 11:35:28 +00:00
Bruno BELANYI d6c2948135 home: zsh: add 'zsh-done' 2024-02-13 11:32:44 +00:00
Bruno BELANYI c89dec2a38 home: zsh: enforce order of 'initExtra{First,}'
In case I want to add more values to those options, I still want the
_main_ values to be ordered before/after.
2024-02-12 20:59:52 +00:00
Bruno BELANYI 521522e4e9 home: zsh: use 'mkMerge'
This will make adding modular configuration easier.
2024-02-12 20:59:52 +00:00
Bruno BELANYI c9969775da nixos: services: backup: add essential files
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2024-02-12 14:21:17 +00:00
Bruno BELANYI 0bb2be6b87 home: nix: add 'cache.selfHosted'
All checks were successful
ci/woodpecker/push/check Pipeline was successful
Once again mirroring the NixOS module changes that I forgot to port
over.
2024-02-12 11:40:28 +00:00
Bruno BELANYI 7f17069998 home: nix: rename 'inputs' options
This mirrors the changes made to the NixOS module.
2024-02-12 11:40:28 +00:00
Bruno BELANYI 5e3bc5a8c9 flake: bump inputs
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2024-02-11 12:38:30 +01:00
Bruno BELANYI b0aee235cd home: xdg: add 'GRADLE_USER_HOME'
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2024-02-11 11:26:05 +00:00
Bruno BELANYI 9d9dba2cc2 home: add wget
This is mostly so that I can add the XDG-compliant configuration.
2024-02-11 11:26:05 +00:00
Bruno BELANYI cb97b0dbde home: xdg: add python configuration
It looks like 3.13 finally brought a way to change the history location
through `PYTHON_HISTORY`.
2024-02-11 11:26:05 +00:00
Bruno BELANYI f4c4a485d6 home: xdg: fix sort order 2024-02-11 11:26:05 +00:00
Bruno BELANYI d6eceea08a overlays: add gruvbox-nvim-treesitter-fix
The version in nixpkgs is not up-to-date with regards to the
nvim-treesitter breaking changes that were recently introduced.
2024-02-11 11:26:05 +00:00
Bruno BELANYI 9e0930aca4 overlays: gruvbox-nvim-better-diff: simplify 2024-02-11 11:26:05 +00:00
Bruno BELANYI 8c03bff1cf overlays: remove 'tandoor-recipes-failing-test'
This is now redundant, the nixpkgs bump provided an updated package
which builds successfully.

This reverts commit 473be47b29.
2024-02-11 11:26:05 +00:00
Bruno BELANYI 0b74332e9c flake: bump inputs 2024-02-11 11:26:05 +00:00
Bruno BELANYI a5aaf57e63 home: mail: accounts: remove himalaya backends
Their definition is redundant with the logic of the himalaya module,
which does the right thing by default.
2024-02-06 17:16:47 +01:00
Bruno BELANYI 7948dc284b nixos: hardware: rename 'trackball'
All checks were successful
ci/woodpecker/push/check Pipeline was successful
Since I do intend on configuring every trackball I own to use this
scheme, not just the MX Ergo.
2024-02-06 15:08:19 +00:00
Bruno BELANYI 183f3b48c8 hosts: nixos: aramis: hardware: enable graphics 2024-02-06 15:04:40 +00:00
Bruno BELANYI f54cee8f70 nixos: hardware: add graphics
I did not add an Nvidia knob to this module, as I do not foresee *ever*
using one of their graphics card.
2024-02-06 15:04:40 +00:00
Bruno BELANYI 5ecef0d789 hosts: nixos: porthos: services: enable pyload
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2024-02-04 14:56:59 +01:00
Bruno BELANYI df44786c9c hosts: nixos: porthos: secrets: add pyload creds 2024-02-04 14:56:59 +01:00
Bruno BELANYI 03dac604e9 nixos: services: add pyload 2024-02-04 14:56:59 +01:00
Bruno BELANYI b41f0890b8 flake: bump inputs 2024-02-04 00:01:10 +01:00
Bruno BELANYI 473be47b29 overlays: add 'tandoor-recipes-failing-test'
Since it's currently broken on the unstable channel, I am pre-emptively
fixing it so that I can bump my flake inputs.
2024-02-04 00:01:10 +01:00
Bruno BELANYI 05cf04a11f home: mpv: add mpv-cheatsheet
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2024-01-31 22:07:03 +00:00
Bruno BELANYI e227ad76b2 hosts: nixos: aramis: home: use 'pinentry-gtk2'
All checks were successful
ci/woodpecker/push/check Pipeline was successful
Now that it's available again, let's use it.

This reverts commit 39eba647ac.
2024-01-31 21:41:40 +00:00
Bruno BELANYI 3f13b3f03f flake: bump inputs
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2024-01-31 11:56:09 +00:00
Bruno BELANYI 16f98f144e hosts: nixos: porthos: secrets: add aria RPC token
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2024-01-30 15:51:48 +01:00
Bruno BELANYI cc029f7933 nixos: services: add aria 2024-01-30 15:51:48 +01:00
Bruno BELANYI 02412f2578 nixos: services: nextcloud: fix renamed option 2024-01-30 15:51:48 +01:00
Bruno BELANYI 1655afcedf flake: bump inputs 2024-01-30 15:51:48 +01:00
Bruno BELANYI e2ec4d3032 nixos: services: paperless: fix classifier hangs
This is an experimental fix to try and get around an issue with the
default BLAS/LAPACK implementation. See [1] for more details.

[1]: https://github.com/NixOS/nixpkgs/issues/240591
2024-01-30 15:51:48 +01:00
Bruno BELANYI 58b22b7354 home: firefox: tridactyl: remove 'Nitter' rule
All checks were successful
ci/woodpecker/push/check Pipeline was successful
Turns out it's very annoying when the Nitter instance has been rate
limited.

This reverts commit e514389a3d.
2024-01-27 15:33:40 +00:00
Bruno BELANYI e2091e9e2e nixos: services: nextcloud: use HTTPS
All checks were successful
ci/woodpecker/push/check Pipeline was successful
This should fix my issue with the sliding sync server.
2024-01-26 23:36:05 +01:00
Bruno BELANYI 5cb67cf040 hosts: nixos: porthos: secrets: rekey secrets
Some of the secrets were using an invalid format due to (probably?)
being encrypted with a beta version of `age`.

I didn't need to rekey *all* the secrets, but I might as well
2024-01-26 23:27:58 +01:00
Bruno BELANYI b33938e825 nixos: services: paperless: rename settings option
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2024-01-22 16:57:18 +00:00
Bruno BELANYI 309c344a34 flake: bump inputs
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2024-01-22 16:55:57 +00:00
Bruno BELANYI 13f20a28eb home: vim: add gn ftplugin 2024-01-22 16:55:57 +00:00
Bruno BELANYI dca6a9018b home: vim: ftdetect: add gn 2024-01-22 16:55:57 +00:00
Bruno BELANYI 629ec539c9 nixos: services: nextcloud: fix typo 2024-01-22 16:55:57 +00:00
Bruno BELANYI a5c57333cf hosts: homes: bazin: fix typo 2024-01-22 16:55:57 +00:00
Bruno BELANYI 136bd342ff nixos: services: matrix: fix deprecated option 2024-01-22 16:55:57 +00:00
Bruno BELANYI 10a3055136 nixos: services: nextcloud: fix deprecated option 2024-01-05 19:19:00 +01:00
Bruno BELANYI e4f8214cb2 modules: services: nextcloud: bump to 28 2024-01-05 19:19:00 +01:00
Bruno BELANYI b8b64bed8e home: vim: ftdetect: add glsl
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2024-01-05 10:59:58 +00:00
Bruno BELANYI 9546c00124 home: vim: ftdetect: fix obsolete comment 2024-01-05 10:59:45 +00:00
Bruno BELANYI bddcab110d pkgs: matrix-notifier: 0.3.0 -> 0.4.0
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2024-01-03 15:58:34 +00:00
Bruno BELANYI e02da7ec69 flake: bump inputs
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2024-01-03 14:25:20 +00:00
Bruno BELANYI a93dc2935b flake: add explicit 'systems' input 2024-01-03 14:25:20 +00:00
Bruno BELANYI 39eba647ac hosts: nixos: aramis: home: use 'pinentry-qt'
The GTK2 variant has been removed [1].

I may revise this in the future if [2] is merged (I'd like to try
`pinentry-rofi` [3]).

[1]: https://github.com/NixOS/nixpkgs/pull/270266
[2]: https://github.com/NixOS/nixpkgs/pull/277221
[3]: https://github.com/plattfot/pinentry-rofi
2024-01-03 14:25:20 +00:00
Bruno BELANYI 932717b754 nixos: services: jellyfin: loosen umask
All checks were successful
ci/woodpecker/push/check Pipeline was successful
I just noticed that all the metadata files Jellyfin stores have very
restrictive ACLs.

The whole point of the `media` group is to make my HTPC eco-system work
together. In particular this should allow Sonarr and friends to delete
folders without manual intervention.
2023-12-26 15:17:05 +01:00
Bruno BELANYI 71ee178510 nixos: services: nginx: fix SSO subdomain
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-12-25 20:23:55 +01:00
Bruno BELANYI 6948424b81 nixos: services: remove redundant subdomains
See previous commit for the defaults.
2023-12-25 20:23:55 +01:00
Bruno BELANYI b7a4bc063f nixos: services: nginx: add default subdomain
In almost all cases, the subdomain should be the same as the attribute
name...
2023-12-25 20:23:55 +01:00
Bruno BELANYI faa87743e5 nixos: services: nginx: use attrset for vhosts
Attribute sets compose better than lists, it was a mistake to use a list
in the first place...
2023-12-25 20:23:55 +01:00
Bruno BELANYI 26950332c7 home: keyboard: extract from X module
All checks were successful
ci/woodpecker/push/check Pipeline was successful
This deserves to be its own standalone module, as I would want to use it
in both X and Wayland, etc...
2023-12-23 14:56:55 +01:00
Bruno BELANYI 13d85c30f9 pkgs: remove 'wifi-qr'
Some checks are pending
ci/woodpecker/push/check Pipeline is pending
Now that I added it to upstream, I can get rid of it.
2023-12-19 19:08:25 +01:00
Bruno BELANYI a657a7742e home: wm: i3bar: fix 'net' block when disconnected
Some checks are pending
ci/woodpecker/push/check Pipeline is pending
I still sometimes get the error message about not being able to format
the block, this should fix it.
2023-12-18 09:41:35 +00:00
Bruno BELANYI 066a33587d home: mpv: add uosc script
Some checks are pending
ci/woodpecker/push/check Pipeline is pending
2023-12-16 20:24:38 +00:00
Bruno BELANYI 864e0a5ae6 home: firefox: tridactyl: fix Google mapping
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-12-16 16:23:18 +00:00
Bruno BELANYI 4aca698ac6 pkgs: remove 'unified-hosts-lists'
All checks were successful
ci/woodpecker/push/check Pipeline was successful
Instead make use of the upstream packaged host list.
2023-12-16 14:31:16 +00:00
Bruno BELANYI 7ccb8ea8b5 pkgs: unbound-zones-adblock: use upstream package
All checks were successful
ci/woodpecker/push/check Pipeline was successful
This is a slight regression, as the current version of
`stevenblack-blocklist` is 3.13.10 and the version I packaged is
3.14.37.

However I am lazy and want to avoid having to bump the version
manually...
2023-12-16 14:28:46 +00:00
Bruno BELANYI 49f695bf68 pkgs: remove 'drone-scp'
All checks were successful
ci/woodpecker/push/check Pipeline was successful
I added it to upstream nixpkgs.
2023-12-16 12:51:12 +00:00
Bruno BELANYI 49742deb18 pkgs: unified-hosts-lists: 3.12.15 -> 3.14.37
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-12-14 20:08:01 +00:00
Bruno BELANYI ad40c1b1d2 treewide: update to nix-direnv 3.0.0
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-12-14 14:26:18 +00:00
Bruno BELANYI c28959fe02 pkgs: remove 'vimix-cursors'
Now that I've (finally) packaged it upstream.
2023-12-14 14:26:18 +00:00
Bruno BELANYI 104bc05871 home: wm: use upstream 'vimix-cursors' 2023-12-14 14:26:18 +00:00
Bruno BELANYI 1d50844fa4 pkgs: remove 'ff2mpv-go'
I've (finally) packaged it upstream.
2023-12-14 14:26:18 +00:00
Bruno BELANYI e97f295470 home: firefox: use upstream 'ff2mpv-go' 2023-12-14 14:26:18 +00:00
Bruno BELANYI 373545ee38 nixos: system: printing: migrate deprecated option
It's recommended to only enable the IPv4 option, as most mDNS responders
only register IPv4 addresses (therefore enabling IPv6 would lead to long
timeouts when checking for those addresses first).
2023-12-14 14:26:18 +00:00
Bruno BELANYI 401972cb42 flake: bump inputs 2023-12-14 14:26:18 +00:00
Bruno BELANYI 90aed6b2ca pkgs: lohr: 0.4.2. -> 0.4.5 2023-12-14 14:26:18 +00:00
Bruno BELANYI 3a2f02f001 home: wm: i3bar: add VPN blocks 2023-12-14 14:25:48 +00:00
Bruno BELANYI 33b94a7f9d home: wm: i3bar: add 'flatten' call
This makes it easier to declare multiple blocks at once, as will be done
in the next commit.
2023-12-14 11:41:27 +00:00
Bruno BELANYI 1faa8d9acf nixos: services: wireguard: add 'simpleManagement'
All checks were successful
ci/woodpecker/push/check Pipeline was successful
This makes it easier to manage the VPN services, as they don't require a
password prompt to be brought up/down.
2023-12-14 11:23:28 +00:00
Bruno BELANYI 9ddd59eac8 nixos: system: add polkit
One nice thing is that it enables the prompts when using `systemctl`,
instead of requiring `sudo`.
2023-12-14 11:23:28 +00:00
Bruno BELANYI f23e6251ce nixos: services: wireguard: add VPN conflicts
It's now easier to do the right thing when starting a VPN service,
whether the other one is running or not.
2023-12-14 11:23:28 +00:00
Bruno BELANYI 16fade92b4 home: packages: add 'allowAliases', 'allowUnfree'
All checks were successful
ci/woodpecker/push/check Pipeline was successful
With [1], this should now be taken into account properly.

[1]: https://github.com/nix-community/home-manager/pull/4304
2023-12-08 11:50:44 +00:00
Bruno BELANYI 22fa05ca0c home: packages: refactor config format 2023-12-08 11:49:52 +00:00
Bruno BELANYI 3ed2fac3db flake: nixos: use module-provided 'lib'
All checks were successful
ci/woodpecker/push/check Pipeline was successful
I can't use `self.lib` to define options, that would result in infinite
recursion.
2023-12-07 22:00:14 +00:00
Bruno BELANYI bdc3e63fff flake: home-manager: refactor 'hosts' -> 'homes'
This makes more sense as a name.
2023-12-07 20:30:35 +00:00
Bruno BELANYI 20ab679542 hosts: homes: bazin: migrate 'git.package'
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-12-07 14:41:29 +00:00
Bruno BELANYI 3a7f4d126d hosts: homes: mousqueton: migrate 'git.package' 2023-12-07 14:40:15 +00:00
Bruno BELANYI afda437f49 home: git: allow overriding default package 2023-12-07 14:39:38 +00:00
Bruno BELANYI 792d997dc9 hosts: homes: bazin: disable 'mosh' package 2023-12-07 14:39:38 +00:00
Bruno BELANYI 0164d12087 home: ssh: move 'mosh' configuration 2023-12-07 14:39:38 +00:00
Bruno BELANYI 0b9c2309da home: ssh: use 'mkMerge'
This will make it easier to add new options (e.g: for `mosh`).
2023-12-07 14:39:38 +00:00
Bruno BELANYI 8398c4350a hosts: homes: add work laptop 2023-12-07 14:39:38 +00:00
Bruno BELANYI 093d7a3cb8 flake: bump inputs
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-12-06 22:19:03 +01:00
Bruno BELANYI e41bacc2fc home: wm: i3: make 'rofi-bluetooth' ignore case
All checks were successful
ci/woodpecker/push/check Pipeline was successful
The options given to the script are piped straight to `rofi -dmenu`,
which apparently needs the `-i` switch to be case insensitive.
2023-12-04 13:44:06 +00:00
Bruno BELANYI 55362b1db8 home: vim: add remove deprecated option
All checks were successful
ci/woodpecker/push/check Pipeline was successful
The plug-in now configures itself automatically.

I could also set `vim.g.skip_ts_context_commentstring_module = true`,
but that should be removed soon enough anyway, and I would forget to
remove it...
2023-12-01 19:20:52 +00:00
Bruno BELANYI 2d532f35a9 flake: bump inputs 2023-12-01 19:20:52 +00:00
Bruno BELANYI 15ca07bc64 home: wm: i3bar: remove redundant buttons
Turns out they're not needed, or at least not anymore?
2023-12-01 19:20:52 +00:00
Bruno BELANYI f4cc63c711 home: direnv: remove 'ANDROID_SDK_HOME'
All checks were successful
ci/woodpecker/push/check Pipeline was successful
Turns out this is supposed to be used for configuration, and it makes
some tools error out due to a sanity check...

I'm not pleased about this, but whatever.
2023-11-29 10:56:16 +00:00
Bruno BELANYI ec79be2a45 home: xdg: set 'ANDROID_USER_HOME' 2023-11-29 10:56:16 +00:00
Bruno BELANYI 97f5bf504c hosts: homes: mousqueton: remove 'LD_PRELOAD'
It looks like this isn't needed anymore.
2023-11-29 10:56:16 +00:00
Bruno BELANYI 302cb907ef home: wm: i3: make blueman device manager floating
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-11-28 20:28:12 +00:00
Bruno BELANYI 3fb8734c56 home: direnv: fix 'use_android'
All checks were successful
ci/woodpecker/push/check Pipeline was successful
Don't rely on `ANDROID_SDK_HOME` if it hasn't yet been defined.
2023-11-27 11:18:29 +00:00
Bruno BELANYI b48d81451d nixos: services: migrate to 'ensureDBOwnership'
All checks were successful
ci/woodpecker/push/check Pipeline was successful
`ensurePermissions` is deprecated, and doesn't work on PostgreSQL 15.
2023-11-21 00:22:44 +01:00
Bruno BELANYI 60d941b40b flake: bump inputs
My tandoor-recipes fix was merged upstream, so remove the overlay.

And because of the recent postgres bump for 23.11, `ensureDBOwnership`
is the new way of dealing with DB permissions [1]. This means I had to
fix manually migrate my `gitea` DB and make it match the DB user.

[1]: https://github.com/NixOS/nixpkgs/pull/266270
2023-11-21 00:20:28 +01:00
Bruno BELANYI c466fd25b4 templates: fix deprecated CI syntax
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-11-18 20:17:18 +00:00
Bruno BELANYI e04be2d130 ci: remove deprecated syntax
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-11-18 20:11:56 +00:00
Bruno BELANYI 00ee4629fc hosts: homes: mousqueton: update 'LD_PRELOAD'
All checks were successful
ci/woodpecker/push/check Pipeline was successful
I was getting dynamic linker errors with the previous value.
2023-11-17 16:25:47 +00:00
Bruno BELANYI 11c8d4623c home: direnv: add 'android' library file
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-11-17 16:21:28 +00:00
Bruno BELANYI 570349e80f nixos: profiles: move from top-level
All checks were successful
ci/woodpecker/push/check Pipeline was successful
My profiles are actually just "special" NixOS modules in that they
orchestrate settings that usually span the NixOS/home-manager boundary,
or otherwise set up configurations from multiple modules at once.
2023-11-11 18:12:05 +00:00
Bruno BELANYI 65a8f7c481 home: create 'modules/home' folder
Consolidating all modules under the same path, to clear out the
top-level directory.
2023-11-11 18:12:05 +00:00
Bruno BELANYI c856933803 nixos: create 'modules/nixos' folder
Let's consolidate all modules under one path, so that NixOS,
home-manager, and nix-darwin (if I ever end up using it down the line)
would go under the same folder.
2023-11-11 18:11:52 +00:00
Bruno BELANYI b52e56ed08 modules: home: use 'self'-relative import 2023-11-11 18:07:31 +00:00
Bruno BELANYI 27564cad42 modules: system: printing: move from 'profiles'
All checks were successful
ci/woodpecker/push/check Pipeline was successful
This isn't really a cross-cutting module, it should be a module rather
than a profile.
2023-11-11 17:59:49 +00:00
Bruno BELANYI 32ec402ad0 pkgs: remove volantes-cursors
All checks were successful
ci/woodpecker/push/check Pipeline was successful
It has been packaged upstream.
2023-11-07 16:52:13 +00:00
Bruno BELANYI cc331b73c7 treewide: fix postgres service dependencies
All checks were successful
ci/woodpecker/push/check Pipeline was successful
Some were missing a `requires` even though they had `after`, and
woodpecker was missing it entirely.
2023-11-06 20:55:53 +00:00
Bruno BELANYI 830e7bb865 modules: services: woodpecker: fix interpolation 2023-11-06 20:54:42 +00:00
Bruno BELANYI 7f857ab661 hosts: homes: mousqueton: fix formatting
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-10-31 14:56:21 +00:00
Bruno BELANYI 8ad02dd74d hosts: nixos: porthos: system: disable cache
All checks were successful
ci/woodpecker/push/check Pipeline was successful
We're never going to get a cache hit, since this is the host for that
cache.
2023-10-31 14:00:47 +00:00
Bruno BELANYI 249ee14d39 overlays: add 'tandoor-recipes-bump-allauth'
All checks were successful
ci/woodpecker/push/check Pipeline was successful
This should only be temporary until they release a new version which
_does_ support the middleware (see [1]).

[1]: https://github.com/TandoorRecipes/recipes/pull/2706
2023-10-31 12:20:47 +00:00
Bruno BELANYI 9b71708e3a flake: bump inputs 2023-10-31 11:56:39 +00:00
Bruno BELANYI ca4fac3c54 hosts: nixos: porthos: fix tmux 24-bit color
All checks were successful
ci/woodpecker/push/check Pipeline was successful
Well at least this fixes it for the usual client (my laptop).
2023-10-30 13:33:27 +00:00
Bruno BELANYI 6a8f93df1f modules: services: nginx: fix obsolete doc
All checks were successful
ci/woodpecker/push/check Pipeline was successful
It's annoying to keep it in sync when adding a new incompatible option.
2023-10-28 12:14:45 +01:00
Bruno BELANYI 42ab12179e hosts: homes: mousqueton: use 'trueColorTerminals'
All checks were successful
ci/woodpecker/push/check Pipeline was successful
Ah, much better with an actual option for this :-).
2023-10-26 19:39:44 +01:00
Bruno BELANYI 3a1ccea142 home: tmux: add 'trueColorTerminals'
This uses the recommended way of enabling true-color [1].

[1]: https://github.com/tmux/tmux/wiki/FAQ#how-do-i-use-rgb-colour
2023-10-26 19:37:04 +01:00
Bruno BELANYI c01f657e8d lib: lists: add 'nullableToList' 2023-10-26 19:36:32 +01:00
Bruno BELANYI bd69e28143 home: firefox: migrate deprecated option
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-10-26 15:19:55 +00:00
Bruno BELANYI 516df86b3f home: vim: migrate to 'none-ls-nvim'
This is the community-maintained fork of the plug-in.
2023-10-26 15:19:55 +00:00
Bruno BELANYI 28187c3b8f overlays: add 'gruvbox-nvim-better-diff'
I dislike the new style of diff [1].

After somebody wrote a patch [2] I finally started experimenting with
what looked best to me.

This is using the old vibrant colours, which I like better. And avoids
using `reverse = true` to not break high-lighting during visual
selection.

This is using an overlay as it is _much_ easier to refer to the internal
colours in a `dark`/`light` agnostic way that way instead of the
intended "use the palette way" (due to breaking changes in [3] which,
incidentally, is the MR which changed diff high-lighting).

[1]: https://github.com/ellisonleao/gruvbox.nvim/issues/290
[2]: https://github.com/ellisonleao/gruvbox.nvim/pull/291
[3]: https://github.com/ellisonleao/gruvbox.nvim/pull/280
2023-10-26 15:19:50 +00:00
Bruno BELANYI 0795a3d29b flake: bump inputs
And fix a removed nextcloud option.
2023-10-26 13:44:43 +00:00
Bruno BELANYI 5248eb59f8 hosts: homes: mousqueton: fix tmux 24-bit color
All checks were successful
ci/woodpecker/push/check Pipeline was successful
This is based on this answer [1] from Stack Overflow.

I'll have to look into what the proper fix would be in general, this is
just a band-aid to get it working correctly while SSH-ing from my
laptop.

[1]: https://stackoverflow.com/a/41786092
2023-10-26 12:27:33 +00:00
Bruno BELANYI b4c2cc581b modules: services: matrix: add sliding sync 2023-10-26 12:27:00 +00:00
Bruno BELANYI b4b9b54f75 modules: services: matrix: register dummy vhosts
This is simply to make use of my infrastructure for port collision
detection.
2023-10-26 12:27:00 +00:00
Bruno BELANYI 52413dcaf7 hosts: nixos: porthos: secrets: add matrix sync 2023-10-26 12:27:00 +00:00
Bruno BELANYI 1425c42489 modules: services: matrix: refactor vhost 2023-10-26 12:27:00 +00:00
Bruno BELANYI 085c563d75 hosts: homes: mousqueton: disable gpg-agent
It doesn't work well in this environment anyway.
2023-10-26 12:27:00 +00:00
Bruno BELANYI fcdb5ba593 modules: services: woodpecker: remove DNS hack
Some checks are pending
ci/woodpecker/push/check Pipeline is running
I'm not sure what changed, but it looks like I don't need it anymore.

Initially I wanted to apply the same DNS fix as [1].

[1]: https://blog.kotatsu.dev/posts/2023-04-21-woodpecker-nix-caching/
2023-10-18 21:38:22 +02:00
Bruno BELANYI f8a0eef4dd hosts: nixos: porthos: services: disable lidarr 2023-10-18 21:38:22 +02:00
Bruno BELANYI 3b3e7093be modules: services: pirate: make more fine-grained 2023-10-18 21:38:22 +02:00
Bruno BELANYI dae1a434d5 modules: services: transmission: bump to 4
Not sure why exactly this isn't the default, I'll have to watch out for
when upstream catches up.
2023-10-18 21:38:22 +02:00
Bruno BELANYI 2d36ffd96d pkgs: comma: rename 'COMMA_{,NIX}PKGS_FLAKE'
All checks were successful
ci/woodpecker/push/check Pipeline was successful
This aligns with the rust implementation of this tool [1].

[1]: 17a4f33849
2023-10-12 15:21:06 +00:00
Bruno BELANYI a5febc40e4 home: comma: remove 'COMMA_PKGS_FLAKE' definition
Now that my configurations also set `nixpkgs` in `NIX_PATH`, there's
isn't a need for this to be defined anymore.
2023-10-12 15:21:06 +00:00
Bruno BELANYI ce19887f77 treewide: update 'nix-direnv' bootstrapping 2023-10-12 15:17:26 +00:00
Bruno BELANYI aca743dea7 templates: simplify direnv configurations
All checks were successful
ci/woodpecker/push/check Pipeline was successful
This was mostly a copy-paste error (the `watch_file` calls).

As for the shell hooks, it looks like `nix-direnv` takes care of that
automatically.
2023-10-12 13:47:43 +00:00
Bruno BELANYI e09899d59c direnv: fix 'watch_file' directives
I should use `nix_direnv_watch_file` and call it _before_ `use_flake`.
2023-10-12 13:45:49 +00:00
Bruno BELANYI fd09346526 direnv: remove explicit 'shellHooks' evaluation
I _think_ nix-direnv does it automatically, so no need to do it myself.
2023-10-12 13:40:22 +00:00
Bruno BELANYI f9541cbc33 hosts: homes: mousqueton: disable 'git' package
All checks were successful
ci/woodpecker/push/check Pipeline was successful
I had some troubles with `git` once again...

This reverts commit 13769429f6.
2023-10-12 12:56:41 +00:00
Bruno BELANYI 6ef0abd596 home: xdg: set 'REPO_CONFIG_DIR'
All checks were successful
ci/woodpecker/push/check Pipeline was successful
Unfortunately, it will create a `.repoconfig` inside that directory. But
that's still better than littering my $HOME.
2023-10-10 15:36:14 +00:00
Bruno BELANYI 24d41e829e modules: system: users: fix deprecated option name
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-09-28 15:57:14 +00:00
Bruno BELANYI 03a1f704aa flake: bump inputs
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-09-27 19:22:04 +02:00
Bruno BELANYI e81de7faad pkgs: rbw-pass: fix program name in usage string
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-09-26 16:51:46 +00:00
Bruno BELANYI 61fe480e6b home: calibre: remove obsolete NOTE 2023-09-26 16:38:27 +00:00
Bruno BELANYI 7b56c342ad modules: services: paperless: beef-up workers
All checks were successful
ci/woodpecker/push/check Pipeline was successful
This should parallelize the number of documents ingested at once
(workers), as well as the speed of the ingestion per document (threads).
2023-09-18 13:43:37 +00:00
Bruno BELANYI f2f4b9f91e home: vim: lua: lsp: fix comments
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-09-14 11:14:04 +00:00
Bruno BELANYI 3f7a062376 home: vim: lua: util: fix comments 2023-09-14 11:13:27 +00:00
Bruno BELANYI 550436eee5 home: vim: remove 'cmp-path'
Now that I'm using the async variant.
2023-09-14 11:00:10 +00:00
Bruno BELANYI f0b590c29e hosts: homes: mousqueton: use new name
All checks were successful
ci/woodpecker/push/check Pipeline was successful
I renamed my cloudtop to follow the usual schema (and because `cloudtop`
was not available...) :-).
2023-09-13 14:05:45 +00:00
Bruno BELANYI e979589174 modules: services: woodpecker: use 'path' option
All checks were successful
ci/woodpecker/push/check Pipeline was successful
One less thing to modify in the systemd service.
2023-09-13 12:40:19 +00:00
Bruno BELANYI f3f8c8fc3f flake: bump inputs 2023-09-13 12:39:39 +00:00
Bruno BELANYI f0e387b943 home: direnv: allow broken 'use pkgs'
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-09-05 16:20:27 +00:00
Bruno BELANYI 96a2c62e94 home: direnv: allow insecure 'use pkgs' 2023-09-05 16:20:20 +00:00
Bruno BELANYI d060978b65 home: direnv: allow unfree 'use pkgs' 2023-09-05 16:20:03 +00:00
Bruno BELANYI 5926cd356d home: direnv: allow impure 'use pkgs'
This makes it easier to use non-free or insecure packages.
2023-09-05 16:11:11 +00:00
Bruno BELANYI ac93cb0ac8 home: direnv: refactor option handling
This will make it easier to add more options.
2023-09-05 16:11:11 +00:00
Bruno BELANYI 6ba7a63b25 modules: services: fail2ban: fix comment
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-09-03 12:53:24 +02:00
Bruno BELANYI fc8ccb8b99 modules: services: pirate: add fail2ban jails
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-09-03 12:43:46 +02:00
Bruno BELANYI 14bf03e5fd modules: services: pirate: refactor
This will make adding fail2ban jails easier.
2023-09-03 12:42:29 +02:00
Bruno BELANYI adc4ce9d8a modules: services: indexers: add prowlarr fail2ban 2023-09-03 12:21:35 +02:00
Bruno BELANYI ce46f3571b home: vim: restore python configuration
All checks were successful
ci/woodpecker/push/check Pipeline was successful
This is a partial revert of 260f5cd66a,
which erroneously removed this config.
2023-08-31 11:16:35 +00:00
Bruno BELANYI 8bcf56fdec treewide: fix shellcheck issues
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-08-31 10:42:45 +00:00
Bruno BELANYI 861136c475 treewide: add 'shellcheck shell' directives
I used 'bash' for zsh files, since that's the closest and `shell=zsh` is
not supported [1].

[1]: https://github.com/koalaman/shellcheck/issues/809
2023-08-31 10:41:17 +00:00
Bruno BELANYI 13769429f6 hosts: homes: cloudtop: enable 'git' package
Some checks failed
ci/woodpecker/push/check Pipeline failed
Turns out that the latest version fixes the issue, but I haven't looked
into why exactly.

This reverts commit 6100a092af.
2023-08-31 10:22:56 +00:00
Bruno BELANYI 71a1bbd78d home: vim: set line length in commit messages
Some checks failed
ci/woodpecker/push/check Pipeline failed
I'm already getting the correct wrapping behaviour from vim-fugitive,
but the displayed width is wrong.
2023-08-29 14:06:19 +00:00
Bruno BELANYI 5b59a9cf82 hosts: homes: cloudtop: enable tmux passthrough
Some checks failed
ci/woodpecker/push/check Pipeline failed
Mostly used for my `osc52` and `osc777` scripts.
2023-08-21 13:20:25 +00:00
Bruno BELANYI ca1d439e7a hosts: nixos: porthos: services: disable drone
Some checks failed
ci/woodpecker/push/check Pipeline failed
I have now completely migrated to Woodpecker, so no need for it anymore.
2023-08-20 14:19:40 +01:00
Bruno BELANYI e4541d4ecc flake: bump inputs
Some checks failed
ci/woodpecker/push/check Pipeline failed
2023-08-19 14:41:10 +02:00
Bruno BELANYI 6d9d835e1c modules: services: nix-cache: use harmonia 2023-08-19 14:41:10 +02:00
Bruno BELANYI 19d2916e1c hosts: nixos: porthos: secrets: rename 'nix-cache'
To go with the module rename.
2023-08-19 14:41:10 +02:00
Bruno BELANYI ab59054518 modules: services: rename 'nix-cache'
I'm about to modify the module to use a different cache implementation,
so this name is more appropriate.
2023-08-19 14:41:10 +02:00
Bruno BELANYI 4571a39c25 home: gdb: fix 'mkMerge' invocation
All checks were successful
ci/woodpecker/push/check Pipeline was successful
The `rr` configuration should be enabled only if `gdb` is.
2023-08-13 16:18:22 +01:00
Bruno BELANYI a87429b067 pkgs: add 'zsh-done'
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-08-13 15:33:02 +01:00
Bruno BELANYI 254eb0cb2d flake: bump inputs
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-08-12 23:56:58 +02:00
Bruno BELANYI 330402d335 hosts: nixos: porthos: services: enable vikunja
Trying it out again.

This reverts commit 1807b8b88c.
2023-08-12 23:14:53 +02:00
Bruno BELANYI bcdbe45558 pkgs: add osc777
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-08-11 13:13:21 +00:00
Bruno BELANYI 5f42e7cc90 home: tmux: fix option name typo
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-08-11 13:12:05 +00:00
Bruno BELANYI 7ace62da72 home: vim: use async path completion
All checks were successful
ci/woodpecker/push/check Pipeline was successful
This makes the editor more responsive when completing in directories
that are network mounted or have a large amount of entries.
2023-08-07 15:38:28 +00:00
Bruno BELANYI 7529d2b7f9 flake: bump inputs 2023-08-07 15:38:28 +00:00
Bruno BELANYI 3ef71cc165 home: wm: i3bar: add 'quarks' bluetooth block
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-08-06 20:13:08 +02:00
Bruno BELANYI 424bb2e7b9 modules: services: woodpecker: simplify path
I'm not sure why it was written that way to begin with.
2023-08-06 20:13:08 +02:00
Bruno BELANYI 405965dc72 pkgs: add explicit 'meta.mainProgram'
Since upstream has decided to deprecate the implied value when using
`lib.getExe` (see [1]), we should set it explicitly.

[1]: https://github.com/NixOS/nixpkgs/pull/246386
2023-08-06 20:13:08 +02:00
Bruno BELANYI 761393205c pkgs: re-order 'meta'
This is (mostly) alphetically sorted.
2023-08-06 20:13:08 +02:00
Bruno BELANYI 1b960c7449 ci: use 'backend' tag 2023-08-06 20:13:08 +02:00
Bruno BELANYI 0cf6cfe39b pkgs: remove woodpecker
Now that v1.0.0 is on nixpkgs, no need for my custom packages.
2023-08-06 20:13:08 +02:00
Bruno BELANYI 7b6779f2b5 modules: services: woodpecker: default packages
Now that v1.0.0 is on nixpkgs, no need for my custom packages.
2023-08-06 20:13:08 +02:00
Bruno BELANYI 68118e8f93 flake: bump inputs 2023-08-06 20:13:08 +02:00
Bruno BELANYI 45c3b82606 modules: services: nginx-sso: use writeShellScript 2023-08-06 20:13:08 +02:00
Bruno BELANYI 58a94bdf1b pkgs: remove woodpecker-plugin-git
I have now upstreamed the package, so let's remove it.
2023-08-06 20:13:08 +02:00
Bruno BELANYI 868a9aa212 home: mail: accounts: use 'rbw-pass'
It should be more robust than the one based on bitwarden-cli.
2023-08-06 20:13:08 +02:00
Bruno BELANYI 9f7472222c treewide: use 'lib.getExe' when possible
Don't use it in wireguard to keep it consistent, as only half the
commands could use it.
2023-08-06 20:13:08 +02:00
Bruno BELANYI 8f818b8611 pkgs: add rbw-pass
This is honestly almost overkill, as the script doesn't really have any
logic in it, but it's good to have a common base with the bitwarden-cli
one.
2023-08-06 20:13:08 +02:00
Bruno BELANYI 2dfc788ed4 home: wm: i3: add 'rofi-rbw' mapping 2023-08-06 20:13:08 +02:00
Bruno BELANYI 4a9a46547e machine: aramis: home: set 'bitwarden.pinentry' 2023-08-06 20:13:08 +02:00
Bruno BELANYI 36c0590ae5 home: add bitwarden 2023-08-06 20:13:08 +02:00
Bruno BELANYI e5a1105c59 home: wm: i3: remove 'pamixer'
This was left-over from the first version of my volume mappings.
2023-08-06 20:13:08 +02:00
Bruno BELANYI 850b9f792f flake: bump inputs 2023-08-06 20:13:08 +02:00
Bruno BELANYI f363ae71a5 hosts: nixos: porthos: boot: use '/dev/disk/by-id'
Somehow `/dev/sda` and `/dev/sdb` switched around, so use a more stable
path.
2023-08-06 20:13:08 +02:00
Bruno BELANYI ae8d8d75fd flake: bump inputs
Update `fail2ban` to accomodate for RFC-42 migration.
2023-08-06 20:13:08 +02:00
Bruno BELANYI 65de9c5a0e home: zsh: add fallback for all mappings
All checks were successful
ci/woodpecker/push/check Pipeline was successful
I don't actually think any of these are _necessary_, but you never know.
2023-07-21 10:20:08 +00:00
Bruno BELANYI fc6b221ba1 overlays: make overlay import automatic
Some checks failed
ci/woodpecker/push/check Pipeline failed
Don't rely on nixpkgs' lib to make it easier to just `import` the
directory.
2023-07-20 22:17:16 +01:00
Bruno BELANYI 47533f119e modules: services: monitoring: add 'secretKeyFile'
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-07-17 10:59:58 +00:00
Bruno BELANYI ae13ab0c86 nixos: porthos: secrets: add grafana secret-key
The secret will be used in the next commit.
2023-07-17 10:59:58 +00:00
Bruno BELANYI caa8357db8 home: nixpkgs: define 'GITHUB_API_TOKEN'
All checks were successful
ci/woodpecker/push/check Pipeline was successful
Turns out the nixpkgs scripts are not consistent in which environment
variable they expect to be defined...
2023-07-17 09:57:24 +00:00
Bruno BELANYI 493636decb hosts: nixos: porthos: services: add tandoor
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-07-17 09:55:33 +00:00
Bruno BELANYI 5ff0b62af8 hosts: nixos: porthos: secrets: add tandoor 2023-07-17 11:53:49 +02:00
Bruno BELANYI 4bb1387376 modules: services: add tandoor-recipes
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-07-15 15:46:04 +02:00
Bruno BELANYI 5741421604 modules: services: nextcloud: enable 'notify_push' 2023-07-15 15:46:04 +02:00
Bruno BELANYI c037d3844a modules: services: nextcloud: configure redis
All checks were successful
ci/woodpecker/push/check Pipeline was successful
I keep having some file-locking issues, and heard that using redis might
help alleviate those errant locks.

It's also necessary to use the `notify_push` app.
2023-07-15 14:01:14 +01:00
Bruno BELANYI 758e88e620 overlays: remove 'calibre-dedrm'
All checks were successful
ci/woodpecker/push/check Pipeline was successful
Turns out I didn't need it.

This reverts commit 89168324e7.
2023-07-05 20:14:52 +01:00
Bruno BELANYI 6100a092af hosts: homes: cloudtop: disable 'git' package
All checks were successful
ci/woodpecker/push/check Pipeline was successful
A recent update modified `ssh_config`, and nixpkgs' version of OpenSSH
does not know how to deal with those options.

The `git` package does not make use of the system-provided SSH client,
and errors-out.

Given that those patches are never going to be upstreamed, just override
the `git` package, and use the system-provided one instead...
2023-07-05 16:56:57 +00:00
Bruno BELANYI 737e9df202 home: tmux: make status left longer
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-07-04 14:58:03 +00:00
Bruno BELANYI f73be2fc4e flake: bump inputs
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-06-30 22:44:25 +02:00
Bruno BELANYI cbbe371ace hosts: nixos: aramis: home: remove 'quasselclient'
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-06-28 21:41:52 +01:00
Bruno BELANYI b8f8c7cfa7 home: wm: i3bar: fix 'battery' block on empty
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-06-27 20:14:23 +01:00
Bruno BELANYI 950940e3c7 hosts: nixos: aramis: home: enable calibre
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-06-24 17:02:01 +01:00
Bruno BELANYI ac725bd5e4 home: add calibre
Ideally I will extend this module to handle the plugin (and
dependencies) natively.
2023-06-24 17:02:01 +01:00
Bruno BELANYI 89168324e7 overlays: add 'calibre-dedrm' 2023-06-24 17:02:01 +01:00
Bruno BELANYI 3e5fbfeb7a modules: services: nextcloud: bump to 27
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-06-23 12:03:13 +02:00
Bruno BELANYI b6ccc7a18d overlays: remove 'nix-serve-ng-initLibStore'
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-06-23 09:11:15 +00:00
Bruno BELANYI 0bc31619c8 flake: bump inputs 2023-06-23 09:10:24 +00:00
Bruno BELANYI cecb7d9bb4 home: vim: lspconfig: configure diagnostics once
All checks were successful
ci/woodpecker/push/check Pipeline was successful
There's no need to configure it on each LSP attach, this is wasted work
and could change options that have since been changed.
2023-06-22 15:35:32 +00:00
Bruno BELANYI 2f03d92dd9 modules: services: woodpecker: use docker module
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-06-11 16:25:23 +01:00
Bruno BELANYI e44dd4c6ea modules: services: drone: use docker module 2023-06-11 16:25:23 +01:00
Bruno BELANYI df9b060947 modules: system: podman: check for docker conflict 2023-06-11 16:23:31 +01:00
Bruno BELANYI 73fdd4622b modules: system: add docker 2023-06-11 16:17:42 +01:00
Bruno BELANYI 8fcb7f42a6 home: wm: i3: assert name of 'i3status-rs' bar
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-06-11 16:13:42 +01:00
Bruno BELANYI e5c27d7aa8 home: firefox: fix settings sort
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-06-10 22:57:19 +01:00
Bruno BELANYI a846d19b1a flake: bump inputs
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-06-10 20:47:20 +01:00
Bruno BELANYI 1807b8b88c hosts: nixos: porthos: services: disable vikunja
All checks were successful
ci/woodpecker/push/check Pipeline was successful
I don't use it.
2023-06-10 13:35:02 +01:00
Bruno BELANYI 5aa136f796 modules: system: podman: fix removed option
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-06-08 15:43:46 +00:00
Bruno BELANYI 18c9458cfa modules: system: users: add 'docker' group 2023-06-08 15:43:46 +00:00
Bruno BELANYI c0995929c4 modules: system: podman: add weekly purge 2023-06-08 15:43:46 +00:00
Bruno BELANYI d69dbf8d62 home: wm: i3bar: fix 'net' block on non-wireless
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-06-06 20:01:07 +01:00
Bruno BELANYI 5d570dbf1e modules: programs: steam: use writeShellScriptBin
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-06-03 13:40:44 +01:00
Bruno BELANYI 4f6f483851 modules: programs: steam: simplify wrapper 2023-06-03 13:40:44 +01:00
Bruno BELANYI 39a512bc0a home: vim: unset 'splitkeep'
All checks were successful
ci/woodpecker/push/check Pipeline was successful
Turns out I do _not_ like this behaviour when it messes with the cursor
position.

If they had an option that kept my cursor correctly positioned, and only
then tried to move the buffer to keep it steady, I'd try it.

This reverts commit 4feee73b8e.
2023-06-01 11:34:09 +00:00
Bruno BELANYI 5de4ee93d5 home: vim: use smarter diagnostics float display
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-05-31 14:00:32 +00:00
Bruno BELANYI 7c4e0e31bc hosts: nixos: porthos: boot: remove 'grub.version'
Some checks failed
ci/woodpecker/push/check Pipeline failed
2023-05-28 14:49:40 +02:00
Bruno BELANYI 908c2e39b3 flake: bump inputs
Some checks failed
ci/woodpecker/push/check Pipeline failed
2023-05-28 14:44:18 +02:00
Bruno BELANYI 0321889d50 home: wm: i3bar: add 'muon' bluetooth block
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-05-27 09:24:09 +01:00
Bruno BELANYI e26672494c flake: dev-shells: use 'mkShellNoCC'
All checks were successful
ci/woodpecker/push/check Pipeline was successful
We don't need compilers.
2023-05-25 09:31:41 +00:00
Bruno BELANYI b80053d786 home: add nixpkgs
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-05-22 15:53:59 +00:00
Bruno BELANYI b570cf227c home: secrets: add github
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-05-17 11:13:26 +00:00
Bruno BELANYI c0a80c2503 home: secrets: fix public keys list 2023-05-17 11:12:18 +00:00
Bruno BELANYI e68ae26609 hosts: nixos: porthos: services: enable vikunja
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-05-13 21:18:57 +02:00
Bruno BELANYI 30d01972b2 hosts: nixos: porthos: secrets: add vikunja 2023-05-13 21:18:57 +02:00
Bruno BELANYI 175a8acde2 modules: services: add vikunja 2023-05-13 21:18:57 +02:00
Bruno BELANYI 685c571018 modules: services: nginx: add 'socket' option 2023-05-13 21:18:57 +02:00
Bruno BELANYI 41df5c01ad home: vim: ftdetect: add kconfig
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-05-12 12:31:07 +00:00
Bruno BELANYI 153b6a43cc home: vim: ftdetect: add kbuild 2023-05-12 12:28:06 +00:00
Bruno BELANYI 527a85bf11 home: vim: ftdetect: switch to lua
It looks like `vim.filetype.add` is smarter about "local.am".

For some reason opening an *empty* Tiger file results in a backtrace...
2023-05-12 12:26:56 +00:00
Bruno BELANYI f3e888dadc home: add secrets
All checks were successful
ci/woodpecker/push/check Pipeline was successful
Now that my module has been merged upstream!

Not that I have anything to use it with for now...
2023-05-12 11:03:49 +00:00
Bruno BELANYI d60e26c617 flake: bump inputs
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-05-12 10:10:33 +00:00
336 changed files with 3306 additions and 4823 deletions

8
.envrc
View file

@ -1,10 +1,8 @@
if ! has nix_direnv_version || ! nix_direnv_version 2.2.1; then
source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/2.2.1/direnvrc" "sha256-zelF0vLbEl5uaqrfIzbgNzJWGmLzCmYAkInj/LNxvKs="
if ! has nix_direnv_version || ! nix_direnv_version 3.0.0; then
source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/3.0.0/direnvrc" "sha256-21TMnI2xWX7HkSTjFFri2UaohXVj854mgvWapWrxRXg="
fi
use flake
watch_file ./flake/checks.nix
watch_file ./flake/dev-shells.nix
eval "$shellHooks"
use flake

View file

@ -1,7 +1,7 @@
labels:
type: exec
backend: local
pipeline:
steps:
- name: nix flake check
image: bash
commands:

View file

@ -1,5 +1,6 @@
#!/usr/bin/env nix-shell
#! nix-shell -i bash -p bitwarden-cli git gnupg jq nix
# shellcheck shell=bash
# Command failure is script failure
set -e
@ -10,7 +11,6 @@ BOLD_GREEN="\e[0;1;32m"
RESET="\e[0m"
DEST="$HOME/.config/nixpkgs"
BW_SESSION=""
warn() {

View file

@ -3,16 +3,22 @@
"agenix": {
"inputs": {
"darwin": "darwin",
"home-manager": [
"home-manager"
],
"nixpkgs": [
"nixpkgs"
],
"systems": [
"systems"
]
},
"locked": {
"lastModified": 1682101079,
"narHash": "sha256-MdAhtjrLKnk2uiqun1FWABbKpLH090oeqCSiWemtuck=",
"lastModified": 1707830867,
"narHash": "sha256-PAdwm5QqdlwIqGrfzzvzZubM+FXtilekQ/FA0cI49/o=",
"owner": "ryantm",
"repo": "agenix",
"rev": "2994d002dcff5353ca1ac48ec584c7f6589fe447",
"rev": "8cb01a0e717311680e0cbca06a76cbceba6f3ed6",
"type": "github"
},
"original": {
@ -30,11 +36,11 @@
]
},
"locked": {
"lastModified": 1673295039,
"narHash": "sha256-AsdYgE8/GPwcelGgrntlijMg4t3hLFJFCRF3tL5WVjA=",
"lastModified": 1700795494,
"narHash": "sha256-gzGLZSiOhf155FW7262kdHo2YDeugp3VuIFb4/GGng0=",
"owner": "lnl7",
"repo": "nix-darwin",
"rev": "87b9d090ad39b25b2400029c64825fc2a8868943",
"rev": "4b9b83d5a92e8c1fbfd8eb27eda375908c11ec4d",
"type": "github"
},
"original": {
@ -47,11 +53,11 @@
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1673956053,
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
@ -67,11 +73,11 @@
]
},
"locked": {
"lastModified": 1680392223,
"narHash": "sha256-n3g7QFr85lDODKt250rkZj2IFS3i4/8HBU2yKHO3tqw=",
"lastModified": 1709336216,
"narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "dcc36e45d054d7bb554c9cdab69093debd91a0b5",
"rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2",
"type": "github"
},
"original": {
@ -83,14 +89,16 @@
},
"futils": {
"inputs": {
"systems": "systems"
"systems": [
"systems"
]
},
"locked": {
"lastModified": 1681202837,
"narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=",
"lastModified": 1710146030,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "cfacdce06f30d2b68473a46042957675eebb3401",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github"
},
"original": {
@ -108,11 +116,11 @@
]
},
"locked": {
"lastModified": 1660459072,
"narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=",
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "a20de23b925fd8264fd7fad6454652e142fd7f73",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
@ -128,11 +136,11 @@
]
},
"locked": {
"lastModified": 1682779989,
"narHash": "sha256-H8AjcIBYFYrlRobYJ+n1B+ZJ6TsaaeZpuLn4iRqVvr4=",
"lastModified": 1711604890,
"narHash": "sha256-vbI/gxRTq/gHW1Q8z6D/7JG/qGNl3JTimUDX+MwnC3A=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "3144311f31194b537808ae6848f86f3dbf977d59",
"rev": "3142bdcc470e1e291e1fbe942fd69e06bd00c5df",
"type": "github"
},
"original": {
@ -144,11 +152,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1682879489,
"narHash": "sha256-sASwo8gBt7JDnOOstnps90K1wxmVfyhsTPPNTGBPjjg=",
"lastModified": 1711523803,
"narHash": "sha256-UKcYiHWHQynzj6CN/vTcix4yd1eCu1uFdsuarupdCQQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "da45bf6ec7bbcc5d1e14d3795c025199f28e0de0",
"rev": "2726f127c15a4cc9810843b96cad73c7eb39e443",
"type": "github"
},
"original": {
@ -160,11 +168,11 @@
},
"nur": {
"locked": {
"lastModified": 1682945906,
"narHash": "sha256-45tSf14pbq3AZSUpdos7dod4zGGxONE2MMPr8K7Ni/4=",
"lastModified": 1711622043,
"narHash": "sha256-nCNcHYlmmPPIDRkDCvNoEog+AuG7jdmkhkU0fqoS82A=",
"owner": "nix-community",
"repo": "NUR",
"rev": "6e170eea820a3b7c28df56c99bb0d4be95b46dab",
"rev": "b7ff69e152caedbe4d0e40173d61732ac139a09c",
"type": "github"
},
"original": {
@ -189,11 +197,11 @@
]
},
"locked": {
"lastModified": 1682596858,
"narHash": "sha256-Hf9XVpqaGqe/4oDGr30W8HlsWvJXtMsEPHDqHZA6dDg=",
"lastModified": 1711519547,
"narHash": "sha256-Q7YmSCUJmDl71fJv/zD9lrOCJ1/SE/okZ2DsrmRjzhY=",
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"rev": "fb58866e20af98779017134319b5663b8215d912",
"rev": "7d47a32e5cd1ea481fab33c516356ce27c8cef4a",
"type": "github"
},
"original": {
@ -211,7 +219,8 @@
"home-manager": "home-manager",
"nixpkgs": "nixpkgs",
"nur": "nur",
"pre-commit-hooks": "pre-commit-hooks"
"pre-commit-hooks": "pre-commit-hooks",
"systems": "systems"
}
},
"systems": {
@ -225,6 +234,7 @@
},
"original": {
"owner": "nix-systems",
"ref": "main",
"repo": "default",
"type": "github"
}

View file

@ -7,7 +7,9 @@
repo = "agenix";
ref = "main";
inputs = {
home-manager.follows = "home-manager";
nixpkgs.follows = "nixpkgs";
systems.follows = "systems";
};
};
@ -26,6 +28,9 @@
owner = "numtide";
repo = "flake-utils";
ref = "main";
inputs = {
systems.follows = "systems";
};
};
home-manager = {
@ -63,6 +68,13 @@
nixpkgs-stable.follows = "nixpkgs";
};
};
systems = {
type = "github";
owner = "nix-systems";
repo = "default";
ref = "main";
};
};
# Can't eta-reduce a flake outputs...

View file

@ -1,9 +1,9 @@
{ flake-parts
, futils
, systems
, ...
} @ inputs:
let
mySystems = futils.lib.defaultSystems;
mySystems = import systems;
in
flake-parts.lib.mkFlake { inherit inputs; } {
systems = mySystems;

View file

@ -2,7 +2,7 @@
{
perSystem = { config, pkgs, ... }: {
devShells = {
default = pkgs.mkShell {
default = pkgs.mkShellNoCC {
name = "NixOS-config";
nativeBuildInputs = with pkgs; [

View file

@ -2,7 +2,7 @@
let
defaultModules = [
# Include generic settings
"${self}/home"
"${self}/modules/home"
{
# Basic user information defaults
home.username = lib.mkDefault "ambroisie";
@ -39,8 +39,9 @@ let
};
};
hosts = {
"ambroisie@ambroisie" = "x86_64-linux"; # Unfortunate naming here...
homes = {
"ambroisie@bazin" = "x86_64-linux";
"ambroisie@mousqueton" = "x86_64-linux";
};
in
{
@ -49,13 +50,13 @@ in
legacyPackages = {
homeConfigurations =
let
filteredHosts = lib.filterAttrs (_: v: v == system) hosts;
allHosts = filteredHosts // {
filteredHomes = lib.filterAttrs (_: v: v == system) homes;
allHomes = filteredHomes // {
# Default configuration
ambroisie = system;
};
in
lib.mapAttrs mkHome allHosts;
lib.mapAttrs mkHome allHomes;
};
};
}

View file

@ -1,7 +1,5 @@
{ self, inputs, ... }:
{ self, inputs, lib, ... }:
let
inherit (self) lib;
defaultModules = [
{
# Let 'nixos-version --json' know about the Git revision
@ -13,9 +11,7 @@ let
];
}
# Include generic settings
"${self}/modules"
# Include bundles of settings
"${self}/profiles"
"${self}/modules/nixos"
];
buildHost = name: system: lib.nixosSystem {
@ -25,7 +21,7 @@ let
];
specialArgs = {
# Use my extended lib in NixOS configuration
inherit lib;
inherit (self) lib;
# Inject inputs to use them in global registry
inherit inputs;
};

View file

@ -1,29 +0,0 @@
{ config, lib, pkgs, ... }:
let
cfg = config.my.home.comma;
in
{
options.my.home.comma = with lib; {
enable = my.mkDisableOption "comma configuration";
pkgsFlake = mkOption {
type = types.str;
default = "pkgs";
example = "nixpkgs";
description = ''
Which flake from the registry should be used with
<command>nix shell</command>.
'';
};
};
config = lib.mkIf cfg.enable {
home.packages = with pkgs; [
ambroisie.comma
];
home.sessionVariables = {
COMMA_PKGS_FLAKE = cfg.pkgsFlake;
};
};
}

View file

@ -1,52 +0,0 @@
{ ... }:
{
imports = [
./aliases
./atuin
./bat
./bluetooth
./comma
./dircolors
./direnv
./discord
./documentation
./feh
./firefox
./flameshot
./fzf
./gammastep
./gdb
./git
./gpg
./gtk
./htop
./jq
./mail
./mpv
./nix
./nix-index
./nm-applet
./packages
./pager
./power-alert
./ssh
./terminal
./tmux
./udiskie
./vim
./wm
./x
./xdg
./zathura
./zsh
];
# First sane reproducible version
home.stateVersion = "20.09";
# Who am I?
home.username = "ambroisie";
# Start services automatically
systemd.user.startServices = "sd-switch";
}

View file

@ -1,32 +0,0 @@
#shellcheck shell=bash
use_pkgs() {
if ! has nix; then
# shellcheck disable=2016
log_error 'use_pkgs: `nix` is not in PATH'
return 1
fi
# Use user-provided default value, or fallback to nixpkgs
local DEFAULT_FLAKE="${DIRENV_DEFAULT_FLAKE:-nixpkgs}"
# Allow changing the default flake through a command line switch
if [ "$1" = "-f" ] || [ "$1" = "--flake" ]; then
DEFAULT_FLAKE="$2"
shift 2
fi
# Allow specifying a full installable, or just a package name and use the default flake
local packages=()
for pkg; do
if [[ $pkg =~ .*#.* ]]; then
packages+=("$pkg")
else
packages+=("$DEFAULT_FLAKE#$pkg")
fi
done
# shellcheck disable=2154
direnv_load nix shell "${packages[@]}" --command "$direnv" dump
}

View file

@ -1,54 +0,0 @@
{ config, lib, ... }:
let
cfg = config.my.home.ssh;
in
{
options.my.home.ssh = with lib; {
enable = my.mkDisableOption "ssh configuration";
};
config.programs.ssh = lib.mkIf cfg.enable {
enable = true;
includes = [
# Local configuration, not-versioned
"config.local"
];
matchBlocks = {
"github.com" = {
hostname = "github.com";
identityFile = "~/.ssh/shared_rsa";
user = "git";
};
"gitlab.com" = {
hostname = "gitlab.com";
identityFile = "~/.ssh/shared_rsa";
user = "git";
};
"git.sr.ht" = {
hostname = "git.sr.ht";
identityFile = "~/.ssh/shared_rsa";
user = "git";
};
"git.belanyi.fr" = {
hostname = "git.belanyi.fr";
identityFile = "~/.ssh/shared_rsa";
user = "git";
};
porthos = {
hostname = "91.121.177.163";
identityFile = "~/.ssh/shared_rsa";
user = "ambroisie";
};
};
extraConfig = ''
AddKeysToAgent yes
'';
};
}

View file

@ -1,2 +0,0 @@
" Use Automake filetype for `local.am` files, explicit `set` to force override
au BufNewFile,BufRead local.am set filetype=automake

View file

@ -1,2 +0,0 @@
" Use bash filetype for `.envrc` files
au BufNewFile,BufRead .envrc setfiletype bash

View file

@ -1,3 +0,0 @@
" Use Tiger filetype for programs and header files
au BufNewFile,BufRead *.tig setfiletype tiger
au BufNewFile,BufRead *.tih setfiletype tiger

View file

@ -1,2 +0,0 @@
" Use LaTeX filetype for TikZ files
au BufNewFile,BufRead *.tikz setfiletype tex

View file

@ -1,95 +0,0 @@
{ config, pkgs, lib, ... }:
let
cfg = config.my.home.zsh;
# Have a nice relative path for XDG_CONFIG_HOME, without leading `/`
relativeXdgConfig =
let
noHome = lib.removePrefix config.home.homeDirectory;
noSlash = lib.removePrefix "/";
in
noSlash (noHome config.xdg.configHome);
in
{
options.my.home.zsh = with lib; {
enable = my.mkDisableOption "zsh configuration";
launchTmux = mkEnableOption "auto launch tmux at shell start";
};
config = lib.mkIf cfg.enable {
home.packages = with pkgs; [
zsh-completions
];
programs.zsh = {
enable = true;
dotDir = "${relativeXdgConfig}/zsh"; # Don't clutter $HOME
enableCompletion = true;
history = {
size = 500000;
save = 500000;
extended = true;
expireDuplicatesFirst = true;
ignoreSpace = true;
ignoreDups = true;
share = false;
path = "${config.xdg.dataHome}/zsh/zsh_history";
};
plugins = [
{
name = "fast-syntax-highlighting";
file = "share/zsh/site-functions/fast-syntax-highlighting.plugin.zsh";
src = pkgs.zsh-fast-syntax-highlighting;
}
{
name = "agkozak-zsh-prompt";
file = "share/zsh/site-functions/agkozak-zsh-prompt.plugin.zsh";
src = pkgs.agkozak-zsh-prompt;
}
];
# Modal editing is life, but CLI benefits from emacs gymnastics
defaultKeymap = "emacs";
# Make those happen early to avoid doing double the work
initExtraFirst = ''
${
lib.optionalString cfg.launchTmux ''
# Launch tmux unless already inside one
if [ -z "$TMUX" ]; then
exec tmux new-session
fi
''
}
'';
initExtra = ''
source ${./completion-styles.zsh}
source ${./extra-mappings.zsh}
source ${./options.zsh}
# Source local configuration
if [ -f "$ZDOTDIR/zshrc.local" ]; then
source "$ZDOTDIR/zshrc.local"
fi
'';
localVariables = {
# I like having the full path
AGKOZAK_PROMPT_DIRTRIM = 0;
# Because I *am* from EPITA
AGKOZAK_PROMPT_CHAR = [ "42sh$" "42sh#" ":" ];
# Easy on the eyes
AGKOZAK_COLORS_BRANCH_STATUS = "magenta";
# I don't like moving my eyes
AGKOZAK_LEFT_PROMPT_ONLY = 1;
};
# Enable VTE integration
enableVteIntegration = true;
};
};
}

View file

@ -1,15 +0,0 @@
# Google Cloudtop configuration
{ ... }:
{
# Google specific configuration
home.homeDirectory = "/usr/local/google/home/ambroisie";
# Some tooling (e.g: SSH) need to use this library
home.sessionVariables = {
LD_PRELOAD = "/lib/x86_64-linux-gnu/libnss_cache.so.2\${LD_PRELOAD:+:}$LD_PRELOAD";
};
systemd.user.sessionVariables = {
LD_PRELOAD = "/lib/x86_64-linux-gnu/libnss_cache.so.2\${LD_PRELOAD:+:}$LD_PRELOAD";
};
}

View file

@ -0,0 +1,43 @@
# Google Laptop configuration
{ lib, options, pkgs, ... }:
{
services.gpg-agent.enable = lib.mkForce false;
my.home = {
git = {
package = pkgs.emptyDirectory;
};
tmux = {
# I use scripts that use the passthrough sequence often on this host
enablePassthrough = true;
terminalFeatures = {
# HTerm uses `xterm-256color` as its `$TERM`, so use that here
xterm-256color = { };
};
};
ssh = {
mosh = {
package = pkgs.emptyDirectory;
};
};
zsh = {
notify = {
enable = true;
exclude = options.my.home.zsh.notify.exclude.default ++ [
"adb shell$" # Only interactive shell sessions
];
ssh = {
enable = true;
# `notify-send` is proxied to the ChromeOS layer
useOsc777 = false;
};
};
};
};
}

View file

@ -0,0 +1,24 @@
# Google Cloudtop configuration
{ lib, pkgs, ... }:
{
# Google specific configuration
home.homeDirectory = "/usr/local/google/home/ambroisie";
services.gpg-agent.enable = lib.mkForce false;
my.home = {
git = {
package = pkgs.emptyDirectory;
};
tmux = {
# I use scripts that use the passthrough sequence often on this host
enablePassthrough = true;
terminalFeatures = {
# HTerm uses `xterm-256color` as its `$TERM`, so use that here
xterm-256color = { };
};
};
};
}

View file

@ -15,6 +15,7 @@
./secrets
./services.nix
./sound.nix
./system.nix
];
# Set your time zone.

View file

@ -26,6 +26,12 @@
firmware = {
cpuFlavor = "intel";
};
graphics = {
enable = true;
gpuFlavor = "intel";
};
};
hardware = {

View file

@ -1,6 +1,10 @@
{ pkgs, ... }:
{
my.home = {
# Use graphical pinentry
bitwarden.pinentry = pkgs.pinentry-gtk2;
# Ebook library
calibre.enable = true;
# Some amount of social life
discord.enable = true;
# Image viewver
@ -10,13 +14,12 @@
# Blue light filter
gammastep.enable = true;
# Use a small popup to enter passwords
gpg.pinentry = "gtk2";
gpg.pinentry = pkgs.pinentry-gtk2;
# Machine specific packages
packages.additionalPackages = with pkgs; [
element-desktop # Matrix client
jellyfin-media-player # Wraps the webui and mpv together
pavucontrol # Audio mixer GUI
quasselClient # IRC client
transgui # Transmission remote
];
# Minimal video player

View file

@ -9,8 +9,6 @@
gtk.enable = true;
# Laptop specific configuration
laptop.enable = true;
# Printers are hell, but so is the unability to print
printing.enable = true;
# i3 configuration
wm.windowManager = "i3";
# X configuration

View file

@ -0,0 +1,10 @@
# Core system configuration
{ ... }:
{
my.system = {
# Printers are hell, but so is the unability to print
printing = {
enable = true;
};
};
}

View file

@ -3,16 +3,14 @@
{
boot = {
# Use the GRUB 2 boot loader.
loader.grub = {
enable = true;
version = 2;
# Define on which hard drive you want to install Grub.
device = "/dev/sda";
# Use the systemd-boot EFI boot loader.
loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
initrd = {
availableKernelModules = [ "uhci_hcd" "ahci" "usbhid" ];
availableKernelModules = [ "ahci" "xhci_pci" "ehci_pci" "usbhid" "sd_mod" ];
kernelModules = [ "dm-snapshot" ];
};

View file

@ -9,17 +9,12 @@
./networking.nix
./secrets
./services.nix
./system.nix
./users.nix
];
# Set your time zone.
time.timeZone = "Europe/Paris";
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "20.09"; # Did you read the comment?
system.stateVersion = "24.05"; # Did you read the comment?
}

View file

@ -1,5 +1,5 @@
# Hardware configuration
{ lib, modulesPath, ... }:
{ modulesPath, ... }:
{
imports = [
@ -11,9 +11,18 @@
fsType = "ext4";
};
fileSystems."/boot" = {
device = "/dev/disk/by-label/boot";
fsType = "vfat";
};
swapDevices = [
{ device = "/dev/disk/by-label/swap"; }
];
powerManagement.cpuFreqGovernor = lib.mkDefault "ondemand";
my.hardware = {
firmware = {
cpuFlavor = "intel";
};
};
}

View file

@ -1,6 +1,19 @@
{ ... }:
{
my.home = {
nix = {
cache = {
# This server is the one serving the cache, don't try to query it
selfHosted = false;
};
};
# Allow using extended features when SSH-ing from various clients
tmux.terminalFeatures = {
# My usual terminal, e.g: on laptop
alacritty = { };
};
# Always start a tmux session when opening a shell session
zsh.launchTmux = true;
};

View file

@ -3,7 +3,7 @@
SWAP_SIZE=16GiB
parted /dev/sda --script -- \
mklabel msdos \
mklabel gpt \
mkpart primary 512MiB -$SWAP_SIZE \
mkpart primary linux-swap -$SWAP_SIZE 100% \
mkpart ESP fat32 1MiB 512MiB \
@ -11,14 +11,24 @@ parted /dev/sda --script -- \
parted /dev/sdb --script -- \
mklabel gpt \
mkpart primary 0MiB 100%
mkpart primary 0% 100%
parted /dev/sdc --script -- \
mklabel gpt \
mkpart primary 0% 100%
parted /dev/sdd --script -- \
mklabel gpt \
mkpart primary 0% 100%
mkfs.ext4 -L media1 /dev/sda1
mkfs.ext4 -L media2 /dev/sdb1
mkfs.ext4 -L media3 /dev/sdc1
mkfs.ext4 -L media4 /dev/sdd1
pvcreate /dev/sda1
pvcreate /dev/sdb1
vgcreate lvm /dev/sda1 /dev/sdb1
pvcreate /dev/sdc1
pvcreate /dev/sdd1
vgcreate lvm /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1
lvcreate -l 100%FREE -n media lvm
mkfs.ext4 -L nixos /dev/mapper/lvm-media
@ -27,17 +37,18 @@ mkfs.fat -F 32 -n boot /dev/sda3
mount /dev/disk/by-label/nixos /mnt
swapon /dev/sda2
mkdir -p /mnt/boot
mount /dev/disk/by-label/boot /mnt/boot
apt install sudo
useradd -m -G sudo setupuser
su setupuser
cat << EOF
# Run the following commands as setup user
curl -L https://nixos.org/nix/install | sh
. $HOME/.nix-profile/etc/profile.d/nix.sh
nix-channel --add https://nixos.org/channels/nixos-20.09 nixpkgs
sudo `which nixos-generate-config` --root /mnt
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install
. /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
nix profile install nixpkgs#nixos-install-tools
sudo "$(which nixos-generate-config)" --root /mnt
# Change uuids to labels
vim /mnt/etc/nixos/hardware-configuration.nix
@ -53,3 +64,6 @@ git crypt unlock
nixos-install --root /mnt --flake '.#<hostname>'
EOF
# shellcheck disable=2117
su setupuser

View file

@ -6,30 +6,17 @@
hostName = "porthos"; # Define your hostname.
domain = "belanyi.fr"; # Define your domain.
# The global useDHCP flag is deprecated, therefore explicitly set to false here.
# Per-interface useDHCP will be mandatory in the future, so this generated config
# replicates the default behaviour.
useDHCP = false;
# 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`.
useDHCP = true;
interfaces = {
bond0.useDHCP = true;
bonding_masters.useDHCP = true;
dummy0.useDHCP = true;
erspan0.useDHCP = true;
eth0.useDHCP = true;
eth1.useDHCP = true;
gre0.useDHCP = true;
gretap0.useDHCP = true;
ifb0.useDHCP = true;
ifb1.useDHCP = true;
ip6tnl0.useDHCP = true;
sit0.useDHCP = true;
teql0.useDHCP = true;
tunl0.useDHCP = true;
eno1.useDHCP = true;
eno2.useDHCP = true;
};
};
# Which interface is used to connect to the internet
my.hardware.networking.externalInterface = "eth0";
my.hardware.networking.externalInterface = "eno1";
}

View file

@ -1,10 +1,8 @@
age-encryption.org/v1
-> ssh-ed25519 cKojmg 0bz3W8QcGaulxy+kDmM717jTthQpFOCwV9HkenFJEyo
NKeh1/JkX4WAWbOjUeKLMbsyCevnDf3a70FfYUav26c
-> ssh-ed25519 jPowng Q59ybJMMteOSB6hZ5m6UPP0N2p8jrDSu5vBYwPgGcRw
j420on2jSsfMsv4MDtiOTMIFjaXV7sIsrS+g4iab+68
-> z}.q-grease s2W<qM_Z t
n1Yfs/gmNsl/n9HtuKBIIT8iwIjYca2yxlh7Q1XAT1B+RZ8oGjW8yCPj1unbDGZL
e5BfLO3zgkEZnQ
--- FSgNKEdDeeTjCx9jN9UtOFl58mC/Lbu1PAYRGK0CZW4
U€¿+æ©jïÝ{gø`GŽ›ÆàˆQk]šóïdÐ6å˜úy5T²$Äñs~Ùh‰Ä£òÔ<C3B2>Fº¢ç%°vöÌm<C38C>
-> ssh-ed25519 cKojmg bQFr9oAnbo1rI/MpUV8wQz/Xj7iZY4ZU+Swf0nSIQFw
zama2XJ0gdvUlD2GHMhmZqHSxHe+dKSfXnHoWDcSw7Y
-> ssh-ed25519 jPowng gitUwSKTNKWLSxnwa185O7x/u0ul93g8wPESdZaKRk8
uvBIfAUkZp5sg6rfeEGvL5ZDV8m2uSEotW02kjPN3Hw
--- SZxe5f/CUZBvPQa2Sz/UBY3L68rMkIGGRuZPk7YE+Vg
¾r ú&…¥‹{~v?¨}=Ä
}+ ¿SQM[²]Œ±k MÒAàtŒÃmMë/£µLsü|Þ…m©CÀñiYC}ƒŽ‡çxŽ€

View file

@ -0,0 +1,7 @@
age-encryption.org/v1
-> ssh-ed25519 cKojmg fpiyZo1AR5hCfk/KtbgWCTzz+05/VOUnnaHhWgXQRwc
d2w9IX/kq/T6OwQ1zImsCmzIX2yfFD8hQDbs0IW3ZIA
-> ssh-ed25519 jPowng E9R7p9NCubUQrymjnrNfEjSNIIAXrBQLogNkWsOx8xc
MrWEE5LNtOqAjnwA6byfSa1udnbUtqBy4FhdxipuA+g
--- fKgerjgGs+brvNKnrWdpmOadl34LipMT6Msqse2g3E0
Œ¡E9³ï¬KYRL-‡„°¡Ç·\EŸK{ÃÜ7âço»ïò²XÂGx<0E>ÍT’Î)Ëœôä<C3B4>6°%ˆ­LO€Tðÿ*‰™*8\£É@G

View file

@ -1,8 +1,7 @@
age-encryption.org/v1
-> ssh-ed25519 cKojmg dgS4bezgtDi44R1A8am+J6zh80kUVYTo1heaxJCtzX4
F3w/62xwtqYa40NU7OvF9pnZzYz/5hACAGJfMA4e2zw
-> ssh-ed25519 jPowng lx81CK3yeNp9RjHCUFJeKYZlRzxBmXuADVBvRc13zCI
P7e75t8xU+ZkYmeQ8mmMfyZZsRdG1J8yrvSUkiWzkFQ
-> *z4/`-grease S/)a{e sFd";=
--- 15FVhqRTkoPFEeETRRyFQhsv4Fn19Ozlax0u8Zy9mNA
õ#+¥àÎvøSÈ4èá}<7D>§Rì%ίF4fnDœ˜J¹¤Z¸A¥Û™,_
-> ssh-ed25519 cKojmg O3DMSSPQP9/ehXmzs0xcCGllu7VSzhd6b4Pii8t2vWQ
Ys1nMv2384elWWGW9C8HabvwUeWu52VsQpxx9L/4/dM
-> ssh-ed25519 jPowng ft/9SX5fpG7+7gHMubaFtb+50/gfNgmaofOVq5UjRUE
xMwdFjFdkH0Li+PikaFt0WAZbFUu5daHgkfN8aQQumo
--- 7DVINvXIXdE1MRwIkeajonYsy1cp4HugCxfTeub5SXU
<¥ö¡Ãñ<ýØ{VÇ?ñfk/¤áI®"<22>ï×/5K"Š¸(ì¢ùiÃÔôìñ

View file

@ -1,9 +1,7 @@
age-encryption.org/v1
-> ssh-ed25519 cKojmg 1+cLlzctgcM0FnVDwMPOAqBkvMcDBRg8SvCw4djI93Y
oV2XI4f1AvM9P591kZZ6NgJXa+SDtqGzCSgc4psOmxM
-> ssh-ed25519 jPowng Ufjfh1p350XxRPg95+/DHdmnl4lC0bbzUUlaxd1Bmxc
/RHwFDSn2ov+60r1uHUigrsn99+GmmKmlk4h4T2gbA0
-> *Lc$@-grease
pzVJAHy1qRq3jUrnFV0DDO7/hwV1US4Ogf0RsrVfX0xzbr73uJ003YjieVB25LqN
--- ME7/iVevyiguyhXugbkVFGzJV0yDccyKNlWbEZa/FmY
YžŠXjb2uþnd;i0íýX]…§é0þL„PÔT~óú ƒÙ^kc”$D×ÚÛr¹úu³¶fr€e¸¸þ<C2B8>+p•¨<E280A2><C2A8>&ãw®öϨ
-> ssh-ed25519 cKojmg 0J8FMcVRf78LYG+dTOFzu3luXwhOjdOg0sx4Jxdccj4
tdrCcfcYbTZYhL18RG3goiqtyhu3NTn+fJhdIAnU5uA
-> ssh-ed25519 jPowng qlF8nkSEg5fZgai0VP5eTSlZOHyj5IcalTf+QNWITVo
O5aiZX0AJD76ixsu6i9xnnFBQANdsu3h6XzdTQ6KtKU
--- ByMQt9bnbzd8YO0Y93FIYF/lmdbYcOydkYdKxpRQujM
+堍6JNm裶遁[ Eb1p)vD究侖PL9捦€z逡<7A>煸!縺贿噮'嘥閍顖卷赿5: [控d肯峈撟M抪庱zj<7A>

View file

@ -0,0 +1,10 @@
age-encryption.org/v1
-> ssh-ed25519 cKojmg Lhgx43wR8PtAMf5v1eJxKlUBSAoOLdOOn/QaQrwF8zA
jfUCpgNzkHCNTWCqtErDaLMmg1Oy+s9zUra1JLCi+J4
-> ssh-ed25519 jPowng kSeQ/SmMrzd8ByVu3YHWeZyKmqFZvQSBnDunkB8e6wc
WRmnfrV5xcRXA9t0ZXx6YvbRl0sX4PTrw63VVKX4Ei4
--- a+LLM1gP9g1AbUapbeeKaS4cEcRBmPo3MHU2DSWTAds
Ò,FÜÒ6”â⬘ ixÌ<78>°Øe| «
²
ÌÏœ,{† ˆõvª!†‰zÜ$P;ãé©TØÆÉKW
qGô

View file

@ -1,9 +1,7 @@
age-encryption.org/v1
-> ssh-ed25519 jPowng BkIjie2KrwDLaZYYIguCs7TPA/wQy+YPguikuhfye0M
7viTA/EGYB/jRKQm6fFd86DMd4j+Jxsaw/xQ1T8ZKNo
-> ssh-ed25519 cKojmg t1Y8bZvPccNAX8vWQLTfCyOJIBXN515vyfFrEI2EVww
bJEjpIWrKeQrA/JfY7FRdB6hpHwR/aG4Vya1ChFNBKs
-> jK/-grease Oz.R ?;)G ],
AuHk9TcC9kl0dg8/L6UfHIk3e9fgGwSTJAJpVgInhok
--- 47z9lol5MtpX0IsO/0ggLDMcNVfl4lNNvoHUSwOU/18
)gЪeuÞ! œš- ÞTì¥YAðM+ˆãGbMe@­|A,è&ãÆE!܆p=P²=û9¹ÙP¹!ÜöQ|Ðä r
-> ssh-ed25519 cKojmg 46BI3ItrXRWMivmd/K8bmkKlrYFSr8cbehAkmwCskig
gTjYquH1hDEZ2zWD5P7gN/ejTCH8JJb8bC/VLZ3koeg
-> ssh-ed25519 jPowng 5MqfJlasDbbqlI0dX98NZzHxmYmnnpveyBxa4z48V0o
r7Yiv4+SZiDncD0Xzp5eFSP4f2yjGBOILKxEO1iT3Os
--- l43+JtT28i1YDhNX3hE3Qb7swskOBc5ghDqiyh3rU2s
Ž+)´”¯ÛPô¢nåWT,.<2E>²eÚNW€Îñ YƱkçÿF4Ê#=˜)üîò™6Ö±ÛmȵîJ<4A>ª#

View file

@ -1,9 +1,9 @@
age-encryption.org/v1
-> ssh-ed25519 cKojmg lmu3MinmydRHD0A/YVRRtopermfoBC8M8cTHfVanY1s
ygrtpZZJ7aeQTblNazpoP7DdifmDxHsE3DFJsIrWX5M
-> ssh-ed25519 jPowng X0cihOc+fBtmtrkEivIHQngdYIobezXEF1x+pHqNzAw
/+sw9x1NWY0anZhDMpAywBPrR0F4XCHaF9e8j/Yo/kI
-> 32;%1s-grease
JafjuSZty6a4NSO/y4y5wHWL8Mw
--- dwCl66vdpsL0MR5NWWvg3JUnQ2QZQBeW0Dj0l5tvOKY
oi,`ÓÜ#uÄwW%PoubÚ­cy8<79>ó ƒÃÉ><¿F‰Ååq…ÂKÃÇk0Çk/<2F>hÀ¥Ÿ5势ÝF+ýu‡ •e<06>¾Ÿ²óôbãè>1QŠ2®ñwn˜WbÖB˜âî<C3A2>iŸ^xurâ†- /llùÒÀÀ-ã=°7;jã0»I×%Fi¼<69>í€ø™A;Y†ìUd]KÅI0(½ ”øAg£Ðóž^†uG:äpkJŸ:q<>¢šWSaLw¯¿Ô!ïM³4ã L/ùZŇ®¢D¶-XéUb»vÊbPó0ÇÅfÂ9êú<08> †âJ`ÃX°ôÐOÅ!s{ÙÄQAšc€c;ÏÃÑ4öMíچݹ lxH&ïéöé{é}ÁäÛzZ¦œ9ûÊXžÜ“g‰]Vϱ•0gt¡¿…žw·
-> ssh-ed25519 cKojmg u+5VWUy7eFq4boAIOhuKXZYD4mhczaUAcjz4+coVggA
QlBHHgz7uY3TVgex59yZA0XgsIeHi2WN2S+UleC7bMg
-> ssh-ed25519 jPowng IyeI6WUjF8wxe92xD3xY++4ZqXtY8divB39eLWfAtm8
eGj8w5X2ydS1LJvNSmo56xzRVoUB0iAKKs2NHX968Yc
--- hsYH9lUl3wIErJmBKzlWV+gIR5v6vgPIcNDgd0hiRGc
¹Ã@Úl<C39A>ôQûsÈ„ÿ×£©Dƒ}^{ºžá¾X)¸nYóJhXhg8wƒž´ ­ “ú°˜Ó¨ÇÇw‡y(œ¸ìê.0>|ÚPSlOÃ|ÈÊE‰õÂÙé°€¡<E282AC>BWó_ˆ³ÜÌ)|x4©„šºë\_F¶
ZÒo0=dts j<E28093>[ùŽõ0O+ÑÕRž8±‡ÕiüËçŽÜ»ˆõŒæÆdÀ«ß8j»â©ê
g¹©$x Œÿò¥Æbâ÷í<C3B7>­˜äX·¢gÂ^¼íùG¼Êô¤Ž$UÏûB*ö°é²¡£ÈÔ)[t¶ÃHa•vŸ7<>ÌÑj£âD.z¸+¬[~–õ ÁÃé9Ùý<C399>àz¼øô`sé¶,_!^YÓïʯ2H¹øS¿¼©øÅ<C3B8>øý*âñó@êjZ^ˆôæÎv~غ¶@ò<>

View file

@ -0,0 +1,8 @@
age-encryption.org/v1
-> ssh-ed25519 cKojmg xRtF3XVc7yPicAV/E4U7mn0itvD0h1BWBTjwunuoe2E
OkB9sjGB3ulH4Feuyj3Ed0DBG4+mghW/Qpum9oXL/8c
-> ssh-ed25519 jPowng 1r8drqhz1yZdTq0Kvqya+ArU1C2fkN7Gg9LiWWfeUFg
cjbxntVwHvqLaJpiKs/Y8ojeb6e3/cLFcsoeuoobfFg
--- B1qA2PylJBrdZxZtCzlU2kRPvxLM+IrXTvR+ERxVtTY
"W9<57>Äbg¸©~Ì/áÕb4ãÕ†ú³ÜÔIÊ
Û}ð §ËÅË-³²ªNó±”ÑC7vWœbºØ?¦8=œÉwÆB ÃUpJClï²OÈ™³œnOÁ\

Binary file not shown.

View file

@ -1,10 +1,9 @@
age-encryption.org/v1
-> ssh-ed25519 cKojmg OdLtFHbHbc28rUn47vgsVvXxFNg9nF+9y9R6XOK390Y
yQQYUPQGjN2+xrSqqBYa7/zS618KrVjX5Amw2MFuSLg
-> ssh-ed25519 jPowng NwUjiLtiXVi6XFmht5l1CxEs3gm0oN4vHYwDZyda7Q4
di6znVjNRO6QdqteVNkeot5Ko2NwWLe6v+zVR3f+o10
-> 4Vx%\(-grease ^^Z>EC91 R 2BJ d48Wip*s
yPiBgChRF31XgxccQFLO3MzRL7+5s29sfRoF3W1yUX6Bu59MpxD4D+n/jhLcxSH/
CxW7KaiOctNmPm5tWh6qjmgQ+V4bcAji5vo4FKs40l56cfyueEJj+Q
--- WUGF28zqK9E1AlOeeCtSHxFg6ikRy85gOoLtBd4m0y0
.|…rr>©†ðìì1ÅÆ2SÉž.×hw<12>w qºš%i˜øé *U^­)Öè'qžµO2ÓœümòQÝ7˜¯m`
-> ssh-ed25519 cKojmg l5lOlGnbvQ4D2kaSj1dd8Xr+btlNbTkT0SxSz02Vr1E
Cjy73yKL1N8LnjRXXLpxX+wIOFCa8wrG44VjXUND1lI
-> ssh-ed25519 jPowng nYHfkP9dRkxu4Fqh8MgrbdZAc8gk+VGDyxIV6RsSeEM
rKKi1NDoKMMzQ+kUs5ZX4zMqRBI0QwGY7q6K/L9+dLI
--- Umv3UCtXlApug7uuqmwbQN38i8Lx9/b0uhLgbc3OdZM
äBLsś ?ÖsÓ“s<E2809C>2Îy
R!<fü9txB7dň<13>™ÚŠň^©ô É‡LJ&ńW €<©e]
ţ/$$

View file

@ -0,0 +1,7 @@
age-encryption.org/v1
-> ssh-ed25519 cKojmg uz/Zf2uv+q7f3CVEoDuThHdqKE12lgHMDaORjZR/R2M
HqsqZouRxocuHOic08c2oURw2I95BM9CzgEv7FPsWwM
-> ssh-ed25519 jPowng N0HG0fB19MUa2fOIdpKxOZOWjdUgEmKOjIP4hkx1JFo
MAgTWh9d5d75iuzfA2eQ5P8ltSXZJ42dAT82YLGy0hs
--- g9KaXbUtmB05NWkGDSyWxEzo9woQaHHb+TtpvXfcpM4
cÓX× ȧ˜5 b2¡•¬-€‹Ñ"RSÒI¦&ÌÍQøtÒ[ QZ¨F¦kô.POè ?Lü¤StãÖ-Kj

View file

@ -0,0 +1,7 @@
age-encryption.org/v1
-> ssh-ed25519 cKojmg 8hV+BAKLsq8H/cxsklzuK2Q0/CqwjW6q8xMMJ0EaMDI
LUjA2/qZAAeYjW6TtvmifBUo/WGigKwed6p7RnGjRyA
-> ssh-ed25519 jPowng wrJBGPfY2a8HLoqO12/YIzCB40tZmbAlFTVrDrxrCnE
9ARASO4ZPEyQoBIrs/u8FovkzugQ4fIrZObUVBZ+UAs
--- WKMVJ4dhRAUelxXc7bJ6+UNOSrHxI4LhPo3i0RaHk7A
ˆÌ˯®9QŸ5 J‡i£¾)¦TS<54>¶8õ+ú®3ñŽ |“&ç"qFF+…í¬ WjÏËäÂMOßV×'¾\«àvK$„52˜î¥Ú¾í,lû,̹O§gßÚ¬L78!îQðR$«iöćͰ8>°ñBФbÑ„•ÌÃfDc/qWDÅ'g9

View file

@ -1,10 +1,8 @@
age-encryption.org/v1
-> ssh-ed25519 cKojmg zhpo89xef68JoeOFWzhdFshrj2BXXUCFPMLVJzv6EyE
fmJxJi5rmyai9qGwDo7iHg4BrObGre96KCpl+g91O6I
-> ssh-ed25519 jPowng INA6EZdy4J1p3QY5mfVOQXiLdOjIDaZR+CZMP+GfkXM
8Nf5soaxY5SEzeJca5kaJkx7ByOvc4NkJVetB7wpEmo
-> xjK'w-grease
f5v0cvlt4JbHlAwDOob86qOInWdlN/oohTg
--- NTGv4rr+MhJ/YeZhVHOjoS1V+zCHFf2itJYfK36R+wE
š×—®JÚ dő oŞę'YFUź@
r7”ă“_N$‰˙Ź–č‡>‚ˇę]hq»-¨FŰ°qX˙?Î| Ę
-> ssh-ed25519 cKojmg 1hbRAuAGrTy6nmkAq+UWua8weywphZsTIGF68YQEOlQ
92Q7uIKv1EiO73wMh53jrTuEkzP6ziBmX9SWXCl4d3w
-> ssh-ed25519 jPowng aPb9v/S/mLW95Qom+swvasqY878RxpxxOkMJA2wb6nY
qu/dzcqciqKzNc28HqFMHA1XnrJy+/wWgbfM1+BrlkE
--- 8PXOozvZzNZQD2OT4a+0XuIQauzUGSvovdfDugmp+bc
x²Žê Ã>ùý²ç¦©ðóÁÇ_ÏC9d™T5ŸûKzЄqØcZ©°É¾pŒš¾¡ ใºv
)Œ³õ²¥

View file

@ -1,10 +1,7 @@
age-encryption.org/v1
-> ssh-ed25519 cKojmg tZwn2usN6K62oS4vBa6boh9zEp/+cS4chP8boXG6SH4
Fr3kV8gUDoiDqMxPYWsHyww8umYhQEKhqbVBiVw5NeI
-> ssh-ed25519 jPowng wRbJl4G85obH/GluQBBsXE7MOvooEui65eqHfurvuQs
KqVZMBSyHhkayEdwI6ocmA4qhHY9zYJvg1CEKM1SOa0
-> 2E"/OFW-grease o Qp3HFe^
bGhCNicPqt7txqxUiEWXCFs1OuQLqOqHmjHSqYQv919dqYep/xBXzi/aRf3dsdvh
TCJCTvZG31Qxvikp
--- xKJGbdVp+Z5h0vCBleSF2zYYYd2S5i0y4szNqjRwrDY
Tª /N¯<4E>¨¹i7m4#³MhiñP¹šÒÞ›Á¥-ÏgI÷ñ±%@E†(iÿ7·ý©ýYg¦k±´"+㸠Àª(þ]o¨¸ý†ð<E280A0>@báÊÞ§+Ï[Y"ÿÌBóóCR[ >-Ë.4d…¤b9v
-> ssh-ed25519 cKojmg r3ZUTfSNcHc1TS2fVtk99Y2xJMMunkwkcR0dQIdiCi4
LICSnzAaooGy6x4wt0vNM6YtQ4S17QohZNt7lfVrD6Q
-> ssh-ed25519 jPowng KLU68ws4lemr0wWHxm8H8pf1SQAoUZTN4QSPzk2PyHk
6pjH1pI956oaf9ZIHPPq8p3g/mZC5GxWhWkT54Wohf0
--- cAQbniTwwtTftfXU/dGtA69yF/hh8iB97vHxvkIZMMo
°c#Ž=^Ì~?5ú-w—NT†Ì¡<C38C>¨+¶¨Ä!z¥<7A> " Zö"2ºëðù×M!pž5×V¬ÈÛjçΡѡŽâ¥âL¹ÁÌyóÐŹúš› n÷ÄŠ8zQö°+¨ËÁØ©9WSµ§<C2B5>Æ0¨u}YÚ

View file

@ -1,9 +1,7 @@
age-encryption.org/v1
-> ssh-ed25519 cKojmg 8rcBI7fYHuA3jO6EzJNFaAj2niIApKDt1HQEv61AKTs
ANxkIX/CeI7t7Zqp6wmjt/D194Z+xpeiidb+qvYzoQU
-> ssh-ed25519 jPowng oruewwTM9X/HjjcmOPcQVdp02rQBlgJPdzvlAffs3T0
MrO0kaNhjgOkNHuz3NrIMWXNrXOHH9dT/Fk6hoQNKyY
-> COK%H7-grease
6yfI90QurOKlM+kgpW8KZ/iBzDYD9yhNmjG1LQ
--- uArz8eHg8sLO0sdlkM6cELFh+FHiI5BrM0+iXJxxiDo
¿vývû´ÊNÊbæ@Ÿ¡Â<C2A1>FÛMMíYËÆíÌ&‰’/%¤¹Ñm¨®ØtÁÖ“ªd†h„­|¡ðŒß©8¼Ž Ú½¨9®<11>Cã¯/Å
-> ssh-ed25519 cKojmg bICZUDqk/C2divEZu2lxUDsrtS1inSbDbS8hxJSJfHc
FsfueyP6WCesAu5EcXIxxtvbb8RX09qNTN9GvuhYuTw
-> ssh-ed25519 jPowng Uujsu6c+QTXqCNi6c+zxk5tf0UQcG+Qm/SZF4dzSKCY
RPVNNNauz73A8kWA0VSQiMWCerUkxPoXG2MUrFly3Bc
--- 8h4hGasOwZxk+i5aQfg6AzdA1G4wROhxz2rmM9u41b8
{R<>ラ=42<34> y<>咨ッ眺テj嚀廁<E59A80>WQ▽隯%畊ス宅 顕褜返<E8A49C>弁K<E5BC81>蘊マFョモ?埴膕K歯「

View file

@ -0,0 +1,7 @@
age-encryption.org/v1
-> ssh-ed25519 cKojmg nJbOfp0/wmFOZLzcWjoGB7wEB8e56aO1NntSmn5KomU
/Vio4Z/t7IPJrdzdwUPidVH3wrouSkwRzNHP0T4z3x0
-> ssh-ed25519 jPowng QXg/xqs7/VfkYQg3X77w4i53q64bL9oYeTxqb9NVhiQ
sMHIXlmrIxtIr+s0X4lBqev/PPd3AKD5P7AP5K4NeJg
--- gzTn+6+aa4Ptic1lsvSt+r3IEBysHrvMMIyONogMDF0
<EFBFBD>ÏÂ<EFBFBD>Ë®UE_í</¯çQ·Ü+U“AГMÄÿ/kï×dAL/”úÕįÍoæ\XïEDÇÑfã\ièĽàpF„`#¬nx1î<31>ûÞèDëàÂË5CéЦ&fòB»q${Gg…Aqˆ³@üVu!Cc…R\ªÖ¨

View file

@ -12,6 +12,8 @@ in
{
"acme/dns-key.age".publicKeys = all;
"aria/rpc-token.age".publicKeys = all;
"backup/password.age".publicKeys = all;
"backup/credentials.age".publicKeys = all;
@ -19,6 +21,11 @@ in
"drone/secret.age".publicKeys = all;
"drone/ssh/private-key.age".publicKeys = all;
"forgejo/mail-password.age" = {
owner = "git";
publicKeys = all;
};
"gitea/mail-password.age" = {
owner = "git";
publicKeys = all;
@ -35,6 +42,13 @@ in
owner = "matrix-synapse";
publicKeys = all;
};
"matrix/sliding-sync-secret.age" = {
publicKeys = all;
};
"mealie/mail.age" = {
publicKeys = all;
};
"miniflux/credentials.age".publicKeys = all;
@ -42,25 +56,35 @@ in
owner = "grafana";
publicKeys = all;
};
"monitoring/secret-key.age" = {
owner = "grafana";
publicKeys = all;
};
"nextcloud/password.age" = {
owner = "nextcloud";
publicKeys = all;
};
"nix-serve/cache-key.age".publicKeys = all;
"nix-cache/cache-key.age".publicKeys = all;
"paperless/password.age".publicKeys = all;
"paperless/secret-key.age".publicKeys = all;
"podgrab/password.age".publicKeys = all;
"pyload/credentials.age".publicKeys = all;
"sso/auth-key.age".publicKeys = all;
"sso/ambroisie/password-hash.age".publicKeys = all;
"sso/ambroisie/totp-secret.age".publicKeys = all;
"tandoor-recipes/secret-key.age".publicKeys = all;
"transmission/credentials.age".publicKeys = all;
"vikunja/mail.age".publicKeys = all;
"wireguard/private-key.age".publicKeys = all;
"woodpecker/gitea.age".publicKeys = all;

View file

@ -1,10 +1,8 @@
age-encryption.org/v1
-> ssh-ed25519 cKojmg mP2H3PWJN6Pv3q6C2wci3KnXjtFAIiuGy0YH0sGIy2g
f43QqyUQfTYznszub47kgc2Mz95zVScTDkwnG3INi9U
-> ssh-ed25519 jPowng fENbu7+FZ1mnQQHQCLm1spLHmsQGlRoJResUJtGzYkY
hX+AqCkLCca6m/aKtGCThi7/mCCz/TZQNJNOlOmlqyA
-> J<-grease
n7+CPRr4oazWnE7yzpJN2ZAI4QrGsAerloP4wNeebjQDx8+IxJq1JE0g3Yi0RxzN
chDccuSPLYk45Ov+SD/qqqFZlQ
--- p81HYw3LFj+qz2kiZsDcevM4ZBfvN743P9Jdi7J9XkM
¢ìÛ±S·7 <EFBFBD>ý£÷ÜãV»»Bðßâø±³ˆ¶ïO‰lEt˜Á…šqý</Ç—Ø©9²ã(ØP†$Wƒ0h;÷‰±àJy¯feø >·_D,PºVFp\æ"AM}èg?<3F>ÿ<EFBFBD>Ý/\²Ä;ùy ¬Óš(<28>ÑSñKË
-> ssh-ed25519 cKojmg Froxrdh4H2Bsj4X2xicyBXHPRlbkRJAOztoTfzxItSM
FnsLS2QYm8mJUO+c152FieLCFkALxxwQLnY4PAj8zsU
-> ssh-ed25519 jPowng pKl4p02M+U5JsiOnM2wXL5bkPwsI3IHjlTutlvez3zM
NSuOFsyV8JqtTq97lNzacJnJ3YZgWp53XxU3mjUlcMQ
--- 2TK2ViFblmDheaYdat/GF0ze1wVsla1EPLaeRdMM4Gs
®àµÕ¨ENÜžämÂÛ2uÂ~Ju¼b´´t[Ý$Tñþ^2°<E28093>½jœÙÜi@xªÒ¸*Ä°g[MÞH½½Xš!”‰6Áez¼…¥DW]ÓÕ<‰` XÛâêÁÜÄPóéý÷ÃÞ
¶¥q*Îo¼½ÃÑ$‚åÓ<²

View file

@ -0,0 +1,9 @@
age-encryption.org/v1
-> ssh-ed25519 cKojmg o5UoCsI4rvzJ84AQsumbyEngllUcSQB0lZw9F0zK82A
xRcqV+QOqvpeMZiNCdWVhiRaEBayf3cv65xcrIKTfyI
-> ssh-ed25519 jPowng zFZTStqeaFy+HJGN3EV29+Qtf+oaXTKsZNnhetvlNz4
5dsAyBzbJ3If1KO9vvrO5UHvFfKq154xTvQbu50TFGc
--- /MjYRy6PXkzAcTMMqt84/+SkKFcuGbdFZ3BXHZ15yzY
/\œËÃQ'K0
¨5]QzO·\à®ÿÞ•L <06>úf“^—÷©<˜+ÌC<C38C>ø¼Þvƒ ì†)"6Ú·?ésoÀô§ÂÐH<C390>ŠÿÔûxÇ÷7}õ³Èv¸ûû1&Ð" ¨¦FËåÙ%Á%ÕÖ|îä'„õŽ#ÛdV<64>€žUî)?€þ÷ÿ—ýð¸pþÑÅ}¬odS×Á§|ø¹Tþ;É‹]fM˜® xä°>h3ÛÚÓ{·Wí.²1&ºLö)õß±=k0ÖSSbœ|ÊV™)Tìû©ïBý:ŽÅë𗯾».½lrI“fè8ø!~ËJe§<·3?;—òk$H¾šÈk +å6¼¤Â¯“ÿ`#V˜ÒO<C392>»tî0à
Ó

View file

@ -1,10 +1,8 @@
age-encryption.org/v1
-> ssh-ed25519 cKojmg +WwRpd2MzycutQFXyLsr2+GzSgF67Z6UuvyqYZaLd3w
sppt8HzaZP3yxnvnhzjl18Trnz8g3VyXJ6CaVBWd7jA
-> ssh-ed25519 jPowng wanoqGB7T8bim/WZ4IAYViFQoGzaIZSgeoTr3YKpeTY
ihDAdGa1XVW/qQz40V1v7a7iK7tu0EHMa7ayIogpcRw
-> l-grease |PIcZ NIr >0;*
4o8o0bevQZ6uDSx1WxxlDCURbFCM+yK1XPdrb9aztCSvG2a+ne78E42l5rBcoH7I
m51A8uWS4nSj36N/76v6K4kelxKzWUg
--- O6cGbTAVbDcdmPHf7UzfZiyiRtu1yfL4sBI+CkJA1qw
ýqýŐ$ň`żw'čS“X¸]Ąá÷ř®úî…?¤6Đ/ĆN(Bžň N«a” HŽ7żí•I<E280A2>ú÷Ŕoz‡/4:sK",7J
-> ssh-ed25519 cKojmg KslHl4v8yCsKZn5TduLgpTfpTi1uOInC9N2e8Ow83FI
NzcJJr8kw1ykAdWRZOeWdNhx0BTgE7FwTKcge+yLJ/w
-> ssh-ed25519 jPowng YGWcOai0A9l2HDZyV0GtD8kEbY/xTUssODFBcseWAkA
nJaHXkipFSHdyektoKV5y1jQrjkvnU7pwZwAymiQm7M
--- IgWkDulol1jRa+pcx7DbEy5pvC+2nrRJHsdQVPvPur0
Bb<ÅŒb!ÏëE?:ÇÓô=÷srJC<4A>œüKz5ø®Ô{Æ4`¾&N0€ÕÈö¹57ñüví©+´1
+(d§á¡{ ìQŠÙ

View file

@ -1,10 +1,7 @@
age-encryption.org/v1
-> ssh-ed25519 jPowng yz0I+AazPmamF7NOnwYNrPE/ArarU01jd2mVDJUPSTY
6Y/YQ7gb8cAZf3zT9SKOorvfUnU7kYff+gHh8fG2mY8
-> ssh-ed25519 cKojmg 0FZU9v8eHsVeE+EoX9Y4IgfIj/8+45waPaSnSDb961I
L6SzJoh5xqai45scoVAa6v9zslBGFYNnZY044d470uQ
-> I[G-grease p
AMRQY1alSzHi/PLL80kcvnM1Z9YNfoUo9u5alWXYMyzrRsg+vXjMuBvAXg3fmnzr
wdOowTYMRV+jEG8vzkcQTsv+f7JIyo4DvOOaPyGfWMl1
--- ih3IAFPcN1JP3FP1vcRGnPrfk91yrnIX0m/Szkbcf7Q
ÑmW„rµœ_\)Í°]QŠ¦xMÃs/݃ÎݪäœóÍ6óº“k±äÅY§xïMy¶ J¿¸GßÃ)i2_'ÖœHF€þ.âg_Îe5³#uätñØÕ 7j„ŽPñ²'TÞ¥8´•\IàW«UùäK­°1Úº9½è
-> ssh-ed25519 cKojmg tAW2hbBSxsael6cdbN+vI4h1/PMNrWYct8cppCAasn0
cex/wBTviSIXc8clNm5PGltTYa1Q5PwqlX4BGsNHiyU
-> ssh-ed25519 jPowng YxfhtpytvuhIARQAaJ0w94aOZiGNUOBR0pF+Sp80D2k
nMon/VdYUQTs6LFccDGeIKWeNYib1wwtFmEYZkDZxg0
--- giL477X0+uZ2Ocvbixt5f5kNc1laj5P79oW8P9XsNP0
¨Ãd>ò±cE?nb¹vš_²'2ûûà³<1B>Õµ¥_6Pu:ÊusºE“8õ“ØÏ“xuڶ̪…Îxù̧ïžC[†®°ˆÁ .õêŽ6‰¯  qÌÀÍîJ°Ä5GäKÌ)N<ÊyYÉ¥tX=l7T´2­¨ùRÙ

View file

@ -28,12 +28,6 @@ in
enable = true;
libraryPath = "/data/media/library";
};
drone = {
enable = true;
runners = [ "docker" "exec" ];
secretFile = secrets."drone/gitea".path;
sharedSecretFile = secrets."drone/secret".path;
};
# Auto-ban spammy bots and incorrect logins
fail2ban = {
enable = true;
@ -42,14 +36,14 @@ in
flood = {
enable = true;
};
# Gitea forge
gitea = {
# Forgejo forge
forgejo = {
enable = true;
mail = {
enable = true;
host = "smtp.migadu.com:465";
user = lib.my.mkMailAddress "gitea" "belanyi.fr";
passwordFile = secrets."gitea/mail-password".path;
host = "smtp.migadu.com";
user = lib.my.mkMailAddress "forgejo" "belanyi.fr";
passwordFile = secrets."forgejo/mail-password".path;
};
};
# Meta-indexers
@ -70,6 +64,13 @@ in
mailConfigFile = secrets."matrix/mail".path;
# Only necessary when doing the initial registration
secretFile = secrets."matrix/secret".path;
slidingSync = {
secretFile = secrets."matrix/sliding-sync-secret".path;
};
};
mealie = {
enable = true;
credentialsFile = secrets."mealie/mail".path;
};
miniflux = {
enable = true;
@ -80,6 +81,7 @@ in
enable = true;
grafana = {
passwordFile = secrets."monitoring/password".path;
secretKeyFile = secrets."monitoring/secret-key".path;
};
};
# FLOSS music streaming server
@ -92,9 +94,9 @@ in
enable = true;
passwordFile = secrets."nextcloud/password".path;
};
nix-serve = {
nix-cache = {
enable = true;
secretKeyFile = secrets."nix-serve/cache-key".path;
secretKeyFile = secrets."nix-cache/cache-key".path;
};
nginx = {
enable = true;
@ -121,7 +123,13 @@ in
secretKeyFile = secrets."paperless/secret-key".path;
};
# The whole *arr software suite
pirate.enable = true;
pirate = {
enable = true;
# ... But not Lidarr because I don't care for music that much
lidarr = {
enable = false;
};
};
# Podcast automatic downloader
podgrab = {
enable = true;
@ -130,17 +138,34 @@ in
};
# Regular backups
postgresql-backup.enable = true;
pyload = {
enable = true;
credentialsFile = secrets."pyload/credentials".path;
};
# RSS provider for websites that do not provide any feeds
rss-bridge.enable = true;
# Usenet client
sabnzbd.enable = true;
# Because I stilll need to play sysadmin
ssh-server.enable = true;
# Recipe manager
tandoor-recipes = {
enable = true;
secretKeyFile = secrets."tandoor-recipes/secret-key".path;
};
# Torrent client and webui
transmission = {
enable = true;
credentialsFile = secrets."transmission/credentials".path;
};
# Self-hosted todo app
vikunja = {
enable = true;
mail = {
enable = true;
configFile = secrets."vikunja/mail".path;
};
};
# Simple, in-kernel VPN
wireguard = {
enable = true;

View file

@ -0,0 +1,12 @@
# Core system configuration
{ ... }:
{
my.system = {
nix = {
cache = {
# This server is the one serving the cache, don't try to query it
selfHosted = false;
};
};
};
}

View file

@ -24,4 +24,10 @@ in
# (any -> value)
# [ any ]
mapFilter = pred: f: attrs: filter pred (map f attrs);
# Transform a nullable value into a list of zero/one element.
#
# nullableToList ::
# (nullable a) -> [ a ]
nullableToList = x: if x != null then [ x ] else [ ];
}

View file

@ -25,6 +25,8 @@ in
search_mode = "skim";
# Show long command lines at the bottom
show_preview = true;
# I like being able to edit my commands
enter_accept = false;
};
};
};

View file

@ -0,0 +1,22 @@
{ config, lib, pkgs, ... }:
let
cfg = config.my.home.bitwarden;
in
{
options.my.home.bitwarden = with lib; {
enable = my.mkDisableOption "bitwarden configuration";
pinentry = mkPackageOption pkgs "pinentry" { default = [ "pinentry-tty" ]; };
};
config = lib.mkIf cfg.enable {
programs.rbw = {
enable = true;
settings = {
email = lib.my.mkMailAddress "bruno" "belanyi.fr";
inherit (cfg) pinentry;
};
};
};
}

View file

@ -0,0 +1,15 @@
{ config, lib, pkgs, ... }:
let
cfg = config.my.home.calibre;
in
{
options.my.home.calibre = with lib; {
enable = mkEnableOption "calibre configuration";
};
config = lib.mkIf cfg.enable {
home.packages = with pkgs; [
calibre
];
};
}

View file

@ -0,0 +1,15 @@
{ config, lib, pkgs, ... }:
let
cfg = config.my.home.comma;
in
{
options.my.home.comma = with lib; {
enable = my.mkDisableOption "comma configuration";
};
config = lib.mkIf cfg.enable {
home.packages = with pkgs; [
ambroisie.comma
];
};
}

View file

@ -1,29 +1,58 @@
{ config, inputs, lib, ... }:
let
actualPath = [ "home-manager" "users" config.my.user.name "my" "home" ];
aliasPath = [ "my" "home" ];
cfg = config.my.user.home;
in
{ ... }:
{
imports = [
inputs.home-manager.nixosModules.home-manager # enable home-manager options
(lib.mkAliasOptionModule aliasPath actualPath) # simplify setting home options
./aliases
./atuin
./bat
./bitwarden
./bluetooth
./calibre
./comma
./dircolors
./direnv
./discord
./documentation
./feh
./firefox
./flameshot
./fzf
./gammastep
./gdb
./git
./gpg
./gtk
./htop
./jq
./keyboard
./mail
./mpv
./nix
./nix-index
./nixpkgs
./nm-applet
./packages
./pager
./power-alert
./secrets
./ssh
./terminal
./tmux
./udiskie
./vim
./wget
./wm
./x
./xdg
./zathura
./zsh
];
config = lib.mkIf cfg.enable {
home-manager = {
# Not a fan of out-of-directory imports, but this is a good exception
users.${config.my.user.name} = import ../../home;
# First sane reproducible version
home.stateVersion = "20.09";
# Nix Flakes compatibility
useGlobalPkgs = true;
useUserPackages = true;
# Who am I?
home.username = "ambroisie";
# Forward inputs to home-manager configuration
extraSpecialArgs = {
inherit inputs;
};
};
};
# Start services automatically
systemd.user.startServices = "sd-switch";
}

View file

@ -0,0 +1,57 @@
#shellcheck shell=bash
# shellcheck disable=2155
use_android() {
if [ -z "$ANDROID_HOME" ]; then
log_error "use_android: 'ANDROID_HOME' is not defined"
return 1
fi
_use_android_find_latest() {
local path="$1"
local version
version="$(semver_search "$path" "" "")"
if [ -z "$version" ]; then
log_error "use_android: did not find any version at '$path'"
return 1
fi
printf '%s' "$version"
}
# Default to the latest version found
local ndk_version="$(_use_android_find_latest "$ANDROID_HOME/ndk" || return 1)"
local build_tools_version="$(_use_android_find_latest "$ANDROID_HOME/build-tools" || return 1)"
unset -f _use_android_find_latest
# Allow changing the default version through a command line switch
while true; do
case "$1" in
-b|--build-tools)
build_tools_version="$2"
shift 2
;;
-n|--ndk)
ndk_version="$2"
shift 2
;;
--)
shift
break
;;
*)
break
;;
esac
done
export ANDROID_NDK_HOME="$ANDROID_HOME/ndk/$ndk_version"
export ANDROID_ROOT="$ANDROID_HOME"
export ANDROID_SDK_ROOT="$ANDROID_HOME"
export ANDROID_NDK_ROOT="$ANDROID_NDK_HOME"
PATH_add "$ANDROID_NDK_HOME"
PATH_add "$ANDROID_HOME/build-tools/$build_tools_version"
}

View file

@ -0,0 +1,69 @@
#shellcheck shell=bash
use_pkgs() {
if ! has nix; then
# shellcheck disable=2016
log_error 'use_pkgs: `nix` is not in PATH'
return 1
fi
# Use user-provided default value, or fallback to nixpkgs
local DEFAULT_FLAKE="${DIRENV_DEFAULT_FLAKE:-nixpkgs}"
# Additional args that should be forwarded to `nix`
local args=()
# Allow changing the default flake through a command line switch
while true; do
case "$1" in
-b|--broken)
args+=(--impure)
export NIXPKGS_ALLOW_BROKEN=1
shift
;;
-f|--flake)
DEFAULT_FLAKE="$2"
shift 2
;;
-i|--impure)
args+=(--impure)
shift
;;
-s|--insecure)
args+=(--impure)
export NIXPKGS_ALLOW_INSECURE=1
shift
;;
-u|--unfree)
args+=(--impure)
export NIXPKGS_ALLOW_UNFREE=1
shift
;;
--)
shift
break
;;
*)
break
;;
esac
done
# Allow specifying a full installable, or just a package name and use the default flake
local packages=()
for pkg; do
if [[ $pkg =~ .*#.* ]]; then
packages+=("$pkg")
else
packages+=("$DEFAULT_FLAKE#$pkg")
fi
done
# shellcheck disable=2154
direnv_load nix shell "${args[@]}" "${packages[@]}" --command "$direnv" dump
# Clean-up after ourselves (assumes the user does not set them before us)
unset NIXPKGS_ALLOW_BROKEN
unset NIXPKGS_ALLOW_INSECURE
unset NIXPKGS_ALLOW_UNFREE
}

View file

@ -33,13 +33,10 @@ in
enable = true;
package = pkgs.firefox.override {
cfg = {
enableTridactylNative = cfg.tridactyl.enable;
};
extraNativeMessagingHosts = with pkgs; ([ ]
nativeMessagingHosts = ([ ]
++ lib.optional cfg.tridactyl.enable pkgs.tridactyl-native
# Watch videos using mpv
++ lib.optional cfg.ff2mpv.enable ambroisie.ff2mpv-go
++ lib.optional cfg.ff2mpv.enable pkgs.ff2mpv-go
);
};
@ -57,8 +54,8 @@ in
"browser.newtabpage.activity-stream.section.highlights.includePocket" = false; # Disable pocket
"extensions.pocket.enabled" = false; # Disable pocket
"media.eme.enabled" = true; # Enable DRM
"media.gmp-widevinecdm.visible" = true; # Enable DRM
"media.gmp-widevinecdm.enabled" = true; # Enable DRM
"media.gmp-widevinecdm.visible" = true; # Enable DRM
"signon.autofillForms" = false; # Disable built-in form-filling
"signon.rememberSignons" = false; # Disable built-in password manager
"ui.systemUsesDarkTheme" = true; # Dark mode

View file

@ -22,8 +22,8 @@ bind ;c hint -Jc [class*="expand"],[class*="togg"],[class="comment_folder"]
bindurl reddit.com gu urlparent 3
" Only hint search results on Google
bindurl www.google.com f hint -Jc #search div:not(.action-menu) > a
bindurl www.google.com F hint -Jbc #search div:not(.action-menu) > a
bindurl www.google.com f hint -Jc #search a
bindurl www.google.com F hint -Jbc #search a
" Only hint search results on DuckDuckGo
bindurl ^https://duckduckgo.com f hint -Jc [data-testid="result-title-a"]
@ -69,8 +69,6 @@ unbind <C-f>
" Redirections {{{
" Always redirect Reddit to the old site
autocmd DocStart ^http(s?)://www.reddit.com js tri.excmds.urlmodify("-t", "www", "old")
" Use a better Twitter front-end
autocmd DocStart ^http(s?)://twitter.com js tri.excmds.urlmodify("-t", "twitter.com", "nitter.net")
" }}}
" Disabled websites {{{

View file

@ -20,19 +20,26 @@ in
};
};
config = lib.mkMerge [
(lib.mkIf cfg.enable {
config = lib.mkIf cfg.enable (lib.mkMerge [
{
home.packages = with pkgs; [
gdb
];
xdg.configFile."gdb/gdbinit".source = ./gdbinit;
})
xdg = {
configFile."gdb/gdbinit".source = ./gdbinit;
dataFile. "gdb/.keep".text = "";
};
home.sessionVariables = {
GDBHISTFILE = "${config.xdg.dataHome}/gdb/gdb_history";
};
}
(lib.mkIf cfg.rr.enable {
home.packages = [
cfg.rr.package
];
})
];
]);
}

View file

@ -7,6 +7,9 @@ in
{
options.my.home.git = with lib; {
enable = my.mkDisableOption "git configuration";
# I want the full experience by default
package = mkPackageOption pkgs "git" { default = [ "gitFull" ]; };
};
config.home.packages = with pkgs; lib.mkIf cfg.enable [
@ -22,8 +25,7 @@ in
userEmail = mkMailAddress "bruno" "belanyi.fr";
userName = "Bruno BELANYI";
# I want the full experience
package = pkgs.gitFull;
inherit (cfg) package;
aliases = {
git = "!git";
@ -146,6 +148,10 @@ in
autoStash = true;
};
rerere = {
enabled = true;
};
url = {
"git@git.belanyi.fr:" = {
insteadOf = "https://git.belanyi.fr/";

View file

@ -1,4 +1,4 @@
{ config, lib, ... }:
{ config, lib, pkgs, ... }:
let
cfg = config.my.home.gpg;
in
@ -6,12 +6,7 @@ in
options.my.home.gpg = with lib; {
enable = my.mkDisableOption "gpg configuration";
pinentry = mkOption {
type = types.str;
default = "tty";
example = "gtk2";
description = "Which pinentry interface to use";
};
pinentry = mkPackageOption pkgs "pinentry" { default = [ "pinentry-tty" ]; };
};
config = lib.mkIf cfg.enable {
@ -22,7 +17,7 @@ in
services.gpg-agent = {
enable = true;
enableSshSupport = true; # One agent to rule them all
pinentryFlavor = cfg.pinentry;
pinentryPackage = cfg.pinentry;
extraConfig = ''
allow-loopback-pinentry
'';

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