Commit graph

273 commits

Author SHA1 Message Date
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
David Arnold 0051415adb
devshell: pull in latest fixes 2021-01-27 12:04:57 -05:00
David Arnold 2126268791
shell: use devshell-native pre-commit hooks 2021-01-27 10:31:46 -05:00
Timothy DeHerrera a173bd4165
profiles#ci-agent: init 2021-01-25 09:20:40 -07:00
Timothy DeHerrera 58b0f1ae65
Merge branch 'template' into template 2021-01-18 10:03:57 -07:00
Timothy DeHerrera cd2ba3b9dc
flake.lock: update inputs 2021-01-18 02:24:34 -07:00
Benedikt Tissot a9f11b3dca flake/host: add nixos-hardware
- add nixos-hardware flake.
- configuration in hosts/default.nix to be able to include hardware
specifics per host.
- add corresponding documentation in readme
2021-01-18 08:37:11 +01:00
David Arnold d22cfc6d29
lock: fix flake util refs 2021-01-11 20:55:33 -05:00
Timothy DeHerrera 893e09278b
shell: switch to using mkDevShell 2020-12-28 23:12:27 -07:00
Timothy DeHerrera 7a6e725b53
flake: initial multiarch support 2020-12-27 21:19:45 -07:00
Diogo Xavier 15003e3de9 Add NUR support 2020-12-26 12:40:20 +00:00
Timothy DeHerrera 35a5da70fc
flake: update inputs 2020-12-14 16:54:17 -07:00
codygman dc81753790 update to 20.09
Also fixes #24 by using recommended home-manager
2020-12-01 21:18:24 -06:00
Timothy DeHerrera 5e0ca31d02
flake: rename flake inputs and add overrides
Now you can add packages to the list in pkgs/override.nix and they will
be pulled in from nixpkgs master instead of the default NixOS flake
when installed.
2020-08-01 22:08:41 -06:00
Timothy DeHerrera 3501100952
flake.lock: update nixpkgs nad unstable 2020-07-30 15:31:45 -06:00
Timothy DeHerrera 455ac24a27
im: riot renamed to element 2020-07-20 18:07:26 -06:00
Timothy DeHerrera 90aa1f4224
flake: update lock file 2020-07-13 21:48:01 -06:00
Timothy DeHerrera 4f91c0c661
flake: update lock file 2020-07-09 00:45:05 -06:00
Timothy DeHerrera e9be8e5f5e
flake: base unstable on master 2020-07-09 00:04:42 -06:00
Timothy DeHerrera 8ae4b62d77
flake: update lock file 2020-06-12 19:37:17 -06:00
Timothy DeHerrera 05a798a56e
flake: add option to install packages from nixos-unstable 2020-06-12 19:18:27 -06:00
Timothy DeHerrera ad9f0d70e8
flake: update lockfile 2020-06-09 10:37:23 -06:00
Timothy DeHerrera 9af46a3dca
flake: update to upstream 2020-04-23 12:03:55 -06:00
Timothy DeHerrera 8d8ae7ec7b
flake.lock: update 2020-01-11 00:05:34 -07:00
Timothy DeHerrera cef548d232
Revert "Merge branch 'nur' into template"
This reverts commit 48afb873c1, reversing
changes made to 7e58e0457e.
2020-01-10 21:55:09 -07:00
Timothy DeHerrera 506e810b9f
flake: initial NUR support 2020-01-10 00:10:59 -07:00
Timothy DeHerrera 7e58e0457e
flake: update flake.lock 2020-01-10 00:10:01 -07:00
Timothy DeHerrera c914ed2c44
graphical#ffmpeg: build with svt-av1 support 2019-12-30 18:42:36 -07:00
Timothy DeHerrera c1b0aac62e
flake: update lock 2019-12-27 20:58:48 -07:00
Timothy DeHerrera 5f8899e769
flake: update lock file 2019-12-17 22:40:43 -07:00
Timothy DeHerrera 2bad76157e
flake: nix flake is broken, use pkgs.nixFlakes 2019-12-17 15:56:02 -07:00
Timothy DeHerrera c900537587
home-manager: init 2019-12-15 01:35:12 -07:00
Timothy DeHerrera 10522aac59
use my fork of nixpkgs until flakes stabilize 2019-12-13 21:39:25 -07:00
Timothy DeHerrera 79181e103f
setup configurations API
NixOS file, configurations/<name>.nix, will be easily installable
via `nixos-rebuild --flake ".#<name>"`.
2019-12-05 01:58:40 -07:00
Timothy DeHerrera 17713c22d0
init 2019-12-02 22:18:30 -07:00