Commit graph

267 commits

Author SHA1 Message Date
Pacman99 115f1e6711 make core an unecessary profile and add to suites
Prevents mkHosts subverting standard devos api to import core and add
all necessary core features to mkHosts, so core can be safely deleted in
suites
2021-04-06 19:00:57 -07:00
Timothy DeHerrera f53b6a4543
core: really fix #162 2021-03-14 21:49:35 -06:00
Timothy DeHerrera c12528b7d9
core: fix #162 2021-03-14 21:41:28 -06: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 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
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 4f44e0dd13
nix: patch nix directly for experimental features
The bash wrapper was causing issues with deploy-rs and the
experimental-features option in the config was causing hercules-ci to
spit out a bunch of junk in the logs. Patching nix with the default
values required for flakes fixes both of these issues.
2021-02-17 12:54:41 -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 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
Louis Bettens cc097e1c73 core: fix #115 2021-02-08 13:35:05 +01:00
Timothy DeHerrera eb275d7d0e
core: fix #114 2021-02-07 18:23:31 -07:00
Timothy DeHerrera 69e0bdff63
local: remove
set locale and timezone per host instead
2021-02-06 01:39:55 -07:00
Timothy DeHerrera 1d5b489bb2
suites: mv to dir 2021-02-06 01:31:48 -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 e92283e9d0
suites: fix play 2021-02-03 13:16: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 6b3100326b
core: add tealdeer 2021-02-02 22:46:12 -07:00
Timothy DeHerrera 61c732a8e0
qutebrowser: enable darkmode 2021-02-02 09:39:13 -07:00
Timothy DeHerrera c5a2fa2f4d
qutebrowser: update config.py for new version 2021-02-02 09:27:19 -07:00
Timothy DeHerrera f8e3b70aee
qutebrowser: patch merged upstream 2021-02-02 01:34:19 -07:00
Timothy DeHerrera 4514ea7687
graphical: latest kernel breaks nvidia 2021-02-02 01:30:24 -07:00
Timothy DeHerrera 5fd770d4db
qutebrowser: use pdf viewer 2021-02-01 23:37:39 -07:00
Timothy DeHerrera acde966df4
develop: fix devshell package
Introduced in a1fade8
2021-01-28 14:47:48 -07:00
Timothy DeHerrera a173bd4165
profiles#ci-agent: init 2021-01-25 09:20:40 -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
Timothy DeHerrera 75fa02fc02
kakoune: add haskell lsp support 2021-01-11 20:07:18 -07:00
Timothy DeHerrera 0e974ee976
develop#haskell: init profile 2021-01-11 20:06:08 -07:00
Timothy DeHerrera 28e473517d
editorconfig: fixup 2020-12-30 01:00:12 -07:00
Timothy DeHerrera a1fad9c019
core: add n repl alias 2020-12-29 23:31:34 -07:00
Timothy DeHerrera a4409f79e4
any-nix-shell: update overlay 2020-12-29 20:16:26 -07:00
Timothy DeHerrera 893e09278b
shell: switch to using mkDevShell 2020-12-28 23:12:27 -07:00
Timothy DeHerrera 932147304e
kakoune: load editorconfig 2020-12-28 19:05:46 -07:00
Timothy DeHerrera 2e6f10dc85
Fix any-nix-shell breaking nix-run
Simply apply the PR from haslersn/any-nix-shell#6 until it is merged
upstream.
2020-12-28 18:48:41 -07:00
Timothy DeHerrera 1d3c467ca0
virt: enable container configs 2020-12-27 17:38:49 -07:00
Timothy DeHerrera 8842ae52a0
kakoune: add dhall-lsp support 2020-12-27 17:38:22 -07:00
Timothy DeHerrera 42e02c08d6
adblocking: update hosts 2020-12-25 22:10:44 -07:00
Timothy DeHerrera fde19f0117
direnv: use nix-direnv instead ad hoc hack 2020-12-25 22:09:09 -07:00
Timothy DeHerrera 89d7829169
virt: use docker alias so completion works 2020-12-25 15:57:47 -07:00
Timothy DeHerrera 5620569852
develop: switch to using gopass 2020-12-21 03:12:50 -07:00
Timothy DeHerrera 63b4e06098
qutebrowser: 1.3.1 -> 1.4.1 2020-12-21 03:12:49 -07:00
Timothy DeHerrera d3f0ad14d3
core: fix direnv hook 2020-12-19 18:35:16 -07:00
Timothy DeHerrera 2a53745f3e
virt: enable oci containers via podman 2020-12-19 17:22:00 -07:00
Timothy DeHerrera 96b1ebf556
virt: overlay no longer useful 2020-12-19 17:21:24 -07:00
Timothy DeHerrera 993a79e61e
core: add manix and nix-index 2020-12-16 14:48:40 -07:00
Timothy DeHerrera 23c4a925a6
profiles#virt: add vagrant 2020-12-15 21:41:19 -07:00
Timothy DeHerrera 829bb503d5
startship: space the lock 2020-12-15 21:40:57 -07:00
Timothy DeHerrera 2bdead324b
starship: update config for new version 2020-12-14 16:55:45 -07:00
Timothy DeHerrera 0623b00924
kakoune: fix nix linting for new version 2020-12-10 13:10:53 -07:00
Timothy DeHerrera c403cd1c32
update: small fixes after version bump 2020-12-05 18:13:13 -07:00
Timothy DeHerrera ece0f8f8a2
cquery: is depricated; use clangd instead 2020-12-05 18:12:54 -07:00
Timothy DeHerrera aba4d5f759
qutebrowser: fix pass userscript by adding rofi 2020-12-05 16:37:16 -07:00
Timothy DeHerrera d897b364c6
profiles: reorganize 2020-08-04 13:44:11 -06:00
Timothy DeHerrera 01d916f379
profiles: add symlink to user/profiles 2020-08-04 13:23:24 -06:00
Timothy DeHerrera 102aeac8f4
games: fix dependency 2020-08-04 01:04:37 -06:00
Timothy DeHerrera c7c74152d3
graphical: reorganize dependant profiles 2020-08-04 00:45:11 -06:00
Timothy DeHerrera a6506bc80d
games: don't use gamemode module 2020-08-04 00:38:23 -06:00
Timothy DeHerrera 219975f9cc
packages: export overlays as packages 2020-08-02 21:26:00 -06:00
Timothy DeHerrera c09d867f11
core: move into subdir 2020-08-02 14:50:05 -06:00
Timothy DeHerrera 60ae677683
core: enable direnv in bash 2020-08-02 13:28:41 -06:00
Timothy DeHerrera 93c2a3506b
core: add nix flake alias 2020-08-01 22:12:15 -06:00
Timothy DeHerrera 6ad7b4eeda
xmonad: remove touchtoggle 2020-07-30 22:49:26 -06:00
Timothy DeHerrera 2369f43398
format: apply nixpkgs-fmt 2020-07-30 22:17:28 -06:00
Timothy DeHerrera 14edf3fd19
fix various linting errors throughout the repo
* replace `rec` attrs with let bindings
* remove unused args
2020-07-30 22:13:41 -06:00
Timothy DeHerrera 9ba71d5b62
replace nixfmt with nixpkgs-fmt
nixpkgs-fmt looks like it is going to be the standard formatter for
nixpkgs, so we should follow suite.
2020-07-30 22:07:59 -06:00
Timothy DeHerrera 2d5471681d
kakoune: add dhall lint and format 2020-07-29 23:39:24 -06:00
Timothy DeHerrera d478059fe8
networkmanager: don't update dns from NM 2020-07-29 16:45:51 -06:00
Timothy DeHerrera c55d60ef27
graphical: remove firefox 2020-07-26 22:24:40 -06:00
Timothy DeHerrera 6d64118e26
shell: use starship for bash and zsh 2020-07-26 22:24:28 -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 1dddafdfcf
core: remove network from nix search alias 2020-07-24 20:20:24 -06:00
Timothy DeHerrera 13eb4ec233
core: alias for search nixpkgs 2020-07-23 17:06:07 -06:00
Timothy DeHerrera fff06c44f7
core: add some flakes to system registry 2020-07-23 17:03:42 -06:00
Timothy DeHerrera 093513e313
networkmanager: use resolved and set dns over tls 2020-07-21 14:34:21 -06:00
Timothy DeHerrera 364a25a7f2
stubby: remove immutable attribute 2020-07-20 18:39:45 -06:00
Timothy DeHerrera 455ac24a27
im: riot renamed to element 2020-07-20 18:07:26 -06:00
Timothy DeHerrera bb89175590
core: add jq 2020-07-20 18:04:37 -06:00
Timothy DeHerrera 8d7317bd57
kakoune: fix nix linting by using nix-linter 2020-07-20 18:03:08 -06:00
Timothy DeHerrera 42ed7910b1
core: add core to module list 2020-07-16 15:27:39 -06:00
Timothy DeHerrera 857537342a
stubby: make resolv.conf immutable 2020-07-16 15:16:52 -06:00
Timothy DeHerrera eab95c0265
core: lower min-free 2020-07-16 15:16:27 -06:00
Timothy DeHerrera a163cb6edb
core: move kernel out of core profile
The boot options and packages moved from core are more appropriate in
graphical.
2020-07-16 15:15:13 -06:00
Timothy DeHerrera c1996b1722
qutebrowser: modify some privacy settings 2020-07-14 17:32:01 -06:00
Timothy DeHerrera 446b906cfd
adblocking: update to latest hosts 2020-07-14 17:31:09 -06:00
Timothy DeHerrera 1ca628b3bd
core: add min-free to nix.conf 2020-07-13 20:07:32 -06:00
Timothy DeHerrera 4ebf259d11
modules#steam: create xsession for Steam 2020-07-09 00:05:24 -06:00
Timothy DeHerrera 8b37f63b2c
core: add nmap to core 2020-07-06 18:25:32 -06:00
Timothy DeHerrera 86aaa62f97
core: add whois to core packages 2020-06-25 21:56:15 -06:00
Timothy DeHerrera 77a635348f
graphical: set volume settings via window manager
sound.mediaKeys doesn't work with pulseaudio enabled, but some programs
e.g. Firefox require it.
2020-06-25 21:54:34 -06:00
Timothy DeHerrera ae74fb0e9a
sway#waybar: fix time format 2020-06-25 21:51:35 -06:00
Timothy DeHerrera 37dac0d77d
profiles#im: init 2020-06-20 14:02:31 -06:00
Timothy DeHerrera 43820d08fc
graphical: fix network manager password storage 2020-06-20 13:59:50 -06:00
Timothy DeHerrera b2d6471694
profiles#networkmanager: init 2020-06-20 13:59:34 -06:00
Timothy DeHerrera 21f0320dca
sddm-chili: simplify dependencies 2020-06-19 15:13:28 -06:00
Timothy DeHerrera 1c3216630d
ssh: init profile 2020-06-17 23:36:38 -06:00
Timothy DeHerrera a0cef270aa
games: add gamemode service 2020-06-17 20:14:37 -06:00
Timothy DeHerrera 9983d0d2df
xmonad: use volnoti and eliminate dzvol 2020-06-17 14:23:37 -06:00