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
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
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
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
4e3733178e
feat(packages)!: add support for dream2nix
...
Also convert `sdcv` to use `dream2nix`
2024-08-02 10:31:26 +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
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
91f0deb3bc
feat(flake)!: *dogfood* on all flake modules
...
Export all `./nix/` flake modules
Modularize `configurations` on `machines` dir
Also move `toposort` images to a single attrset binding
2024-07-25 01:25:21 +03:00
c6432c7dab
feat(modules)!: modularize over machines
dir
2024-07-25 00:45:23 +03:00
af91b1e76d
fix!: make all nixosConfigurations
build
...
Specifically `homix`
- remove manual `home-manager` module definition
Import `(r)agenix` and `agenix-rekey` by default for all `NixOS` configurations
Move `machines.nix` flake module import to `configuration.nix` from `flake.nix`
2024-07-21 16:46:12 +03:00
2b167c5406
feat(topology): add some modules
...
Make a `removebg` script, leveraging `imagemagick`
2024-07-21 12:05:14 +03:00
e3b1539b41
refactor(flake)!: deduplicate code in configurations
flake module
...
Pass around `perSystem`'s `pkgs` instances to the system configurations
Some more refactoring in `configurations`' `mkHost` functions
Also start using `home-manager`'s `useGlobalPkgs` option
Also use `mkShellNoCC` for default `devShell`
Also `nix flake update`
2024-07-20 14:30:25 +03:00
eeae48b5d8
refactor(flake): extract more stuff in flake modules
...
`pkgs` redefinition (with overlays)
`nix-topology` setup
`agenix-rekey` setup
2024-07-19 12:35:01 +03:00
b4e7901780
feat(topology): add support
...
Using `flake-parts` flake module
Import `nix-topology` `NixOS` module by default
2024-07-19 02:24:20 +03:00
75ab40c7ca
feat(flake)!: convert everything to flake-parts
-style flake modules
...
Use `agenix-rekey` flake module
Add `NixOS` module for `agenix-rekey`
- Default `masterIdentities`
- Default `localStorageDir`
2024-07-19 01:14:24 +03:00
1c809e1460
fix(nix-monitored)!: put in nixVersions.monitored
...
Also fix `devShell`
- did not correctly use the `monitored` version of `nix`
Also apply the overlays to the `pkgs` instance, used by `flake-parts`
2024-06-01 16:07:36 +03:00
6e713090c3
chore!: spring cleaning
...
Make `nix-darwin` follow flake's version `nixpkgs`
`neovim-nighlty-overlay` - `.overlay` -> `.overlays.default`
`nixVersions` - `stable` -> `latest`
Check `${SHLVL}` before reloading `nix-daemon.sh` (shadows `nix shell`s)
`fetchFromGitHub` - `sha256` -> `hash`
Create `-monitored` packages only for valid `nixVersions`
2024-05-26 12:46:52 +03:00
752f4ea454
feat(flake)!: update
...
Fix `nixUnstable` -> `nixVersions.latest` (including `*-limited` overlay)
Remove `repl-flake` nix experimental feature (removed as of `2.22.0`)
Remove references to `rnix-lsp` (deprecated)
2024-05-04 22:47:27 +03:00
4243269b05
feat(flake)!: add jovian-nixos
...
Currently not used (yet)
Also update `flake.lock`
2024-01-21 23:46:27 +02:00
65ecbc44a6
chore(flake): add TODO
for agenix-shell
2024-01-21 23:45:35 +02:00
d9a01b42ae
chore(flake): override flake-parts
nixpkgs-lib
...
Now follows `nixpkgs`
2024-01-09 00:55:46 +02:00
e832c6558a
feat(flake): start using flake-parts
...
Deprecate `util`'s `forEachSystem` and `forEachPkgs`
Use `flake-parts`'s `mkFlake`
Export `flakeModules`
2023-12-31 19:00:18 +02:00
581b1d9a8d
feat(flake): import impermanence
and lib-net
...
Not used yet
2023-12-26 01:19:39 +02:00
b8eee7ef35
feat(agenix): switch to ragenix
2023-12-26 01:16:47 +02:00
ac66ed6530
feat(nix): use nix-monitored
...
Automatically pipes all nix output through `nix-output-monitor`
Deprecates the manual pipe in the `rebuild` script
2023-12-25 18:51:44 +02:00
8feb5245ea
feat(agenix-rekey)!: first try
...
Cannot `agenix rekey` / `deploy`
`agenix rekey` rekeys separate keys successfully but canot build the derivation that contains them
2023-12-25 18:47:17 +02:00
ca1e0b0c1b
feat(spotify): add spicetify-nix
...
Currenly not used (no support for `nix-darw`)
2023-11-17 17:44:05 +02:00
01240450d2
fix(macos): trampoline apps
2023-11-17 15:58:59 +02:00
8f17e5849a
feat(jeeves)!: add config
...
Automatic disk partitioning using `disko`
Automatic secrets management using `agenix`
Automatic deployment using `deploy-rs`
2023-10-17 09:12:09 +03:00
a0494b4d61
feat(nix): compat default.nix
&& shell.nix
2023-09-06 20:48:11 +03:00
2fea5ded7b
feat(deploy-rs): initial
...
Automatic `deploy-rs` node configs for `nixos` configuration using a local `deploy.nix` file
TODO: pass arguments to `deploy.nix`
TODO: extract `${system}` from `nixosConfigurations`
2023-07-29 18:14:04 +03:00
bc81e59950
feat(flake)!: common home-manager
settings
...
Automatically add the flake's overlays to `home-manager`'s `nixpkgs.overlays`
Split up `reo101-shell`
Upgdate `cheetah` to `23.05`
Some formatting
2023-07-26 08:44:02 +03:00
beff7ad8a4
chore(flake): format
2023-07-25 10:29:36 +03:00
1a9f986980
feat(flake)!: more inputs.*.follows
2023-07-13 14:33:01 +03:00
46f6f90a0c
chore!(util): clean up
...
Fix `hasDirectories`
Correctly detect `autoDarwinConfigurations` (did not check for `home`)
Decrease usage of `with`
Depend more on `lib` functions over custom implementations
Reindent correctly some code
2023-04-23 02:39:34 +03:00
c5c43e9fc5
feat!(limontozu): add config
2023-04-17 12:05:13 +03:00
cc58835189
chore!(homix): update nixpkgs
...
Also rename `lib` to `util` to avoid confusion
2023-04-15 18:09:55 +03:00
3f2d0cca1d
feat(templates): inherit inputs
& outputs
2023-03-23 08:20:17 +02:00
d323092582
feat(flake): add nur
to inputs
2023-03-23 08:18:04 +02:00
e86d916ae8
feat(homix): update configuration
...
Extract `river` configuration into a `home-manager` module
Fix `xkb` configuration
Unpin `neovim-nightly-overlay`:
- https://github.com/nix-community/neovim-nightly-overlay/pull/166
- https://github.com/nix-community/neovim-nightly-overlay/pull/167
2023-03-13 18:18:03 +02:00
03a3c474f5
feat(flake): add apps
2023-02-19 13:54:02 +02:00
6fe404083b
feat(flake): add nix-{colors,hardware}
2023-02-17 02:44:16 +02:00
10b3f3da0f
feat(devShells): move to separate directory
2023-02-17 02:43:18 +02:00
e061bf4db9
chore(helpers): clean up
2023-02-17 02:42:11 +02:00
5cf9fcd62e
feat(flake): clean up
...
Move helpers to `./helpers.nix`
2023-02-14 12:37:46 +02:00
df9ce2d4e2
feat!(flake): update homix
...
Update flake (`neovim-nightly-overlay` is fixed)
Format all `.nix` files
Unify package/module argument order:
- `inputs`, `outputs`, `lib`, `pkgs`, `config`, ...
Move Jellyfin config to a `NixOS` module (first one, yay)
Add `direnv` to `reo101-shell` modules (was used, but not defined as wanted)
- TODO: make it optional (module config options)
2023-02-13 00:33:57 +02:00
6a0898753d
fix(cicd): ssh option names, inherit (nixpkgs) lib
2023-02-12 11:38:17 +02:00