Commit graph

84 commits

Author SHA1 Message Date
Pacman99 2f474e37f7 flake: update to latest digga api
allows overlays to also be used with `imports` and renames importHosts
2021-05-14 16:49:12 -07:00
Pacman99 923ce7feff tree: rename devlib -> digga 2021-05-14 10:20:02 -07:00
Pacman99 7793ab42da flake: update devlib input
includes nixos option improvements and importHosts change
2021-05-13 16:59:52 -07:00
Pacman99 67f545123c flake: format and update to devlib api changes 2021-05-12 12:31:43 -07:00
Pacman99 858e8546fe flake: update devlib input
includes ability to customize shell from template
2021-05-12 08:17:40 -07:00
Pacman99 a081a922a5 flake: update devlib input
drop ca experimental features and filterPackages improvements
2021-05-11 23:41:34 -07:00
Pacman99 8dabd0f569 switch to devlib repo and remove in-tree lib 2021-05-05 13:24:08 -07:00
Pacman99 b8f7cdbe63 improve home-manager and deploy-rs integration
move both to be setup in template
only set home-manager options if they exist
2021-05-03 19:20:41 -05:00
Pacman99 7bf605d08c lib/modules: pull devlib module arg from pkgs
So any overlays affecting devlib also affect the module argument
2021-05-02 21:05:21 -07:00
Pacman99 deb47dbfae move otherArguments to right side of merge
for overlay list ordering, otherArguments should have priority
2021-05-02 11:15:44 -07:00
Pacman99 197d792946 update to new lib format 2021-05-02 10:13:48 -07:00
Pacman99 e98e595704 pass builderArgs to config and extract builds
have mkHomeConfiguration create its own custom build within the function
create a externalModule for customBuilds so its easy to add more
2021-04-30 10:52:35 -07:00
Pacman99 23ee58d2d0 use __dontExport property for lib and overrides 2021-04-29 11:55:42 -07:00
Pacman99 a5dcb5fae9 fix flake by removing flake-compat follows 2021-04-27 18:41:51 -07:00
Pacman99 aa825b87a6 auto import hosts in flake.nix
this allows host-specific settings to be overriden with mkMerge
2021-04-27 10:26:45 -07:00
Pacman99 a7cd35e433 update lib subflake lock 2021-04-27 09:47:31 -07:00
Pacman99 466304c8cd improve passing host and channel arguments to fup
we need to filter out arguments that are added in the devos api
also anything thats null in either hostDefaults and hosts has to be
removed
2021-04-27 08:01:46 -07:00
Pacman99 a6344faa9a update fup to fix infinite recursion error 2021-04-26 19:30:55 -07:00
David Arnold c3d8805ad6 update devos template to use new api 2021-04-26 11:51:39 -07:00
Pacman99 3bb26330b4 switch to flake-utils-plus staging for rebase 2021-04-26 11:51:09 -07:00
Pacman99 377381de51 export pathsIn in lib and update devos input 2021-04-26 11:50:52 -07:00
Pacman99 2cab5b5d2b add and use lib.collectProfiles
this function collects profiles recursively
2021-04-25 20:53:16 -07:00
Pacman99 58c7d04036 extract iso/hm config modules to lib.modules 2021-04-24 14:44:32 -07:00
Pacman99 2d9ea0d27e lib: init modules and move mkHosts modules there
This helps to split up the code in mkHosts and creates a place where we
can store modules relevent to devos. It will also be easier to remove
unecessary parts of each module in the future when they are all
compartmentalized.
2021-04-24 14:44:16 -07:00
Pacman99 a53aa8b7eb lib: drop jobs output, prefer checks and packages
With mkFlakeDoc in packages there is no need for jobs. And I think
anything that could go in jobs really should go in checks or packages.
If something needs to be tested - checks, if something needs to be built
- packages. jobs is not multi-arch and is redundant to build/test
things with when official flake outputs exist
2021-04-24 13:08:33 -07:00
Pacman99 1cd4ed136a mkFlakeDoc: move to packages output
the packages output allows us to do `nix build .#nixosOptionsDoc`.
theres also already an instantiated nixpkgs available there.
2021-04-24 13:08:06 -07:00
Pacman99 eab0bf074c lib: one line for arguments, drop userFlake*
Also format all files and add a flake.lock for lib
for a folder thats meant to work on other flakes theres never a reason
it should need to refer to itself, only other flakes. So "self" and
"inputs" are better namings for these variables. The userFlake* is
redundant and confusing, when trying to call the functions its hard to
figure out how to use them when there are now two lines of arguments to
figure out.
2021-04-23 23:46:56 -07:00
David Arnold 239386b5f8
Merge branch 'core' into api-next 2021-04-19 00:10:47 -05:00
David Arnold a714cf466d
fix: various left-overs 2021-04-18 23:48:19 -05:00
David Arnold fb6c6ba4cf
fix: update devos in flake.lock 2021-04-18 19:16:07 -05:00
David Arnold 21a03fa94c fixup: nix flake check I / X 2021-04-18 19:11:26 -05:00
bors[bot] 5a3bae7be5
Merge #220
220: Drop flattenTreeSystem and use custom function for filtering packages r=nrdxp a=Pacman99

I don't think we should flatten the system because if a user doesn't make a package a derivation in pkgs/default.nix we should trust that there is a reason for doing so. So instead this drops the flattenTreeSystem reference(and switches to flake-utils master branch) and replaces its usage with a custom function `filterPackages`. This function filter all packages that match three conditions;
 - is a derivation
 - not broken
 - system is supported

In that order as to not cause errors when trying to reference non-derivation meta attributes.

And then also just dump *all* packages into legacy packages, so everything else is still accessible. I was considering removing the packages that are already in the packages output in legacyPackages, but I don't think its necessary since nix looks to the packages output first.

Co-authored-by: Pacman99 <pachum99@gmail.com>
2021-03-27 00:10:58 +00:00
Pacman99 58814fe741 flake: use filterPackages instead of flattenTreeSystem 2021-03-26 17:03:23 -07:00
Timothy DeHerrera b39bd973da
home-manager: update to fix sharedModules args
incooperate nix-community/home-manager#1880.
2021-03-25 23:46:58 -06:00
Pacman99 0e5aa6568e flake/home: release -> master 2021-03-23 09:43:37 -07:00
Timothy DeHerrera 44623b5979
nix: don't use nix flake
I originally wanted to use the nix flake to allow users to take
advantage of the latest changes. Just so happened that nixpkgs was
recently updated with a new version around the same time, and this
just adds complexity for no real gain.
2021-03-22 23:29:31 -06:00
Timothy DeHerrera 9537daee32
flake: nixos -> nixos-unstable
20.09 is getting stale as we move toward a new release so track
unstable for now.
2021-03-22 23:20:40 -06:00
Timothy DeHerrera d51cd34fb7
subflakes: make first class citizens
Subflakes should provide their wares as outputs, so wire up the pkgs
flake to reflect that.

Due to the unstable nature of flakes, updating the root flake doesn't
currently update the subflake lock file. Therefore, add additional
logic to flk update script in order to do this behind the scenes.

Nix is now pulled in from the "nix" registry flake in order for users
to take advantage of improvements to the UI since its last update in
nixpkgs.
2021-03-14 21:27:58 -06:00
Timothy DeHerrera 5bce44b1bd
flake.lock: update 2021-03-01 20:30:47 -07:00
Timothy DeHerrera e5ddc3127b
pkgs#flake: fix flake-compat support
https://github.com/edolstra/flake-compat/pull/18
2021-02-26 00:15:46 -07:00
Timothy DeHerrera 25180a5e6e
pkgs: use subflake to manage package sources
* Resolves #118
* Leverage flakes to manage package sources & hashes
* Update documentation with an example.
* Add `mkVersion` function to autogenerate a version string.
* Add srcs package via overlay containing all sources defined in
  _pkgs/flake.nix_
* Extend `flk update` with the ability to only update the given input
2021-02-26 00:15:45 -07:00
Timothy DeHerrera b41c738f39
shell: use devshell.toml 2021-02-17 11:49:13 -07:00
Timothy DeHerrera caba5fd756
deploy-rs: init support
Managing servers remotely is a big usecase, and deploy-rs is a flake
first deployment tool. By default, all nixosConfigurations are also
setup as deploy-rs nodes.

You'll still need to do some manual ssh setup, but other than that, the
system is ready to deploy.
2021-02-14 22:17:24 -07:00
Timothy DeHerrera cf23b8e64d
flake: rename flake-utils input 2021-02-14 22:11:49 -07:00
Timothy DeHerrera b42f7b514d
flake: manage flake-compate as input 2021-02-14 22:08:24 -07:00
Timothy DeHerrera 1b12c78c0e
flake: nixpkgs points to master by default
No need to explicitly specify it.
2021-02-14 19:43:11 -07:00
Timothy DeHerrera bf34d2071f
doc: new mdbook documentation 2021-02-14 02:46:05 -07:00
Timothy DeHerrera 850cb21124
flake: use same nixos versions for inputs 2021-02-07 14:25:18 -07:00
Timothy DeHerrera 77952d08c5
flake.lock: Update
Flake input changes:

* Updated 'ci-agent': 'github:hercules-ci/hercules-ci-agent/42e702d5865b7b7eb6ee5b743bcda7562f95e82e' -> 'github:hercules-ci/hercules-ci-agent/41d1fbfd2faa98559b2cad6da5d9c448b0182121'
* Updated 'devshell': 'github:numtide/devshell/8ba5f48386bbe42b9c7672e3a829eb9bb32f4213' -> 'github:numtide/devshell/02933029b06747c7523f3a6f677df06d4cfdfc7b'
* Updated 'home/nixpkgs': 'path:/nix/store/vlrfmmyplwyj5wb6pn46jbqqpc3qm7sf-source?lastModified=1610885893&narHash=sha256-VAETd1jhnWUJmq0b8Dbi9mo4qvS+AYC3d9tmVfnf2zQ=&rev=3888fe83e1c7b5331d032177b039e91f83bf34e1' -> 'path:/nix/store/ni76x56hwqch7c6lybf1vfh1cm4lqmp7-source?lastModified=1612241354&narHash=sha256-OepU8m0D4ZfgsPHt+QL5IGieGRCoA+b6RPqGRHkt9dg=&rev=8cef6531ff83c940d8be117011a667269e829338'
* Updated 'master': 'github:NixOS/nixpkgs/a0dc0f6f2c965b5ef9de31ca56b1d7aec190841e' -> 'github:NixOS/nixpkgs/77ffc4c2413dc4e1d269e1ec65d4b005188f8536'
* Updated 'nixos': 'github:NixOS/nixpkgs/8cef6531ff83c940d8be117011a667269e829338' -> 'github:NixOS/nixpkgs/2b973d233906fb0483263bca71bb789cad61513e'
* Updated 'nixos-hardware': 'github:nixos/nixos-hardware/a0d8383c422f85f37fccee5af74b1cb4b52287d9' -> 'github:nixos/nixos-hardware/3657e7c334469370e81d9a6ada1b08e4d82f4597'
* Updated 'nur': 'github:nix-community/NUR/7eb3c1f43fc26280b59114fd18908ebcd3754cc0' -> 'github:nix-community/NUR/6f0988f4ea1e39f24e9320bb88e8a16d7fae6590'
2021-02-07 14:14:10 -07:00
Timothy DeHerrera 51ffb69817
flake.lock: Update
Flake input changes:

* Updated 'devshell': 'github:numtide/devshell/21f3cc1433ec257cc9b85c91e471d54f7f74f646' -> 'github:numtide/devshell/8ba5f48386bbe42b9c7672e3a829eb9bb32f4213'
* Updated 'home': 'github:nix-community/home-manager/63f299b3347aea183fc5088e4d6c4a193b334a41' -> 'github:nix-community/home-manager/91bd34620d73340be03642279ee0d1c64110ee6c'
* Updated 'home/nixpkgs': 'path:/nix/store/6l6hv9pyfmznqmxkk77bbig0a9wsqslp-source?lastModified=1607981906&narHash=sha256-tFuNBkK0F5km1Lq5ulLgLVm3BvOvI7t4k4Y7xTIo3QE=&rev=dd95aa337e23a8a48fe82f0f7b1cced8bc03e379' -> 'path:/nix/store/vlrfmmyplwyj5wb6pn46jbqqpc3qm7sf-source?lastModified=1610885893&narHash=sha256-VAETd1jhnWUJmq0b8Dbi9mo4qvS+AYC3d9tmVfnf2zQ=&rev=3888fe83e1c7b5331d032177b039e91f83bf34e1'
* Updated 'master': 'github:NixOS/nixpkgs/3bdf95ceb5660273a01ed2e5be2676487f7e820e' -> 'github:NixOS/nixpkgs/a0dc0f6f2c965b5ef9de31ca56b1d7aec190841e'
* Updated 'nixos': 'github:NixOS/nixpkgs/3888fe83e1c7b5331d032177b039e91f83bf34e1' -> 'github:NixOS/nixpkgs/8cef6531ff83c940d8be117011a667269e829338'
* Updated 'nixos-hardware': 'github:nixos/nixos-hardware/874830945a65ad1134aff3a5aea0cdd2e1d914ab' -> 'github:nixos/nixos-hardware/a0d8383c422f85f37fccee5af74b1cb4b52287d9'
* Updated 'nur': 'github:nix-community/NUR/c32c0ee347949d55f34b0762dccaa52a1f73aa83' -> 'github:nix-community/NUR/7eb3c1f43fc26280b59114fd18908ebcd3754cc0'
2021-02-02 01:29:36 -07:00