Commit graph

321 commits

Author SHA1 Message Date
Bad
974df19d61 Install a bunch of useful packages 2021-04-08 22:07:42 +02:00
Bad
7f86d72347 Fix steam and add school profile 2021-04-08 12:35:13 +02:00
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
Bad
8f204d6f50 Format files 2021-04-06 20:59:09 +02:00
Bad
bb0468d538 Init 2021-04-06 13:37:40 +02: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
Timothy DeHerrera
da1c13b8d9
laptop: add usbutils 2020-06-16 20:52:52 -06:00
Timothy DeHerrera
38b2ba7dda
games: add wii-u-gc-adapter package and service 2020-06-16 20:52:14 -06:00
Timothy DeHerrera
dc230fa066
Revert "graphical: disable pulse, use alsa instead"
This reverts commit 8706a1ca53.
2020-06-14 12:46:44 -06:00
Timothy DeHerrera
f4845a8f7f
graphical: fix sddm without having to use plasma5 2020-06-14 12:41:00 -06:00
Timothy DeHerrera
7027feba31
graphical: fix icon theme 2020-06-14 12:39:10 -06:00
Timothy DeHerrera
66b12f4e80
laptop: add bluetooth support 2020-06-14 12:30:24 -06:00
Timothy DeHerrera
ea1d06c017
games: add pcsx2 and steam-hardware 2020-06-14 12:30:01 -06:00
Timothy DeHerrera
1efc3eab51
xmonad: patch slock to include window title
needed for reliable focus exclusion from picom, so that screen contents
aren't leaked while locked.
2020-06-13 09:35:26 -06:00
Timothy DeHerrera
3653d4c545
qutebrowser: remove deprecated font option 2020-06-12 19:19:14 -06:00
Timothy DeHerrera
05a798a56e
flake: add option to install packages from nixos-unstable 2020-06-12 19:18:27 -06:00
Timothy DeHerrera
861cb69fa1
xmonad: use monospace font 2020-06-12 18:49:24 -06:00
Timothy DeHerrera
4f29413119
xmonad: fix stoggle script 2020-06-12 18:49:08 -06:00
Timothy DeHerrera
bbdd967095
xmonad: use picom to distinguish active window 2020-06-12 18:48:36 -06:00
Timothy DeHerrera
3d444c672e
graphical: make sure libinput is available 2020-06-12 18:44:32 -06:00
Timothy DeHerrera
8706a1ca53
graphical: disable pulse, use alsa instead 2020-06-12 18:44:10 -06:00
Timothy DeHerrera
3aadbdec03
laptop: add acpi package 2020-06-12 18:42:23 -06:00
Timothy DeHerrera
0d9a3b7887
xmonad: add screenshot dependencies 2020-06-09 13:24:41 -06:00
Timothy DeHerrera
d0e263afa5
graphical: add xsel to packages 2020-06-09 13:05:32 -06:00
Timothy DeHerrera
0aa797ef4b
tmux: fix plugins 2020-06-09 13:02:14 -06:00
Timothy DeHerrera
3769abafa3
laptop: init profile 2020-06-09 10:38:51 -06:00
Timothy DeHerrera
653012f81a
sway: update deprecated naming convention 2020-06-09 10:38:34 -06:00
Timothy DeHerrera
54be96d8b6
graphical#xmonad: init profile 2020-06-09 10:36:38 -06:00
Timothy DeHerrera
a42fb66827
tmux: fix warning message 2020-04-26 17:45:41 -06:00
Timothy DeHerrera
ce1087880d
develop: add clang as default cc 2020-02-09 13:18:15 -07:00
Timothy DeHerrera
ca2e206685
graphical#sway: split tmux vetically on start 2020-02-09 13:16:27 -07:00
Timothy DeHerrera
a67ca5d03b
remove unnecessary recursive attribute sets 2020-02-01 21:10:09 -07:00
Timothy DeHerrera
9b7f319996
develop#python: use ptpython as default repl 2020-02-01 10:20:29 -07:00
Timothy DeHerrera
4c79faac59
develop#python: init profile 2020-01-31 09:49:47 -07:00
Timothy DeHerrera
a53bd30aac
nrd: add screenshot tools for wayland 2020-01-30 10:12:24 -07:00
Timothy DeHerrera
a69df563a0
kakoune: add python3 for avilable repl 2020-01-29 09:25:23 -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
9b64b50ee8
flake.nix: consistent default.nix semantics 2020-01-10 22:39:42 -07:00
Timothy DeHerrera
ed6a3e2e00
postgres: init profile 2020-01-08 13:40:53 -07:00
Timothy DeHerrera
413a6c75f6
security#mitigations: init module
Resolves #6 by breaking out the disabling of mitigations into it's own module.
Now users must explicitly accept the risk of disabling Spectre and Meltdown
mitigations with `security.mitigations.acceptRisk` in addition to actually
disabling them with `security.mitigations.disable`.
2020-01-08 13:28:49 -07:00
Timothy DeHerrera
7d69d15ff5
virt: add to exported profiles 2020-01-07 13:11:14 -07:00
Timothy DeHerrera
0bf18acdd4
virt: init profile 2020-01-06 23:44:54 -07:00
Timothy DeHerrera
c6cb43fc21
develop#zsh: check of ~/.zcompdump exists 2020-01-06 22:35:33 -07:00
Timothy DeHerrera
31c3fd8acc
core: don't set root password 2020-01-06 00:38:12 -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
7caae5b8bc
develop:zsh: new shell functions
* rnm: don't ever repeat yourself in the shell
* chext: easily change file extension
2020-01-05 18:36:18 -07:00
Timothy DeHerrera
a3dcc4f6bc
profiles: convert to list same as modules 2020-01-04 16:23:15 -07:00
Timothy DeHerrera
8ab0a92850
Idiomatic semantics for overlays changed
The idiom of 'self: super:' is changing upstream to 'final: prev:'.
2020-01-04 15:30:00 -07:00
Timothy DeHerrera
16b8136f50
change formatter to nixfmt 2020-01-03 22:06:31 -07:00
Timothy DeHerrera
916add2921
profiles: export additional subprofiles 2020-01-03 21:30:27 -07:00
Timothy DeHerrera
c2fa18a063
graphical#qutebrowser: init
The current qutebrowser configuration is sufficiently complex that it
benefits from being factored out into a separate subprofile. An
additional benefit is that this subprofile is now exported via the
`nixosModules` flake output.
2020-01-03 21:21:33 -07:00
Timothy DeHerrera
3e43465bc6
core: move mtr to develop profile 2020-01-03 20:57:52 -07:00