Commit graph

291 commits

Author SHA1 Message Date
Pacman99 aec7c92cc7 hosts: set nixpkgs.pkgs based on nixpkgs.system 2021-03-19 12:23:23 -07:00
Pacman99 dd494facc3 hosts/devosSystem: pass modules as attrset 2021-03-17 17:28:49 -07:00
Pacman99 6210daff13 add hosts module arg to easily access other host's config 2021-03-16 16:09:52 -07:00
David Arnold 3d324e7533 lib/devos: bake devos repo into live cd (#168)
fix #167 

This worked for me to bootstrap another machine.
2021-03-16 19:50:38 +00:00
Timothy DeHerrera c012f2f4ed treewide cleanups and refactoring for initial tests (#157)
- [x] refactor lib into separate files, similar to NixOS/nixpkgs/lib.
- [x] refactor ci to automatically generate derivations from flake outputs
- [x] remove cluttered indirection statements throughout the codebase
- [x] refactor hosts to allow for upcoming integration tests
- [x] improve ambiguity in the existing docs 
- [x] add [BORS](https://bors.tech) support
- [x] add initial integration test
- [x] write tests documentation
- [x] test lib
- [x] improve version string generation, and do so automatically for pkgs/flake.nix sources

Clean up the codebase as best we can in preparation for #152 and add tests. From now on, all PRs will be merged with BORS.
2021-03-14 07:10:51 +00:00
Timothy DeHerrera 98404a158b
hosts: pass host as reference
Allow easier debugging, in the same vain as
1651913910.
2021-03-01 23:05:32 -07:00
Timothy DeHerrera 44bae21564
nix#registry: update names
Continuing the work from 487fa7ea26,
simplify the registry entries a bit more by simply refering to the
input flakes. Also add alias `orch` for easy search `override`.
2021-03-01 20:11:23 -07:00
Louis Bettens 487fa7ea26 hosts: fix #142 2021-03-01 18:05:58 +01:00
Timothy DeHerrera 1651913910
profiles: simplify profiles to suites
* Leave importing to nixpkgs module implentation. Provide a path
  instead; resolves #136.
* Allow profiles which are not lambdas but simple attribute sets,
  relaxing the constraints a bit.
* Update profile README.md
* defaultImports -> mkProfileAttrs: allow importing subprofiles even
  if parent directory does not contain a default.nix.
2021-02-25 14:47:19 -07:00
Timothy DeHerrera 8939c3401b
project rename: nixflk -> devos 2021-02-17 18:31:33 -07:00
Timothy DeHerrera 0405949ec6
doc: finish flk reference 2021-02-14 17:41:15 -07:00
Timothy DeHerrera 3a735ce70b
core: pin registry by ref
Users may wish to change the default value of override and nixos
inputs. If they do so, we want the registry listing to reflect the
proper ref names afterwards.

Also create a shell alias to easily search every flake in nix.registry.
2021-02-14 15:50:49 -07:00
Timothy DeHerrera bf34d2071f
doc: new mdbook documentation 2021-02-14 02:46:05 -07:00
Timothy DeHerrera 6290f9f1f6
hosts: fix core 2021-02-06 13:26:17 -07:00
Timothy DeHerrera 1d5b489bb2
suites: mv to dir 2021-02-06 01:31:48 -07:00
Timothy DeHerrera c6d25002ed
extern: move specialArgs here 2021-02-04 23:42:46 -07:00
Timothy DeHerrera 0ec0c25238
various refactors
* Move extern lists to their own folder
* Move unstable package and module imports to their own folder
* Create a genPkgs function to avoid using legacyPackages for the whole
  package set
* Move hmActivationPackages to legacyPackages
2021-02-03 23:44:58 -07:00
Timothy DeHerrera fc9c6d48dc
Revert "ci: fix nixos config"
This reverts commit 5703b77484.
2021-02-03 21:02:18 -07:00
Timothy DeHerrera 40b49c52c1
create core branch without any profiles
This core will be used as the new base for the reuse branch, which is
essentiall the same as the existing template branch, except that it is
rebased from this core, simplifying future rebasing.
2021-02-03 18:58:58 -07:00
Timothy DeHerrera bd9878f82a
ci: move into build attribute 2021-02-03 16:41:21 -07:00
Timothy DeHerrera 9234577e7e
suites: add users to suites 2021-02-03 13:16:21 -07:00
Timothy DeHerrera c67b846929
profiles: add concept of suites
* Import attrs of profiles automatically with `defaultImport`.
* Refactor profiles to ensure all are functions returning a module.
* Add a suites.nix with collections of profiles.
* Add suites as `specialArgs` to modules.
* Add suite import to NixOS host.
2021-02-03 13:16:14 -07:00
Timothy DeHerrera 5703b77484
ci: fix nixos config 2021-02-02 01:34:12 -07:00
Timothy DeHerrera 4ae99af29d
Merge pull request #102 from blaggacao/da/iso-sd-netboot
host: add deault implementation for system.build.isoImage target (per…
2021-02-01 19:51:44 -07:00
Timothy DeHerrera fc082b5b0d
hosts: add nixpkgs to NIX_PATH 2021-02-01 09:56:33 -07:00
David Arnold 8cb82a307f
iso: move iso target to ./lib 2021-01-27 21:17:59 -05:00
David Arnold 33bcf093b7
iso-cd: fix by overruling conflicting custom configuration 2021-01-27 21:16:52 -05:00
David Arnold 28ccf4f3f9
host: add deault implementation for system.build.isoImage target (per host) 2021-01-27 21:16:51 -05:00
Timothy DeHerrera d6f50531b2
ci: add explicit ci file
* Build a nixos configuration with all profiles available as part of ci
pipeline.
* Remove darwin packages as we do not have a ci agent for them.
* Build shell as part of ci
2021-01-24 11:14:42 -07:00
Timothy DeHerrera 7c0381f478
hosts: simplify nix_path 2021-01-23 16:45:21 -07:00
Timothy DeHerrera 1b80806516
compat: fixes
* fix nixos-option
* use flake-compat for all backward compat concerns
* rebuild devshell after any nix file changes
* reexport system pkgs as legacyPackages
* provide lib flake output
* provide flake lib to nixos configs via `lib.flk`
* clean up flake.nix
2021-01-23 16:45:10 -07:00
Benedikt Tissot 12188b6ec3 nixos-hardware: use the flake instead of a path 2021-01-19 10:45:06 +01:00
Timothy DeHerrera 58b0f1ae65
Merge branch 'template' into template 2021-01-18 10:03:57 -07:00
Timothy DeHerrera f8f67d2dcb
packages: apply overlays to output packages
Apply overlays to output packages so we can easily use a modified
package.
2021-01-18 02:23:49 -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
Timothy DeHerrera 36bb3d2649
hosts: enable redistributable firmware by default
Fixes #92
2021-01-17 01:26:38 -07:00
Timothy DeHerrera f2aedb889b
pkgs: simplify override 2021-01-11 19:59:49 -07:00
David Arnold 17fb425844
Hosts: fix mod override
In some occasions the module path was renamed.
To avoid conflicts, the old path must be disabled manually.

E.g.
```nix
{
  unstableModules = [
    "services/ttys/getty.nix"
  ];
  addToDisabledModules = [
    "services/ttys/agetty.nix"
  ];
}
```
2021-01-11 17:27:38 -05:00
Timothy DeHerrera 7ec9a15be3
hosts: left out of #66 by mistake 2020-12-31 14:11:32 -07:00
Timothy DeHerrera 003ab99e35
niximg: install flakes directly within iso
Fixes #63.
2020-12-31 14:02:19 -07:00
Timothy DeHerrera 73bc694bbb
simple mechanism to override modules from master 2020-12-31 14:02:18 -07:00
Timothy DeHerrera 164a672129
hosts: add unstableModulesPath 2020-12-31 14:02:01 -07:00
Timothy DeHerrera 30ffeddc4b
Revert "Add extraArgs to lib.nixosSystem call..."
Fixes #46 by reverting commit 684804ebe0.

If you need the value of system, use `pkgs.system` instead.
2020-12-28 16:36:49 -07:00
Timothy DeHerrera bdfdc4da54
flake: add externModules list
Fixes #44. Easily add external modules from other flakes by dropping
them in the list.
2020-12-28 15:07:15 -07:00
Timothy DeHerrera 3300b5d582
flake: clean up by moving implementation to utils
Fixes #28 by adding an `externOverlays` list to easily import overlays
from external flakes.
2020-12-25 12:53:57 -07:00
Timothy DeHerrera 1aaf9827b0
home-manager: follow project README.md for flakes
home-manager's readme specifies that, at a bare minimum,
`useUserPackages` should be used in addition to `useGlobalPkgs`, when
using a flakes configuration.
2020-12-19 14:55:33 -07:00
Timothy DeHerrera 6cc85a916a
home-manager: fix trying to import <nixpkgs>
Fixes #30.
2020-12-18 13:13:02 -07:00
Timothy DeHerrera 01fe191210
hosts: use stable release as nixpkgs 2020-12-16 14:47:51 -07:00
Timothy DeHerrera 0f4be1b554
systemd: remove systemd override 2020-12-05 18:10:33 -07:00
Adam Scott 684804ebe0 Add extraArgs to lib.nixosSystem call to add system args. 2020-11-18 13:35:08 -05:00
Timothy DeHerrera d3105265d3
hosts: add configurationRevision 2020-08-04 00:11:08 -06:00
Timothy DeHerrera c8e3177373
overrides: fix overrides 2020-08-02 14:46:16 -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 10171142e5
format: upgrade nixpkgs-fmt 2020-07-30 22:49:41 -06:00
Timothy DeHerrera 2369f43398
format: apply nixpkgs-fmt 2020-07-30 22:17:28 -06:00
Timothy DeHerrera 7e93ef7ccf
flake: move pathsToImportedAttrs to utils 2020-07-30 15:29:58 -06:00
Timothy DeHerrera 2d5471681d
kakoune: add dhall lint and format 2020-07-29 23:39:24 -06:00
Timothy DeHerrera 5d8413a85a
pkgs#unstable: remove specialArgs
The `specialArgs` defined in `hosts` has kept some modules from working
in external flakes. Instead, we simply enumerate packages in `hosts`
which should be pulled from `unstablePkgs`.
2020-07-26 22:18:59 -06:00
Timothy DeHerrera fff06c44f7
core: add some flakes to system registry 2020-07-23 17:03:42 -06:00
Timothy DeHerrera 42ed7910b1
core: add core to module list 2020-07-16 15:27:39 -06:00
Timothy DeHerrera 7df6fdaab5
hosts#NixOS: add fileSystems to pass checks 2020-07-13 22:04:34 -06:00
Timothy DeHerrera 05a798a56e
flake: add option to install packages from nixos-unstable 2020-06-12 19:18:27 -06:00
Timothy DeHerrera 9af46a3dca
flake: update to upstream 2020-04-23 12:03:55 -06:00
Timothy DeHerrera a67ca5d03b
remove unnecessary recursive attribute sets 2020-02-01 21:10:09 -07:00
Timothy DeHerrera d5ba9f6173
flake.nix: define pkgs in flake
Set the global package set via `hosts/default.nix` passed in from its
definition in `flake.nix`.
2020-01-29 08:50:07 -07:00
Timothy DeHerrera fe0e81b72e
niximg: fix nixos user 2020-01-11 00:24:12 -07:00
Timothy DeHerrera e078e7a229
DOC.md: split off from README.md
Keep the README.md lean and use DOC.md for more detailed explanations. While
revising user documentation, a default `nixos` user profile was created, which
serves as a goood base example.
2020-01-10 23:49:18 -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 56be97690f
README.md: expand on quick setup details 2020-01-07 13:04:32 -07:00
Timothy DeHerrera b18c93a124
rebuild: iso builds "out of the box" 2020-01-06 23:44:35 -07:00
Timothy DeHerrera 4cf8048807
overlays: init overlays directory
Overlays now live globally in the overlays directory. They will be
pulled into the flake and the rest of your configuration automatically
from there.
2020-01-06 00:01:00 -07:00
Timothy DeHerrera e92bb060ee
utils: rename utils to usr for module args
Avoids a name conflict.
2020-01-05 23:01:00 -07:00
Timothy DeHerrera 6770621c70
utils: add to specialArgs
All the utility functions defined in lib/utils.nix are now easily
accessible via NixOS module arguements, i.e. `{ utils, ... }:`
2020-01-05 22:41:19 -07:00
Timothy DeHerrera 9670fa4b0f
Revert "utils: now lives in lib.utils globally"
This reverts commit c9944b411e.
Causes infinite recursion, revert for now while exploring possible
solutions.
2020-01-05 15:39:59 -07:00
Timothy DeHerrera c9944b411e
utils: now lives in lib.utils globally 2020-01-05 03:45:59 -07:00
Timothy DeHerrera 16b8136f50
change formatter to nixfmt 2020-01-03 22:06:31 -07:00
Timothy DeHerrera 425f7894a4
export profiles via flake outputs
Export those listed in `profiles/default.nix` to be included in the
flake output `nixosModules` for easy use in other flakes.
2020-01-03 20:01:22 -07:00
Timothy DeHerrera 4cc03cae50
remove user specific host hp500281 2020-01-03 19:12:11 -07:00
Timothy DeHerrera e93ac2f790
flake.nix: name flake inputs
The flake inputs can now be arbitrarily referenced from
hosts/default.nix as they are all passed into it. Any input not
declared at the top of hosts/default.nix can still be referenced
as args.<input>.
2020-01-03 18:27:52 -07:00
Timothy DeHerrera 5b5d072851
users: create on entering nix-shell 2020-01-03 18:06:01 -07:00
Timothy DeHerrera 73d3826d64
Initialize template branch
Remove all idiosyncratic stuff and only leave profiles, modules and pkg
definitions, which are general and applicable for any configuration.
2020-01-03 17:47:17 -07:00
Timothy DeHerrera 11000f56e2
niximg: use modulesPath 2020-01-01 19:45:49 -07:00
Timothy DeHerrera a080a07b21
core: don't import file systems
In order not to conflict with different kinds of configurations, i.e.
nixos disk images, don't have core profile import file-systems. Instead
declare `fileSystems` individually in host profiles.
2020-01-01 19:21:15 -07:00
Timothy DeHerrera 1c79781936
niximg: init iso configuration
Easily build the iso using `nix build $ISO` thanks to direnv.
2020-01-01 19:12:59 -07:00
Timothy DeHerrera cd25fdf37c
flake: move modules to outputs 2019-12-30 18:00:09 -07:00
Timothy DeHerrera ac5e184666
flake: move overlays to flake outputs 2019-12-30 17:45:30 -07:00
Timothy DeHerrera 22e631f6c9
games: init profile 2019-12-26 00:17:26 -07:00
Timothy DeHerrera 5ae733b854
graphical: add develop as dependency 2019-12-22 22:01:28 -07:00
Timothy DeHerrera e7079c5c63
utils: small cleanup 2019-12-21 19:02:22 -07:00
Timothy DeHerrera 1f55960518
rename configurations to hosts 2019-12-21 18:39:19 -07:00