Compare commits

...

1297 commits

Author SHA1 Message Date
Bruno BELANYI 9e89b4dd36 flake: bump inputs
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2024-05-19 22:32:54 +02:00
Bruno BELANYI 1cba7b609d home: vim: null-ls: remove 'clang-format'
All checks were successful
ci/woodpecker/push/check Pipeline was successful
I should be relying on `clangd` instead, which should always be
available whenever `clang-format` was.
2024-05-13 14:29:19 +00:00
Bruno BELANYI 811a9f44c5 home: vim: ftplugin: add json
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2024-05-10 09:36:09 +00:00
Bruno BELANYI f6c476a07f nixos: services: postgres: add post-upgrade advice
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2024-05-07 11:40:11 +00:00
Bruno BELANYI 0745e450b9 nixos: services: postgres: remove unused container 2024-05-07 11:40:11 +00:00
Bruno BELANYI 48beb9f1fe nixos: services: postgres: simplify update script 2024-05-07 11:21:28 +00:00
Bruno BELANYI 6162f4f4d5 modules: services: nextcloud: bump to 29
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2024-05-04 22:51:11 +02:00
Bruno BELANYI 8d2cf7f2c0 nixos: profiles: laptop: fix renamed option 2024-05-04 16:06:57 +02:00
Bruno BELANYI df79f36c87 flake: bump inputs 2024-05-04 16:06:14 +02:00
Bruno BELANYI 929c8ea9b0 hosts: nixos: porthos: services: audiobookshelf
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2024-04-22 21:00:00 +02:00
Bruno BELANYI 2dedb41a47 nixos: services: add audiobookshelf 2024-04-22 21:00:00 +02:00
Bruno BELANYI 7ebbb10568 hosts: nixos: porthos: migrate podgrab 'dataDir'
I want to share it with `audiobookshelf`, so putting it in `/data/media`
makes it easier.
2024-04-22 21:00:00 +02:00
Bruno BELANYI 5df0574f41 nixos: services: podgrab: add 'dataDir' 2024-04-22 21:00:00 +02:00
Bruno BELANYI c18054cad7 nixos: services: podgrab: use 'media' group 2024-04-22 20:59:09 +02:00
Bruno BELANYI f9db06a6d4 flake: bump inputs 2024-04-22 20:58:45 +02:00
Bruno BELANYI b735eb4b98 home: direnv: set 'DIRENV_DEFAULT_FLAKE' as needed
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2024-04-19 11:22:15 +00:00
Bruno BELANYI 6a22a80d42 home: direnv: update default flake
Now that I (usually?) override `nixpkgs` in the registry, there's not
much use in defaulting to `pkgs`.
2024-04-19 11:22:15 +00:00
Bruno BELANYI 06b760e3ee pkgs: remove 'bt-migrate'
I have packaged it upstream.
2024-04-19 11:22:15 +00:00
Bruno BELANYI e43cdbfa65 pkgs: remove 'sqlite_orm'
I have packaged it upstream.
2024-04-19 11:22:15 +00:00
Bruno BELANYI 7e0cb867de pkgs: remove 'digestpp'
I have packaged it upstream.
2024-04-19 11:22:15 +00:00
Bruno BELANYI a4ede5f6f4 templates: add rust-cargo 2024-04-19 11:22:15 +00:00
Bruno BELANYI 95c688766f home: vim: ftplugin: add bp 2024-04-19 11:22:15 +00:00
Bruno BELANYI 3e6b9f7161 home: vim: ftdetect: add bp
Unfortunately, the `blueprint` filetype name is already taken...
2024-04-12 10:03:28 +00:00
Bruno BELANYI 6efe2c12ba nixos: services: woodpecker: exec: fix NodeJS
All checks were successful
ci/woodpecker/push/check Pipeline was successful
I need it for Tree Sitter support...
2024-04-08 21:19:54 +02:00
Bruno BELANYI 6b51b4e2ab nixos: services: rss-bridge: fix deprecated option
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2024-04-07 13:30:40 +02:00
Bruno BELANYI 10a3e684c8 flake: bump inputs 2024-04-07 13:28:26 +02:00
Bruno BELANYI 8f120e2129 nixos: services: lohr: fix SSH key creation
All checks were successful
ci/woodpecker/push/check Pipeline was successful
In the migration to `tmpfiles.d(5)`, I used the wrong type of file.

Using `f` would write the path to the file as its content, rather than
copy it. Unfortunately `C` and `C+` do not overwrite an existing file,
so using a symlink it the correct solution here.

This means the SSH key file must have `lohr` as an owner... Perhaps I
should make it so the service can read the file itself, rather than
rely on the filesystem location, so that I don't have to contort myself
quite so much to make it work.
2024-04-02 12:25:34 +02:00
Bruno BELANYI f729f6a098 hosts: nixos: porthos: secrets: add 'lohr' owner 2024-04-02 12:25:05 +02:00
Bruno BELANYI 8a4fdf6a56 templates: fix description typo
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2024-04-01 22:27:06 +01:00
Bruno BELANYI d97da124ee templates: fix homepage links 2024-04-01 22:27:06 +01:00
Bruno BELANYI 96aa934bec pkgs: zsh-done: fix homepage link 2024-04-01 22:27:06 +01:00
Bruno BELANYI 4b5a19a8fa templates: fix deprecated CI syntax
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2024-04-01 22:26:21 +01:00
Bruno BELANYI 06c64c1a78 templates: fix 'matrix-notifier' CI step 2024-04-01 22:25:37 +01: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
Bruno BELANYI c8019f84bb pkgs: wifi-qr: fix icon handling
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-05-09 20:33:05 +01:00
Bruno BELANYI 01059616bf home: vim: don't use 'nixpkgs-fmt' with 'nil'
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-05-09 20:25:15 +01:00
Bruno BELANYI 8a78ce8520 home: vim: null-ls: add 'buildifier' configuration 2023-05-09 20:23:07 +01:00
Bruno BELANYI 102dc4cc76 home: vim: null-ls: restrict POSIX to bare 'sh' 2023-05-09 20:22:12 +01:00
Bruno BELANYI 0b64c9caa7 hosts: nixos: porthos: services: disable grocy
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-05-08 19:01:11 +02:00
Bruno BELANYI 574634b64e modules: services: blog: use 302 redirection
All checks were successful
ci/woodpecker/push/check Pipeline was successful
That way the browser doesn't cache it, in case I do end up using that
domain after all.
2023-05-07 15:20:14 +01:00
Bruno BELANYI b86d963a92 flake: checks: enable 'stylua'
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-05-07 13:36:10 +01:00
Bruno BELANYI 78c524e19d project: add stylua configuration 2023-05-07 13:36:10 +01:00
Bruno BELANYI 1e9f6fe957 home: vim: fix lua formatting 2023-05-07 13:36:10 +01:00
Bruno BELANYI c2d231d3f1 home: vim: use actual lua files
Since most of the settings are actually just lua in a VimL file.
2023-05-07 13:36:10 +01:00
Bruno BELANYI 9530864b10 home: vim: fastfold: use lua configuration 2023-05-07 13:36:10 +01:00
Bruno BELANYI e599a97e45 home: vim: abbreviations: use lua
This makes it less repetitive.
2023-05-07 13:36:10 +01:00
Bruno BELANYI 39c2e5db8c home: vim: signtoggle: use lua autocommands
A nice next step would be to use actual lua callbacks instead of the
VimL command.
2023-05-07 13:36:10 +01:00
Bruno BELANYI dba8836381 home: vim: numbertoggle: use lua autocommands
A nice next step would be to use actual lua callbacks instead of the
VimL command.
2023-05-07 13:36:10 +01:00
Bruno BELANYI 36b0c67832 home: vim: completion: use lua settings 2023-05-07 13:33:02 +01:00
Bruno BELANYI 68b9c3b9b1 home: vim: remove 'vim-pandoc'
The tree-sitter code-block high-lighting is built-in and works better,
and I don't use any of the other features.
2023-05-07 13:04:37 +01:00
Bruno BELANYI d8896a66c8 hosts: home: cloudtop: systemd session variable
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-05-05 09:05:51 +00:00
Bruno BELANYI a1dd0bb792 modules: services: matrix: remove 'with lib'
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-05-04 12:19:31 +00:00
Bruno BELANYI 46d9e5c829 home: vim: lspconfig: add 'nil'
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-05-04 09:27:19 +00:00
Bruno BELANYI b9d6115994 pkgs: unbound-zones-adblock: remove unused 'rec' 2023-05-04 09:27:19 +00:00
Bruno BELANYI beeafe5e33 home: nix: remove unused 'options' 2023-05-04 09:27:19 +00:00
Bruno BELANYI c19baeb19d modules: system: podman: remove unused 'options' 2023-05-04 09:27:19 +00:00
Bruno BELANYI 62d9359eb7 modules: services: matrix: clean-up formatting 2023-05-04 09:27:19 +00:00
Bruno BELANYI 85e31e5d6c home: zsh: remove unused 'with pkgs' 2023-05-04 09:27:19 +00:00
Bruno BELANYI 185b1d5490 flake: remove unused 'lib' 2023-05-04 09:27:19 +00:00
Bruno BELANYI 9f3a8ac2bd home: zsh: extract aliases
All checks were successful
ci/woodpecker/push/check Pipeline was successful
It doesn't (yet?) support nushell, if I ever end up switching to it.
2023-05-03 20:20:07 +01:00
Bruno BELANYI 4feee73b8e home: vim: set 'splitkeep' 2023-05-03 20:02:34 +01:00
Bruno BELANYI c117d1caed flake: checks: enable 'deadnix'
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-05-03 15:22:52 +00:00
Bruno BELANYI 284b83b896 lib: ip: check range in 'nthInRange4' 2023-05-03 15:22:52 +00:00
Bruno BELANYI dac80373a1 flake: nixos: use consistent module formatting 2023-05-03 15:15:31 +00:00
Bruno BELANYI a868088cc9 treewide: rename unused overlay arguments
Now that `nix flake check` doesn't complain about it anymore, try to be
consistent about using that feature.
2023-05-03 15:15:31 +00:00
Bruno BELANYI 2f3989bba1 modules: services: wireguard: simplify 2023-05-03 15:15:31 +00:00
Bruno BELANYI 49b2cb9781 modules: secrets: remove unused 'options' 2023-05-03 15:15:31 +00:00
Bruno BELANYI bd6b7ca9e2 flake: do not use explicit inputs
This ends up being more annoying than useful most of the time anyway...

Make a note that we can't just eta-reduce the outputs, due to a nix
limitation on flake outputs (see [1]).

[1]: https://github.com/NixOS/nix/issues/4384
2023-05-03 15:15:31 +00:00
Bruno BELANYI debdadbd1a pkgs: woodpecker: do not name unused argument 2023-05-03 15:15:31 +00:00
Bruno BELANYI 6f3594b694 pkgs: woodpecker: remove unused inputs 2023-05-03 15:15:31 +00:00
Bruno BELANYI 0e7c0531f5 lib: string: remove unused 'let' block 2023-05-03 15:02:44 +00:00
Bruno BELANYI 7bd2e1504d home: vim: lua: lsp: customize diagnostics display 2023-05-03 15:02:44 +00:00
Bruno BELANYI b0f054b1e6 home: vim: configure 'lsp_lines' 2023-05-03 15:02:44 +00:00
Bruno BELANYI 6cdbd6bb29 home: vim: lua: lsp: remove diagnostic on hover 2023-05-03 15:02:44 +00:00
Bruno BELANYI 29daa555a3 hosts: nixos: porthos: services: disable quassel
I don't use it anymore.
2023-05-03 15:02:44 +00:00
Bruno BELANYI fadb8e96fc modules: system: nix: add 'cache.selfHosted' 2023-05-03 15:02:44 +00:00
Bruno BELANYI 20d19ed128 modules: system: nix: rename 'inputs' options 2023-05-03 15:02:44 +00:00
Bruno BELANYI 93bc5cbd01 nixos: porthos: services: enable nix-serve
Unfortunately, the priority cannot be changed and defaults to being
higher (by using a lower integer) than the NixOS cache...
2023-05-03 15:02:44 +00:00
Bruno BELANYI f7df17686f nixos: porthos: secrets: add 'nix-serve/cache-key' 2023-05-03 15:02:44 +00:00
Bruno BELANYI 455a4e5431 modules: services: add nix-serve 2023-05-03 15:02:44 +00:00
Bruno BELANYI 872f045740 overlays: add 'nix-serve-ng-initLibStore' 2023-05-03 15:02:44 +00:00
Bruno BELANYI fe8481292d flake: bump inputs 2023-05-03 15:02:44 +00:00
Bruno BELANYI d9e115a876 modules: services: woodpecker: adapt gitea URL 2023-05-03 15:02:44 +00:00
Bruno BELANYI e4e44dd8fa home: atuin: enable command line preview 2023-05-03 15:02:44 +00:00
Bruno BELANYI f41fd5d42e home: atuin: use 'skim' engine 2023-05-03 15:02:44 +00:00
Bruno BELANYI 5a9e62d556 home: add atuin
I really like the `fzf` history widget, and this is not as good UI-wise.

However I like the fact that this uses a DB:

* It is more reliable when the history file gets messed up [1]
* It allows syncing between different hosts (not sure if I will use it)
* It adds more context to the search
    * The current directory
    * The shell _session_, I can *either* search all sessions or
      restrict to just the current one

I will be looking into whether or not I can hack something together to
get a better UI (by using `fzf` of course).
2023-05-03 15:02:44 +00:00
Bruno BELANYI 0ab56888bd home: extract dircolors configuration 2023-05-03 15:02:44 +00:00
Bruno BELANYI 1d7b9b99db home: extract fzf configuration 2023-05-03 15:02:44 +00:00
Bruno BELANYI d8c841333b modules: services: gitea: migrate settings
Most of the settings are now RFC-42 compliant.
2023-05-03 15:02:44 +00:00
Bruno BELANYI f47ac78370 flake: bump inputs 2023-05-03 15:02:44 +00:00
Bruno BELANYI c82361f9e4 home: git: ignore neovim 'exrc' configuration 2023-05-03 15:02:44 +00:00
Bruno BELANYI 5c372cfa95 home: vim: use 'exrc'
Remove the home-grown "solution" that I had stolen from school (and
never used...) for project-local configuration.

Since [1], it is okay to use the built-in vim option for this, since it
only asks for user-input before trusting a file.

Since [2] they even support lua files!

[1]: https://github.com/neovim/neovim/pull/20956
[2]: https://github.com/neovim/neovim/pull/21436
2023-05-03 15:02:44 +00:00
Bruno BELANYI 0f385abf3c pkgs: fix 'nativeBuildInputs' usage 2023-05-03 15:02:44 +00:00
Bruno BELANYI ce4e163193 pkgs: add wifi-qr 2023-05-03 15:02:44 +00:00
Bruno BELANYI e9f07e67dc home: vim: add diff line matching
All checks were successful
ci/woodpecker/push/check Pipeline was successful
This should bring more readable diffs. See [1].

[1]: https://github.com/neovim/neovim/pull/14537
2023-04-19 08:36:40 +00:00
Bruno BELANYI 2375f88e56 home: vim: use patience diff
This brings it in line with my `git` configuration.
2023-04-19 08:34:39 +00:00
Bruno BELANYI d424aaa4a1 templates: c++-meson: add '.envrc'
All checks were successful
ci/woodpecker/push/check Pipeline was successful
This was ignored when I added the initial commit.
2023-04-18 22:06:57 +01:00
Bruno BELANYI 638f4a7774 modules: system: boot: rename 'tmp' options
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-04-17 21:25:15 +02:00
Bruno BELANYI f935126312 flake: bump inputs 2023-04-17 21:22:10 +02:00
Bruno BELANYI af470f507b bootstrap: remove GPG setup step
All checks were successful
ci/woodpecker/push/check Pipeline was successful
I don't use `git-crypt` anymore, this is no longer useful.
2023-04-17 09:28:23 +00:00
Bruno BELANYI 98c77cb258 bootstrap: rename agenix SSH key
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-04-17 08:18:27 +00:00
Bruno BELANYI 04d92a29e3 hosts: nixos: aramis: secrets: rename SSH key 2023-04-17 08:18:27 +00:00
Bruno BELANYI 7cebaa3751 modules: secrets: move wireguard keys
This is a bit special, as some of the keys do not belong to NixOS hosts,
so store those in the module itself, and into host-specific directories
for the keys that are NixOS hosts.
2023-04-17 08:18:27 +00:00
Bruno BELANYI ed745602a1 modules: secrets: move non-existent key workaround
Since this configuration was only there to accommodate `aramis`, make it
be host-specific instead, and rely on the default value otherwise.
2023-04-16 19:44:02 +01:00
Bruno BELANYI 6079485b50 modules: secrets: move host-specific secrets 2023-04-16 19:44:02 +01:00
Bruno BELANYI 57008bcb7c hosts: nixos: add host-specific secrets module
This is the same logic as the common module, but for secrets that don't
need to be shared to different hosts.
2023-04-16 19:44:02 +01:00
Bruno BELANYI 34a3f9a0d6 modules: secrets: centralize agenix keys
If I intend on splitting the keys depending on which host needs to have
access to it, I should have a singular spot to manage the keys.
2023-04-16 19:44:02 +01:00
Bruno BELANYI 68bf36c45c modules: secrets: wireguard: remove unused file
The peer definitions have been inlined into the Wireguard module a long
time ago.
2023-04-13 17:05:52 +00:00
Bruno BELANYI 54e9303319 modules: secrets: use diff-friendly formatting
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-04-13 15:55:34 +00:00
Bruno BELANYI 04f23976ee modules: services: woodpecker: remove unused env
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-04-13 15:24:34 +00:00
Bruno BELANYI 94141d53b8 modules: services: woodpecker: remove 'TODO' 2023-04-13 15:17:16 +00:00
Bruno BELANYI 81f930168a flake: use 'defaultSystems'
All checks were successful
ci/woodpecker/push/check Pipeline was successful
Instead of writing a list which amounts to the same thing.
2023-04-12 16:50:51 +00:00
Bruno BELANYI 520d799124 pkgs: remove 'pnpm-lock-export'
All checks were successful
ci/woodpecker/push/check Pipeline was successful
I don't need it now that it has been upstreamed.
2023-04-11 22:31:29 +01:00
Bruno BELANYI 0e5d40ef7f pkgs: woodpecker: add 'pnpm-lock-export' to update
Now that it has been upstreamed.
2023-04-11 22:31:28 +01:00
Bruno BELANYI e8a31ddf8c flake: bump inputs 2023-04-11 22:31:28 +01:00
Bruno BELANYI 7b117d76de overlays: remove 'i3status-rust-main-program'
It is now included upstream.
2023-04-11 22:31:28 +01:00
Bruno BELANYI b3e75b374a templates: add c++-meson 2023-04-11 22:31:28 +01:00
Bruno BELANYI 9822b034f7 templates: add c++-cmake 2023-04-11 16:26:56 +00:00
Bruno BELANYI 951770904f flake: add templates 2023-04-04 15:53:09 +00:00
Bruno BELANYI 9781ef06b0 home: wm: i3bar: better 'battery' formats
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-04-01 20:29:23 +01:00
Bruno BELANYI 72dd9ae834 home: wm: i3bar: fix 'battery' block icon 2023-04-01 20:29:23 +01:00
Bruno BELANYI f15b3aa23d modules: services: woodpecker: allow setuid
All checks were successful
ci/woodpecker/push/check Pipeline was successful
I need it to be able to use `ssh-agent`, for some of my workflows.
2023-04-01 21:06:50 +02:00
Bruno BELANYI 0da267664c ci: remove Drone CI
All checks were successful
ci/woodpecker/push/check Pipeline was successful
2023-04-01 17:14:13 +01:00
Bruno BELANYI 85f7a34d85 ci: add Woodpecker CI workflow
Some checks failed
continuous-integration/drone/push Build is failing
ci/woodpecker/push/check Pipeline was successful
2023-04-01 16:41:00 +01:00
Bruno BELANYI 29a1a48d19 pkgs: matrix-notifier: 0.2.0 -> 0.3.0
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-01 16:33:43 +01:00
Bruno BELANYI ffd3fb06bd pkgs: refactor 'sha256' -> 'hash' 2023-04-01 16:33:26 +01:00
Bruno BELANYI eb34d23e3d pkgs: lohr: 0.4.0 -> 0.4.2 2023-04-01 16:32:04 +01:00
Bruno BELANYI 8fa1b9952c pkgs: remove 'rofi-bluetooth'
Now that it is packaged upstream.
2023-04-01 16:22:08 +01:00
Bruno BELANYI f9ddcff5ee home: wm: i3: use upstream 'rofi-bluetooth' 2023-04-01 16:20:55 +01:00
Bruno BELANYI f6d648a87a pkgs: remove 'nolimips'
Now that the CRI packages it.
2023-04-01 16:20:29 +01:00
Bruno BELANYI 1221d5b6d6 pkgs: remove 'havm'
Now that the CRI packages it.
2023-04-01 16:20:05 +01:00
Bruno BELANYI 7a5842f03a modules: services: matrix: remove obsolete comment
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-01 15:56:48 +01:00
Bruno BELANYI 8d0f29bd33 hosts: nixos: porthos: services: set matrix secret 2023-04-01 15:56:48 +01:00
Bruno BELANYI d20e921e33 modules: secrets: fix 'matrix/secret' 2023-04-01 15:56:48 +01:00
Bruno BELANYI f306cc84bc hosts: nixos: porthos: services: enable woodpecker 2023-04-01 15:56:48 +01:00
Bruno BELANYI 7e06f75a5d modules: secrets: add woodpecker 2023-04-01 15:56:48 +01:00
Bruno BELANYI 020a32b9e8 modules: services: add woodpecker 2023-04-01 15:56:48 +01:00
Bruno BELANYI c857e4cd2e pkgs: add woodpecker-plugin-git 2023-04-01 15:56:48 +01:00
Bruno BELANYI ea57ad3eb8 pkgs: add woodpecker
This is just the same version as upstream, but following the `next`
version.
2023-04-01 15:56:48 +01:00
Bruno BELANYI 281d98b295 pkgs: add pnpm-lock-export 2023-04-01 13:05:47 +02:00
Bruno BELANYI 5d9524dbdf modules: services: blog: better blog redirection 2023-04-01 13:05:47 +02:00
Bruno BELANYI 9c36d65d80 home: ssh: use canonical gitea subdomain 2023-04-01 13:05:47 +02:00
Bruno BELANYI b3b115ee1d home: ssh: use canonical gitea subdomain 2023-04-01 13:05:47 +02:00
Bruno BELANYI 84bed03367 home: ssh: remove old 'work' host
I don't work there anymore.
2023-04-01 13:05:47 +02:00
Bruno BELANYI a22fe4e636 modules: services: nextcloud: bump to 26 2023-04-01 13:05:47 +02:00
Bruno BELANYI 04681f6ee4 flake: bump inputs 2023-04-01 13:05:47 +02:00
Bruno BELANYI f0a93f878b home: nix: add 'NIX_PATH' handling
All checks were successful
continuous-integration/drone/push Build is passing
Still waiting for the actual home-manager module option to be added [1].

In the meantime, just do it by hand.

[1]: https://github.com/nix-community/home-manager/pull/2677
2023-03-30 09:58:46 +00:00
Bruno BELANYI b909f43269 modules: services: nginx: sort settings
All checks were successful
continuous-integration/drone/push Build is passing
2023-03-28 15:31:05 +00:00
Bruno BELANYI cae174b0f7 modules: services: nginx: all recommended settings 2023-03-28 15:31:05 +00:00
Bruno BELANYI 838cdeb598 flake: bump inputs 2023-03-28 15:31:05 +00:00
Bruno BELANYI 642e58fc22 modules: hardware: bluetooth: use 'wireplumber'
All checks were successful
continuous-integration/drone/push Build is passing
2023-03-28 15:31:05 +00:00
Bruno BELANYI 4183f7b963 hosts: homes: cloudtop: enable GPG
All checks were successful
continuous-integration/drone/push Build is passing
2023-03-27 08:25:22 +00:00
Bruno BELANYI 76edeffdc7 home: pager: use XDG-compliant history location
All checks were successful
continuous-integration/drone/push Build is passing
2023-03-27 08:23:58 +00:00
Bruno BELANYI 83268e7db6 home: xdg: force more XDG compliance
Thanks a to a nifty tool [1] I learnt about some more easy fixes.

[1]: https://github.com/b3nj5m1n/xdg-ninja
2023-03-27 08:23:58 +00:00
Bruno BELANYI 677a5a11e6 pkgs: unified-hosts-lists: 3.11.16 -> 3.12.15
All checks were successful
continuous-integration/drone/push Build is passing
2023-03-24 20:46:48 +00:00
Bruno BELANYI ddc296138c home: move gpg-specific alias to 'gpg'
All checks were successful
continuous-integration/drone/push Build is passing
2023-03-24 11:18:08 +00:00
Bruno BELANYI ad0c99c6f0 modules: services: paperless: fix postgres order
All checks were successful
continuous-integration/drone/push Build is passing
2023-03-23 12:16:40 +00:00
Bruno BELANYI 1751704ab3 modules: system: podman: remove unused arguments
All checks were successful
continuous-integration/drone/push Build is passing
2023-03-22 10:46:10 +00:00
Bruno BELANYI e799318a36 modules: hardware: firmware: remove unused 'pkgs' 2023-03-22 10:45:13 +00:00
Bruno BELANYI 359456fbc1 home: terminal: alacritty: remove unused arguments 2023-03-22 10:45:13 +00:00
Bruno BELANYI 1ff03e35f8 flake: dev-shells: remove unused arguments 2023-03-22 10:45:13 +00:00
Bruno BELANYI 31601f58b4 flake: remove unused arguments 2023-03-22 10:45:13 +00:00
Bruno BELANYI d8c19d45ad flake: checks: remove unused arguments 2023-03-22 10:45:13 +00:00
Bruno BELANYI 606cd8cf84 hosts: homes: add work cloudtop
All checks were successful
continuous-integration/drone/push Build is passing
The unfortunate host naming can't be fixed at the moment...
2023-03-20 09:52:05 +00:00
Bruno BELANYI a046569743 flake: home-manager: use a more modular design
This means I can easily add new hosts now.
2023-03-20 09:52:05 +00:00
Bruno BELANYI 2fb3d0f9cf machines: rename to 'hosts/nixos'
This will be more consistent in the future if I want to introduce darwin
or home-manager configurations.
2023-03-20 09:52:05 +00:00
Bruno BELANYI eac628963a flake: dev-shell: use exposed pre-commit script 2023-03-20 09:52:05 +00:00
Bruno BELANYI 8657774d06 flake: checks: use 'pre-commit-hooks' module 2023-03-20 09:52:05 +00:00
Bruno BELANYI c82eb57070 flake: home-manager: convert to 'flake-parts' 2023-03-20 09:52:05 +00:00
Bruno BELANYI 59b1ab59dd flake: apps: convert to 'flake-parts' 2023-03-20 09:52:05 +00:00
Bruno BELANYI ec036255ad flake: packages: convert to 'flake-parts' 2023-03-20 09:52:05 +00:00
Bruno BELANYI 2b969f7726 flake: dev-shells: convert to 'flake-parts' 2023-03-20 09:52:05 +00:00
Bruno BELANYI e1e6c39bf1 flake: checks: convert to 'flake-parts' 2023-03-20 09:52:05 +00:00
Bruno BELANYI 730e4abf17 flake: nixos: convert to 'flake-parts' 2023-03-20 09:52:05 +00:00
Bruno BELANYI b2f3bc955c flake: lib: convert to 'flake-parts' 2023-03-20 09:52:05 +00:00
Bruno BELANYI a88c99b9d7 flake: overlays: convert to 'flake-parts' 2023-03-20 09:52:05 +00:00
Bruno BELANYI 922c6e75ca flake: use 'flake-parts' 2023-03-20 09:52:05 +00:00
Bruno BELANYI 92438d35f6 flake: add 'flake-parts' 2023-03-20 09:52:05 +00:00
Bruno BELANYI 84fc1601c5 home: vim: 'unimpaired' mappings for formatting
All checks were successful
continuous-integration/drone/push Build is passing
I'll migrate to calling the lua API directly if they stop expecting a
non-nil argument.
2023-03-20 09:52:05 +00:00
Bruno BELANYI 0241bfc781 home: vim: modify 'unimpaired' quickfix mappings 2023-03-20 09:52:05 +00:00
Bruno BELANYI a166a5b18b overlays: remove 'i3status-rust_0_22'
All checks were successful
continuous-integration/drone/push Build is passing
We don't need it now that we updated to the latest version.

This reverts commit 704df6b826.
2023-03-19 22:28:45 +00:00
Bruno BELANYI 2e9704ed1d home: wm: i3: simplify status command
The v0.30.0 of `i3status-rs` automatically resolves a configuration name
inside its configuration directory, making this much simpler.
2023-03-19 22:28:27 +00:00
Bruno BELANYI 7cec58e215 home: wm: i3bar: update to v0.30.X
This should be equivalent to the previous version's configuration, since
v0.30.0 introduced a lot of breaking changes.
2023-03-19 22:28:27 +00:00
Bruno BELANYI 176ff5d6e3 flake: bump inputs
Since the v0.30.0 version of `i3status-rust` was a breaking change, pin
the package to v0.22.0 for now.
2023-03-19 22:26:25 +00:00
Bruno BELANYI 887428fddd home: wm: i3: use explicit path to bar config
The v0.30.0 is about to change how it resolves the configuration path,
so make it explicit to ease the transition and simplify later.
2023-03-19 22:25:53 +00:00
Bruno BELANYI 704df6b826 overlays: add 'i3status-rust_0_22'
The latest version introduced breaking changes, let's do that correctly.
2023-03-19 22:21:53 +00:00
Bruno BELANYI c3c2a34606 overlays: add 'i3status-rust-main-program' 2023-03-19 21:34:15 +00:00
Bruno BELANYI 70e235dfcc modules: secrets: drone: modify gitea domain
Since I've changed the official subdomain for my forge, let's update it.
2023-03-16 21:40:06 +01:00
Bruno BELANYI 89256fa29b pkgs: use 'git.*' subdomain
Since I've changed the official subdomain for my forge, let's update it.
2023-03-16 21:40:06 +01:00
Bruno BELANYI e50b259a70 modules: services: gitea: change domain to 'git.*'
Because cool URLs don't change [1], setup a re-directed for it.

[1]: https://www.w3.org/Provider/Style/URI.html
2023-03-16 21:33:22 +01:00
Bruno BELANYI b3d90be8b1 modules: services: nginx: add 'redirect' option 2023-03-16 21:33:22 +01:00
Bruno BELANYI 05973b93ff home: tmux: add 'enabledPassthrough'
All checks were successful
continuous-integration/drone/push Build is passing
This is useful for cases where some programs expect to be able to use
the tmux passthrough escape sequences by using the tmux passthrough
sequence.

One such example is `osc52` script I packaged.

However I like the idea of tmux filtering all escape sequences by
default, so it's not enabled by default.
2023-03-16 16:42:55 +00:00
Bruno BELANYI 20341a3129 refactor: 'with lib.my' -> 'with lib' 2023-03-16 16:42:55 +00:00
Bruno BELANYI 464ed92b00 pkgs: diff-flake: re-order functions
All checks were successful
continuous-integration/drone/push Build is passing
This makes it more consistent across the entire file, and follows
alphabetical order (home -> host -> shell).
2023-03-16 11:49:26 +00:00
Bruno BELANYI 08740e846f pkgs: diff-flake: quote attribute names
Since we don't know if they contain `.` or other characters that might
need quoting.
2023-03-16 11:49:26 +00:00
Bruno BELANYI 66fc43f7ca pkgs: diff-flake: 0.3.1 -> 0.4.0
Add home-manager configurations.
2023-03-16 11:49:26 +00:00
Bruno BELANYI a5da0abbc2 pkgs: diff-flake: 0.3.0 -> 0.3.1
Add all dev shells when run without any arguments.
2023-03-16 11:49:26 +00:00
Bruno BELANYI b56674728f pkgs: diff-flake: 0.2.0 -> 0.3.0
Change how `devShells` is handled: always build for the current system
and instead query for the name of the shell that should be built.
2023-03-16 11:49:26 +00:00
Bruno BELANYI 5413bf7fbb flake: bump inputs
All checks were successful
continuous-integration/drone/push Build is passing
2023-03-15 18:20:23 +00:00
Bruno BELANYI 1db162f272 home: zsh: add ctrl-{left,right} mapping 2023-03-15 18:20:23 +00:00
Bruno BELANYI 4f0a619921 home: zsh: add ctrl-delete mapping 2023-03-15 18:20:23 +00:00
Bruno BELANYI 69fbc438c1 home: zsh: add {home,end} mapping 2023-03-15 18:20:23 +00:00
Bruno BELANYI c48f6261be home: zsh: add page{up,down} mapping 2023-03-15 18:20:23 +00:00
Bruno BELANYI af8f3c814b home: zsh: ensure application mode with zle 2023-03-15 18:20:23 +00:00
Bruno BELANYI 2431f8f207 home: zsh: refactor 'terminfo' handling
This is more readable.

Largely inspired by oh-my-zsh.
2023-03-15 18:20:23 +00:00
Bruno BELANYI bc5fa3f679 home: zsh: use terminfo for mappings 2023-03-15 17:40:05 +00:00
Bruno BELANYI ca047bfe97 home: zsh: use more readable option names
All checks were successful
continuous-integration/drone/push Build is passing
Since they ignore underscores, this is more readable.
2023-03-15 15:20:14 +00:00
Bruno BELANYI eb75fcfa3f home: zsh: enable slash squeezing 2023-03-15 15:20:14 +00:00
Bruno BELANYI e8c52175b6 home: git: add 'root' alias
All checks were successful
continuous-integration/drone/push Build is passing
2023-03-14 17:00:45 +00:00
Bruno BELANYI 623bb6c893 home: vim: git: attach to untracked buffers
All checks were successful
continuous-integration/drone/push Build is passing
Turns outs it looks way more discreet now. Whether that's due to an
update to the plug-in or my changing colorscheme, I don't know.
2023-03-13 15:49:07 +00:00
Bruno BELANYI 1e4d4650e2 home: zsh: disable shared history
All checks were successful
continuous-integration/drone/push Build is passing
I know I just activated it, but I can't get used to it...

I would like to have a mixture of it:
* Be able to search across *all* shell histories when using Ctrl-r.
* Only go up/down my session's shell history when using Ctrl-n/Ctrl-p.

Enabling shared history gets me the first one, but means I can't limit
my up/down history to just the one session.

Disabling shared history means that I can't search across all shell
histories, but keeps my up/down history tidier.

All-in-all I like the second one better.
2023-03-11 22:01:47 +00:00
Bruno BELANYI fafbb93ea9 modules: home: use named 'nixosModules'
All checks were successful
continuous-integration/drone/push Build is passing
2023-03-11 20:44:04 +00:00
Bruno BELANYI 2d2f729138 home: zsh: don't hard-code '$XDG_CONFIG_HOME'
All checks were successful
continuous-integration/drone/push Build is passing
2023-03-08 14:42:54 +00:00
Bruno BELANYI f1a7e9fd93 home: zsh: enable history sharing 2023-03-08 14:37:37 +00:00
Bruno BELANYI 7dd221cc93 home: zsh: expire duplicates first 2023-03-08 14:37:37 +00:00
Bruno BELANYI ff66361f65 home: zsh: use extended history
I have `inc_append_history_time` set, so I should use extended
history...
2023-03-08 14:37:37 +00:00
Bruno BELANYI 4786552e8c home: zsh: verify history expansion
This helps when I absentmindedly run a command which contains
exclamation points.
2023-03-08 14:37:37 +00:00
Bruno BELANYI 9f6a9d2ff7 flake: move ouputs logic to 'flake/' 2023-03-08 14:37:37 +00:00
Bruno BELANYI d14f96d584 flake: move 'nixosConfigurations' to 'flake/'
All checks were successful
continuous-integration/drone/push Build is passing
2023-03-07 12:34:46 +00:00
Bruno BELANYI 40fff4b13a flake: move 'packages' to 'flake/' 2023-03-07 12:34:46 +00:00
Bruno BELANYI 1ae2bca445 flake: move 'devShells' to 'flake/' 2023-03-07 12:34:46 +00:00
Bruno BELANYI fc02519c4f flake: move 'checks' to 'flake/' 2023-03-07 12:34:46 +00:00
Bruno BELANYI 90d1d81983 flake: move 'lib' to 'flake/' 2023-03-07 12:34:46 +00:00
Bruno BELANYI 819ce1a320 flake: move 'overlays' to 'flake/' 2023-03-07 12:34:46 +00:00
Bruno BELANYI b9083244ed flake: add 'aarch64-darwin' again
I don't get an error during `nix flake check` anymore.

This reverts commit 8a556585af.
2023-03-07 12:34:46 +00:00
Bruno BELANYI 04734c8bd2 pkgs: ff2mpv-go: fix 'vendorHash' 2023-03-07 12:34:46 +00:00
Bruno BELANYI 8b7198d7e7 direnv: always use 'nix-direnv' 2023-03-07 11:51:04 +00:00
Bruno BELANYI 453e5a925a direnv: remove nix evaluation hack 2023-03-07 11:50:34 +00:00
Bruno BELANYI 3ed5e40285 flake: expose 'lib' attribute
This exposes `lib.my` which contains my custom library functions, as
well as the entirety of the nixpkgs library.
2023-03-07 11:05:07 +00:00
Bruno BELANYI 068faea1e2 home: zsh: extra-mappings: use single quotes
All checks were successful
continuous-integration/drone/push Build is passing
2023-03-07 11:05:07 +00:00
Bruno BELANYI 41bd17e3ca home: vim: migrate to 'gruvbox-nvim'
I think this one will be more up-to-date with NeoVim evolutions, like
LSP semantic tokens.
2023-03-07 11:05:07 +00:00
Bruno BELANYI a29deaa9bc home: vim: use 'lsp-formatting.nvim'
A few things that are different:
* Async by default.
* Takes care of the order of formatters, if I ever need to do that.
* Allows for easily disabling formatting (unfortunately this is global
  state, not buffer-local).
* Gets rid of the formatting pause when doing `:wq`.
2023-03-07 11:05:07 +00:00
Bruno BELANYI 3122db6536 home: vim: disable mouse integration 2023-03-07 11:05:07 +00:00
Bruno BELANYI 2a7e6197f5 flake: system-specific 'homeConfigurations' 2023-03-07 11:05:07 +00:00
Bruno BELANYI 4a6677b024 modules: system: nix: add 'linkInputs' option
All checks were successful
continuous-integration/drone/push Build is passing
Once again, mirroring the work done in the NixOS module.
2023-02-25 01:43:07 +00:00
Bruno BELANYI ca1e2df1e9 home: nix: refactor module
This keeps it in line with the NixOS one.
2023-02-25 01:43:07 +00:00
Bruno BELANYI 58d03d5892 home: nix: add explanatory comment 2023-02-25 01:43:07 +00:00
Bruno BELANYI 8b9a01a0ef modules: system: nix: DRY inputs handling 2023-02-25 01:43:07 +00:00
Bruno BELANYI 3c6e8933a1 lib: attrs: add 'merge' 2023-02-25 01:43:07 +00:00
Bruno BELANYI ae23f05a33 flake: bump inputs 2023-02-25 01:43:07 +00:00
Bruno BELANYI 54a6be70c8 modules: system: nix: simplify 'NIX_PATH'
Since we now have an explicit 'pkgs' link, we can just add the folder
with all linked inputs directly instead of adding them all manually.
2023-02-25 01:43:07 +00:00
Bruno BELANYI a99954b12a modules: system: nix: add explicit 'pkgs' link 2023-02-25 01:43:07 +00:00
Bruno BELANYI 6eb87c21b7 modules: system: nix: use stable 'NIX_PATH'
All checks were successful
continuous-integration/drone/push Build is passing
Since the links are updated on system switch, NIX_PATH will
automatically point to the actual system version of the inputs at all
times
2023-02-23 21:03:22 +00:00
Bruno BELANYI c1214547da modules: system: nix: add '/etc/nix/inputs' links 2023-02-23 20:58:05 +00:00
Bruno BELANYI 607d11bbad home: zsh: disable tmux auto-launch by default
All checks were successful
continuous-integration/drone/push Build is passing
2023-02-22 16:12:30 +00:00
Bruno BELANYI 06989facc2 machines: porthos: home: enable tmux auto-launch
I'm about to flip the default to always disabled, so enable it
explicitly.
2023-02-22 16:12:07 +00:00
Bruno BELANYI 55b828cba9 machines: porthos: add home configuration 2023-02-22 16:12:07 +00:00
Bruno BELANYI 34c13b077f home: zsh: refactor tmux auto-launch configuration
Introduce an actual option for this behaviour.
2023-02-22 16:11:18 +00:00
Bruno BELANYI 0bbf522c03 home: tmux: change 'use lib.my' to 'use libs' 2023-02-22 16:00:26 +00:00
Bruno BELANYI 737747f8f5 flake: add 'homeConfigurations.ambroisie'
All checks were successful
continuous-integration/drone/push Build is passing
2023-02-21 17:53:09 +00:00
Bruno BELANYI ee6a735a2c home: add nix
This is basically the same thing as the NixOS module, except for
NIX_PATH handling [1].

[1]: https://github.com/nix-community/home-manager/pull/2677
2023-02-21 17:52:39 +00:00
Bruno BELANYI 3505b4d7f0 modules: services: sabnzbd: add fail2ban jail
All checks were successful
continuous-integration/drone/push Build is passing
2023-02-20 23:01:50 +01:00
Bruno BELANYI 86aa156fc0 home: tmux: fix 'hasGui' logic
All checks were successful
continuous-integration/drone/push Build is passing
Take advantage of this fix to make the code more extensible.
2023-02-20 11:19:20 +00:00
Bruno BELANYI 54f335d984 home: tmux: always use tmux-yank
This plugin does have some useful binds.

Since it still sends the OSC52 escape sequence when copying, I don't
have a problem with remote hosts.
2023-02-20 11:19:13 +00:00
Bruno BELANYI 9965c3846f pkgs: add osc52
All checks were successful
continuous-integration/drone/push Build is passing
2023-02-20 10:44:28 +00:00
Bruno BELANYI 2485a60d62 modules: services: calibre-web: add fail2ban jail
All checks were successful
continuous-integration/drone/push Build is passing
2023-02-20 09:04:50 +00:00
Bruno BELANYI b9f6c5d534 modules: services: gitea: add fail2ban jail 2023-02-20 09:04:50 +00:00
Bruno BELANYI d647830911 modules: services: order imports 2023-02-20 09:04:50 +00:00
Bruno BELANYI b2ce0530dc machines: porthos: services: enable fail2ban 2023-02-20 09:04:50 +00:00
Bruno BELANYI 13aa8abfaf modules: services: add fail2ban 2023-02-20 09:04:50 +00:00
Bruno BELANYI 4e59c0d551 home: firefox: tridactyl: fix DDG mapping
All checks were successful
continuous-integration/drone/push Build is passing
They broke, once again...
2023-02-19 14:16:13 +00:00
Bruno BELANYI 75396c4c4c home: firefox: tridactyl: use more private editor
All checks were successful
continuous-integration/drone/push Build is passing
2023-02-19 14:12:09 +00:00
Bruno BELANYI 5d42f55fc6 home: firefox: tridactyl: fix 'editorcmd'
All checks were successful
continuous-integration/drone/push Build is passing
Turns out `alacritty` is smarter than `termit` with its handling of
command execution (i.e: actually expects multiple arguments to exec(2)).

So account for the difference in the module.
2023-02-19 14:02:57 +00:00
Bruno BELANYI e667c042cb home: zsh: add colorful aliases
All checks were successful
continuous-integration/drone/push Build is passing
2023-02-19 12:25:40 +00:00
Bruno BELANYI 225e8f236e home: vim: ftdetect: add direnv
All checks were successful
continuous-integration/drone/push Build is passing
2023-02-17 15:53:55 +00:00
Bruno BELANYI 2ec9aae6b7 home: pager: remove colored man pages
All checks were successful
continuous-integration/drone/push Build is passing
It seems to have broken at some point, and I didn't notice.

Might as well remove it since I do not care for it.
2023-02-16 12:06:28 +00:00
Bruno BELANYI a61a602bd2 home: ssh: include local-only config file
Useful for configuration options that should remain secret.
2023-02-15 15:02:15 +00:00
Bruno BELANYI b4d050a5f8 machines: aramis: home: migrate to 'alacritty'
All checks were successful
continuous-integration/drone/push Build is passing
2023-02-12 17:35:14 +00:00
Bruno BELANYI e8a46ae248 home: firefox: tridactyl: use preferred terminal
Thankfully, alacritty and termite both use the same command line
arguments for this. If I ever want to use another one, I might have to
make the logic a bit more robust.
2023-02-12 17:33:45 +00:00
Bruno BELANYI 4f883b0198 home: terminal: remove DPI workaround
And instead change the font size to be *about* right.
2023-02-12 17:32:48 +00:00
Bruno BELANYI f89e10fdca home: terminal: add alacritty 2023-02-12 16:57:54 +00:00
Bruno BELANYI b6bbe5a01e home: firefox: tridactyl: move cursor in editor
This means that the cursor in vim will be in the same position as the
one in the input form.
2023-02-12 16:57:54 +00:00
Bruno BELANYI d25922ef15 home: packages: remove 'termite.terminfo' 2023-02-12 16:46:18 +00:00
Bruno BELANYI c1c3146311 home: zsh: always enable VTE integration 2023-02-12 16:43:55 +00:00
Bruno BELANYI 70f5e46860 home: tmux: fix OSC52 forwarding
All checks were successful
continuous-integration/drone/push Build is passing
I want neovim to be able to set my clipboard, and don't care for the
potential security issues of letting any program be able to do such a
thing.
2023-02-12 12:03:10 +00:00
Bruno BELANYI 2ffb8e6ee6 home: vim: add 'nvim-osc52'
All checks were successful
continuous-integration/drone/push Build is passing
I do get the message when copying into the clipboard while ssh-ing.

But trying to paste from my system clipboard shows that it did *not* get
copied. This seems to only happen inside tmux.

However tmux itself *does* copy to the clipboard correctly through OSC52.
2023-02-12 11:55:58 +00:00
Bruno BELANYI fe73a304aa flake: bump inputs 2023-02-12 12:40:03 +01:00
Bruno BELANYI e04fa74412 home: vim: lua: utils: add 'is_ssh'
All checks were successful
continuous-integration/drone/push Build is passing
2023-02-11 22:17:22 +00:00
Bruno BELANYI 5bce2fafde modules: system: nix: override '<nixpkgs>'
All checks were successful
continuous-integration/drone/push Build is passing
2023-02-11 11:04:10 +00:00
Bruno BELANYI 26bf4e3631 modules: system: nix: preprend to 'NIX_PATH'
Instead of appending to the default value.

This makes overriding some values that are defined as the default value easier.
2023-02-11 11:04:10 +00:00
Bruno BELANYI 8dcc59d481 flake: bump inputs
All checks were successful
continuous-integration/drone/push Build is passing
And migrate firefox extensions configuration to the profile-specific
format.
2023-02-08 22:02:40 +00:00
Bruno BELANYI 0a71548419 flake: bump inputs 2023-02-08 21:06:18 +00:00
Bruno BELANYI 2a26f65a51 flake: futils has renamed its branch to 'main' 2023-02-08 21:05:52 +00:00
Bruno BELANYI 699b6b8e33 home: zsh: include local-only config file
All checks were successful
continuous-integration/drone/push Build is passing
Useful for configuration options that should remain secret.
2023-02-08 14:44:23 +00:00
Bruno BELANYI 3a0fa3398d home: zsh: modify 'initExtra' inclusion style 2023-02-08 14:43:39 +00:00
Bruno BELANYI 938fb71f9c home: git: include local-only config file
Useful for configuration options that should remain secret.
2023-02-08 14:31:32 +00:00
Bruno BELANYI 5a07dda93b home: git: setup work identity
Now that I am at Google, gotta make sure I use the correct identity.
2023-02-08 14:24:05 +00:00
Bruno BELANYI 2b3fb4fa5a home: vim: use shorter tree-sitter alias 2023-02-08 14:03:23 +00:00
Bruno BELANYI 0e4a4df544 home: zsh: add usual aliases
I forgot to add them, since on NixOS they are defined at the system
level by default.
2023-02-08 10:36:10 +00:00
Bruno BELANYI 4971634115 home: vim: make it the default editor explicitly 2023-02-07 14:19:50 +00:00
Bruno BELANYI 6b4c01a242 modules: services: ssh-server: use 'settings' 2023-01-28 22:51:18 +01:00
Bruno BELANYI 0821334a0a flake: bump inputs 2023-01-28 22:51:18 +01:00
Bruno BELANYI b4d745c50e home: vim: add 'cmp_luasnip'
I had forgotten to add it even though I configured it as a source...
2023-01-20 19:16:20 +00:00
Bruno BELANYI 19e42cdc26 home: vim: reorder snippet plugins 2023-01-20 19:15:31 +00:00
Bruno BELANYI 5f3299e383 home: vim: luasnip: use lazy-loading 2023-01-20 19:10:14 +00:00
Bruno BELANYI c45b8c7618 machines: aramis: change timezone
I'm in London now :').
2023-01-17 01:11:53 +01:00
Bruno BELANYI dc429b5491 machines: aramis: home: remove 'teams' 2023-01-14 20:12:51 +01:00
Bruno BELANYI 280593b9c0 flake: bump inputs 2023-01-14 20:11:10 +01:00
Bruno BELANYI 92e63eae25 home: firefox: remove 'https-everywhere'
It's been made redundant.
2023-01-14 20:10:56 +01:00
Bruno BELANYI 0ff4d2de01 flake: bump inputs 2023-01-04 12:39:30 +01:00
Bruno BELANYI aeb3245327 modules: services: blog: GNU T.P. 2022-12-18 12:59:42 +01:00
Bruno BELANYI c961bdbfc4 modules: services: transmission: remove MemoryHigh
The service does not actively try to reduce its memory usage, so to make
sure we do reach `MemoryMax` let's remove the `MemoryHigh`
configuration.
2022-12-16 21:43:49 +01:00
Bruno BELANYI c6b3325269 profiles: printing: setup default paper size 2022-12-16 12:56:16 +01:00
Bruno BELANYI 0b7257cfb9 machines: aramis: use 'printing' profile 2022-12-16 12:56:16 +01:00
Bruno BELANYI 5f8ffe5af9 profiles: add printing 2022-12-16 12:56:16 +01:00
Bruno BELANYI 18f81a05eb home: mail: disable himalaya
I don't actually use it, should circle back to it in the future.
2022-12-16 12:56:16 +01:00
Bruno BELANYI 6913e0f896 flake: bump inputs
Some new options were needed for `himalaya`.
2022-12-16 12:55:01 +01:00
Bruno BELANYI 1e10c6630b modules: services: nginx: fix SSL renewal
See this issue [1].

[1]: https://github.com/go-acme/lego/issues/1772.
2022-11-29 17:19:24 +01:00
Bruno BELANYI b85a98c377 modules: services: nextcloud: disable broken SSE
I don't use server-side encryption anyway.
2022-11-28 10:18:50 +01:00
Bruno BELANYI 072511a091 flake: bump inputs
And reduce the closure size of 'pre-commit-hooks.nix' by making it
follow my 'nixpkgs' input.
2022-11-28 10:17:37 +01:00
Bruno BELANYI a73a05e0ac profiles: devices: enable gvfs 2022-11-23 11:23:54 +01:00
Bruno BELANYI 122eaf3a5c profiles: wm: enable 'udisks2' 2022-11-21 14:50:09 +01:00
Bruno BELANYI 1967c8ef79 modules: services: transmission: limit memory use 2022-11-20 13:15:58 +01:00
Bruno BELANYI 7ce0a4ad5c flake: bump inputs 2022-11-17 12:51:02 +01:00
Bruno BELANYI 16d4147321 home: vim: lspconfig: update deprecated call 2022-11-03 18:07:00 +01:00
Bruno BELANYI 236d48befb home: vim: lua: lsp: update for nvim 0.8
Two big changes:

* Making use of the lua API for creating autocmds.
* Using `client.supports_method`.
2022-11-03 18:07:00 +01:00
Bruno BELANYI f6a00ec838 modules: services: paperless: require postgres 2022-11-03 18:06:36 +01:00
Bruno BELANYI 05be340b7e modules: services: nextcloud: bump to 25 2022-11-03 16:59:19 +01:00
Bruno BELANYI 30ce88f42f flake: bump inputs
And migrate to the new RFC42 grafana options.
2022-11-03 16:58:47 +01:00
Bruno BELANYI 3c3e56002f home: vim: add 'nix' ftplugin 2022-10-26 14:14:01 +02:00
Bruno BELANYI e0b7103c8d home: wm: i3: add floating-related mappings 2022-10-04 11:40:44 +02:00
Bruno BELANYI d0394bd149 flake: bump inputs 2022-09-30 08:59:27 +02:00
Bruno BELANYI 4c0c6a75b2 modules: system: packages: configure aliases
Disallow them by default, but make it configurable.
2022-09-30 08:59:27 +02:00
Bruno BELANYI 5e021e6436 all: remove package aliases 2022-09-30 08:59:27 +02:00
Bruno BELANYI 84217afd07 pkgs: remove 'psst'
It has been included in nixpkgs.
2022-09-30 08:59:27 +02:00
Bruno BELANYI ad57052317 pkgs: unified-hosts-lists: 3.10.1 -> 3.11.16 2022-09-14 14:36:26 +02:00
Bruno BELANYI aed2e8c581 flake: bump inputs 2022-09-14 13:41:07 +02:00
Bruno BELANYI 4216c654e7 home: vim: migrate to 'nvim-surround'
It's potentially more customizable, and integrates with tree-sitter. It
also allows for buffer/filetype specific pairs.
2022-09-02 09:56:20 +02:00
Bruno BELANYI e1e5a7c900 flake: bump inputs 2022-09-02 09:49:35 +02:00
Bruno BELANYI c05fafefe8 modules: services: gitea: migrate to 'settings' 2022-08-31 17:19:58 +02:00
Bruno BELANYI 6748b5b5e6 home: mail: accounts: use 'outlook' flavor 2022-08-31 17:16:44 +02:00
Bruno BELANYI 235ab4794e flake: bump inputs 2022-08-31 17:16:44 +02:00
Bruno BELANYI 3efba75169 home: gdb: fix auto-load safe path 2022-08-10 15:23:21 +02:00
Bruno BELANYI 48495851ba modules: services: grocy: fix SSL configuration 2022-07-28 18:29:10 +02:00
Bruno BELANYI 58971246e7 machines: porthos: services: enable grocy 2022-07-28 18:29:10 +02:00
Bruno BELANYI 2ba9c63f2e modules: services: add grocy 2022-07-28 18:29:10 +02:00
Bruno BELANYI 914b064f72 modules: services: paperless: fix DB dependency 2022-07-28 17:54:02 +02:00
Bruno BELANYI cde010a5f2 flake: bump inputs 2022-07-12 13:48:25 +02:00
Bruno BELANYI 468fbdd69a home: xdg: do not set 'WGETRC'
I don't use it...
2022-07-11 14:11:43 +02:00
Bruno BELANYI 9f82981602 home: vim: add 'nvim-lspconfig'
For some reason I had not added it to my plug-in list, but it still
worked until I bumped my inputs.
2022-06-23 10:02:32 +02:00
Bruno BELANYI 3eb1dc086b lib: fix formatting 2022-06-22 16:06:58 +02:00
Bruno BELANYI 8a556585af flake: remove 'aarch64-darwin'
'pyopenssl' has been marked as broken on this sytem, so remove it from
my supported systems to avoid breaking 'nix flake check'.
2022-06-22 16:05:28 +02:00
Bruno BELANYI c3706ff537 flake: bump inputs 2022-06-22 16:04:01 +02:00
Bruno BELANYI 7ab49dbeab pkgs: remove 'shellcheck' as a 'buildPhase'
I already verify those scripts with my pre-commit hook. And that way
avoid spurious build failures in case a (transitive) dependency is
broken.
2022-06-22 16:04:01 +02:00
Bruno BELANYI 9c80bc07b9 pkgs: add drone-rsync
A very simple wrapper script that I will migrate to, since 'drone-scp'
does not work for me anymore.
2022-06-20 14:34:37 +02:00
Bruno BELANYI 7e4e41a07f home: vim: add 'tiger' file-type configuration 2022-06-20 14:33:44 +02:00
Bruno BELANYI a8093bd621 pkgs: drone-scp: 1.6.2 -> 1.6.3 2022-06-15 11:27:03 +02:00
Bruno BELANYI 530fb66e19 home: migrate 'cursor' module to new option
Make it part of 'home.wm' now, since that makes more sense.

Not sure about making it related to 'i3' being activated though, will
need to think about this in the future.
2022-06-15 11:27:03 +02:00
Bruno BELANYI 341450db5c home: vim: ftdetect: add tiger 2022-06-15 11:27:03 +02:00
Bruno BELANYI 37d272fcfb modules: services: lohr: add 'openssh'
The git binary is not wrapped to add it in PATH anymore.
2022-05-31 13:54:34 +02:00
Bruno BELANYI 9f2bbaeff9 machines: aramis: home: add 'element-desktop'
It's less buggy than the web version...
2022-05-31 13:50:27 +02:00
Bruno BELANYI eb0f923b46 flake: bump inputs 2022-05-31 13:48:18 +02:00
Bruno BELANYI 7689df40a4 pkgs: diff-flake: 0.1.0 -> 0.2.0
Use the new flake attributes conventions.
2022-05-31 13:42:57 +02:00
Bruno BELANYI e35a4a1bd3 flake: use new default app convention 2022-05-31 13:41:49 +02:00
Bruno BELANYI e2098358ae overlays: remove 'sabnzbd-fix-missing-packages'
The upstream nixpkgs version has been fixed.
2022-05-31 11:07:32 +02:00
Bruno BELANYI 7fe49890be overlays: remove 'transgui-fix-duplicate-status'
It has been patched in upstream nixpkgs.
2022-05-31 11:06:58 +02:00
Bruno BELANYI 052d5a3df7 modules: services: nextcloud: bump to 24 2022-05-23 15:49:22 +02:00
Bruno BELANYI 641254614c flake: bump inputs 2022-05-23 15:46:07 +02:00
Bruno BELANYI 6fbacb8e59 pkgs: unified-hosts-lists: 3.9.11 -> 3.10.1 2022-05-23 11:07:05 +02:00
Bruno BELANYI 489b79f078 home: vim: completion: activate 'ghost_text'
I'm still thinking whether I would want to use one of those signature
helper windows to go with this/replace this feature.

Could be especially useful in C++.
2022-05-19 14:53:09 +02:00
Bruno BELANYI 50bf8b036b pkgs: dragger: fix meta information 2022-05-15 19:07:49 +02:00
Bruno BELANYI 80c5748122 home: packages: remove 'rr'
No need for this, now that I have a dedicated option for the package.
2022-05-10 13:51:49 +02:00
Bruno BELANYI a625f5b741 home: wm: i3: simplify 'htop' rule
Turns out you can chain commands with `,` in a `for_window` statement.

Of course this is inconsistent with `bindsym` which uses `;`...
2022-05-03 10:01:42 +02:00
Bruno BELANYI 46affd5057 modules: hardware: bluetooth: remove wireplumber
This configuration file completely breaks my sound setup.

Will investigate more at a later time, in the mean time, since this is
basically the default options, I will just remove the configuration
file.

This reverts commit c987206bc5.
2022-05-02 11:18:23 +02:00
Bruno BELANYI ea5e1042b4 flake: bump inputs 2022-04-28 13:45:55 +02:00
Bruno BELANYI 9e9c7faf0d machines: aramis: hardware: use 'hardware' module 2022-04-27 14:03:18 +02:00
Bruno BELANYI 43cb3ae582 modules: hardware: add firmware 2022-04-27 14:03:18 +02:00
Bruno BELANYI cb84b49438 modules: hardware: bluetooth: add wireplumber conf
Now that `media-session` is deprecated, I should at least replicate this
configuration for `wireplumber`.
2022-04-27 14:03:10 +02:00
Bruno BELANYI 93e50508c9 home: vim: lua: lsp: add signature help mapping 2022-04-27 14:02:17 +02:00
Bruno BELANYI 70fc01d5df home: firefox: tridactyl: fix comment toggle
Ignore javascript event, like the upstream binding.
2022-04-27 14:02:17 +02:00
Bruno BELANYI e514389a3d home: firefox: tridactyl: add 'Nitter' redirect 2022-04-27 14:02:17 +02:00
Bruno BELANYI 5c7c89519b profiles: gtk: remove typo 2022-04-27 14:02:17 +02:00
Bruno BELANYI e591344eb3 home: vim: git: map keys on start
Instead of mapping those keys when `gitsigns` attaches to a buffer...
2022-04-27 14:02:17 +02:00
Bruno BELANYI 481d5f6f53 home: vim: lualine: use 'FugitiveHead'
The built-in `branch` indicator does not handle git worktrees quite
correctly.

It shows the wrong branch when used in `git commit`.
2022-04-27 14:02:17 +02:00
Bruno BELANYI 0caa78af10 flake: bump inputs
And ensure that the renamed `paperless` services are configured
correctly.
2022-04-27 14:02:17 +02:00
Bruno BELANYI 223f09b655 flake: update from deprecated flake attributes 2022-04-18 14:11:46 +02:00
Bruno BELANYI ed8aae565e home: direnv: allow specifying default flake 2022-04-13 10:06:26 +02:00
Bruno BELANYI 9a57ba02b7 home: direnv: add 'nix' library file 2022-04-13 10:04:54 +02:00
Bruno BELANYI 90053e52e1 home: direnv: add 'python' library file 2022-04-13 09:20:52 +02:00
Bruno BELANYI 8ec992cbe3 home: direnv: add 'postgres' library file 2022-04-12 17:34:36 +02:00
Bruno BELANYI e3f021e832 flake: only use subset of systems
Turns out pre-commit pulls dotnet in its closure, which is not supported
on i686...
2022-04-12 10:45:04 +02:00
Bruno BELANYI b6ca6b28b9 overlays: remove vim-plugins-overrides 2022-04-12 10:45:04 +02:00
Bruno BELANYI f637401cd6 home: zsh: use packaged 'agkozak-zsh-prompt' 2022-04-11 18:33:15 +02:00
Bruno BELANYI 13a218f2db flake: bump inputs 2022-04-11 18:33:15 +02:00
Bruno BELANYI e2e11d08bd machines: aramis: networking: disable DHCP
Let NetworkManager take care of it, this avoids the "waiting for dhcpd"
message when shutting down my laptop.
2022-04-09 15:27:27 +02:00
Bruno BELANYI 676281d18b machines: porthos: services: set-up gitea mail 2022-04-08 21:34:44 +02:00
Bruno BELANYI a9e004f7c1 modules: secrets: gitea: add 'mail-password' 2022-04-08 21:34:44 +02:00
Bruno BELANYI 94143f9d33 modules: services: gitea: add 'mail' configuration 2022-04-08 21:34:44 +02:00
Bruno BELANYI d1f6a4933f flake: bump inputs 2022-04-04 16:20:55 +02:00
Bruno BELANYI 7334a84a77 home: wm: i3: bigger 'htop' window
It seems like one cannot use multiple commands in a `for_window`
directive. So use two different ones.
2022-03-29 15:49:08 +02:00
Bruno BELANYI 15602412c8 home: gdb: remove HOME pollution
Now that the version in nixpkgs contains the patch to look at
XDG_CONFIG_HOME, use only that one.
2022-03-25 15:49:05 +01:00
Bruno BELANYI 581aa1b4e3 machines: aramis: hardware: fix trackpoint device
My trackpoint, and its buttons, had stopped working a while ago. Before
that, I regularly had problems where the cursor jumped around randomly,
or the buttons stopped working.

This seems to have fixed it.
2022-03-14 14:33:12 +01:00
Bruno BELANYI bab317e2f4 home: vim: null-ls: prefer 'pflake8' if available 2022-03-11 14:30:27 +01:00
Bruno BELANYI 1801d008d9 overlays: add vim-plugins-overrides 2022-03-11 14:28:09 +01:00
Bruno BELANYI b71be091a2 home: git: use 'zdiff3' merge conflict markers
See GitHub's presentation about this feature [1].

[1]: https://github.blog/2022-01-24-highlights-from-git-2-35/
2022-03-11 14:11:32 +01:00
Bruno BELANYI 20e0a96e65 home: vim: telescope: add 'which-key' mapping
This opens a little preview window with different mappings for
telescope.
2022-03-11 14:11:07 +01:00
Bruno BELANYI fda1b235bc home: vim: telescope: disable scrolling up 2022-03-11 14:03:18 +01:00
Bruno BELANYI 7060891b2d home: vim: set 'termguicolors'
For once, I like the look *with* 24-bit colors better on this current
color-scheme.
2022-03-11 14:02:01 +01:00
Bruno BELANYI 6417b5f4ba home: vim: sort plugin list 2022-03-11 10:08:25 +01:00
Bruno BELANYI d103cbbb0e home: wm: i3bar: show microphone status 2022-03-09 12:09:43 +01:00
Bruno BELANYI 8d4a1e61b4 home: vim: telescope: add LSP handler 2022-03-08 20:57:28 +01:00
Bruno BELANYI 4c5c9deaae home: vim: move 'on_attach' to 'ambroisie.lsp' 2022-03-08 20:20:22 +01:00
Bruno BELANYI fc35502141 home: vim: lspconfig: use actual 'lspconfig' name 2022-03-08 20:18:02 +01:00
Bruno BELANYI 0db2c0a13c modules: services: matrix: use 'settings'
The unstructured attributes are hard-deprecated.
2022-03-08 11:56:32 +01:00
Bruno BELANYI ba6c8bff2e flake: bump inputs 2022-03-08 10:41:35 +01:00
Bruno BELANYI 32890d6cf2 home: vim: completion: do not use tab to select
I would rather have my actual preferred mappings, <C-n> and <C-p>, for
that.
2022-03-08 10:41:35 +01:00
Bruno BELANYI 3673ec604a home: vim: lualine: remove 'fzf' integration
I do not use 'fzf' anymore.
2022-03-08 10:41:35 +01:00
Bruno BELANYI 1f8882b415 home: vim: configure 'luasnip' 2022-03-08 10:41:35 +01:00
Bruno BELANYI a923c2c30e home: vim: add 'friendly-snippets' 2022-03-08 10:41:35 +01:00
Bruno BELANYI 37552d6508 home: vim: completion: remove up/down mappings
I do not use arrow keys, why bother with them.
2022-03-08 10:41:35 +01:00
Bruno BELANYI 85a7e200ad home: vim: add 'nvim-ts-context-commentstring' 2022-03-08 10:41:35 +01:00
Bruno BELANYI fa8961c9d9 home: vim: comparison: stronger priority hint 2022-03-08 10:41:35 +01:00
Bruno BELANYI 01f2dfd028 home: vim: completion: configure snippets 2022-03-08 10:41:35 +01:00
Bruno BELANYI 551ef640fc home: vim: sort plugin list 2022-03-08 10:41:35 +01:00
Bruno BELANYI fb3b773249 home: vim: add 'luasnip' 2022-03-08 10:41:35 +01:00
Bruno BELANYI 975f8687fc home: vim: completion: add mapping to scroll docs 2022-03-08 10:41:35 +01:00
Bruno BELANYI 506c52fb83 home: vim: completion: add 'cmp-under-comparator' 2022-03-08 10:41:35 +01:00
Bruno BELANYI 0f140bbc9d home: vim: completion: explicit mappings
This is basically a copy-paste of the default mappings, with some small
amount of customization.
2022-03-08 10:41:35 +01:00
Bruno BELANYI d35c675ace home: vim: configure 'dressing-nvim' 2022-03-08 10:41:35 +01:00
Bruno BELANYI 0b2911e49e home: vim: add 'dressing-nvim' 2022-03-08 10:41:35 +01:00
Bruno BELANYI 9364fe546d home: vim: telescope: set-up 'fzf' matching 2022-03-08 10:41:35 +01:00
Bruno BELANYI 8b4da72c84 home: vim: add 'telescope' grep mappings 2022-03-08 10:41:35 +01:00
Bruno BELANYI 7fec5f870a home: vim: replace 'fzf' with 'telescope'
I like the fact that it uses built-in buffers to preview files.

It also has more inertia behind it, tighter integrations in the
ecosystem.
2022-03-08 10:41:35 +01:00
Bruno BELANYI 5e3bd82f8b home: packages: add 'fd' 2022-03-08 10:41:35 +01:00
Bruno BELANYI 62e29fc622 home: packages: add 'ripgrep' 2022-03-08 10:41:35 +01:00
Bruno BELANYI b8bd1ef2b4 home: vim: completion: limit 'buffer' suggestions
Otherwise it gets overwhelming, and most are useless.
2022-03-08 10:41:35 +01:00
Bruno BELANYI 5b8e410596 home: vim: completion: use better order 2022-03-08 10:41:35 +01:00
Bruno BELANYI aac464c9a2 home: vim: completion: use native menu 2022-03-08 10:41:35 +01:00
Bruno BELANYI 8bcd40633a home: vim: configure 'nvim-cmp' for LSP 2022-03-08 10:41:35 +01:00
Bruno BELANYI bceb531518 home: vim: add 'cmp-nvim-lsp' 2022-03-08 10:41:35 +01:00
Bruno BELANYI 15b3766aef home: vim: configure 'nvim-cmp' 2022-03-08 10:41:35 +01:00
Bruno BELANYI 02225dcb93 home: vim: add 'nvim-cmp' 2022-03-04 17:40:30 +01:00
Bruno BELANYI d006ba4611 home: vim: git: more visual mappings
I cannot use the functions directly, as I would need to calculate the
current selections begin and end points and use them as arguments.

To be investigated.
2022-03-04 17:40:30 +01:00
Bruno BELANYI 714eb8ca2d home: vim: git: 'gitsigns' mappings are per buffer 2022-03-04 17:40:30 +01:00
Bruno BELANYI 10635e0888 home: vim: git: use more appropriate mapping names 2022-03-04 17:40:30 +01:00
Bruno BELANYI f374a4f78c home: vim: lsp: add diagnostic mappings 2022-03-04 17:40:30 +01:00
Bruno BELANYI ac0df2552a home: vim: lsp: add workspace mappings 2022-03-04 17:40:30 +01:00
Bruno BELANYI eaeb9db76f home: vim: add 'dump' utility function 2022-03-04 17:40:30 +01:00
Bruno BELANYI 2ad4ba563d home: vim: remove 'fastfold'
I don't think I need it anymore, neovim improves the native performance
well enough.
2022-03-04 17:40:30 +01:00
Bruno BELANYI f10d3f7310 home: vim: add mappings for LSP functionality 2022-03-04 17:40:30 +01:00
Bruno BELANYI bde9bef1c9 home: vim: don't use 'nixpkgs-fmt' with 'rnix' 2022-03-04 17:40:30 +01:00
Bruno BELANYI 8b4a5e174f home: vim: add 'rnix' LSP configuration 2022-03-04 17:40:30 +01:00
Bruno BELANYI 997b98f49b home: vim: add 'clang-tools' to vim package
It includes both `clangd` and `clang-format`, even though I'm mostly
looking for the later.
2022-03-04 17:40:30 +01:00
Bruno BELANYI 03564813af home: vim: add linters & formatters to vim package
I use them so often, I basically always want them available.
2022-03-04 17:40:30 +01:00
Bruno BELANYI 7546417782 home: vim: add 'shellcheck' code actions 2022-03-04 17:40:30 +01:00
Bruno BELANYI c28710773b home: vim: rename 'git'-related settings file
Now that it contains more settings than just 'gitsigns'.
2022-03-04 17:40:30 +01:00
Bruno BELANYI b6435f0d57 home: vim: centralise 'git'-related mappings 2022-03-04 17:40:30 +01:00
Bruno BELANYI 03e412b2f0 home: vim: configure 'gitsigns'
And remove some unused mappings, or adapt them to 'gitsigns'.
2022-03-04 17:40:30 +01:00
Bruno BELANYI 267b82393f home: vim: add 'gitsigns-nvim' 2022-03-04 17:40:30 +01:00
Bruno BELANYI 8a6a18732a home: bat: use 'gruvbox-dark' theme
To match my `vim` configuration.
2022-03-04 17:40:30 +01:00
Bruno BELANYI 2eb1f5cc44 home: vim: prefer 'clangd' to 'clang-format'
Only use `clang-format` if `clangd` is not available, as its formatting
is otherwise built into the LSP server.
2022-03-04 17:40:30 +01:00
Bruno BELANYI 12d2436713 home: vim: use 'unimpaired' mappings for quickfix 2022-03-04 17:40:30 +01:00
Bruno BELANYI b6d1702726 home: zsh: add 'zsh-completions' when enabled
Notably useful for `git-revise`.
2022-03-04 17:40:30 +01:00
Bruno BELANYI 4356ae0f36 home: zsh: refactor 'mkIf' block 2022-03-04 17:40:30 +01:00
Bruno BELANYI e2be5f6139 home: zsh: use packaged 'fast-syntax-highlighting' 2022-03-04 17:40:30 +01:00
Bruno BELANYI bce9855da1 home: vim: show LSP progress in status line 2022-03-04 17:40:30 +01:00
Bruno BELANYI 2152f9dd1e home: vim: switch to 'lualine' 2022-03-04 17:40:30 +01:00
Bruno BELANYI 9c3daae2b8 home: vim: add function to list LSP client names 2022-03-04 17:40:30 +01:00
Bruno BELANYI ea9a0d835b home: vim: remove unused 'gruvbox' configuration 2022-03-04 17:40:30 +01:00
Bruno BELANYI d3c04107bf home: vim: move diagnostics config to 'on_attach' 2022-03-04 17:40:30 +01:00
Bruno BELANYI 336d86d2d8 home: vim: add 'clangd' LSP configuration 2022-03-04 17:40:30 +01:00
Bruno BELANYI ae94693540 home: vim: add 'rust-analyzer' LSP configuration 2022-03-04 17:40:30 +01:00
Bruno BELANYI 84188cb7fa home: vim: add basic LSP configuration
Trying it out with `pyright` for now.
2022-03-04 17:40:30 +01:00
Bruno BELANYI 53d84b884d home: vim: move LSP-related 'on_attach' to 'utils'
As it will be shared between `null-ls` and `lspconfig`, it makes sense
to put it there.
2022-03-04 14:54:14 +01:00
Bruno BELANYI 9dc910eae3 home: vim: add diagnostic navigation mappings 2022-03-04 14:51:44 +01:00
Bruno BELANYI 260f5cd66a home: vim: do not use 'ftplugin' for 'null-ls'
Unfortunately, this registers the sources many times...

I fear that I will have to settle for a centralised configuration for
LSP-related options.
2022-03-04 14:14:30 +01:00
Bruno BELANYI fb49a1df14 home: vim: only use 'null-ls' sources if available
This avoids the big red warning on each file that tries to use those
sources...
2022-03-03 18:15:28 +01:00
Bruno BELANYI 8155f6be4c home: vim: add 'ambroisie.utils' lua module 2022-03-03 18:15:28 +01:00
Bruno BELANYI 8b84ab8625 home: vim: add statement objects/moves
And document it.
2022-03-03 18:15:28 +01:00
Bruno BELANYI 56554f1a7a home: vim: document 'tree-sitter' moves 2022-03-03 18:15:28 +01:00
Bruno BELANYI 8ad5327c89 home: vim: add 'tree-sitter' moves 2022-03-03 18:15:28 +01:00
Bruno BELANYI 063686433f home: vim: document 'treesitter-textobjects' maps
By using 'which-key'.
2022-03-03 18:15:28 +01:00
Bruno BELANYI a5ec91088d home: vim: add 'treesitter-textobjects' 2022-03-03 18:15:28 +01:00
Bruno BELANYI e81aee50e3 home: vim: remove mapping to run 'make' 2022-03-03 18:15:28 +01:00
Bruno BELANYI 1408d7735a home: vim: document 'commentary' mappings
By using 'which-key'.
2022-03-03 18:15:28 +01:00
Bruno BELANYI 2713270378 home: vim: document 'unimpaired' mappings
By using 'which-key'.
2022-03-03 18:15:28 +01:00
Bruno BELANYI 4fec4d499d home: vim: use 'which-key' 2022-03-03 18:15:28 +01:00
Bruno BELANYI 9e7f7ed736 home: vim: add 'which-key-nvim' 2022-03-02 12:30:53 +01:00
Bruno BELANYI b76af022bd home: vim: move leader mappings to 'init.vim' 2022-03-02 12:30:53 +01:00
Bruno BELANYI 8b570694cd home: vim: remove unused mappings
The beancount mappings are absolutely unused.

The `Y` mapping is built in NeoVim nowadays.
2022-03-02 12:30:53 +01:00
Bruno BELANYI d15bc59b74 home: vim: remove unimpaired mappings
I do not use `azerty` anymore, no need for those.
2022-03-02 12:30:53 +01:00
Bruno BELANYI 875c3c8886 home: vim: remove 'lsp_lines'
I like the hovering behaviour better, it's less "in your face".

I might revisit the idea in the future, as a toggled mapping.
2022-03-02 12:30:53 +01:00
Bruno BELANYI 9caf296d52 home: vim: show diagnostics on hover
Ideally, I want the following features:
* diagnostic icons in the sign column always,
* virtual text on the current line only
* switch to hover window and/or lsp_lines display through a mapping
2022-03-02 12:30:53 +01:00
Bruno BELANYI fba2403bf3 home: vim: configure short 'CursorHold' timeout 2022-03-02 12:30:53 +01:00
Bruno BELANYI 5437b45a02 home: vim: configure diagnostics further
This is not only 'lsp_lines' configuration anymore, but the whole
display of diagnostics.
2022-03-02 12:30:53 +01:00
Bruno BELANYI bbc32d6030 home: vim: add 'nvim-treesitter'
IMHO, this is *very* colorful, I might not end up using the highlighting
after all.

Let's see if I get used to it after a little while.
2022-03-02 12:30:53 +01:00
Bruno BELANYI c3b0b9c607 home: vim: make python formatting faster 2022-03-02 12:30:53 +01:00
Bruno BELANYI 58de8106a1 home: vim: add 'lsp_lines'
I dislike the diagnostics *next* to affected lines.

This looks neater, though the best look would be a simple hover window
or status line message instead, like ALE used to do.

It might grow on me however.
2022-03-02 12:30:53 +01:00
Bruno BELANYI 54ad5d9282 home: vim: configure 'null-ls' for 'nix' 2022-03-02 12:30:53 +01:00
Bruno BELANYI 300ce25c8e home: vim: keep space after shell redirections 2022-03-02 12:30:53 +01:00
Bruno BELANYI 7d361023bc home: vim: show error codes from 'shellcheck' 2022-03-02 12:30:53 +01:00
Bruno BELANYI 3e60cb5be1 home: vim: configure 'null-ls' for 'python' 2022-03-02 12:30:53 +01:00
Bruno BELANYI 9a9e50f7a8 home: vim: configure 'null-ls' for 'cpp' 2022-03-02 12:30:53 +01:00
Bruno BELANYI a59884b59c home: vim: configure 'null-ls' for 'c' 2022-03-02 12:30:53 +01:00
Bruno BELANYI d52833f3a3 home: vim: add formatting on save with 'null-ls' 2022-03-02 12:30:53 +01:00
Bruno BELANYI ccbf73385e home: vim: configure 'null-ls' for 'haskell' 2022-03-02 12:30:53 +01:00
Bruno BELANYI 0b4d39c771 home: vim: configure 'null-ls' for 'zsh' 2022-03-02 12:30:53 +01:00
Bruno BELANYI ba3ab14ac3 home: vim: configure 'null-ls' for 'sh' 2022-03-02 12:30:53 +01:00
Bruno BELANYI e760f5aeaa home: vim: configure 'null-ls' for 'bash' 2022-03-02 12:30:53 +01:00
Bruno BELANYI e1a8c9e563 home: vim: add 'null-ls' 2022-03-02 12:30:53 +01:00
Bruno BELANYI 6f57a03940 home: vim: configure 'lightline-lsp'
This pretty much replace 'lightline-ale' for me now.

At least it will, once I have configured some LSP clients.
2022-03-02 12:30:53 +01:00
Bruno BELANYI ad7b9a574d home: vim: add 'lightline-lsp' 2022-03-02 12:30:53 +01:00
Bruno BELANYI 039c6390a3 home: vim: remove 'quickfixed' functionality
I never use it anymore...
2022-03-02 12:13:13 +01:00
Bruno BELANYI 5c3d3f5f1c home: vim: remove 'ALE' configuration
First step to modernising my configuration to use the native LSP client
instead.
2022-03-02 12:13:13 +01:00
Bruno BELANYI cc91b88b28 flake: bump inputs
And do not use 'pipewire-media-session' which is deprecated.
2022-03-02 12:13:13 +01:00
Bruno BELANYI ef36a100af home: vim: fix icon for read-only files 2022-02-23 21:06:12 +01:00
Bruno BELANYI 1b829076f8 flake: bump inputs 2022-02-21 18:53:56 +01:00
Bruno BELANYI a6a64047de home: wm: i3: only boost volume on 'Shift' mapping 2022-02-18 12:22:51 +01:00
Bruno BELANYI cc12148dac pkgs: change-audio: 0.2.0 -> 0.3.0
Only boost audio beyond 100% if specifically asked for.
2022-02-18 12:22:51 +01:00
Bruno BELANYI 8d4bbaf886 home: tmux: fix yanking configuration
Use `tmux-yank` when a GUI is enabled, otherwise use the internal tmux
buffer.

In both cases, stay in copy mode after yanking.
2022-02-08 17:25:44 +01:00
Bruno BELANYI 39431c2656 modules: system: nix: use structural 'settings'
Instead of a stringly-typed `extraOptions`.
2022-02-08 14:32:00 +01:00
Bruno BELANYI 7e8936fc55 home: firefox: tridactyl: fix HN comment folding 2022-02-07 17:00:18 +01:00
Bruno BELANYI 44efea17b5 home: firefox: tridactyl: fix DDG mapping
Taken straight from upstream's sample configuration.
2022-02-07 15:51:56 +01:00
Bruno BELANYI af25f555ac home: packages: add 'mosh' 2022-02-07 15:00:52 +01:00
Bruno BELANYI b4796947db flake: bump inputs 2022-02-07 14:49:06 +01:00
Bruno BELANYI dbc808ce50 home: wm: i3bar: show volume when muted 2022-02-03 11:40:24 +01:00
Bruno BELANYI ef875f881f home: ssh: add 'work' host 2022-01-25 15:53:01 +01:00
Bruno BELANYI b33cefde63 home: firefox: remove 'i-dont-care-about-cookies'
Should be superseded by Consent-O-Matic now.
2022-01-25 15:53:01 +01:00
Bruno BELANYI 7229eaca21 home: firefox: add 'consent-o-matic' 2022-01-25 15:53:01 +01:00
Bruno BELANYI 1987711fce flake: bump inputs
Also change a removed package alias' name.
2022-01-25 15:53:01 +01:00
Bruno BELANYI ba5782e748 modules: system: packages: remove some packages
They either belong in a nix shell or are taken care of by other
configurations.
2022-01-14 15:06:55 +01:00
Bruno BELANYI 8151b28527 modules: services: nginx: use 'acme.default.email'
The option `security.acme.email` has been deprecated.
2022-01-14 13:30:22 +01:00
Bruno BELANYI f86a04f888 pkgs: add psst 2022-01-14 13:27:17 +01:00
Bruno BELANYI ce25ed6445 home: firefox: trydactyl: ignore prime video 2022-01-14 13:24:09 +01:00
Bruno BELANYI 36728068bd machines: porthos: services: disable nzbhydra
Same deal as jackett: prowlarr has been working perfectly adequately for
a while now.
2022-01-14 13:24:09 +01:00
Bruno BELANYI 5b130951fb machines: porthos: services: disable jackett
Prowlarr has been humming along just fine, and works even better than
jackett.
2022-01-14 13:24:09 +01:00
Bruno BELANYI e6fe5e57c9 modules: system: add podman 2022-01-14 13:24:09 +01:00
Bruno BELANYI 1908897abc machines: aramis: home: enable discord 2022-01-09 22:19:28 +01:00
Bruno BELANYI 607872753d home: add discord 2022-01-09 22:19:07 +01:00
Bruno BELANYI f386149550 home: wm: change default screen-lock timeout
5 minutes is too short.
2022-01-07 08:55:58 +01:00
Bruno BELANYI 923227f371 flake: bump inputs 2022-01-07 08:55:58 +01:00
Bruno BELANYI 4003e98457 machines: aramis: home: add teams package
Unfortunately, it is the preferred communication method at $WORK.
2022-01-07 08:55:58 +01:00
Bruno BELANYI 5c7ef3232e modules: system: nix: add inputs to NIX_PATH 2022-01-07 08:55:58 +01:00
Bruno BELANYI 0435a50675 home: vim: cut back on fzf mappings
I only ever use the buffer and files regularly.
2021-12-22 23:34:46 +01:00
Bruno BELANYI 4d5d662913 modules: services: nextcloud: upgrade version 2021-12-07 19:11:32 +01:00
Bruno BELANYI 070a929f88 flake: bump inputs
And use renamed option for agenix identities.
2021-12-07 19:11:32 +01:00
Bruno BELANYI c492774baa home: git: do not change metadata color 2021-12-06 21:24:31 +01:00
Bruno BELANYI 07b60f8f52 flake: bump inputs
And make my configuration build after the removed option from
`programs.direnv` in home-manager.
2021-11-30 15:41:14 +01:00
Bruno BELANYI eb89d7feb3 home: restart services automatically (again)
I think my issue was *not* related to this, so I might as well keep
using it since it does seem useful in the long run.

This reverts commit a94f349dde.
2021-11-30 15:41:14 +01:00
Bruno BELANYI 281edd4eac home: git: switch to 'delta'
Now that my issue with it has been resolved [1], let's switch to the
more mature tool.

This also solves a small issue that I had with `diff-highlight` which is
that non-highlighted text should not be boldened.

[1]: https://github.com/dandavison/delta/issues/544
2021-11-29 17:50:07 +01:00
Bruno BELANYI 48a9f9b11e home: git: use diff-highlight in interactive diffs
Now even `git log -p` and `git add -p` can use the more readable diffs.
2021-11-29 13:13:48 +01:00
Bruno BELANYI d86ff6192c modules: system: nix: don't change daemon niceness
This option doesn't really work the way it should anyway [1].

This reverts commit cbf6ea9ac9.

[1]: https://github.com/NixOS/nixpkgs/pull/138741
2021-11-23 18:53:11 +01:00
Bruno BELANYI de54779775 flake: agenix has renamed its branch to 'main' 2021-11-23 17:08:46 +01:00
Bruno BELANYI d42eaeb362 home: wm: i3: show notification on toggling mute 2021-11-12 10:21:25 +01:00
Bruno BELANYI dab44c6052 pkgs: change-audio: 0.1.2 -> 0.2.0
Allow muting microphone and speakers, with refactor to make it DRY.
2021-11-12 10:17:42 +01:00
Bruno BELANYI ce0c634a05 pkgs: change-audio: 0.1.1 -> 0.1.2
Show if volume is currently muted.
2021-11-12 09:52:22 +01:00
Bruno BELANYI e295a60cf5 flake: enable shellcheck pre-commit hook 2021-11-12 09:42:39 +01:00
Bruno BELANYI d0e6e03c23 pkgs: change-audio: 0.1.0 -> 0.1.1
Fix issue with not showing notification at 0% volume.
2021-11-12 09:40:37 +01:00
Bruno BELANYI f020338056 home: tmux: remove tmux service
Turns out it is more trouble than it is worth trying to make this work:
with the secure socket problem etc...

The first start up is fast enough for me in the end.

This reverts commit cc21d84808.
2021-11-09 15:32:59 +01:00
Bruno BELANYI 4749e9b561 flake: bump inputs 2021-11-09 15:16:20 +01:00
Bruno BELANYI d490a7de78 modules: services: nginx-sso: always rewrite conf 2021-11-06 15:43:00 +01:00
Bruno BELANYI a36eae4e66 modules: services: paperless: backup 'dataDir' 2021-11-05 17:03:52 +01:00
Bruno BELANYI dd0c110f71 modules: services: calibre-web: use 'dataDir' 2021-11-05 17:03:52 +01:00
Bruno BELANYI e2638728e3 modules: services: pirate: sort 'ports' values 2021-11-05 17:03:52 +01:00
Bruno BELANYI 8759039187 machines: porthos: services: use 'lohr.sshKeyFile' 2021-11-05 16:59:11 +01:00
Bruno BELANYI 62e62c70e1 modules: services: lohr: declarative ssh key 2021-11-05 16:59:11 +01:00
Bruno BELANYI b5b8f83e71 modules: secrets: lohr: add 'ssh-key' 2021-11-05 15:31:59 +01:00
Bruno BELANYI cbae0ef1da profiles: wm: remove unused argument 2021-11-05 14:58:58 +01:00
Bruno BELANYI cf37d3172a profiles: gtk: remove unused argument 2021-11-05 14:58:58 +01:00
Bruno BELANYI 986aed79fb pkgs: dragger: remove unused argument 2021-11-05 14:58:58 +01:00
Bruno BELANYI 5fdc390411 modules: services: nginx: remove unused argument 2021-11-05 14:58:58 +01:00
Bruno BELANYI 67ea6d9f95 modules: services: drone: remove unused arguments 2021-11-05 14:58:58 +01:00
Bruno BELANYI eb9fffd7b4 machines: porthos: users: remove unused let block 2021-11-05 14:58:58 +01:00
Bruno BELANYI c11b3a2fa6 home: wm: dunst: replace deprecated 'geometry' 2021-11-04 16:35:06 +01:00
Bruno BELANYI 99e300bbc4 home: wm: i3: use packaged scripts
Instead of inlining them in the configuration, use an actual package for
those.
2021-11-04 16:35:06 +01:00
Bruno BELANYI f987e79d17 pkgs: add change-audio 2021-11-04 16:35:06 +01:00
Bruno BELANYI 10b8ee50c1 pkgs: add change-backlight 2021-11-04 16:35:06 +01:00
Bruno BELANYI d724c205ea home: wm: i3: avoid loading icon on notifications
Because my script are obviously not startup id aware, hovering on the
notification leads to having a loading cursor.
2021-11-03 17:57:33 +01:00
Bruno BELANYI 751af91c2c home: wm: i3: notify when changing audio volume 2021-11-03 17:50:28 +01:00
Bruno BELANYI 335454ee16 home: wm: i3: extract 'notify-send' variable
It is used in multiple scripts, might as well centralise it.
2021-11-03 17:49:47 +01:00
Bruno BELANYI 450ab4b07b modules: services: backup: remove deprecated name 2021-11-03 17:16:40 +01:00
Bruno BELANYI 28d8f0bf06 flake: bump inputs 2021-11-03 14:10:18 +01:00
Bruno BELANYI a5fe7a41e6 flake: remove gnupg from devShell 2021-11-03 14:10:18 +01:00
Bruno BELANYI 72310d4047 home: do not restart services automatically
Turns out it is *not* ideal when modifying my WM configuration in any
way... Having i3 restart due to changing a keybinding is not great.

This reverts commit 6bec62073b.
2021-11-03 14:10:18 +01:00
Bruno BELANYI 548484d918 home: wm: i3: use 'i3status-rust.package' value 2021-11-03 14:10:18 +01:00
Bruno BELANYI 1633d6b3bc flake: bump inputs 2021-11-03 14:10:18 +01:00
Bruno BELANYI 66c3b70997 home: wm: screen-lock: rename changed option 2021-10-22 13:15:22 +02:00
Bruno BELANYI 9b184f94ac modules: home: forward inputs to home-manager
This will be useful if and when I end up adding inputs with home-manager
modules defined.
2021-10-22 13:06:53 +02:00
Bruno BELANYI 36d6b2828e home: start services when switching
As I use home-manager with its NixOS module, I do not see the message
suggesting to start the services otherwise.
2021-10-21 16:42:15 +02:00
Bruno BELANYI 9e229a6bb8 project: readme: mention manual prowlarr step 2021-10-18 19:48:50 +02:00
Bruno BELANYI d0ad9982ce machines: porthos: services: enable prowlarr 2021-10-18 19:48:50 +02:00
Bruno BELANYI 7ca32d8b05 modules: services: indexers: add prowlarr 2021-10-18 19:48:50 +02:00
Bruno BELANYI 731793bb6e flake: bump inputs 2021-10-18 19:48:50 +02:00
Bruno BELANYI af5103803b modules: services: indexers: refactor
This is cleaner and more correct.
2021-10-18 19:48:50 +02:00
Bruno BELANYI f5e26526da modules: services: indexers: fix typo 2021-10-18 19:48:50 +02:00
Bruno BELANYI 353848ec73 pkgs: unified-hosts-lists: 3.8.5 -> 3.9.11 2021-10-18 19:28:46 +02:00
Bruno BELANYI 69d7fd5d7c modules: system: nix: change nix build niceness
19 is the lowest priority.
2021-10-18 18:49:03 +02:00
Bruno BELANYI d353e2557c home: wm: i3bar: add bluetooth blocks
I have decided that the potential security and privacy risk of exposing
my MAC addresses is fine by me.

My earphones and headphones do not seem to expose their battery level,
would need more investigation.
2021-10-18 15:51:15 +02:00
Bruno BELANYI ae06ccac4a home: git: rewrite gitlab URLs to use ssh 2021-10-18 14:45:23 +02:00
Bruno BELANYI a8cf45a9f7 home: git: rewrite github URLs to use ssh 2021-10-18 14:44:19 +02:00
Bruno BELANYI 6a18be1d0a home: git: rewrite personal gitea URLs to use ssh 2021-10-18 14:44:08 +02:00
Bruno BELANYI a9f751f0ed home: wm: i3bar: use dynamic width on music block 2021-10-16 18:07:07 +02:00
Bruno BELANYI cf7ba65c30 machines: aramis: networking: remove 'domain'
Now that services handle subdomains through my Nginx abstraction, we can
remove this.
2021-10-16 14:56:15 +02:00
Bruno BELANYI 0d87934ee0 home: wm: i3: add 'rofi-bluetooth' binding 2021-10-15 17:19:12 +02:00
Bruno BELANYI 645a602cc1 home: tmux: add binding for block selection 2021-10-15 17:13:02 +02:00
Bruno BELANYI 8b763099e3 home: wm: i3: don't add 'dragger' through profile 2021-10-15 17:12:24 +02:00
Bruno BELANYI 52fb5500be pkgs: add rofi-bluetooth 2021-10-15 17:09:03 +02:00
Bruno BELANYI 5059835e97 pkgs: sort packages alphabetically 2021-10-15 17:01:40 +02:00
Bruno BELANYI 7b7041e5b5 home: git: add git-related packages when enabled
Instead of adding them in the general packages section.
2021-10-13 15:36:28 +02:00
Bruno BELANYI 0bfc92b09c home: git: inline EPITA configuration include 2021-10-13 15:36:28 +02:00
Bruno BELANYI dd48089a82 modules: services: nginx: use 'mkMailAccount' 2021-10-13 15:36:28 +02:00
Bruno BELANYI f76803c9bb home: git: use 'mkMailAccount' 2021-10-13 15:36:28 +02:00
Bruno BELANYI 7b6af91642 home: mail: accounts: use 'mkMailAccount' 2021-10-12 17:55:37 +02:00
Bruno BELANYI 8bf601a6aa lib: strings: add 'mkMailAddress' 2021-10-12 17:53:23 +02:00
Bruno BELANYI 62adfd5055 lib: add strings 2021-10-12 17:53:10 +02:00
Bruno BELANYI 3e6c467816 home: git: add 'git' alias 2021-10-12 16:33:33 +02:00
Bruno BELANYI 2cd56e133f modules: services: wireguard: add 'milady' 2021-10-10 17:16:29 +02:00
Bruno BELANYI d43831cbf1 modules: secrets: wireguard: add 'milady' 2021-10-10 17:16:29 +02:00
Bruno BELANYI 0aa2f59530 pkgs: dragger: change platforms to linux
I haven't tested it on darwin, and it just so happens that some
dependency is broken on that system (breaking `nix flake check`)...

Will revisit this later in case I ever happen to use a darwin system.
2021-10-08 19:39:43 +02:00
Bruno BELANYI 09140b0170 profiles: wm: add 'dragger' when a WM is set up 2021-10-08 15:06:33 +02:00
Bruno BELANYI 152df1501a home: gammastep: fix typo 2021-10-08 15:03:45 +02:00
Bruno BELANYI 4f558a1ebd flake: use 'recurseIntoAttrs' in 'pkgs' overlay 2021-10-08 15:00:46 +02:00
Bruno BELANYI f8f7fb06a7 pkgs: add dragger 2021-10-08 14:59:03 +02:00
Bruno BELANYI cf47817b34 home: xdg: make gdb store history in XDG_DATA_HOME 2021-10-08 12:46:00 +02:00
Bruno BELANYI 02263141c4 home: firefox: add 'reddit-comment-collapser' 2021-10-06 09:48:20 +02:00
Bruno BELANYI f494c3cba7 home: firefox: re-organise module 2021-10-06 09:48:20 +02:00
Bruno BELANYI c746d7d3ba home: firefox: add 'refined-github' 2021-10-06 09:48:20 +02:00
Bruno BELANYI b66e46e241 overlays: add sabnzbd-fix-missing-dependencies
While waiting for my PR to fix this [1].

[1]: https://github.com/NixOS/nixpkgs/pull/140478
2021-10-04 15:01:39 +02:00
Bruno BELANYI b3aa737e28 flake: bump inputs 2021-10-04 14:45:41 +02:00
Bruno BELANYI ac76d8ae68 home: tmux: add tmux service
The service definition is pretty awful, but it deals with the secure
socket correctly...

This avoids having a small lapse when starting the very first shell of a
session, which must first launch the server.
2021-09-30 16:58:44 +02:00
Bruno BELANYI 3ec99d4c0e home: tmux: make history longer
We got tons of RAM!
2021-09-30 16:47:52 +02:00
Bruno BELANYI e4bd59b82b home: wm: i3: launch tmux when starting terminal
Similarly to the `zsh` snippet, launch tmux unless I explicitly do not
want it.

The reason I also add it in `i3` is to make the launch happen sooner,
and to avoid doing double work on some shell startup shenanigans if I
can.
2021-09-30 15:38:43 +02:00
Bruno BELANYI 3d0a73fffd home: zsh: launch tmux when starting a shell 2021-09-30 15:34:16 +02:00
Bruno BELANYI cdabd4fb5d home: vim: switch back to gruvbox theme
Onedark is too annoying to deal with, and I still like gruvbox's colors
best.
2021-09-29 18:50:33 +02:00
Bruno BELANYI 4be248ee22 flake: bump inputs 2021-09-29 17:37:15 +02:00
Bruno BELANYI 88ae4abca0 profiles: gtk: new best practices for dconf 2021-09-27 17:07:47 +02:00
Bruno BELANYI 55541abd17 modules: secrets: fix permission for grafana 2021-09-26 23:09:33 +02:00
Bruno BELANYI b9786398a7 modules: secrets: fix permission of 'matrix/mail' 2021-09-26 23:09:33 +02:00
Bruno BELANYI 5fd82472bf modules: secrets: add 'owner' logic 2021-09-26 23:09:33 +02:00
Bruno BELANYI 8968e30e62 modules: secrets: remove 'with lib;' 2021-09-26 23:09:33 +02:00
Bruno BELANYI 0b580b61e7 secrets: move into 'modules' 2021-09-26 23:09:33 +02:00
Bruno BELANYI c32be8ac02 project: bootstrap: retrieve agenix key 2021-09-26 23:09:33 +02:00
Bruno BELANYI 8eef7c260e ci: use 'nix flake check'
Now that I am using agenix, secrets stays encrypted at rest.
2021-09-26 23:09:33 +02:00
Bruno BELANYI 172e29db69 flake: remove 'git-crypt' 2021-09-26 23:09:33 +02:00
Bruno BELANYI 3d0d19d9a1 secrets: remove git-crypt 2021-09-26 23:09:33 +02:00
Bruno BELANYI e64fdcf38b secrets: remove git-crypt secrets 2021-09-26 23:09:33 +02:00
Bruno BELANYI 414c27ee63 modules: services: nginx: sso: use runtime secrets 2021-09-26 23:09:33 +02:00
Bruno BELANYI 7257f3156e machines: porthos: services: switch to agenix
The prep-work should be done now, time to hit the switch.
2021-09-26 23:09:32 +02:00
Bruno BELANYI c7766afe90 modules: services: nginx: allow sso secret files
This is in preparation of the migration to agenix, which does not allow
access to the secrets at build time.
2021-09-26 23:09:32 +02:00
Bruno BELANYI dc5a44ce82 home: put modules into folders 2021-09-26 23:09:32 +02:00
Bruno BELANYI 5b0e0bcbc2 home: terminal: put modules into folders 2021-09-26 23:09:32 +02:00
Bruno BELANYI b90629fdd9 home: x: put modules into folders 2021-09-26 23:09:32 +02:00
Bruno BELANYI acc23ab684 home: wm: put modules into folders 2021-09-26 23:09:32 +02:00
Bruno BELANYI 544aec0d91 home: mail: put modules into folders 2021-09-26 23:09:32 +02:00
Bruno BELANYI a12b629dc3 home: firefox: put modules into folders 2021-09-26 23:09:32 +02:00
Bruno BELANYI f61f11ba29 profiles: put modules into folders 2021-09-26 23:09:32 +02:00
Bruno BELANYI b46b918295 modules: services: drone: split into files
This is cleaner to read.
2021-09-26 23:09:32 +02:00
Bruno BELANYI ac90c5b11a modules: services: put modules into folders 2021-09-26 23:09:32 +02:00
Bruno BELANYI 836b54b8eb modules: hardware: put modules into folders 2021-09-26 23:09:32 +02:00
Bruno BELANYI 7bec7ae0f9 modules: system: put modules into folders 2021-09-26 23:09:32 +02:00
Bruno BELANYI d5b09c48ef modules: programs: put modules into folders 2021-09-26 23:09:32 +02:00
Bruno BELANYI c88fa91671 modules: home: put into folder 2021-09-26 23:09:32 +02:00
Bruno BELANYI f09ba6b5be machines: porthos: users: use clear-text ssh key 2021-09-26 23:09:32 +02:00
Bruno BELANYI 33d539ed4f modules: system: users: use agenix secrets 2021-09-26 23:09:32 +02:00
Bruno BELANYI 91abacd0f6 modules: services: wireguard: use agenix secrets 2021-09-26 23:09:32 +02:00
Bruno BELANYI 16d3cd9f81 modules: services: nginx: use 'credentialsFile'
In preparation for the migration to agenix.
2021-09-26 23:09:32 +02:00
Bruno BELANYI 7d37701811 modules: services: matrix: use 'mailConfigFile'
In preparation of the migration to agenix.
2021-09-26 23:09:32 +02:00
Bruno BELANYI 4643690b43 modules: services: paperless: use 'secretKeyFile'
In preparation for the migration to agenix.
2021-09-26 23:09:32 +02:00
Bruno BELANYI 5579baecfb modules: services: nextcloud: use 'credentialsfile'
In preparation for the migration to agenix.
2021-09-26 23:09:32 +02:00
Bruno BELANYI 9d8da4d2b2 modules: services: miniflux: use 'credentialsFiles'
In preparation for the migration to agenix.
2021-09-26 23:09:32 +02:00
Bruno BELANYI da63787874 modules: services: transmission: secrets w/ file
In preparation for the migration to using agenix.
2021-09-26 23:09:31 +02:00
Bruno BELANYI 98034a5410 secrets: register agenix secrets automatically 2021-09-26 23:09:31 +02:00
Bruno BELANYI 8664781da7 secrets: migrate to agenix
It is finally time to graduate to an actually secure, stateless
solution.
2021-09-26 23:09:31 +02:00
Bruno BELANYI abf526ae3c secrets: import 'agenix' module 2021-09-25 13:31:43 +02:00
Bruno BELANYI 7273f2102a flake: add 'agenix' 2021-09-25 13:30:51 +02:00
Bruno BELANYI 963c86c66f home: remove unused 'secrets' module 2021-09-25 13:27:01 +02:00
Bruno BELANYI f3519e845f home: ssh: add missing 'mkIf cfg.enable' 2021-09-24 01:21:57 +02:00
Bruno BELANYI 8ba1746be4 home: remove unused arguments 2021-09-24 01:21:57 +02:00
Bruno BELANYI 313b0c23a9 modules: remove unused arguments 2021-09-24 01:21:57 +02:00
Bruno BELANYI 176d95d890 machines: remove unused arguments 2021-09-24 01:21:57 +02:00
Bruno BELANYI b398481ba3 pkgs: remove unused arguments 2021-09-24 01:21:57 +02:00
Bruno BELANYI d813d85af8 lib: remove 'with self;' 2021-09-24 01:21:57 +02:00
Bruno BELANYI 9473cff408 lib: modules: refactor 'mapModules'
Introduce the recursive version of this function, then refactor to
reduce repetition.
2021-09-24 01:21:57 +02:00
Bruno BELANYI 2b0b6f2004 lib: modules: document 'mapModules' 2021-09-24 00:26:28 +02:00
Bruno BELANYI 8852699c9a modules: services: nginx: use 'recursiveMerge' 2021-09-23 22:11:25 +02:00
Bruno BELANYI 364ea0404a home: wm: i3: use 'recursiveMerge' 2021-09-23 22:11:25 +02:00
Bruno BELANYI 8ce123c527 lib: attrs: add 'recursiveMerge' 2021-09-23 22:11:25 +02:00
Bruno BELANYI c13e57f584 modules: system: users: use 'initialHashedPassword'
This is the better option to use in case I want to have a stateless
system.
2021-09-23 21:30:24 +02:00
Bruno BELANYI 2f9d3417d4 modules: system: users: use 'ambroisie' password
Do not rely on `my.user.name` which could be changed to a value not
available in the secrets.
2021-09-23 21:28:29 +02:00
Bruno BELANYI 27040532bd modules: programs: steam: respect XDG conventions
Steam wants to pollute HOME with `.steam*` files and folders, which are
useless and annoying.

We want to make sure the wrappers are preferred when installing, so use
`lib.hiPrio` to ensure they get chosen.
2021-09-15 19:23:24 +02:00
Bruno BELANYI 7aa2a0f8fa machines: aramis: programs: enable steam 2021-09-15 19:23:24 +02:00
Bruno BELANYI 24b540d948 modules: programs: add steam 2021-09-15 19:23:24 +02:00
Bruno BELANYI 91489d5b71 modules: add 'programs' directory 2021-09-15 16:48:10 +02:00
Bruno BELANYI 4ccf549e58 modules: system: remove 'media'
It was not the idiomatic way to do this.
2021-09-15 16:10:06 +02:00
Bruno BELANYI 8c0b70dcb5 pkgs: make use of scoping
This is the way to make sure `callPackage` picks up my custom packages
to be used in the set.
2021-09-15 15:33:18 +02:00
Bruno BELANYI 02992d819e home: gdb: add nix store to safe path
For now, the nix store path is hard-coded rather than substituted.

This is useful for pretty-printing C++ types compiled with a different
C++ library from my gdb.
2021-09-03 17:34:39 +02:00
Bruno BELANYI 9474a3b57b git: remove duplicate ignore directive 2021-09-01 14:52:38 +02:00
Bruno BELANYI 4521cba5f0 flake: use 'nativeBuildInputs' 2021-09-01 14:51:27 +02:00
Bruno BELANYI 0df212f877 pkgs: unified-hosts-lists: do not set 'phases' 2021-08-31 20:11:11 +02:00
Bruno BELANYI 1690efc107 pkgs: unbound-zones-adblock: do not set 'phases' 2021-08-31 20:11:00 +02:00
Bruno BELANYI 5fdf108c40 pkgs: matrix-notifier: do not set 'phases' 2021-08-31 20:10:41 +02:00
Bruno BELANYI 2d40fc3d00 pkgs: i3-get-window-criteria: do not set 'phases' 2021-08-31 20:08:22 +02:00
Bruno BELANYI 5accea2a33 pkgs: havm: use 'nativeBuildInputs'
This is the correct one to use for a compiler like 'ghc'.
2021-08-31 19:50:44 +02:00
Bruno BELANYI 1d41918d70 pkgs: diff-flake: do not set 'phases' 2021-08-31 19:03:33 +02:00
Bruno BELANYI 2709c3751f pkgs: comma: do not set 'phases' 2021-08-31 19:03:25 +02:00
Bruno BELANYI 920e31c72f pkgs: comma: give path to source directly 2021-08-31 19:03:24 +02:00
Bruno BELANYI cc54fe9087 pkgs: bw-pass: do not set 'phases' 2021-08-31 18:59:05 +02:00
Bruno BELANYI 2c81416774 pkgs: havm: use 'checkInputs' for test dependency 2021-08-31 18:44:17 +02:00
Bruno BELANYI 9a5bba7574 home: wm: i3bar: remove redundant '%' 2021-08-31 18:31:32 +02:00
Bruno BELANYI bf6af94bec modules: services: paperless: proxy websockets 2021-08-31 13:52:11 +02:00
Bruno BELANYI 14d56a1337 machines: porthos: services: enable paperless 2021-08-31 13:52:11 +02:00
Bruno BELANYI 23484989a6 modules: services: paperless: add admin password
This is a fallback in case SSO stops working...
2021-08-31 13:52:11 +02:00
Bruno BELANYI 197f371ca9 secrets: add paperless password
To be used as a fallback.
2021-08-31 13:52:11 +02:00
Bruno BELANYI da4595cd39 modules: services: add paperless 2021-08-31 13:52:11 +02:00
Bruno BELANYI 2ea68f705d secrets: add paperless 2021-08-31 13:52:11 +02:00
Bruno BELANYI 2d12211d3e flake: bump inputs 2021-08-31 13:52:10 +02:00
Bruno BELANYI 187c35c448 home: pager: remove lesspipe
I don't use it anymore.
2021-08-30 21:23:13 +02:00
Bruno BELANYI 8319f0ea5c modules: services: nginx: nginx-sso verbose logs
For some reason it still doesn't appear in the systemd log...
2021-08-30 17:38:25 +02:00
Bruno BELANYI fd898df590 modules: services: nginx: add SSO 2021-08-30 17:36:39 +02:00
Bruno BELANYI 52079bf1e7 modules: services: nginx: enable explicitly 2021-08-30 17:36:39 +02:00
Bruno BELANYI 878759cb77 secrets: add sso 2021-08-30 17:36:39 +02:00
Bruno BELANYI fd526b674b secrets: allow lists in types 2021-08-30 15:35:00 +02:00
Bruno BELANYI 77cf3430ae modules: services: use new nginx wrapper
And when not possible, document why.

Note for the future: there is some repetition in some modules to
configure the correct value of the subdomain, which I happen to know
will line up correctly thanks to the nginx wrapper. A good way to
refactor this in the future would involve avoiding this repetition,
allowing use to query the correct domain in some way...
2021-08-26 15:54:13 +02:00
Bruno BELANYI a8514dcdf1 modules: services: nginx: overhaul modularity
This should be all that's needed for almost all my services.
2021-08-26 15:54:13 +02:00
Bruno BELANYI 906202b222 lib: lists: add countValues 2021-08-26 15:54:13 +02:00
Bruno BELANYI 7d2c43d157 lib: lists: add 'mapFilter' 2021-08-26 15:54:13 +02:00
Bruno BELANYI 3736e3a415 home: zsh: clean-up blank in history 2021-08-25 12:51:38 +02:00
Bruno BELANYI e2546bd958 home: zsh: append to history
Otherwise the file is replaced rather than appended to.
2021-08-25 12:44:42 +02:00
Bruno BELANYI 3d7420210a home: zsh: do not share history accross shells
It's more annoying than helpful...
2021-08-25 12:22:36 +02:00
Bruno BELANYI fcc3089e77 home: gdb: fix configuration path
Turns out the latest version of `gdb` does not yet look for its
configuration in `XDG_CONFIG_HOME`...
2021-08-22 15:02:57 +02:00
Bruno BELANYI b20ef7f809 home: gdb: add rr 2021-08-21 01:13:14 +02:00
Bruno BELANYI 5edffcd21d home: gdb: fix auto-load safe path 2021-08-20 21:22:27 +02:00
Bruno BELANYI bc6761bdc9 home: add gdb 2021-08-20 20:03:51 +02:00
Bruno BELANYI 087794433e modules: services: nextcloud: exclude previews 2021-08-19 14:27:40 +02:00
Bruno BELANYI 98c2f16eb2 modules: services: backup: make it verbose 2021-08-19 14:27:40 +02:00
Bruno BELANYI 0fe9a57458 machines: porthos: services: enable navidrome 2021-08-19 12:23:06 +02:00
Bruno BELANYI c228916072 modules: services: add navidrome 2021-08-19 12:23:06 +02:00
Bruno BELANYI 414e181a8b flake: bump inputs 2021-08-19 11:49:41 +02:00
Bruno BELANYI 7d09677792 modules: services: backup: fix exclude files
I was using the wrong option... Somehow it didn't error out.
2021-08-09 20:08:43 +02:00
Bruno BELANYI cf2747a98f pkgs: add drone-scp 2021-08-08 18:03:19 +02:00
Bruno BELANYI d679262c6f pkgs: unified-hosts-lists: 3.6.4 -> 3.8.5 2021-08-07 12:29:41 +02:00
Bruno BELANYI e1fddb0b1f pkgs: bw-pass: report errors to stderr
Useful in case the script can't prompt using `rofi`.
2021-07-31 20:17:37 +02:00
Bruno BELANYI 6c3662dbb3 modules: services: tlp: add power scaling 2021-07-31 16:56:20 +02:00
Bruno BELANYI 19c5cd0e13 modules: services: nextcloud: upgrade version 2021-07-29 13:42:28 +02:00
Bruno BELANYI 522d1f49df flake: bump inputs
And update package names for grafana dashboards to avoid breaking the
config.
2021-07-29 13:42:28 +02:00
Bruno BELANYI 3459067cd4 modules: services: postgres: upgrade version 2021-07-29 13:03:10 +02:00
Bruno BELANYI 5d21cecee7 modules: services: postgres: add migration script
The process to upgrade is:

* Make sure the version number of the script is one major version over
  the service version.

* Activate the script, rebuild configuration.

* Run `upgrade-pg-cluster` as `root`. One can give arguments like
  `--link` or `--jobs 4` to speedup the process. See documentation for
  some details.

* Change package to new version once the upgrade is finished, rebuild
  configuration.

* Optionally, `ANALYZE` the new database.
2021-07-29 13:02:49 +02:00
Bruno BELANYI 99c33cd7ad modules: services: add postgresql
Enable the service itself in other modules when needed, but pin the
package in a single place.
2021-07-29 12:43:28 +02:00
Bruno BELANYI eba977b582 modules: services: monitoring: add scrape interval 2021-07-15 18:54:07 +02:00
Bruno BELANYI 2bfbda9942 flake: flatten and filter packages w/ flake-utils
Instead of my home-grown solution, use one that has been upstreamed.
2021-07-14 21:49:31 +02:00
Bruno BELANYI 2291d6b6fa machines: porthos: services: enable monitoring 2021-07-13 19:17:33 +02:00
Bruno BELANYI e342934718 secrets: add monitoring password 2021-07-13 19:17:33 +02:00
Bruno BELANYI 24028669f4 modules: services: add monitoring dashboard 2021-07-13 19:17:33 +02:00
Bruno BELANYI c910b643da modules: services: add monitoring
This includes a dashboard to monitor system ressources, using
Prometheus.
2021-07-13 19:17:33 +02:00
Bruno BELANYI 9fa16a9b33 flake: bump inputs 2021-07-13 19:08:54 +02:00
Bruno BELANYI 7469fe0063 home: git: use topological order in log
It is the one that makes most sense, rather than some kind of date
order...
2021-07-13 17:50:44 +02:00
Bruno BELANYI 5fcc96ab77 modules: services: matrix: SSL only for server
This is a requirement anyway for homeservers, and the `forceSSL` option
tried to create a redirect for non-SSL traffic, except the `listen`
option only provided SSL endpoints anyway, so this resulted in
additional rules in the nginx config looking like this:

```nginx
server {
        server_name matrix.belanyi.fr ;
        location /.well-known/acme-challenge {
                root /var/lib/acme/acme-challenge;
                auth_basic off;
        }
        location / {
                return 301 https://$host$request_uri;
        }
}
```
2021-07-13 17:43:31 +02:00
Bruno BELANYI cdbd37b506 pkgs: bw-pass: change password prompt 2021-07-04 11:52:07 +02:00
Bruno BELANYI 222d9f789d overlays: transgui: correctly use previous patches 2021-07-04 11:52:07 +02:00
Bruno BELANYI 1a492c6eb8 home: direnv: update to new option name
And enable the flakes option.

I don't actually use this on my own projects, but it could be useful for
other projects that I contribute to.
2021-06-30 20:08:07 +02:00
Bruno BELANYI 6ff1a53a35 home: mail: add himalaya
This mail client is very KISS. I like it.
2021-06-30 20:08:06 +02:00
Bruno BELANYI 8d5c9c58d8 flake: bump inputs 2021-06-30 20:07:55 +02:00
Bruno BELANYI 62488bc671 home: firefox: add sponsorblock 2021-06-27 19:51:04 +02:00
Bruno BELANYI fb2ec8cd6b home: secrets: use more specific type
I will amend it if I need more types, but for now this is fine.
2021-06-27 19:48:42 +02:00
Bruno BELANYI 7f8b661309 secrets: use more specific type
I will amend it if I need more types, but for now this is fine.
2021-06-27 19:48:26 +02:00
Bruno BELANYI 4b6f6423db modules: hardware: sound: refactor options
Do not enable ALSA when using pipewire. Ensure that both pulseaudio and
pipewire are not configured at the same time.
2021-06-27 01:59:07 +02:00
Bruno BELANYI a5d3f7f861 home: wm: i3: also toggle xss-lock 2021-06-26 18:38:11 +02:00
Bruno BELANYI 85ff634331 modules: move home configuration from flake 2021-06-25 20:46:36 +02:00
Bruno BELANYI 76cac9af51 modules: change username configuration option
It makes more sense to have a `my.user` option.
2021-06-25 20:45:36 +02:00
Bruno BELANYI 0ff730bf44 home: zsh: explicitly set history save size
Turns out the `history.save` limit is for what is *loaded into memory*,
not what is written to disk.
2021-06-23 23:14:05 +02:00
Bruno BELANYI 0970ab71eb home: zsh: explicitly opt out of extended history 2021-06-23 23:13:39 +02:00
Bruno BELANYI e8f664c949 home: wm: dunst: use rofi as 'dmenu' when enabled 2021-06-23 23:08:23 +02:00
Bruno BELANYI 43786904b4 home: wm: i3: enable rofi bindings when applicable 2021-06-23 23:06:15 +02:00
Bruno BELANYI 2b200fc98e home: wm: dunst: add line wrapping
Once again, trying to make them actually readable.
2021-06-22 19:48:03 +02:00
Bruno BELANYI 1d26e5146c home: wm: dunst: add max icon size
Otherwise I end up with icons that are way too big...
2021-06-22 19:39:35 +02:00
Bruno BELANYI 54d7c713a8 pkgs: matrix-notifier: 0.1.2 -> 0.2.0
`pandoc` is now a dependency.
2021-06-16 21:19:09 +02:00
Bruno BELANYI 5fa2b1fed9 pkgs: use 'lib' as first input
This is the idiomatic style in nixpkgs.
2021-06-16 20:13:25 +02:00
Bruno BELANYI 9bb09ee8f4 modules: services: indexers: limit Jackett memory 2021-06-15 21:25:56 +02:00
Bruno BELANYI b7301b54c0 pkgs: matrix-notifier: 0.1.0 -> 0.1.2 2021-06-15 18:42:13 +02:00
Bruno BELANYI 48859859eb home: wm: screen-lock: use actual assertion
Instead of hijacking the type verification, use an assertion.
2021-06-15 17:45:17 +02:00
Bruno BELANYI e4d3d8a949 modules: system: add boot
And enable mounting `/tmp` as tmpfs by default.
2021-06-14 16:41:28 +02:00
Bruno BELANYI dd1742b5b8 ci: migrate to 'exec' runner
Now that I have written a script to do the Matrix notification, I can do
that.
2021-06-13 18:38:09 +02:00
Bruno BELANYI 40380be139 pkgs: add matrix-notifier 2021-06-13 18:37:11 +02:00
Bruno BELANYI ecae28a72f home: secrets: clean-up 'default.nix' 2021-06-12 20:35:28 +02:00
Bruno BELANYI a4cce8a561 secrets: clean-up 'default.nix' 2021-06-12 20:35:06 +02:00
Bruno BELANYI aec2e08062 flake: filter 'packages' on system 2021-06-12 19:56:17 +02:00
Bruno BELANYI 5d3204715a pkgs: bw-pass: fix 'meta.platforms'
This makes use of 'keyutils' which only works on Linux.
2021-06-12 19:30:25 +02:00
Bruno BELANYI 902539ea6d modules: system: documentation: include POSIX man 2021-06-12 13:23:09 +02:00
Bruno BELANYI 23e5ddd7f3 modules: services: matrix: add mail configuration 2021-06-09 19:14:09 +02:00
Bruno BELANYI 4601a55253 secrets: matrix: add mail configuration 2021-06-09 19:14:09 +02:00
Bruno BELANYI 4c4c8ea4e5 modules: services: matrix: enable spaces 2021-06-09 18:33:54 +02:00
Bruno BELANYI ce8138eb07 modules: services: matrix: add SMS verification 2021-06-09 18:32:59 +02:00
Bruno BELANYI 5bb28a9396 home: firefox: tridactyl: add tabduplicate mapping 2021-06-07 17:56:46 +02:00
Bruno BELANYI c6ab0e1b00 machines: aramis: profiles: enable devices 2021-06-07 17:56:46 +02:00
Bruno BELANYI 851da6b72f profiles: add devices 2021-06-07 17:56:46 +02:00
Bruno BELANYI a5d63dcf65 modules: hardware: add mx-ergo
This adds the ability to scroll using the ball, which is way better.
2021-06-07 17:56:46 +02:00
Bruno BELANYI e7723d5275 home: wm: i3: remove 'udiskie' and 'flameshot'
It makes more sense to activate those at the `profile` level.
2021-06-03 17:34:16 +02:00
Bruno BELANYI 4ec380e128 profiles: wm: enable 'i3' helpers
`flameshot` and `udiskie` provide some functionnality that would usually
be found in an actual DE.

It makes more sense to activate them here instead of in the home
configuration, so I will remove it in the next commit.
2021-06-03 17:33:13 +02:00
Bruno BELANYI 0cf077012d home: wm: i3: move script generation out-of-line
This makes for a cleaner configuration file.
2021-06-03 17:18:33 +02:00
Bruno BELANYI a465955a28 git: ignore generated pre-commit configuration 2021-05-31 23:06:37 +02:00
Bruno BELANYI 4b9d686c97 nix: evaluate shell hooks
This activates the pre-commit-hook configuration.
2021-05-31 23:06:20 +02:00
Bruno BELANYI 1699382e4e flake: add pre-commit-hooks
Instead of havin the tool manage versions, use a pinned version.
2021-05-31 23:04:08 +02:00
Bruno BELANYI 21fa1ccdac flake: change format 2021-05-31 23:02:32 +02:00
Bruno BELANYI cd0fe40c94 machines: aramis: hardware: enable trackpoint 2021-05-31 20:30:36 +02:00
Bruno BELANYI 9d96899065 modules: home: use 'username' config value 2021-05-30 01:31:05 +02:00
Bruno BELANYI ba15ad9674 flake: use 'username' config value 2021-05-30 01:20:14 +02:00
Bruno BELANYI 3cc933de81 home: zsh: remove trailing whitespace 2021-05-30 00:46:09 +02:00
Bruno BELANYI 22a01eeadf modules: system: users: make it configurable
Notably, make use of my global 'username' option.
2021-05-30 00:46:09 +02:00
Bruno BELANYI 558f9b3919 modules: add option to specify username
Given that I use it in plenty of places, it makes sense to place it
there for reference in other modules.
2021-05-30 00:46:09 +02:00
Bruno BELANYI c23d89dcb2 modules: system: packages: make it configurable 2021-05-30 00:46:09 +02:00
Bruno BELANYI 7916a26a58 modules: system: nix: make it configurable 2021-05-30 00:46:09 +02:00
Bruno BELANYI 565d40fefb modules: system: language: make it configurable 2021-05-30 00:46:09 +02:00
Bruno BELANYI a3eaa6d97e modules: system: move 'packages' 2021-05-29 16:58:44 +02:00
Bruno BELANYI 130e04a152 modules: system: move 'nix' 2021-05-29 16:58:44 +02:00
Bruno BELANYI 43ef533ae1 modules: system: move 'documentation' 2021-05-29 16:58:44 +02:00
Bruno BELANYI 377c97ea9f modules: system: move 'language' 2021-05-29 16:58:44 +02:00
Bruno BELANYI 7f285ab9cf modules: system: move 'users' 2021-05-29 16:58:44 +02:00
Bruno BELANYI 50a5347802 modules: system: move 'media' 2021-05-29 16:56:15 +02:00
Bruno BELANYI 3ff50b1c22 modules: add 'system' directory 2021-05-29 16:56:15 +02:00
Bruno BELANYI 9b568beb9a modules: move 'services' into subfolder 2021-05-29 16:56:15 +02:00
Bruno BELANYI 274b909971 modules: hardware: move 'upower' 2021-05-29 16:56:15 +02:00
Bruno BELANYI dd19b9dd92 modules: hardware: move 'sound' 2021-05-29 16:56:15 +02:00
Bruno BELANYI 5f0c1f6a79 modules: hardware: move 'networking' 2021-05-29 16:56:15 +02:00
Bruno BELANYI abbe1bb203 modules: hardware: move 'ergodox' 2021-05-29 16:56:15 +02:00
Bruno BELANYI ec1bc63de7 modules: hardware: move 'bluetooth' 2021-05-29 16:56:15 +02:00
Bruno BELANYI 66cd746e53 modules: add 'hardware' directory 2021-05-29 16:56:15 +02:00
Bruno BELANYI 36344fe924 modules: ergodox: remove useless group clause
The `zsa` module already add the group itself.
2021-05-29 16:15:20 +02:00
Bruno BELANYI cdb8f0d0a7 flake: bump inputs 2021-05-29 12:23:01 +02:00
Bruno BELANYI 1f861e4d50 services: jellyfin: fix proxy configuration 2021-05-28 11:38:28 +02:00
Bruno BELANYI 90a89c56c8 home: comma: configure custom 'nixpkgs' flake
This makes use of my pinned `pkgs` flake from the registry by default.
2021-05-27 21:50:27 +02:00
Bruno BELANYI b95b357251 home: extract 'comma' into its own module 2021-05-27 21:49:24 +02:00
Bruno BELANYI 60309fad02 pkgs: comma: allow override which nixpkgs is used
This is useful for me to use my pinned `pkgs` instead.
2021-05-27 21:42:41 +02:00
Bruno BELANYI b8f1f85bc2 pkgs: add volantes-cursors 2021-05-27 19:57:31 +02:00
Bruno BELANYI 8bb4948eec home: x: cursor: switch to Vimix 2021-05-27 19:15:52 +02:00
Bruno BELANYI bcdb6dbe64 pkgs: add vimix-cursors 2021-05-27 19:15:52 +02:00
Bruno BELANYI a223ca6072 home: git: add 'pick' alias
I wanted to name it 'pickaxe' but for a curious reason, it does not seem
to be working when I use that alias...

I am trying to find a second alias name for `git log -p -S`, which only
shows commits that change the number of occurrences of its pickaxe in
the file. Whereas `-G` shows any commit involving the pickaxe in its
diff.
2021-05-25 23:13:35 +02:00
Bruno BELANYI d5307ff551 machines: aramis: sound: switch to pipewire
The support for mSBC means I should get better audio on my QC35.
2021-05-25 23:13:35 +02:00
Bruno BELANYI a648fc6d0f home: wm: i3: use pamixer for audio control
This can be used with either pipewire and pulseaudio without having to
install all of pulseaudio.
2021-05-25 23:13:35 +02:00
Bruno BELANYI da6c160baf modules: bluetooth: add pipewire codecs 2021-05-25 23:13:35 +02:00
Bruno BELANYI 10434bdbfc modules: sound: add pipewire configuration 2021-05-25 18:19:52 +02:00
Bruno BELANYI 941913e213 machines: aramis: sound: use common module 2021-05-25 18:19:52 +02:00
Bruno BELANYI 20513ab3a2 modules: add sound
I will probably want to share this configuration between multiple
machines in the future.
2021-05-25 18:19:52 +02:00
Bruno BELANYI d986f2f906 services: podgrab: remove mention of merged PR 2021-05-23 00:32:59 +02:00
Bruno BELANYI ec36d1c1b7 project: readme: mention manual flood config 2021-05-23 00:14:26 +02:00
Bruno BELANYI d18fc252a4 machines: porthos: services: enable flood 2021-05-22 23:59:27 +02:00
Bruno BELANYI beb35737d9 services: add flood 2021-05-22 23:59:27 +02:00
Bruno BELANYI d43a224da0 home: wm: i3bar: invert baclight icon
Because I am using an emoji font, it looks better that way.
2021-05-22 23:59:27 +02:00
Bruno BELANYI b3653a63bd home: mail: add msmtp 2021-05-22 23:49:57 +02:00
Bruno BELANYI 0452d696ae home: add mail and accounts configuration 2021-05-22 23:49:57 +02:00
Bruno BELANYI 7a91bf3906 home: terminal: use 'cfg.terminal' for TERMINAL 2021-05-22 23:49:57 +02:00
Bruno BELANYI 153f919485 pkgs: add bw-pass
Until `rbw` gets support for Yubikey 2FA, I still need a decent way to
query for my passwords on the command line...

This wrapper program should be good enough for basic usage with programs
that need a password command.
2021-05-22 23:49:57 +02:00
Bruno BELANYI 1647ab4ac7 modules: nix: expose pinned nixpkgs as 'pkgs'
That way if I do want to use that latest version, I can still use
`nixpkgs#<whatever>`.
2021-05-22 23:49:57 +02:00
Bruno BELANYI bab605871d home: firefox: tridactyl: fix Reddit URL rewriter 2021-05-22 23:49:57 +02:00
Bruno BELANYI cfa59614f1 home: firefox: add ff2mpv
This allows watching videos using mpv via a simple button.
2021-05-22 23:49:57 +02:00
Bruno BELANYI 93f173d0ca machines: aramis: home: enable mpv 2021-05-22 23:49:57 +02:00
Bruno BELANYI 82099b19f3 home: add mpv 2021-05-22 23:49:57 +02:00
Bruno BELANYI 4d0ab2e5a6 pkgs: add ff2mpv-go 2021-05-22 23:49:57 +02:00
Bruno BELANYI 2c8770ad70 services: podgrab: switch to upstream service 2021-05-22 23:49:57 +02:00
Bruno BELANYI 8e278e0f99 pkgs: remove podgrab
Now that it has been merged upstream, no reason to keep it.
2021-05-22 23:49:02 +02:00
Bruno BELANYI 4fcad6026a modules: nix: pin flake registry to common inputs 2021-05-22 23:47:27 +02:00
Bruno BELANYI 6b50f906fa flake: inject 'inputs' into NixOS configuration 2021-05-22 23:47:27 +02:00
Bruno BELANYI 7f0c595ae8 home: wm: rofi: configure terminal 2021-05-22 23:47:27 +02:00
Bruno BELANYI bbddf086ec profiles: laptop: enable TLP 2021-05-22 23:47:27 +02:00
Bruno BELANYI 9a9d0ba266 services: add TLP 2021-05-22 23:47:27 +02:00
Bruno BELANYI faad0c0624 pkgs: add myself as maintainer to all packages 2021-05-22 23:47:27 +02:00
Bruno BELANYI 0dc9495fda home: add nix-index 2021-05-22 23:47:27 +02:00
Bruno BELANYI 05f291f72a services: adblock: use new 'settings' option
This shows that I have not upgraded the server in a while...
2021-05-22 23:47:27 +02:00
Bruno BELANYI f376059027 flake: bump inputs 2021-05-20 17:55:45 +02:00
Bruno BELANYI 9e5d616d16 home: firefox: tridactyl: fix parent URL on Reddit 2021-05-16 00:03:59 +02:00
Bruno BELANYI 1d97eb22bf home: packages: add 'comma' to common package set 2021-05-16 00:03:59 +02:00
Bruno BELANYI 7087ce32a6 pkgs: add comma 2021-05-16 00:03:59 +02:00
Bruno BELANYI 797387f571 machines: aramis: services: remove gnupg-agent
The one configured by home-manager is more appropriate.
2021-05-16 00:03:59 +02:00
Bruno BELANYI ec73ed2f10 home: x: add 'xsel' package
I like it better than 'xclip'.
2021-05-16 00:03:59 +02:00
Bruno BELANYI 684dac5904 home: zsh: make history ten times bigger 2021-05-16 00:03:59 +02:00
Bruno BELANYI 467cfaa066 profiles: laptop: enable power-alert 2021-05-16 00:03:59 +02:00
Bruno BELANYI 2ba551f1b0 home: add power-alert 2021-05-16 00:03:59 +02:00
Bruno BELANYI 2128286779 profiles: laptop: enable upower 2021-05-16 00:03:59 +02:00
Bruno BELANYI 853bb7a0ce modules: add upower 2021-05-16 00:03:59 +02:00
Bruno BELANYI abdba0a223 home: pager: fix colorized man pages
Turns out that sessionVariables are not being set at the proper time for
use with `tput`.

This commit also cleans up a bit how the config was being set.
2021-05-16 00:03:59 +02:00
Bruno BELANYI d87f37c572 home: wm: i3bar: add 'backlight' block 2021-05-16 00:03:59 +02:00
Bruno BELANYI 226b8f7b6a home: wm: i3bar: remove gammastep block
It doesn't seem to be working well with my setup...
2021-05-16 00:03:59 +02:00
Bruno BELANYI 62ac22a8c5 home: wm: i3: use 'brightnessctl' 2021-05-16 00:03:59 +02:00
Bruno BELANYI 27c11b9b67 home: wm: i3: fix screen-related mappings 2021-05-16 00:03:59 +02:00
Bruno BELANYI 996d61b0f4 modules: users: simplify 'groupsIfExist' 2021-05-16 00:03:59 +02:00
Bruno BELANYI 62cee0be61 machines: porthos: set timezone 2021-05-16 00:03:59 +02:00
Bruno BELANYI 6c4f494a42 machines: aramis: use laptop profile 2021-05-16 00:03:59 +02:00
Bruno BELANYI cd967ccf99 profiles: add laptop 2021-05-16 00:03:59 +02:00
Bruno BELANYI 4fb46a6c58 machines: aramis: use X profile 2021-05-16 00:03:59 +02:00
Bruno BELANYI e7d8548b80 profiles: add X 2021-05-16 00:03:59 +02:00
Bruno BELANYI 10adc23223 machines: aramis: use gtk profile 2021-05-16 00:03:59 +02:00
Bruno BELANYI 7f945f86a6 profiles: add gtk 2021-05-16 00:03:59 +02:00
Bruno BELANYI 4960179f9d machines: aramis: use wm profile 2021-05-16 00:03:59 +02:00
Bruno BELANYI 8c7d5cdb30 profiles: add wm 2021-05-16 00:03:59 +02:00
Bruno BELANYI 4650c47974 modules: bluetooth: fix documentation 2021-05-16 00:03:59 +02:00
Bruno BELANYI 28cc5b64b4 machines: aramis: enable bluetooth profile 2021-05-16 00:03:59 +02:00
Bruno BELANYI 4fbb3d53e9 profiles: add bluetooth 2021-05-16 00:03:59 +02:00
Bruno BELANYI d2c9b72eb6 flake: add profiles folder
This will be used for configurations that either consolidates multiple options
that make sens to use together, or span accross system and home configuration.
2021-05-16 00:03:59 +02:00
Bruno BELANYI 104a7a8d46 home: gtk: do not set font size
Turns out that I do not like how it interferes with Firefox's
rendering... I should probably investigate this in the future if I want
to use this option.
2021-05-16 00:03:59 +02:00
Bruno BELANYI 229ecd18ce machines: aramis: home: enable GTK
In order to not have an error at activation, dconf must be made
available to the dbus service.
2021-05-10 00:31:01 +02:00
Bruno BELANYI c6ee3a0351 home: add gtk 2021-05-10 00:31:01 +02:00
Bruno BELANYI e12b3a9599 machines: aramis: home: add transgui 2021-05-10 00:31:01 +02:00
Bruno BELANYI 9ecdc7c1ed overlays: add transgui-fix-duplicate-status
Upstream is being slow in merging the patch...
2021-05-10 00:31:01 +02:00
Bruno BELANYI 96c9b1b57d flake: add overlays folder 2021-05-10 00:31:01 +02:00
Bruno BELANYI a4b54f3630 machines: aramis: home: add jellyfin-media-player 2021-05-10 00:31:01 +02:00
Bruno BELANYI ec7f62f7bc home: terminal: export TERMINAL when appropriate
This is used by some programs, like 'rofi' to launch terminal programs.
2021-05-10 00:31:01 +02:00
Bruno BELANYI 2daaaed37f pkgs: i3-get-window-criteria: remove whitespace 2021-05-10 00:31:01 +02:00
Bruno BELANYI c7fccd3ed3 home: wm: i3: add i3-get-window-criteria package 2021-05-10 00:31:01 +02:00
Bruno BELANYI 2d21945670 pkgs: add i3-get-window-criteria 2021-05-10 00:31:01 +02:00
Bruno BELANYI a7839c63e0 machines: aramis: home: enable feh 2021-05-10 00:31:01 +02:00
Bruno BELANYI e82d510c0c home: add feh 2021-05-10 00:31:01 +02:00
Bruno BELANYI 384e801553 machines: aramis: home: set up background
`i3` inherits its background from `lightdm`.
2021-05-10 00:31:01 +02:00
Bruno BELANYI b2e0e81216 home: packages: add 'file' to common package set 2021-05-10 00:31:01 +02:00
Bruno BELANYI d36cb23fa3 home: pager: add colored man page support 2021-05-10 00:31:01 +02:00
Bruno BELANYI 1bb9367470 machines: aramis: add some additional packages 2021-05-10 00:31:01 +02:00
Bruno BELANYI 0a8effa09f home: packages: add option for additional packages 2021-05-10 00:31:01 +02:00
Bruno BELANYI ddffa1f247 modules: documentation: add linux man pages option
I want to be able to read about syscalls or the C library.
2021-05-10 00:31:01 +02:00
Bruno BELANYI 2b6399606a modules: documentation: use 'mkDisableOption'
The documentation module already gates behind 'documentation.enable' for
the other options.
2021-05-10 00:31:01 +02:00
Bruno BELANYI 7e1ca1f3d5 home: x: add cursor
I would like to check out alternative themes. Notably Quintom [1],
Volantes [2], and Vimix [3].

[1]: https://gitlab.com/Burning_Cube/quintom-cursor-theme
[2]: https://github.com/varlesh/volantes-cursors
[3]: https://github.com/vinceliuice/Vimix-cursors
2021-05-10 00:31:01 +02:00
Bruno BELANYI c4bc609b7e machines: aramis: home: enable bluetooth 2021-05-10 00:31:01 +02:00
Bruno BELANYI 91954e9a02 home: add bluetooth 2021-05-10 00:31:01 +02:00
Bruno BELANYI 0c8eea0fb4 home: wm: i3bar: use FontAwesome5 for icons 2021-05-10 00:31:01 +02:00
Bruno BELANYI 5930fc0d3b home: wm: i3: use new 'fonts' option type 2021-05-10 00:31:01 +02:00
Bruno BELANYI 554620f004 flake: bump inputs 2021-05-10 00:31:01 +02:00
Bruno BELANYI 432cd97b53 machines: aramis: enable bluetooth 2021-05-10 00:31:01 +02:00
Bruno BELANYI 35b8de02c2 modules: add bluetooth 2021-05-10 00:31:01 +02:00
Bruno BELANYI 4319105aa5 machines: aramis: networking: use wireless option 2021-05-10 00:31:01 +02:00
Bruno BELANYI 8013120856 modules: networking: add 'wireless' option 2021-05-10 00:31:01 +02:00
Bruno BELANYI 8755d84b21 machines: aramis: install: exit on error 2021-05-10 00:31:01 +02:00
Bruno BELANYI ed1539ae29 machines: aramis: home: enable nm-applet 2021-05-10 00:31:01 +02:00
Bruno BELANYI 40fa4798e1 home: add nm-applet 2021-05-10 00:31:01 +02:00
Bruno BELANYI 165e26f0b3 modules: users: add myself to 'networkmanager' 2021-05-08 17:14:13 +02:00
Bruno BELANYI 0a7a2c5c90 machine: aramis: networking: use networkmanager
I consider WiFi configurations to be ephemeral
2021-05-08 17:14:13 +02:00
Bruno BELANYI 3f35f9e440 home: gammastep: show tray icon 2021-05-08 17:14:13 +02:00
Bruno BELANYI d111e16bea home: gammastep: change default night temperature
I want the colour to be warmer, and blues even more attenuated.
2021-05-08 17:14:13 +02:00
Bruno BELANYI e0fe15aa2b home: wm: i3: add mic mute media key 2021-05-08 17:14:13 +02:00
Bruno BELANYI ec8ea63fcb home: wm: i3: fix audio media keys 2021-05-08 17:14:13 +02:00
Bruno BELANYI 7a85b04541 home: wm: i3bar: extend width of music block 2021-05-08 17:14:13 +02:00
Bruno BELANYI b52c55db5f home: wm: i3bar: show temperature block by default 2021-05-08 17:14:13 +02:00
Bruno BELANYI eba01a0067 home: zsh: enable VTE integration when appropriate 2021-05-08 17:14:13 +02:00
Bruno BELANYI 4c154c7216 machines: aramis: services: enable wireguard 2021-05-08 17:14:13 +02:00
Bruno BELANYI f8a1480d09 home: wm: screen-lock: add 'notify.delay' setting 2021-05-08 17:14:13 +02:00
Bruno BELANYI e5b5e73294 home: wm: screen-lock: add corner delay setting 2021-05-08 17:14:13 +02:00
Bruno BELANYI 5973841ff5 modules: users: reformat 2021-05-08 17:14:13 +02:00
Bruno BELANYI 3177d01157 home: firefox: add form-history-control extension 2021-05-08 17:14:13 +02:00
Bruno BELANYI 7c17b675f6 home: wm: i3: use keycode for shutdown mapping
The motivation for using keycodes for all those mappings is to allow
switch to an actual french keyboard layout it still be able to move
through workspaces etc...
2021-05-08 17:14:13 +02:00
Bruno BELANYI 22642908dd machines: aramis: home: use GTK pinentry
I do have a graphical session, I can afford to be "fancy"
2021-05-08 17:14:13 +02:00
Bruno BELANYI f96bc19bf6 home: gpg: make pinentry configurable 2021-05-08 17:14:13 +02:00
Bruno BELANYI 2dbb25a9e3 modules: packages: prefer user compinit to global
This should make the shell startup faster.
2021-05-08 17:14:13 +02:00
Bruno BELANYI a4abc2edd8 project: bootstrap: unlock BW when logged in 2021-05-08 17:14:13 +02:00
Bruno BELANYI ad2c5dd209 home: wm: i3: add display bindings 2021-05-08 17:14:13 +02:00
Bruno BELANYI 6cea859693 home: wm: i3: add dunst bindings 2021-05-08 17:14:13 +02:00
Bruno BELANYI 33752d2bcb home: wm: i3: add binding to toggle xautolock 2021-05-08 17:14:13 +02:00
Bruno BELANYI 5042c1df20 home: wm: screen-lock: add xautolock options 2021-05-08 17:14:13 +02:00
Bruno BELANYI 46b3a32b82 home: wm: add screen-lock 2021-05-08 17:14:13 +02:00
Bruno BELANYI 79d92178b5 home: wm: dunst: add configuration 2021-05-08 17:14:13 +02:00
Bruno BELANYI 3344b079dc home: wm: add dunst 2021-05-08 17:14:13 +02:00
Bruno BELANYI c56517497a home: wm: use explicit 'enable' options
This is so that I can explicitly enable them if I were to use Wayland
and Sway, given that they should be compatible with both environment.

This also means that putting them in `/home/x/` would a misnomer... Will
revisit this if and when I try out Wayland and sway...
2021-05-08 17:14:13 +02:00
Bruno BELANYI 38a475d35d modules: users: add myself to 'video' and 'audio' 2021-05-08 17:14:13 +02:00
Bruno BELANYI c6ebb9d45f home: wm: i3bar: hide music block when not playing 2021-05-08 17:14:13 +02:00
Bruno BELANYI 44c66ab729 home: wm: i3bar: add gammastep block if enabled 2021-05-08 17:14:13 +02:00
Bruno BELANYI f608bcd9f9 machines: aramis: home: enable gammastep 2021-05-08 17:14:13 +02:00
Bruno BELANYI b3fffcac3e home: add gammastep 2021-05-08 17:14:13 +02:00
Bruno BELANYI 873c41745a home: firefox: add tridactyl 2021-05-08 17:14:13 +02:00
Bruno BELANYI dadd835b66 home: firefox: use tridactyl-native when enabled 2021-05-08 17:14:13 +02:00
Bruno BELANYI 1587b992da machines: aramis: home: enable firefox 2021-05-08 17:14:13 +02:00
Bruno BELANYI 38440f67ab home: add firefox 2021-05-08 17:14:13 +02:00
Bruno BELANYI 85f4220068 home: wm: i3: use udiskie service 2021-05-08 17:14:13 +02:00
Bruno BELANYI 43457ce41e home: add udiskie 2021-05-08 17:14:13 +02:00
Bruno BELANYI 44cad6b52b home: wm: i3: use flameshot service directly
Instead of starting `flameshot` with `i3`, use the provided service.
2021-05-08 17:14:13 +02:00
Bruno BELANYI 86b12dc8a8 home: add flameshot 2021-05-08 17:14:13 +02:00
Bruno BELANYI 61b36c5434 machines: aramis: home: enable zathura 2021-05-08 17:14:13 +02:00
Bruno BELANYI bc6c50aff1 home: add zathura 2021-05-08 17:14:13 +02:00
Bruno BELANYI 3aa089db36 machines: aramis: home: enable termite 2021-05-08 17:14:13 +02:00
Bruno BELANYI b7b1c77dc8 home: wm: i3: use 'my.home.terminal' explicitly 2021-05-08 17:14:13 +02:00
Bruno BELANYI 07b91de2f2 home: terminal: add termite 2021-05-08 17:14:13 +02:00
Bruno BELANYI a4f3d67393 home: add terminal
This module abstracts away the color configuration.
2021-05-08 17:14:13 +02:00
Bruno BELANYI b983136080 home: wm: i3: add configuration 2021-05-08 17:14:13 +02:00
Bruno BELANYI f257c15071 home: wm: add rofi 2021-05-08 17:14:13 +02:00
Bruno BELANYI 82790ea5fa home: wm: add i3bar 2021-05-08 17:14:13 +02:00
Bruno BELANYI 3d51af4f54 machines: aramis: home: enable X & i3 2021-05-08 17:14:13 +02:00
Bruno BELANYI 6af00fe351 machines: aramis: add home configuration 2021-05-08 17:14:13 +02:00
Bruno BELANYI 864e78bc61 modules: add home
This makes setting and referring to my home-manager options easier.
2021-05-08 17:14:13 +02:00
Bruno BELANYI ca48df5674 home: wm: add i3
This is only the basic default configuration. The full configuration
will come later.

I am not a fan of `wm.windowManager`, I might rename that option at some
point.
2021-05-08 17:14:13 +02:00
Bruno BELANYI ff4745e1e6 home: add X keyboard configuration 2021-05-08 17:14:13 +02:00
Bruno BELANYI 63791a98a4 machines: add aramis 2021-05-08 17:14:13 +02:00
Bruno BELANYI 9690b0b14b lib: attrs: add renaming functions 2021-05-08 17:14:13 +02:00
Bruno BELANYI af317ac156 lib: attrs: document functions 2021-05-08 17:14:13 +02:00
Bruno BELANYI b30d574069 lib: attrs: add genAttrs' function 2021-05-08 17:14:13 +02:00
Bruno BELANYI 825e09f59e flake: refactor handling of shared modules 2021-05-08 17:14:13 +02:00
Bruno BELANYI 817ca1e9df machine: aramis: add installer script
This is the first time that I am setting up LVM-on-LUKS with NixOS, so a
VM came in handy to test it out.
2021-05-08 17:14:13 +02:00
467 changed files with 11942 additions and 2581 deletions

View file

@ -1,24 +0,0 @@
kind: pipeline
name: check config
steps:
- name: format check
image: nixos/nix
commands:
- nix-shell -p nixpkgs-fmt --run 'nixpkgs-fmt . --check'
- name: notify
image: plugins/matrix
settings:
homeserver:
from_secret: matrix_homeserver
roomid:
from_secret: matrix_roomid
username:
from_secret: matrix_username
password:
from_secret: matrix_password
trigger:
status:
- failure
- success

12
.envrc
View file

@ -1,8 +1,8 @@
use_flake() {
watch_file flake.nix
watch_file flake.lock
eval "$(nix print-dev-env)"
}
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
watch_file ./flake/checks.nix
watch_file ./flake/dev-shells.nix
ulimit -s unlimited # Bypass current bug in `nix` flakes evaluation
use flake

View file

@ -1,4 +0,0 @@
# Do not edit this file. To specify the files to encrypt, create your own
# .gitattributes file in the directory where your files are.
* !filter !diff
*.gpg binary

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
/.pre-commit-config.yaml

View file

@ -1,21 +0,0 @@
repos:
- repo: 'https://github.com/pre-commit/pre-commit-hooks'
rev: 'v2.3.0'
hooks:
- id: 'trailing-whitespace'
- id: 'end-of-file-fixer'
- id: 'check-yaml'
- id: 'check-added-large-files'
- repo: 'https://github.com/jumanjihouse/pre-commit-hooks'
rev: '2.1.4'
hooks:
- id: 'forbid-binary'
- repo: 'local'
hooks:
- id: 'nixpkgs-fmt'
name: 'nixpkgs-fmt'
description: 'Format nix code with nixpkgs-fmt'
entry: 'nixpkgs-fmt'
language: 'system'
files: '\.nix$'
always_run: true

1
.stylua.toml Normal file
View file

@ -0,0 +1 @@
indent_type = "Spaces"

26
.woodpecker/check.yml Normal file
View file

@ -0,0 +1,26 @@
labels:
backend: local
steps:
- name: nix flake check
image: bash
commands:
- nix flake check
- name: notifiy
image: bash
environment:
ADDRESS:
from_secret: matrix_homeserver
ROOM:
from_secret: matrix_roomid
USER:
from_secret: matrix_username
PASS:
from_secret: matrix_password
commands:
- nix run '.#matrix-notifier'
when:
status:
- failure
- success

View file

@ -17,7 +17,8 @@ Secondly, take care of a few manual steps:
* Configure Gitea and Drone
* Configure Lohr webhook and SSH key
* Configure Jellyfin
* Configure Jackett and NZBHydra2
* Configure Prowlarr,Jackett and NZBHydra2
* Configure Sonarr, Radarr, Bazarr
* Configure Transmission's webui port
* Configure Quassel user
* Configure Flood account

View file

@ -1,5 +1,6 @@
#!/usr/bin/env nix-shell
#! nix-shell -i bash -p bitwarden-cli git gnupg jq nixFlakes
#! 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() {
@ -58,6 +58,8 @@ get_ssh() {
get_doc "SysAdmin/SSH" "shared-key-public" "$HOME/.ssh/shared_rsa.pub" 644
get_doc "SysAdmin/SSH" "shared-key-private" "$HOME/.ssh/shared_rsa" 600
get_doc "SysAdmin/SSH" "agenix-public" "$HOME/.ssh/agenix.pub" 644
get_doc "SysAdmin/SSH" "agenix-private" "$HOME/.ssh/agenix" 600
}
get_pgp() {
@ -78,22 +80,13 @@ get_pgp() {
}
get_creds() {
BW_SESSION="$(bw login --raw)"
BW_SESSION="$(bw login --raw || bw unlock --raw)"
export BW_SESSION
get_ssh
get_pgp
}
setup_gpg() {
info 'Setting up loopback pinentry for GnuPG'
echo "allow-loopback-pinentry" > ~/.gnupg/gpg-agent.conf
info 'Signing dummy message to ensure GnuPG key is usable by `git-crypt`'
echo whatever | gpg --clearsign --armor --pinentry loopback --output /dev/null
}
[ -z "$NOCREDS" ] && get_creds
[ -z "$NOGPG" ] && setup_gpg
nix --experimental-features 'nix-command flakes' develop

View file

@ -1,21 +1,134 @@
{
"nodes": {
"futils": {
"agenix": {
"inputs": {
"darwin": "darwin",
"home-manager": [
"home-manager"
],
"nixpkgs": [
"nixpkgs"
],
"systems": [
"systems"
]
},
"locked": {
"lastModified": 1619345332,
"narHash": "sha256-qHnQkEp1uklKTpx3MvKtY6xzgcqXDsz5nLilbbuL+3A=",
"lastModified": 1715290355,
"narHash": "sha256-2T7CHTqBXJJ3ZC6R/4TXTcKoXWHcvubKNj9SfomURnw=",
"owner": "ryantm",
"repo": "agenix",
"rev": "8d37c5bdeade12b6479c85acd133063ab53187a0",
"type": "github"
},
"original": {
"owner": "ryantm",
"ref": "main",
"repo": "agenix",
"type": "github"
}
},
"darwin": {
"inputs": {
"nixpkgs": [
"agenix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1700795494,
"narHash": "sha256-gzGLZSiOhf155FW7262kdHo2YDeugp3VuIFb4/GGng0=",
"owner": "lnl7",
"repo": "nix-darwin",
"rev": "4b9b83d5a92e8c1fbfd8eb27eda375908c11ec4d",
"type": "github"
},
"original": {
"owner": "lnl7",
"ref": "master",
"repo": "nix-darwin",
"type": "github"
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1715865404,
"narHash": "sha256-/GJvTdTpuDjNn84j82cU6bXztE0MSkdnTWClUCRub78=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "8dc45382d5206bd292f9c2768b8058a8fd8311d9",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"ref": "main",
"repo": "flake-parts",
"type": "github"
}
},
"futils": {
"inputs": {
"systems": [
"systems"
]
},
"locked": {
"lastModified": 1710146030,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "2ebf2558e5bf978c7fb8ea927dfaed8fefab2e28",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github"
},
"original": {
"owner": "numtide",
"ref": "master",
"ref": "main",
"repo": "flake-utils",
"type": "github"
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
"pre-commit-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
@ -23,11 +136,11 @@
]
},
"locked": {
"lastModified": 1619558193,
"narHash": "sha256-DljP5/9EX0eXEPhzCUFqFEHkkcFuXJBx1PTgcv0OgyM=",
"lastModified": 1715930644,
"narHash": "sha256-W9pyM3/vePxrffHtzlJI6lDS3seANQ+Nqp+i58O46LI=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "18ad12d52b8cebbb57013865eec2be5125de050a",
"rev": "e3ad5108f54177e6520535768ddbf1e6af54b59d",
"type": "github"
},
"original": {
@ -39,11 +152,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1619464443,
"narHash": "sha256-R7WAb8EnkIJxxaF6GTHUPytjonhB4Zm0iatyWoW169A=",
"lastModified": 1715961556,
"narHash": "sha256-+NpbZRCRisUHKQJZF3CT+xn14ZZQO+KjxIIanH3Pvn4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "8e4fe32876ca15e3d5eb3ecd3ca0b224417f5f17",
"rev": "4a6b83b05df1a8bd7d99095ec4b4d271f2956b64",
"type": "github"
},
"original": {
@ -55,11 +168,11 @@
},
"nur": {
"locked": {
"lastModified": 1619628114,
"narHash": "sha256-s3pQyvMfXVmbQOX224yOWQf6zi8406sShFF4u17LVQ0=",
"lastModified": 1716149933,
"narHash": "sha256-0Ui2HmmKvSqxXfT5kCzTu2EO+kqYxavPZHROxQLsI14=",
"owner": "nix-community",
"repo": "NUR",
"rev": "0615e756dc14986c4968fa478c0bd080d621cb2b",
"rev": "0d0e224fe23a49977d871ae2fe2f14c84b03322a",
"type": "github"
},
"original": {
@ -69,12 +182,58 @@
"type": "github"
}
},
"pre-commit-hooks": {
"inputs": {
"flake-compat": "flake-compat",
"gitignore": "gitignore",
"nixpkgs": [
"nixpkgs"
],
"nixpkgs-stable": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1715870890,
"narHash": "sha256-nacSOeXtUEM77Gn0G4bTdEOeFIrkCBXiyyFZtdGwuH0=",
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"rev": "fa606cccd7b0ccebe2880051208e4a0f61bfc8c1",
"type": "github"
},
"original": {
"owner": "cachix",
"ref": "master",
"repo": "pre-commit-hooks.nix",
"type": "github"
}
},
"root": {
"inputs": {
"agenix": "agenix",
"flake-parts": "flake-parts",
"futils": "futils",
"home-manager": "home-manager",
"nixpkgs": "nixpkgs",
"nur": "nur"
"nur": "nur",
"pre-commit-hooks": "pre-commit-hooks",
"systems": "systems"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"ref": "main",
"repo": "default",
"type": "github"
}
}
},

118
flake.nix
View file

@ -1,11 +1,36 @@
{
description = "NixOS configuration with flakes";
inputs = {
agenix = {
type = "github";
owner = "ryantm";
repo = "agenix";
ref = "main";
inputs = {
home-manager.follows = "home-manager";
nixpkgs.follows = "nixpkgs";
systems.follows = "systems";
};
};
flake-parts = {
type = "github";
owner = "hercules-ci";
repo = "flake-parts";
ref = "main";
inputs = {
nixpkgs-lib.follows = "nixpkgs";
};
};
futils = {
type = "github";
owner = "numtide";
repo = "flake-utils";
ref = "master";
ref = "main";
inputs = {
systems.follows = "systems";
};
};
home-manager = {
@ -31,79 +56,26 @@
repo = "NUR";
ref = "master";
};
};
outputs = { self, futils, home-manager, nixpkgs, nur } @ inputs:
let
inherit (futils.lib) eachDefaultSystem;
lib = nixpkgs.lib.extend (self: super: {
my = import ./lib { inherit inputs; pkgs = nixpkgs; lib = self; };
});
defaultModules = [
({ ... }: {
# Let 'nixos-version --json' know about the Git revision
system.configurationRevision = self.rev or "dirty";
})
{
nixpkgs.overlays = (lib.attrValues self.overlays) ++ [
nur.overlay
];
}
home-manager.nixosModules.home-manager
{
home-manager.users.ambroisie = import ./home;
# Nix Flakes compatibility
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
}
];
buildHost = name: system: lib.nixosSystem {
inherit system;
modules = defaultModules ++ [
(./. + "/${name}.nix")
];
specialArgs = {
# Use my extended lib in NixOS configuration
inherit lib;
};
};
in
eachDefaultSystem
(system:
let
pkgs = nixpkgs.legacyPackages.${system};
in
rec {
apps = {
diff-flake = futils.lib.mkApp { drv = packages.diff-flake; };
};
defaultApp = apps.diff-flake;
devShell = pkgs.mkShell {
name = "NixOS-config";
buildInputs = with pkgs; [
git-crypt
gitAndTools.pre-commit
gnupg
nixpkgs-fmt
];
};
packages = import ./pkgs { inherit pkgs; };
}) // {
overlay = self.overlays.pkgs;
overlays = {
lib = final: prev: { inherit lib; };
pkgs = final: prev: { ambroisie = import ./pkgs { pkgs = prev; }; };
};
nixosConfigurations = lib.mapAttrs buildHost {
porthos = "x86_64-linux";
pre-commit-hooks = {
type = "github";
owner = "cachix";
repo = "pre-commit-hooks.nix";
ref = "master";
inputs = {
nixpkgs.follows = "nixpkgs";
nixpkgs-stable.follows = "nixpkgs";
};
};
systems = {
type = "github";
owner = "nix-systems";
repo = "default";
ref = "main";
};
};
# Can't eta-reduce a flake outputs...
outputs = inputs: import ./flake inputs;
}

9
flake/apps.nix Normal file
View file

@ -0,0 +1,9 @@
{ inputs, ... }:
{
perSystem = { self', ... }: {
apps = {
diff-flake = inputs.futils.lib.mkApp { drv = self'.packages.diff-flake; };
default = self'.apps.diff-flake;
};
};
}

33
flake/checks.nix Normal file
View file

@ -0,0 +1,33 @@
{ inputs, ... }:
{
imports = [
inputs.pre-commit-hooks.flakeModule
];
perSystem = { ... }: {
pre-commit = {
# Add itself to `nix flake check`
check.enable = true;
settings = {
hooks = {
deadnix = {
enable = true;
};
nixpkgs-fmt = {
enable = true;
};
shellcheck = {
enable = true;
};
stylua = {
enable = true;
};
};
};
};
};
}

22
flake/default.nix Normal file
View file

@ -0,0 +1,22 @@
{ flake-parts
, systems
, ...
} @ inputs:
let
mySystems = import systems;
in
flake-parts.lib.mkFlake { inherit inputs; } {
systems = mySystems;
imports = [
./apps.nix
./checks.nix
./dev-shells.nix
./home-manager.nix
./lib.nix
./nixos.nix
./overlays.nix
./packages.nix
./templates.nix
];
}

19
flake/dev-shells.nix Normal file
View file

@ -0,0 +1,19 @@
{ ... }:
{
perSystem = { config, pkgs, ... }: {
devShells = {
default = pkgs.mkShellNoCC {
name = "NixOS-config";
nativeBuildInputs = with pkgs; [
gitAndTools.pre-commit
nixpkgs-fmt
];
shellHook = ''
${config.pre-commit.installationScript}
'';
};
};
};
}

62
flake/home-manager.nix Normal file
View file

@ -0,0 +1,62 @@
{ self, inputs, lib, ... }:
let
defaultModules = [
# Include generic settings
"${self}/modules/home"
{
# Basic user information defaults
home.username = lib.mkDefault "ambroisie";
home.homeDirectory = lib.mkDefault "/home/ambroisie";
# Make it a Linux installation by default
targets.genericLinux.enable = lib.mkDefault true;
# Enable home-manager
programs.home-manager.enable = true;
}
];
mkHome = name: system: inputs.home-manager.lib.homeManagerConfiguration {
# Work-around for home-manager
# * not letting me set `lib` as an extraSpecialArgs
# * not respecting `nixpkgs.overlays` [1]
# [1]: https://github.com/nix-community/home-manager/issues/2954
pkgs = import inputs.nixpkgs {
inherit system;
overlays = (lib.attrValues self.overlays) ++ [
inputs.nur.overlay
];
};
modules = defaultModules ++ [
"${self}/hosts/homes/${name}"
];
extraSpecialArgs = {
# Inject inputs to use them in global registry
inherit inputs;
};
};
homes = {
"ambroisie@bazin" = "x86_64-linux";
"ambroisie@mousqueton" = "x86_64-linux";
};
in
{
perSystem = { system, ... }: {
# Work-around for https://github.com/nix-community/home-manager/issues/3075
legacyPackages = {
homeConfigurations =
let
filteredHomes = lib.filterAttrs (_: v: v == system) homes;
allHomes = filteredHomes // {
# Default configuration
ambroisie = system;
};
in
lib.mapAttrs mkHome allHomes;
};
};
}

11
flake/lib.nix Normal file
View file

@ -0,0 +1,11 @@
{ self, inputs, ... }:
let
inherit (inputs) nixpkgs;
lib = nixpkgs.lib.extend (final: _: {
my = import "${self}/lib" { inherit inputs; pkgs = nixpkgs; lib = final; };
});
in
{
flake.lib = lib;
}

35
flake/nixos.nix Normal file
View file

@ -0,0 +1,35 @@
{ self, inputs, lib, ... }:
let
defaultModules = [
{
# Let 'nixos-version --json' know about the Git revision
system.configurationRevision = self.rev or "dirty";
}
{
nixpkgs.overlays = (lib.attrValues self.overlays) ++ [
inputs.nur.overlay
];
}
# Include generic settings
"${self}/modules/nixos"
];
buildHost = name: system: lib.nixosSystem {
inherit system;
modules = defaultModules ++ [
"${self}/hosts/nixos/${name}"
];
specialArgs = {
# Use my extended lib in NixOS configuration
inherit (self) lib;
# Inject inputs to use them in global registry
inherit inputs;
};
};
in
{
flake.nixosConfigurations = lib.mapAttrs buildHost {
aramis = "x86_64-linux";
porthos = "x86_64-linux";
};
}

17
flake/overlays.nix Normal file
View file

@ -0,0 +1,17 @@
{ self, ... }:
let
default-overlays = import "${self}/overlays";
additional-overlays = {
# Expose my expanded library
lib = _final: _prev: { inherit (self) lib; };
# Expose my custom packages
pkgs = _final: prev: {
ambroisie = prev.recurseIntoAttrs (import "${self}/pkgs" { pkgs = prev; });
};
};
in
{
flake.overlays = default-overlays // additional-overlays;
}

13
flake/packages.nix Normal file
View file

@ -0,0 +1,13 @@
{ self, inputs, ... }:
{
perSystem = { pkgs, system, ... }: {
packages =
let
inherit (inputs.futils.lib) filterPackages flattenTree;
packages = import "${self}/pkgs" { inherit pkgs; };
flattenedPackages = flattenTree packages;
finalPackages = filterPackages system flattenedPackages;
in
finalPackages;
};
}

4
flake/templates.nix Normal file
View file

@ -0,0 +1,4 @@
{ self, ... }:
{
flake.templates = import "${self}/templates";
}

View file

@ -1,26 +0,0 @@
{ ... }:
{
imports = [
./bat.nix
./direnv.nix
./documentation.nix
./git
./gpg.nix
./htop.nix
./jq.nix
./packages.nix
./pager.nix
./secrets # Home-manager specific secrets
./ssh.nix
./tmux.nix
./vim
./xdg.nix
./zsh
];
# First sane reproducible version
home.stateVersion = "20.09";
# Who am I?
home.username = "ambroisie";
}

View file

@ -1,15 +0,0 @@
{ config, lib, ... }:
let
cfg = config.my.home.direnv;
in
{
options.my.home.direnv = with lib.my; {
enable = mkDisableOption "direnv configuration";
};
config.programs.direnv = lib.mkIf cfg.enable {
enable = true;
# A better `use_nix`
enableNixDirenvIntegration = true;
};
}

View file

@ -1,4 +0,0 @@
[user]
email = bruno.belanyi@epita.fr
name = Bruno BELANYI
# vim: set ft=gitconfig:

View file

@ -1,24 +0,0 @@
{ config, lib, ... }:
let
cfg = config.my.home.gpg;
in
{
options.my.home.gpg = with lib.my; {
enable = mkDisableOption "gpg configuration";
};
config = lib.mkIf cfg.enable {
programs.gpg = {
enable = true;
};
services.gpg-agent = {
enable = true;
enableSshSupport = true; # One agent to rule them all
pinentryFlavor = "tty";
extraConfig = ''
allow-loopback-pinentry
'';
};
};
}

View file

@ -1,20 +0,0 @@
{ config, lib, pkgs, ... }:
let
cfg = config.my.home.packages;
in
{
options.my.home.packages = with lib.my; {
enable = mkDisableOption "user packages";
};
config.home.packages = with pkgs; lib.mkIf cfg.enable [
# Git related
gitAndTools.git-absorb
gitAndTools.git-revise
gitAndTools.tig
# Dev work
rr
# Terminal prettiness
termite.terminfo
];
}

View file

@ -1,18 +0,0 @@
{ config, lib, ... }:
let
cfg = config.my.home.pager;
in
{
options.my.home.pager = with lib.my; {
enable = mkDisableOption "pager configuration";
};
config.programs.lesspipe.enable = cfg.enable;
config.home.sessionVariables = lib.mkIf cfg.enable {
# My default pager
PAGER = "less";
# Clear the screen on start and exit
LESS = "-R -+X -c";
};
}

View file

@ -1,3 +0,0 @@
* filter=git-crypt diff=git-crypt
.gitattributes !filter !diff
/default.nix !filter !diff

Binary file not shown.

View file

@ -1,19 +0,0 @@
{ lib, ... }:
with lib;
let
canaryHash = builtins.hashFile "sha256" ./canary;
expectedHash =
"9df8c065663197b5a1095122d48e140d3677d860343256abd5ab6e4fb4c696ab";
in
if canaryHash != expectedHash then
abort "Secrets are not readable. Have you run `git-crypt unlock`?"
else {
options.my.secrets = mkOption {
type = types.attrs;
};
config.my.secrets = {
# Home-manager secrets go here
};
}

View file

@ -1,49 +0,0 @@
{ config, lib, ... }:
let
cfg = config.my.home.ssh;
in
{
options.my.home.ssh = with lib.my; {
enable = mkDisableOption "ssh configuration";
};
config.programs.ssh = {
enable = true;
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";
};
"gitea.belanyi.fr" = {
hostname = "gitea.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,47 +0,0 @@
{ config, lib, pkgs, ... }:
let
cfg = config.my.home.tmux;
in
{
options.my.home.tmux = with lib.my; {
enable = mkDisableOption "tmux terminal multiplexer";
};
config.programs.tmux = lib.mkIf cfg.enable {
enable = true;
keyMode = "vi"; # Home-row keys and other niceties
clock24 = true; # I'm one of those heathens
escapeTime = 0; # Let vim do its thing instead
historyLimit = 5000; # Bigger buffer
terminal = "tmux-256color"; # I want accurate termcap info
plugins = with pkgs.tmuxPlugins; [
# Open high-lighted files in copy mode
open
# Better pane management
pain-control
# Better session management
sessionist
# X clipboard integration
yank
{
# Show when prefix has been pressed
plugin = prefix-highlight;
extraConfig = ''
# Also show when I'm in copy or sync mode
set -g @prefix_highlight_show_copy_mode 'on'
set -g @prefix_highlight_show_sync_mode 'on'
# Show prefix mode in status bar
set -g status-right '#{prefix_highlight} %a %Y-%m-%d %H:%M'
'';
}
];
extraConfig = ''
# Better vim mode
bind-key -T copy-mode-vi 'v' send -X begin-selection
bind-key -T copy-mode-vi 'y' send -X copy-selection-and-cancel
'';
};
}

View file

@ -1,14 +0,0 @@
" Create the `b:undo_ftplugin` variable if it doesn't exist
call ftplugined#check_undo_ft()
" Use shfmt as ALE fixer for bash
let b:ale_fixers=[ 'shfmt' ]
let b:undo_ftplugin.='|unlet! b:ale_fixers'
" Indent with 4 spaces, simplify script, indent switch cases, use Bash variant
let b:ale_sh_shfmt_options='-i 4 -s -ci -ln bash'
let b:undo_ftplugin.='|unlet! b:ale_sh_shfmt_options'
" Use bash dialect explicitly, require explicit empty string test
let b:ale_sh_shellcheck_options='-s bash -o avoid-nullary-conditions'
let b:undo_ftplugin.='|unlet! b:ale_sh_shellcheck_options'

View file

@ -1,14 +0,0 @@
" Create the `b:undo_ftplugin` variable if it doesn't exist
call ftplugined#check_undo_ft()
" More warnings and the usual version in flags for Clang
let b:ale_c_clang_options='-Wall -Wextra -pedantic -std=c99'
let b:undo_ftplugin.='|unlet! b:ale_c_clang_options'
" More warnings and the usual version in flags for GCC
let b:ale_c_gcc_options='-Wall -Wextra -pedantic -std=c99'
let b:undo_ftplugin.='|unlet! b:ale_c_gcc_options'
" Use compile_commands.json to look for additional flags
let b:ale_c_parse_compile_commands=1
let b:undo_ftplugin.='|unlet! b:ale_c_parse_compile_commands'

View file

@ -1,14 +0,0 @@
" Create the `b:undo_ftplugin` variable if it doesn't exist
call ftplugined#check_undo_ft()
" More warnings and the usual version in flags for Clang
let b:ale_cpp_clang_options='-Wall -Wextra -pedantic -std=c++17'
let b:undo_ftplugin.='|unlet! b:ale_cpp_clang_options'
" More warnings and the usual version in flags for GCC
let b:ale_cpp_gcc_options='-Wall -Wextra -pedantic -std=c++17'
let b:undo_ftplugin.='|unlet! b:ale_cpp_gcc_options'
" Use compile_commands.json to look for additional flags
let b:ale_c_parse_compile_commands=1
let b:undo_ftplugin.='|unlet! b:ale_c_parse_compile_commands'

View file

@ -1,6 +0,0 @@
" Create the `b:undo_ftplugin` variable if it doesn't exist
call ftplugined#check_undo_ft()
" Use my desired ALE fixer for D
let b:ale_fixers=[ 'dfmt' ]
let b:undo_ftplugin.='|unlet! b:ale_fixers'

View file

@ -1,2 +0,0 @@
" Create the `b:undo_ftplugin` variable if it doesn't exist
call ftplugined#check_undo_ft()

View file

@ -1,30 +0,0 @@
" Create the `b:undo_ftplugin` variable if it doesn't exist
call ftplugined#check_undo_ft()
" Use a small indentation value on Haskell files
setlocal shiftwidth=2
let b:undo_ftplugin.='|setlocal shiftwidth<'
" Use my desired ALE fixers for Haskell
let b:ale_fixers=[ 'brittany' ]
let b:undo_ftplugin.='|unlet! b:ale_fixers'
" Use stack-managed `hlint`
let b:ale_haskell_hlint_executable='stack'
let b:undo_ftplugin.='|unlet! b:ale_haskell_hlint_executable'
" Use stack-managed `brittany`
let b:ale_haskell_brittany_executable='stack'
let b:undo_ftplugin.='|unlet! b:ale_haskell_brittany_executable'
" Use dynamic libraries because of Arch linux, with default ALE options
let b:ale_haskell_ghc_options='--dynamic -fno-code -v0'
let b:undo_ftplugin.='|unlet! b:ale_haskell_ghc_options'
" Automatically format files when saving them
let b:ale_fix_on_save=1
let b:undo_ftplugin='|unlet! b:ale_lint_on_save'
" Change max length of a line to 100 for this buffer to match official guidelines
setlocal colorcolumn=100
let b:undo_ftplugin.='|setlocal colorcolumn<'

View file

@ -1,6 +0,0 @@
" Create the `b:undo_ftplugin` variable if it doesn't exist
call ftplugined#check_undo_ft()
" Use my desired ALE fixer for JSON
let b:ale_fixers=[ 'jq' ]
let b:undo_ftplugin.='|unlet! b:ale_fixers'

View file

@ -1,40 +0,0 @@
" Create the `b:undo_ftplugin` variable if it doesn't exist
call ftplugined#check_undo_ft()
" Use my desired ALE fixers for python
let b:ale_fixers=[ 'black', 'isort' ]
let b:undo_ftplugin.='|unlet! b:ale_fixers'
" Use my desired ALE linters for python
let b:ale_linters=[ 'flake8', 'mypy', 'pylint', 'pyls' ]
let b:undo_ftplugin.='|unlet! b:ale_linters'
" Use pyls inside the python environment if needed
let b:ale_python_pyls_auto_pipenv=1
let b:undo_ftplugin.='|unlet! b:ale_python_pyls_auto_pipenv'
" Disable pycodestyle checks from pyls because I'm already using flake8
let b:ale_python_pyls_config={
\ 'pyls': {
\ 'plugins': {
\ 'pycodestyle': {
\ 'enabled': v:false
\ },
\ },
\ },
\ }
let b:undo_ftplugin.='|unlet! b:ale_python_pyls_config'
" Don't use mypy to check for syntax errors
let b:ale_python_mypy_ignore_invalid_syntax=1
let b:undo_ftplugin.='|unlet! b:ale_python_mypy_ignore_invalid_syntax'
" Use mypy inside the python environment if needed
let b:ale_python_mypy_auto_pipenv=1
let b:undo_ftplugin.='|unlet! b:ale_python_mypy_auto_pipenv'
" Automatically format files when saving them
let b:ale_fix_on_save=1
let b:undo_ftplugin='|unlet! b:ale_lint_on_save'
" Change max length of a line to 88 for this buffer to match black's settings
setlocal colorcolumn=88
let b:undo_ftplugin.='|setlocal colorcolumn<'

View file

@ -1,8 +0,0 @@
" Create the `b:undo_ftplugin` variable if it doesn't exist
call ftplugined#check_undo_ft()
" Use h/l to go to the previous/next non-empty quickfix or location list
nnoremap <silent> <buffer> h :call quickfixed#older()<CR>
let b:undo_ftplugin.='|nunmap <buffer> h'
nnoremap <silent> <buffer> l :call quickfixed#newer()<CR>
let b:undo_ftplugin.='|nunmap <buffer> l'

View file

@ -1,31 +0,0 @@
" Create the `b:undo_ftplugin` variable if it doesn't exist
call ftplugined#check_undo_ft()
" Check tests too
let b:ale_rust_cargo_check_tests=1
let b:undo_ftplugin='|unlet! b:ale_rust_cargo_check_tests'
" Check examples too
let b:ale_rust_cargo_check_examples=1
let b:undo_ftplugin='|unlet! b:ale_rust_cargo_check_examples'
" Use clippy if it's available instead of just cargo check
let b:ale_rust_cargo_use_clippy=executable('cargo-clippy')
let b:undo_ftplugin='|unlet! b:ale_rust_cargo_use_clippy'
" Use rust-analyzer instead of RLS as a linter
let b:ale_linters=[ 'cargo', 'analyzer' ]
let b:undo_ftplugin='|unlet! b:ale_linters'
" Use rustfmt as ALE fixer for rust
let b:ale_fixers=[ 'rustfmt' ]
let b:undo_ftplugin.='|unlet! b:ale_fixers'
" Automatically format files when saving them
let b:ale_fix_on_save=1
let b:undo_ftplugin='|unlet! b:ale_lint_on_save'
" Change max length of a line to 99 for this buffer to match official guidelines
setlocal colorcolumn=99
let b:undo_ftplugin.='|setlocal colorcolumn<'

View file

@ -1,14 +0,0 @@
" Create the `b:undo_ftplugin` variable if it doesn't exist
call ftplugined#check_undo_ft()
" Use shfmt as ALE fixer for sh
let b:ale_fixers=[ 'shfmt' ]
let b:undo_ftplugin.='|unlet! b:ale_fixers'
" Indent with 4 spaces, simplify the code, indent switch cases, use POSIX
let b:ale_sh_shfmt_options='-i 4 -s -ci -ln posix'
let b:undo_ftplugin.='|unlet! b:ale_sh_shfmt_options'
" Require explicit empty string test
let b:ale_sh_shellcheck_options='-o avoid-nullary-conditions'
let b:undo_ftplugin.='|unlet! b:ale_sh_shellcheck_options'

View file

@ -1,14 +0,0 @@
" Create the `b:undo_ftplugin` variable if it doesn't exist
call ftplugined#check_undo_ft()
" Use shfmt as ALE fixer for zsh
let b:ale_fixers=[ 'shfmt' ]
let b:undo_ftplugin.='|unlet! b:ale_fixers'
" Indent with 4 spaces, simplify script, indent switch cases, use Bash variant
let b:ale_sh_shfmt_options='-i 4 -s -ci -ln bash'
let b:undo_ftplugin.='|unlet! b:ale_sh_shfmt_options'
" Use bash dialect explicitly, require explicit empty string test
let b:ale_sh_shellcheck_options='-s bash -o avoid-nullary-conditions'
let b:undo_ftplugin.='|unlet! b:ale_sh_shellcheck_options'

View file

@ -1,2 +0,0 @@
" Use ALE LSP-powered symbol information
nnoremap <Leader>K :ALEHover<CR>

View file

@ -1,10 +0,0 @@
" Visual bindings for merging diffs as in normal mode
xnoremap dp :diffput<cr>
xnoremap do :diffget<cr>
" Open status window
nnoremap <Leader>gs :Gstatus<CR>
" Open diff view of current buffer: the up/left window is the current index
nnoremap <Leader>gd :Gdiffsplit!<CR>
" Open current file log in new tab, populate its location list with history
nnoremap <Leader>gl :sp<CR><C-w>T:Gllog --follow -- %:p<CR>

View file

@ -1,38 +0,0 @@
" Only git-tracked files, Vim needs to be in a Git repository
nnoremap <Leader>fg :GFiles<CR>
" All files
nnoremap <Leader>ff :Files<CR>
" Currently open buffers
nnoremap <Leader>fb :Buffers<CR>
" Buffer history
nnoremap <Leader>fh :History<CR>
" Tags in buffer
nnoremap <Leader>ft :BTags<CR>
" Tags in all project files
nnoremap <Leader>fT :Tags<CR>
" Snippets for the current fileytpe (using Ultisnips)
nnoremap <Leader>fs :Snippets<CR>
" All available commands
nnoremap <Leader>f: :Commands<CR>
" All commits (using fugitive)
nnoremap <Leader>fc :Commits<CR>
" All commits for the current buffer (using fugitive)
nnoremap <Leader>fC :BCommits<CR>
" Select normal mode mapping by searching for its name
nmap <Leader><Tab> <Plug>(fzf-maps-n)
" Select visual mode mapping by searching for its name
xmap <Leader><Tab> <Plug>(fzf-maps-x)
" Select operator pending mode mapping by searching for its name
omap <Leader><Tab> <Plug>(fzf-maps-o)

View file

@ -1,8 +0,0 @@
" Yank until the end of line with Y, to be more consistent with D and C
nnoremap Y y$
" Run make silently, then skip the 'Press ENTER to continue'
noremap <Leader>m :silent! :make! \| :redraw!<CR>
" Remove search-highlighting
noremap <Leader><Leader> :nohls<CR>

View file

@ -1,11 +0,0 @@
" Next and previous in quick-fix list
nmap <Leader>fn <Plug>(qf_qf_next)
nmap <Leader>fp <Plug>(qf_qf_previous)
" Next and previous in location list
nmap <Leader>ln <Plug>(qf_loc_next)
nmap <Leader>lp <Plug>(qf_loc_previous)
" Toggle quick-fix and location lists
nmap <Leader>tf <Plug>(qf_qf_toggle)
nmap <Leader>tl <Plug>(qf_loc_toggle)

View file

@ -1,7 +0,0 @@
" Better fr layout mappings for vim-unimpaired and other '[' and ']' commands
nmap ( [
nmap ) ]
omap ( [
omap ) ]
xmap ( [
xmap ) ]

View file

@ -1,68 +0,0 @@
" Taken from the Vimways article
function! s:isLocation()
" Get dictionary of properties of the current window
let wininfo = filter(getwininfo(), {i,v -> v.winnr == winnr()})[0]
return wininfo.loclist
endfunction
function! s:length()
" Get the size of the current quickfix/location list
return len(s:isLocation() ? getloclist(0) : getqflist())
endfunction
function! s:getProperty(key, ...)
" getqflist() and getloclist() expect a dictionary argument
" If a 2nd argument has been passed in, use it as the value, else 0
let l:what = {a:key : a:0 ? a:1 : 0}
let l:listdict = s:isLocation() ? getloclist(0, l:what) : getqflist(l:what)
return get(l:listdict, a:key)
endfunction
function! s:isFirst()
return s:getProperty('nr') <= 1
endfunction
function! s:isLast()
return s:getProperty('nr') == s:getProperty('nr', '$')
endfunction
function! s:history(goNewer)
" Build the command: one of colder/cnewer/lolder/lnewer
let l:cmd = (s:isLocation() ? 'l' : 'c') . (a:goNewer ? 'newer' : 'older')
" Apply the cmd repeatedly until we hit a non-empty list, or first/last list
" is reached
while 1
if (a:goNewer && s:isLast()) || (!a:goNewer && s:isFirst()) | break | endif
" Run the command. Use :silent to suppress message-history output.
" Note that the :try wrapper is no longer necessary
silent execute l:cmd
if s:length() | break | endif
endwhile
" Echo a description of the new quickfix / location list.
" And make it look like a rainbow.
let l:nr = s:getProperty('nr')
let l:last = s:getProperty('nr', '$')
echohl MoreMsg | echon '('
echohl Identifier | echon l:nr
if l:last > 1
echohl LineNr | echon ' of '
echohl Identifier | echon l:last
endif
echohl MoreMsg | echon ') '
echohl MoreMsg | echon '['
echohl Identifier | echon s:length()
echohl MoreMsg | echon '] '
echohl Normal | echon s:getProperty('title')
echohl None
endfunction
function! quickfixed#older()
call s:history(0)
endfunction
function! quickfixed#newer()
call s:history(1)
endfunction

View file

@ -1,77 +0,0 @@
{ config, pkgs, lib, ... }:
let
cfg = config.my.home.vim;
configFiles =
let
toSource = directory: { source = ./. + "/${directory}"; };
configureDirectory =
name: lib.nameValuePair "nvim/${name}" (toSource name);
linkDirectories =
dirs: builtins.listToAttrs (map configureDirectory dirs);
in
linkDirectories [
"after"
"autoload"
"ftdetect"
"plugin"
];
in
{
options.my.home.vim = with lib.my; {
enable = mkDisableOption "vim configuration";
};
config.programs.neovim = lib.mkIf cfg.enable {
enable = true;
# All the aliases
viAlias = true;
vimAlias = true;
vimdiffAlias = true;
plugins = with pkgs.vimPlugins; [
# Theming
lightline-vim # Fancy status bar
{
plugin = onedark-vim; # Nice dark theme
optional = true; # Needs to be `packadd`-ed manually...
}
# tpope essentials
vim-commentary # Easy comments
vim-eunuch # UNIX integrations
vim-fugitive # A 'git' wrapper
vim-git # Sane git syntax files
vim-repeat # Enanche '.' for plugins
vim-rsi # Readline mappings
vim-surround # Deal with pairs
vim-unimpaired # Some ex command mappings
vim-vinegar # Better netrw
# Languages
rust-vim
vim-beancount
vim-jsonnet
vim-nix
vim-pandoc
vim-pandoc-syntax
vim-toml
# General enhancements
fastfold # Better folding
vim-qf # Better quick-fix list
# Other wrappers
fzfWrapper # The vim plugin inside the 'fzf' package
fzf-vim # Fuzzy commands
git-messenger-vim # A simple blame window
# LSP and linting
ale # Asynchronous Linting Engine
lightline-ale # Status bar integration
];
extraConfig = builtins.readFile ./init.vim;
};
config.xdg.configFile = lib.mkIf cfg.enable configFiles;
}

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 LaTeX filetype for TikZ files
au BufNewFile,BufRead *.tikz setfiletype tex

View file

@ -1,5 +0,0 @@
" A few useful sets of abbreviations
" A few things that are hard to write in ASCII
abbreviate (R) ©
abbreviate (TM)

View file

@ -1,6 +0,0 @@
" Map leader to space (needs the noremap trick to avoid moving the cursor)
nnoremap <Space> <Nop>
let mapleader=" "
" Map localleader to '!' (if I want to filter text, I use visual mode)
let maplocalleader="!"

View file

@ -1,13 +0,0 @@
" Idea for toggling taken from jeffkreeftmeijer
" Show line numbers
set number
augroup numbertoggle
autocmd!
" Toggle numbers between relative and absolute when changing buffers
autocmd BufEnter,FocusGained,InsertLeave,WinEnter * if &nu | set rnu | endif
autocmd BufLeave,FocusLost,InsertEnter,WinLeave * if &nu | set nornu | endif
" Disable line numbers and relative line numbers in terminal
autocmd TermOpen * setlocal nonu nornu
augroup END

View file

@ -1,24 +0,0 @@
" Always display the sign column to avoid moving the buffer all the time
let g:ale_sign_column_always=1
" Change the way ALE display messages
let g:ale_echo_msg_info_str='I'
let g:ale_echo_msg_warning_str='W'
let g:ale_echo_msg_error_str='E'
" The message displayed in the command line area
let g:ale_echo_msg_format='[%linter%][%severity%]%(code):% %s'
" The message displayed in the location list
let g:ale_loclist_msg_format='[%linter%]%(code):% %s'
" Don't lint every time I change the buffer
let g:ale_lint_on_text_changed=0
" Don't lint on leaving insert mode
let g:ale_lint_on_insert_leave=0
" Don't lint on entering a buffer
let g:ale_lint_on_enter=0
" Do lint on save
let g:ale_lint_on_save=1
" Lint on changing the filetype
let g:ale_lint_on_filetype_changed=1

View file

@ -1,5 +0,0 @@
" Intercept all fold commands
let g:fastfold_fold_command_suffixes=[
\ 'x', 'X', 'a', 'A', 'o', 'O', 'c', 'C',
\ 'r', 'R', 'm', 'M', 'i', 'n', 'N'
\ ]

View file

@ -1,8 +0,0 @@
" Use a floating window when availble
if has('nvim-0.4.0') || has("patch-8.2.0191")
let g:fzf_layout = { 'window': {
\ 'width': 0.9,
\ 'height': 0.7,
\ 'highlight': 'Comment',
\ 'rounded': v:false } }
endif

View file

@ -1,5 +0,0 @@
" Use the high-contrast theme
let g:gruvbox_contrast_dark='hard'
" Enable italics because urxvt supports them
let g:gruvbox_italic=1

View file

@ -1,81 +0,0 @@
" Initialise light-line setting structure
let g:lightline={}
" Use the wombat colorscheme
let g:lightline.colorscheme='onedark'
" Status-line for active buffer
let g:lightline.active={
\ 'left': [
\ [ 'mode', 'paste' ],
\ [ 'gitbranch', 'readonly', 'filename', 'modified' ],
\ [ 'spell' ],
\ ],
\ 'right': [
\ [ 'lineinfo' ],
\ [ 'percent' ],
\ [ 'fileformat', 'fileencoding', 'filetype' ],
\ [ 'linter_check', 'linter_errors', 'linter_warn', 'linter_ok' ],
\ [ 'ctags_status' ],
\ ]
\ }
" Status-line for inactive buffer
let g:lightline.inactive={
\ 'left': [
\ [ 'filename' ],
\ ],
\ 'right': [
\ [ 'lineinfo' ],
\ [ 'percent' ],
\ ],
\ }
" Which component should be written using which function
let g:lightline.component_function={
\ 'readonly': 'LightlineReadonly',
\ 'modified': 'LightlineModified',
\ 'gitbranch': 'LightlineFugitive',
\ }
" Which component can be expanded by using which function
let g:lightline.component_expand={
\ 'linter_check': 'lightline#ale#checking',
\ 'linter_warn': 'lightline#ale#warnings',
\ 'linter_errors': 'lightline#ale#errors',
\ 'linter_ok': 'lightline#ale#ok',
\ }
" How to color custom components
let g:lightline.component_type={
\ 'readonly': 'error',
\ 'linter_checking': 'left',
\ 'linter_warn': 'warning',
\ 'linter_errors': 'error',
\ 'linter_ok': 'left',
\ }
" Show pretty icons instead of text for linting status
let g:lightline#ale#indicator_checking='⏳'
let g:lightline#ale#indicator_warnings='◆'
let g:lightline#ale#indicator_errors='✗'
let g:lightline#ale#indicator_ok='✓'
" Show a lock icon when editing a read-only file when it makes sense
function! LightlineReadonly()
return &ft!~?'help\|vimfiler\|netrw' && &readonly ? '' : ''
endfunction
" Show a '+' when the buffer is modified, '-' if not, when it makes sense
function! LightlineModified()
return &ft=~'help\|vimfiler\|netrw' ? '' : &modified ? '+' : &modifiable ? '' : '-'
endfunction
" Show branch name with nice icon in status line, when it makes sense
function! LightlineFugitive()
if &ft!~?'help\|vimfiler\|netrw' && exists('*fugitive#head')
let branch=fugitive#head()
return branch!=#'' ? ' '.branch : ''
endif
return ''
endfunction

View file

@ -1,20 +0,0 @@
" Which code-block languages should I expect to be high-lighted.
let g:pandoc#syntax#codeblocks#embeds#langs=[
\ "bash=sh",
\ "c",
\ "cpp",
\ "go",
\ "haskell",
\ "python",
\ "rust",
\ "sh",
\ "vim",
\ "yaml",
\ "tex",
\ "toml",
\ "perl",
\ "json",
\ "latex=tex",
\ "make",
\ "makefile=make",
\ ]

View file

@ -1,8 +0,0 @@
augroup signtoggle
autocmd!
" Only show the sign column for the current focused buffer
autocmd BufEnter,FocusGained,WinEnter * set signcolumn=yes
autocmd BufLeave,FocusLost,WinLeave * set signcolumn=no
" Disable the sign column in terminal
autocmd TermOpen * setlocal signcolumn=no
augroup END

View file

@ -1,79 +0,0 @@
{ config, pkgs, lib, ... }:
let
cfg = config.my.home.zsh;
in
{
options.my.home.zsh = with lib.my; {
enable = mkDisableOption "zsh configuration";
};
config.programs.zsh = lib.mkIf cfg.enable {
enable = true;
dotDir = ".config/zsh"; # Don't clutter $HOME
enableCompletion = true;
history = {
size = 50000;
ignoreSpace = true;
ignoreDups = true;
share = true;
path = "${config.xdg.dataHome}/zsh/zsh_history";
};
plugins = with pkgs; [
{
name = "fast-syntax-highlighting";
src = fetchFromGitHub {
owner = "zdharma";
repo = "fast-syntax-highlighting";
rev = "v1.55";
sha256 = "sha256-DWVFBoICroKaKgByLmDEo4O+xo6eA8YO792g8t8R7kA=";
};
}
{
name = "agkozak-zsh-prompt";
src = fetchFromGitHub {
owner = "agkozak";
repo = "agkozak-zsh-prompt";
rev = "v3.9.0";
sha256 = "sha256-VTRL+8ph2eI7iPht15epkLggAgtLGxB3DORFTW5GrhE=";
};
}
];
# Modal editing is life, but CLI benefits from emacs gymnastics
defaultKeymap = "emacs";
initExtra = lib.concatMapStrings builtins.readFile [
./completion-styles.zsh
./extra-mappings.zsh
./options.zsh
];
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;
};
shellAliases = {
# Sometime `gpg-agent` errors out...
reset-agent = "gpg-connect-agent updatestartuptty /bye";
};
};
# Fuzzy-wuzzy
config.programs.fzf = lib.mkIf cfg.enable {
enable = true;
enableZshIntegration = true;
};
config.programs.dircolors = lib.mkIf cfg.enable {
enable = true;
};
}

View file

@ -1,14 +0,0 @@
# Fix delete key not working
bindkey "\e[3~" delete-char
# Fix Ctrl+u killing from the cursor instead of the whole line
bindkey \^U backward-kill-line
# Use Ctrl+x-(Ctrl+)e to edit the current command line in VISUAL/EDITOR
autoload -U edit-command-line
zle -N edit-command-line
bindkey '^xe' edit-command-line
bindkey '^x^e' edit-command-line
# Enable Shift-Tab to go backwards in completion list
bindkey '^[[Z' reverse-menu-complete

View file

@ -1,12 +0,0 @@
# Show an error when a globbing expansion doesn't find any match
setopt nomatch
# List on ambiguous completion and Insert first match immediately
setopt autolist menucomplete
# Use pushd when cd-ing around
setopt autopushd pushdminus pushdsilent
# Use single quotes in string without the weird escape tricks
setopt rcquotes
# Single word commands can resume an existing job
setopt autoresume
# Those options aren't wanted
unsetopt beep extendedglob notify

View file

@ -0,0 +1,5 @@
# Default home-manager configuration
{ ... }:
{
# Default configuration, nothing to do
}

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

@ -0,0 +1,32 @@
{ ... }:
{
boot = {
loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
initrd = {
availableKernelModules = [
"nvme"
"sd_mod"
"sdhci_pci"
"usb_storage"
"usbhid"
"xhci_pci"
];
kernelModules = [
"dm-snapshot"
];
luks.devices.crypt = {
device = "/dev/nvme0n1p1";
preLVM = true;
};
};
kernelModules = [
"kvm-intel"
];
extraModulePackages = [ ];
};
}

View file

@ -1,18 +1,26 @@
# Porthos self-hosted server
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{ ... }:
{
imports = [
# Include generic settings
./modules
# Include porthos-specific modules
./machines/porthos
# Include my secrets
./boot.nix
./hardware.nix
./home.nix
./networking.nix
./profiles.nix
./programs.nix
./secrets
# Include my services
./services
./services.nix
./sound.nix
./system.nix
];
# Set your time zone.
time.timeZone = "Europe/London";
# 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

View file

@ -0,0 +1,46 @@
{ lib, modulesPath, ... }:
{
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
fileSystems = {
"/" = {
device = "/dev/disk/by-label/nixos";
fsType = "ext4";
};
"/boot" = {
device = "/dev/disk/by-label/boot";
fsType = "vfat";
};
};
swapDevices = [
{ device = "/dev/disk/by-label/swap"; }
];
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
my.hardware = {
firmware = {
cpuFlavor = "intel";
};
graphics = {
enable = true;
gpuFlavor = "intel";
};
};
hardware = {
trackpoint = {
enable = true;
emulateWheel = true; # Holding middle buttons allows scrolling
device = "TPPS/2 Elan TrackPoint"; # Use the correct device name
};
};
}

View file

@ -0,0 +1,34 @@
{ 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
feh.enable = true;
# Firefo profile and extensions
firefox.enable = true;
# Blue light filter
gammastep.enable = true;
# Use a small popup to enter passwords
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
transgui # Transmission remote
];
# Minimal video player
mpv.enable = true;
# Network-Manager applet
nm-applet.enable = true;
# Terminal
terminal.program = "alacritty";
# Zathura document viewer
zathura.enable = true;
};
}

53
hosts/nixos/aramis/install.sh Executable file
View file

@ -0,0 +1,53 @@
#!/bin/sh
set -eu
if [ "$(id -u)" -ne 0 ]; then
echo "This script must be run as root" >&2
exit 1
fi
SWAP_SIZE=16GiB
parted /dev/nvme0n1 --script -- \
mklabel gpt \
mkpart primary 512MiB 100% \
mkpart ESP fat32 1MiB 512MiB \
set 2 esp on
cryptsetup luksFormat /dev/nvme0n1p1
cryptsetup open /dev/nvme0n1p1 crypt
pvcreate /dev/mapper/crypt
vgcreate lvm /dev/mapper/crypt
lvcreate -L "$SWAP_SIZE" -n swap lvm
lvcreate -l 100%FREE -n root lvm
mkfs.ext4 -L nixos /dev/lvm/root
mkswap -L swap /dev/lvm/swap
mkfs.vfat -n boot /dev/nvme0n1p2
mount /dev/disk/by-label/nixos /mnt
mkdir /mnt/boot
mount /dev/nvme0n1p2 /mnt/boot
swapon /dev/lvm/swap
cat << EOF
# Run the following commands as setup user
nixos-generate-config --root /mnt
# Change uuids to labels
vim /mnt/etc/nixos/hardware-configuration.nix
# Install system
mkdir -p /mnt/home/ambroisie/git/nix/config
cd /mnt/home/ambroisie/git/nix/config
git clone <this-repo> .
# Assuming you set up GPG key correctly
git crypt unlock
# Setup LUKS with 'boot.initrd.luks.devices.crypt', device is /dev/nvme0n1p1, preLVM = true
# Use 'nixos-install --flake .#aramis --root /mnt --impure' because of home-manager issue
EOF

View file

@ -0,0 +1,19 @@
{ ... }:
{
networking = {
hostName = "aramis";
# 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;
};
my.hardware.networking = {
# Which interface is used to connect to the internet
externalInterface = "enp0s3";
# Enable WiFi integration
wireless.enable = true;
};
}

View file

@ -0,0 +1,17 @@
{ ... }:
{
my.profiles = {
# Bluetooth configuration and GUI
bluetooth.enable = true;
# Mouse and keyboard configuration
devices.enable = true;
# GTK theme configuration
gtk.enable = true;
# Laptop specific configuration
laptop.enable = true;
# i3 configuration
wm.windowManager = "i3";
# X configuration
x.enable = true;
};
}

View file

@ -0,0 +1,7 @@
{ ... }:
{
my.programs = {
# Steam configuration
steam.enable = true;
};
}

View file

@ -0,0 +1,25 @@
{ config, lib, ... }:
{
config.age = {
secrets =
let
toName = lib.removeSuffix ".age";
userExists = u: builtins.hasAttr u config.users.users;
# Only set the user if it exists, to avoid warnings
userIfExists = u: if userExists u then u else "root";
toSecret = name: { owner ? "root", ... }: {
file = ./. + "/${name}";
owner = lib.mkDefault (userIfExists owner);
};
convertSecrets = n: v: lib.nameValuePair (toName n) (toSecret n v);
secrets = import ./secrets.nix;
in
lib.mapAttrs' convertSecrets secrets;
identityPaths = [
# Due to being a laptop, this host does not itself have any SSH keys
"/home/ambroisie/.ssh/agenix"
];
};
}

View file

@ -0,0 +1,13 @@
# Host-specific secrets
let
keys = import ../../../../keys;
all = [
# This host is a laptop, it does not have a host key
# Allow me to modify the secrets anywhere
keys.users.ambroisie
];
in
{
"wireguard/private-key.age".publicKeys = all;
}

Binary file not shown.

View file

@ -0,0 +1,8 @@
{ ... }:
{
config.my.services = {
wireguard = {
enable = true;
};
};
}

View file

@ -0,0 +1,8 @@
{ ... }:
{
my.hardware.sound = {
pipewire = {
enable = true;
};
};
}

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

@ -0,0 +1,21 @@
# Boot configuration
{ ... }:
{
boot = {
# Use the systemd-boot EFI boot loader.
loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
initrd = {
availableKernelModules = [ "ahci" "xhci_pci" "ehci_pci" "usbhid" "sd_mod" ];
kernelModules = [ "dm-snapshot" ];
};
kernelModules = [ "kvm-intel" ];
extraModulePackages = [ ];
};
}

View file

@ -0,0 +1,20 @@
# Porthos specific settings
{ ... }:
{
imports = [
./boot.nix
./hardware.nix
./home.nix
./networking.nix
./secrets
./services.nix
./system.nix
./users.nix
];
# Set your time zone.
time.timeZone = "Europe/Paris";
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

@ -0,0 +1,20 @@
{ ... }:
{
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
@ -46,10 +57,13 @@ vim /mnt/etc/nixos/hardware-configuration.nix
mkdir -p /mnt/home/ambroisie/git/nix/config
cd /mnt/home/ambroisie/git/nix/config
nix-env -iA nixos.git nixos.nixFlakes nixos.git-crypt
nix-env -iA nixos.git nixos.nix nixos.git-crypt
git clone <this-repo> .
# Assuming you set up GPG key correctly
git crypt unlock
nixos-install --root /mnt --flake '.#<hostname>'
EOF
# shellcheck disable=2117
su setupuser

View file

@ -0,0 +1,22 @@
# Networking configuration
{ ... }:
{
networking = {
hostName = "porthos"; # Define your hostname.
domain = "belanyi.fr"; # Define your domain.
# 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 = {
eno1.useDHCP = true;
eno2.useDHCP = true;
};
};
# Which interface is used to connect to the internet
my.hardware.networking.externalInterface = "eno1";
}

View file

@ -0,0 +1,8 @@
age-encryption.org/v1
-> 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

Binary file not shown.

View file

@ -0,0 +1,7 @@
age-encryption.org/v1
-> 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

@ -0,0 +1,20 @@
{ config, lib, ... }:
{
config.age = {
secrets =
let
toName = lib.removeSuffix ".age";
userExists = u: builtins.hasAttr u config.users.users;
# Only set the user if it exists, to avoid warnings
userIfExists = u: if userExists u then u else "root";
toSecret = name: { owner ? "root", ... }: {
file = ./. + "/${name}";
owner = lib.mkDefault (userIfExists owner);
};
convertSecrets = n: v: lib.nameValuePair (toName n) (toSecret n v);
secrets = import ./secrets.nix;
in
lib.mapAttrs' convertSecrets secrets;
};
}

Binary file not shown.

View file

@ -0,0 +1,7 @@
age-encryption.org/v1
-> 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>

Binary file not shown.

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ô

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