Commit graph

262 commits

Author SHA1 Message Date
21bcbdb893
style(jeeves): improve nix usage in ollama and wireguard modules
- Update `OLLAMA_API_BASE_URL` to use the port from `config.services.ollama.port` in `ollama` module
- Replace direct calls to `wg` command with `lib.getExe'` to in `wireguard` module
2024-09-15 16:00:10 +03:00
2b8287dca8
chore(jeeves)!: update samba config
Now (as of last `nix flake update`) using more structured `Nix`
2024-09-15 15:43:09 +03:00
93717bf1a9
feat(jeeves): add anki-sync-server module 2024-09-15 15:42:51 +03:00
36ad62c101
feat(flake)!: add lix
Set as `nix.package` for `limonka` and default `devShell`
Also update `flake.lock`
2024-09-15 15:28:21 +03:00
b35e6362a0
feat(packages): add fennel and fennel-ls
Built using `dream2nix`, based on my (reo101) forks of both projects
2024-09-15 15:10:30 +03:00
ee8d85a568
fix(flake)!: correctly set agenix-rekey hostPubkey
- `meta ? pubkey` was valid before going with the modules strategy
- Now `pubkey` is always defined and set to `null` by default
2024-09-08 17:47:29 +03:00
52d28e5001
feat(flake)!: move agenix-rekey module to auto.configurations 2024-09-08 16:50:29 +03:00
10a013d6a6
feat(darwin)!: rewrite sketchybar config
- Now written in `Clojure`, using `Babashka`
  Checked with `clj-kondo`
- Add TODO for module upstreaming
  (of allowing file or script for `config`)
- Set `yabai` `window_border_radius` to `0`
- Fix ` battery` script (`grep` does not do `\d`)
2024-09-08 16:49:49 +03:00
31f9e7dbef
style(flake)!: manually import lib flake module
- Also make `lib` an `internal` option
- Unify let blocks and move them under `imports`
  (makes it clear where `config.lib` comes from)
- Fix a minor typo
2024-09-07 20:51:57 +03:00
1baef9b78c
chore(flake)!: update flake.lock 2024-09-06 00:19:32 +03:00
137cab1aed
refactor(flake)!: use the module system for configurations' meta.nix
- Move over `auto.confirmations.confirmations`' default value to a
  separate module (clearing out the associated `TODO`)
- Create a module type for the `meta` of each `configurationType`,
  which streamlines the definition and checking thereof
- Pass `meta` instead of just `host` to `predicate`, `mkHost` and
  `mkDeployNode`
- Move the `host != "__template__"` logic inside the default value for
  `meta`'s `enable` option, leaving it (`enable`) as the main filtering
  factor in the `configurations`' `predicate`s
- Combine `auto.configurations.result{Configurations,DeployNodes}` into
          `auto.configurations.result.{configurations,deployNodes}`
2024-09-05 23:37:49 +03:00
9c709598d1
feat(secrets): declare agenix-rekey hostPubkey in meta 2024-09-02 21:52:40 +03:00
6e88fae58b
chore(flake): update flake.lock 2024-09-01 18:08:02 +03:00
eb53390b5a
chore(topology): inherit indentation 2024-09-01 17:41:59 +03:00
eddd9be861
feat(jeeves)!: re-enable ollama and expose it through nginx 2024-09-01 17:40:36 +03:00
479c86c003
feat(configurations): add enable to meta
Disable old `darwin` configurations (`apavel-a01` and `limontozu`)
2024-09-01 17:36:20 +03:00
2c7ba766fe
chore(flake): update flake.lock 2024-09-01 05:00:51 +03:00
1d9d1697a9
feat(jeeves): enable podman 2024-09-01 04:33:50 +03:00
df4e037373
feat(scm): add some jj revset aliases 2024-09-01 04:32:00 +03:00
7956cfd20a
refactor(flake)!: flake.autoStuff -> auto.stuff
Avoids infinite recursion in `auto.configurations` and `auto.modules`
Can now fully dynamically define `configuration` and `module` types
2024-09-01 04:29:32 +03:00
ea47ccd981
chore(flake)!: update flake.lock 2024-08-27 23:37:11 +03:00
b4eb1ed96d
fix(pngpaste)!: only enable for host && target aarch64-darwin
Does not build for `x86_64-darwin`
2024-08-27 23:33:36 +03:00
26e58b8f24
chore(topology): cleanup
`cheetah` name typo
explicit use of `builtins`
(also added `-monitor` to `magick` but it does not seem to help much)
2024-08-27 23:32:42 +03:00
1f376114f9
feat(jeeves)!: use sudo-rs 2024-08-27 23:32:22 +03:00
655bf048de
feat(jeeves): add paperless module 2024-08-27 23:31:43 +03:00
9b8f894a1a
feat(configurations)!: flatten down, introduce meta.nix
Flatten down directory structure:
- From: `./hosts/${configuration-type}/${system}/{configuration,deploy}.nix`
-   To: `./hosts/${configuration-type}/{meta,configuration}.nix`
Keep `system` and `deploy-rs` config in `meta.nix`
Update `flake.lock`
2024-08-13 15:59:45 +03:00
29738555b1
feat(shells)!: redefine in terms of createThings 2024-08-05 01:12:54 +03:00
5fa16c98ce
chore(packages): indentation 2024-08-04 03:12:58 +03:00
51e8fafec6
feat(overlays)!: redefine in terms of createThings 2024-08-04 03:10:58 +03:00
7cf980d913
feat(lib)!: add createThings
Redefine `createPackages` and `createModules` in terms of `createThings`
Move `lib` flake module to a subdirectory
2024-08-04 02:57:15 +03:00
cd148400bf
chore(flake): update flake.lock 2024-08-02 10:50:58 +03:00
c51bd2b583
fix(jeeves): wireguard IP forwarding
> trace: Systemd Network field `IPForward' has been removed. See IPv4Forwarding and IPv6Forwarding in systemd.network(5) and networkd.conf(5)
2024-08-02 10:41:18 +03:00
62196fbcd6
feat(README): mention automatic packages extraction 2024-08-02 10:38:37 +03:00
4e3733178e
feat(packages)!: add support for dream2nix
Also convert `sdcv` to use `dream2nix`
2024-08-02 10:31:26 +03:00
4f891220c1
feat(pkgs): add sdcv 2024-08-02 10:31:23 +03:00
db88731eba
refactor(flake): move flake modules into separate subdirectories
Also put `outputs` before `inputs` in `flake.nix` (readability)
2024-08-01 13:26:56 +03:00
236948cc2a
chore(flake): update flake.lock 2024-07-29 11:17:11 +03:00
a5811a42cb
fix(pngpaste): only compile when both host and target are darwin 2024-07-29 11:15:53 +03:00
c070f48d5e
refactor(utils)!: promote to a flake module
Accessible through `config.lib`
2024-07-29 02:11:32 +03:00
2941536b80
refactor(flake)!: export packages using a flake module
Also stop passing `outputs` around, prefer `inputs.self`
Also put all `auto_` in `readOnly` `internal` options
- `autoModules`, `autoConfigurations` and `autoPackages`
Do not export packages as overlay (causes an infinite recursion)
- this is documented on the two places it has effect on
-- in `./overlays/default.nix` and `./modules/flake/configurations.nix`
-- in `autoConfigurations` we manually extend `pkgs` with the flake packages
Allow packages to say what `systems` they are compatible with
- See `./pkgs/swww/systems.nix` - disabled for all systems
- See `./pkgs/pngpaste/systems.nix` - enabled only for `darwin` targets
2024-07-29 01:54:22 +03:00
e45db02cd5
chore(README): add more to # Structure and fix typo 2024-07-28 13:06:12 +03:00
343d49187e
chore(README): correct shell highlighting 2024-07-28 02:42:58 +03:00
e54c5faefe
feat(brew): add eloston-chromium and prismlauncher 2024-07-28 02:37:52 +03:00
8b0d2b1e51
fix(configurations)!: correctly set home-manager root 2024-07-28 02:36:34 +03:00
ec84d9a002
feat(README)!: update 2024-07-28 02:33:10 +03:00
f90ac47d91
feat(topology): add legacyPackages package for convenience
Can now also build with (1) instead of just (2)
- `nix build .#topology`
(from `legacyPackages`, hidden in `nix flake show`)
- `nix build .#topology.${system}.config.output`
(raw flake output)
2024-07-27 13:39:33 +03:00
c9b5210325
feat(configurations)!: {lib -> inputs.nixpkgs.lib}.nixosSystem 2024-07-27 13:14:58 +03:00
1b913fcf9b
chore(docs): update old filepath 2024-07-27 13:10:26 +03:00
a881c5d7e1
refactor(flake)!: machines -> hosts 2024-07-27 13:04:48 +03:00
703cd0264b
fix(swww)!: remove
Does not currently build
2024-07-25 13:45:31 +03:00