Commit graph

54 commits

Author SHA1 Message Date
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
b57b4c82ca fix(flake): pin neovim-nightly
Currently breaks on `master`
2023-02-07 04:03:03 +02:00
897c101328 feat(nix-on-droid & home-manager): update to 22.11 2022-12-04 21:58:32 +02:00
e8e005029d chore(flake): rename lib -> helpers
Prevents name clashing with `nixpkgs.lib`
2022-11-28 00:08:48 +02:00
177babd497 feat(flake): append missing modules
Append missing modules for `nixos` and `home-manager` configs
2022-11-27 23:57:21 +02:00
9a9524a71e feat(flake): refactor configuration definitions
Now a bunch of configurations may be created from two functions and a set:
    `pred` - a validator that says whether a configuration is valid
    `mkHost` - a generator for that system's configuration
    `machines` - a nested attrset containing all the info for the machines
2022-11-27 15:18:40 +02:00
f510679c2f spell(nix-darwin): nix-on-darwin -> nix-darwin 2022-11-27 02:19:57 +02:00
dd2391d905 feat!(flake): convert to fs-defined configurations
Place all configurations in `machines/${manager}/${system}/${hostname}/...`:
    - `${manager}` - One of `nixos`, `nix-on-droid`, `nix-darwin` or `home-manager`
    - `${system}` - A system's architecture (can be many)
    - `${hostname}` - A system's hostname (can be many)

The flake now automatically generates the needed configurations based on the above structure.

It only generates configurations for valid directory structures:
    - It wouldn't generate a NixOS config if there isn't a `configuration.nix` file
    - ...
2022-11-27 02:12:21 +02:00
2063e04dc2 chore(flake.nix): format 2022-11-25 14:53:13 +02:00
96305f635e feat(darwin): enable home-manager support
Add `home-manager` config for `apavel`
Add some `configuration.nix` options for `apavel-a01`:
    - `FiraCode` nerdfont
    - Basic keyboard config
    - TouchID for `sudo`
2022-11-25 14:51:29 +02:00
80a2881952 fix(nix-dawrin): name typo 2022-11-24 02:14:51 +02:00
850280f483 feat(nix-darwin): add config for apavel-a01 2022-11-22 23:36:10 +02:00