Commit graph

65 commits

Author SHA1 Message Date
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
0879b52630
feat!(flake): update homix
Add more & generalize flake outputs:
    - templates: just a `default.nix` (TODO: add a `Haskell` template)
    - packages & devShells: create and use `forEachPkgs`
Add more `Wayland` things for `homix`:
    - `swww` - custom package + custom systemd service (TODO: abstract away)
    - `wired` - from flake + `home-manager` module
Add default `imports` and `nixokgs.overlays` for `reo101@homix`
    -- TODO: don't handwire it, somehow *auto-import* from `mkNixosHost` in `flake.nix`
2023-02-12 01:54:27 +02:00
406fe35116 feat!(flake): add NixOS config for homix
Copy and impove `home-manager` module integration from `nix-on-darwin` for `nixos`
Add `homix` *server* with NVIDIA drivers, `wayland` + `river`, Jellyfin, etc.
2023-02-11 01:08:58 +02:00