Commit graph

88 commits

Author SHA1 Message Date
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
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
eb53390b5a
chore(topology): inherit indentation 2024-09-01 17:41:59 +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
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
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
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
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
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
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
719b12e431
fix(configuration-types)!: consolidate names with upstream
`nixDarwin{Machines,Modules}` -> `darwin{Machines,Modules}`
2024-07-25 12:21:59 +03:00
bdeb0ae13b
feat(nix-on-droid): enanle android integration
Most notably: `am`, `termux-open`/`xdg-open`
2024-07-25 02:08:32 +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
5590ef9cdc
feat(shell)!: update zsh plugins 2024-07-21 18:04:41 +03:00
3801e9bf62
feat(nu)!: update config for nushell 0.95.0 2024-07-21 18:04:00 +03:00
b467917c95
feat(wezterm): disable bell 2024-07-21 17:47:55 +03:00
b1131e7067
fix(yabai): narrow down external_bar 2024-07-21 17:43:58 +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
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
6e0c2adc1c
feat(home-manager): add scm module
For `git` and `jujutsu`
2024-07-19 01:40:36 +03:00
b8f75023b2
fix(agenix-rekey-default)!: use lib.mkDefault 2024-07-19 01:36:32 +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
0b71023f81
feat(yabai)!: add JankyBorders 2024-06-03 19:09:35 +03:00
65b3a48cf2
feat(shell): enable GnuPG shell integration 2024-06-01 16:11:37 +03:00
be2ad3ccfd
fix(homebrew)!: do not reinstall on activation
`/usr/local/bin/brew` was the path for `x86_64-darwin`
`aarch64-darwin` uses `/opt/homebrew/bin/brew`
Use `${config.homebrew.brewPrefix}` to support both
See <c0d5b8c54d/modules/homebrew.nix (L561)>
2024-06-01 14:44:07 +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
ff04252a67
feat(darwin)!: update config
Add `nix` initialization script to shell's `extraConfig`
  - fixes `nix` when updating MacOS
Add `flameshot` to `brew` packages
Fix tilde (`~`) remapping
  - mysteriously switched after a restart, needed to swap
Add (noncompiling) `borders` (`JankyBorders`) config
Add `TODO` to `sketchybar` config
2024-05-11 22:57:00 +03:00
a73cd43bbf
feat(wezterm): update wezterm.fnl
Realign
Use more macros
2024-05-04 22:50:49 +03:00
ee98e1582c
feat(jeeves)!: spring updating
More `wireguard` peers
`nano` -> `neovim` for default available editor
`samba` better names + symlink support
More `opengl` packages for `Jellyfin`
Add `home-assistant` (no config yet)
2024-03-17 23:47:18 +02:00
36e14ad3f6
style: format with nix fmt
Currently uses `nixpkgs-fmt`
2024-01-25 17:39:43 +02:00
7cd310e385
chore(nushell): disable metric filesize format 2024-01-21 23:45:03 +02:00
c57ddea18b
feat(nix-darwin): add setbg script
Sets the background of all spaces on all displays/desktops to an image (passed as a command-line argument) preserving the focused spaces and window after running
Depends on `yabai` (>`System Integrity Protection must be partially disabled.`) and `jq`
Written in `applescript`
2024-01-21 22:14:04 +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
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
e440b6e2c5
chore(shell): add TODO comment 2023-12-08 01:19:37 +02:00
e3524e4777
feat(nixos): add mindustry module
Also enable it for `jeeves`
2023-12-08 01:14:08 +02:00