Commit Graph

191 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