Compare commits

...

24 commits

Author SHA1 Message Date
github-actions[bot]
94dca60858 flake.lock: Update
Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/2d5fda4810f706a1b6e2c0a1021ce57c8ad2e7a9' (2024-03-23)
  → 'github:hyprwm/Hyprland/c7fbea3368452c34c47a4a634e642de6cd4090cb' (2024-03-23)
2024-03-24 00:40:11 +00:00
3ab1df77c6
flake.lock: Update
Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/bcba3951f45f11245d424274130eb3a0ac790d93?narHash=sha256-Uve1/UBnwD4M/9xD0E3XATnLrF8B5vL6MTBhX6Is%2BTE%3D' (2024-03-19)
  → 'github:hyprwm/Hyprland/2d5fda4810f706a1b6e2c0a1021ce57c8ad2e7a9?narHash=sha256-gMBgRKFQG7TmayqT2XoF74mdkV1GNqeQ2oTSwbHfh2I%3D' (2024-03-23)
• Updated input 'hyprland/hyprcursor':
    'github:hyprwm/hyprcursor/1761f6cefd77f4fcd2039d930c88d6716ddc4974?narHash=sha256-43re5pzE/cswFAgw92/ugsB3%2Bd5ufDaCcLtl9ztKfBo%3D' (2024-03-12)
  → 'github:hyprwm/hyprcursor/6a92473237f430399a417e1c2da9d7fcd4970086?narHash=sha256-5vvhCSUGG9TA2G1eIRgokuYizhRnZu0ZbcU1MXfHsUE%3D' (2024-03-21)
• Updated input 'hyprland/hyprlang':
    'github:hyprwm/hyprlang/a685493fdbeec01ca8ccdf1f3655c044a8ce2fe2?narHash=sha256-bR4o3mynoTa1Wi4ZTjbnsZ6iqVcPGriXp56bZh5UFTk%3D' (2024-03-08)
  → 'github:hyprwm/hyprlang/a2f39421144d42541c057be235154ce21b76c0f6?narHash=sha256-tt0UgVKWeLQ%2BtFzvqrm4uAZbzONwdGshpfiLHAQ1P2c%3D' (2024-03-20)
• Updated input 'hyprland-contrib':
    'github:hyprwm/contrib/4ee76323053bfae15cc05c294c7fda9997ca7fc3?narHash=sha256-U5DLWla6nNiomFyCskYn6QfNCpVyQTeyG6FOAuEKHRg%3D' (2024-03-19)
  → 'github:hyprwm/contrib/536f00c5895015da1e7aa85bbee9aa6dcd149e69?narHash=sha256-BxWizZAc845ks9BjEXosRjfBv/NMr1WwoORBQuixfII%3D' (2024-03-21)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/5710127d9693421e78cca4f74fac2db6d67162b1?narHash=sha256-/KY8hffTh9SN/tTcDn/FrEiYwTXnU8NKnr4D7/stmmA%3D' (2024-03-19)
  → 'github:nixos/nixpkgs/20bc93ca7b2158ebc99b8cef987a2173a81cde35?narHash=sha256-dkJmk/ET/tRV4007O6kU101UEg1svUwiyk/zEEX9Tdg%3D' (2024-03-23)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/7d053c33b7a130ddada43ba09b089244390b3a23?narHash=sha256-imrQlTr3vZsnad16djnYDI9ICVaJfKEH6rB7F9xka74%3D' (2024-03-19)
  → 'github:nix-community/nixpkgs-wayland/0d291a959d01bb5d2bd2e20689b78258fa842cca?narHash=sha256-glCjdonAlkP5vwZpP8FYD1WCaGYALF5FYRv09XsWu5c%3D' (2024-03-23)
• Updated input 'stable':
    'github:nixos/nixpkgs/614b4613980a522ba49f0d194531beddbb7220d3?narHash=sha256-3Eh7fhEID17pv9ZxrPwCLfqXnYP006RKzSs0JptsN84%3D' (2024-03-17)
  → 'github:nixos/nixpkgs/56528ee42526794d413d6f244648aaee4a7b56c0?narHash=sha256-l0zlN/3CiodvWDtfBOVxeTwYSRz93muVbXWSpaMjXxM%3D' (2024-03-22)
2024-03-23 16:36:59 -05:00
f3a5290a80
let's do some inheritance shenanigans 2024-03-21 15:59:10 -05:00
60a6311a0d
make another function to propagate 2024-03-21 15:48:48 -05:00
49b9b107a4
less boilerplate 2024-03-21 15:35:57 -05:00
7b04cf6274
add node 2024-03-21 12:23:20 -05:00
f69f2839da
actually enable hyprland 2024-03-21 11:31:43 -05:00
f373cc323b
no functor necessary 2024-03-21 11:06:07 -05:00
7facf2e749
clean up even more boilerplate 2024-03-21 11:04:01 -05:00
55f2e625ec
reduce boilerplate with mkOizysModule 2024-03-21 10:54:44 -05:00
ff7f8495f6
update tsm 2024-03-20 12:23:20 -05:00
4b8b1718a4
remove noop functions and add devshell 2024-03-20 10:46:16 -05:00
4a8eb8bf0b
flake.lock: Update
Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/0387528c56c4d9faf93946cbc9426973de6ef61b?narHash=sha256-dqYzqSsGB9PhwxG2H3oVRpqAMWziVuQ7k%2B02ASku8T4%3D' (2024-03-17)
  → 'github:hyprwm/Hyprland/bcba3951f45f11245d424274130eb3a0ac790d93?narHash=sha256-Uve1/UBnwD4M/9xD0E3XATnLrF8B5vL6MTBhX6Is%2BTE%3D' (2024-03-19)
• Updated input 'hyprland-contrib':
    'github:hyprwm/contrib/75420d09f93346d9d23d5a1e26b42699f6b66cd6?narHash=sha256-1qVByzzCcKoCmP8ReUSAjKU5V9pfTLHQIM4WI1tvQ9E%3D' (2024-03-14)
  → 'github:hyprwm/contrib/4ee76323053bfae15cc05c294c7fda9997ca7fc3?narHash=sha256-U5DLWla6nNiomFyCskYn6QfNCpVyQTeyG6FOAuEKHRg%3D' (2024-03-19)
• Updated input 'nix-index-database':
    'github:nix-community/nix-index-database/e76ff2df6bfd2abe06abd8e7b9f217df941c1b07?narHash=sha256-tlLuB73OCOKtU2j83bQzSYFyzjJo3rjpITZE5MoofG8%3D' (2024-03-11)
  → 'github:nix-community/nix-index-database/e25efda85e39fcdc845e371971ac4384989c4295?narHash=sha256-0fjbN5GYYDKPyPay0l8gYoH%2BtFfNqPPwP5sxxBreeA4%3D' (2024-03-17)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/9af9c1c87ed3e3ed271934cb896e0cdd33dae212?narHash=sha256-huQT4Xs0y4EeFKn2BTBVYgEwJSv8SDlm82uWgMnCMmI%3D' (2024-03-15)
  → 'github:nixos/nixpkgs/5710127d9693421e78cca4f74fac2db6d67162b1?narHash=sha256-/KY8hffTh9SN/tTcDn/FrEiYwTXnU8NKnr4D7/stmmA%3D' (2024-03-19)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/bce941770aa96005f08c7b60851037352bf76156?narHash=sha256-6bOCj2BUwOYDO1Lq3DgwIfrdUiieKkm1fCHFQRkLK4Y%3D' (2024-03-16)
  → 'github:nix-community/nixpkgs-wayland/7d053c33b7a130ddada43ba09b089244390b3a23?narHash=sha256-imrQlTr3vZsnad16djnYDI9ICVaJfKEH6rB7F9xka74%3D' (2024-03-19)
• Updated input 'nixpkgs-wayland/lib-aggregate':
    'github:nix-community/lib-aggregate/45b75bf534592c0c1c881a1c447f7fdb37a87eaf?narHash=sha256-FzYm4td3FJfzOAuEkCXt3KdUgZuA072OAQXqIq%2BIAMo%3D' (2024-03-11)
  → 'github:nix-community/lib-aggregate/f890211817b941d9ed9de48d62ba8553fa2c20f3?narHash=sha256-yqjXunc%2BZvqf6rcH7W9wMvhr18jMZhDvIdnretlfj78%3D' (2024-03-17)
• Updated input 'nixpkgs-wayland/lib-aggregate/nixpkgs-lib':
    'github:nix-community/nixpkgs.lib/630ebdc047ca96d8126e16bb664c7730dc52f6e6?narHash=sha256-pkUg3hOKuGWMGF9WEMPPN/G4pqqdbNGJQ54yhyQYDVY%3D' (2024-03-10)
  → 'github:nix-community/nixpkgs.lib/fa827dda806c5aa98f454da4c567991ab8ce422c?narHash=sha256-/kB%2BZWSdkZjbZ0FTqm0u84sf2jFS%2B30ysaEajmBjtoY%3D' (2024-03-17)
• Updated input 'stable':
    'github:nixos/nixpkgs/878ef7d9721bee9f81f8a80819f9211ad1f993da?narHash=sha256-MvFKESbq4rUWuaf2RKPNYENaSZEw/jaCLo2gU6oREcM%3D' (2024-03-14)
  → 'github:nixos/nixpkgs/614b4613980a522ba49f0d194531beddbb7220d3?narHash=sha256-3Eh7fhEID17pv9ZxrPwCLfqXnYP006RKzSs0JptsN84%3D' (2024-03-17)
• Updated input 'tsm':
    'github:daylinmorgan/tsm/ebdf050743bfac25a08944b2a348327909371ce2?dir=nix&narHash=sha256-QQMkhLc3UPOziGHCKHLkLffbbUxhXBOpmaarTX1LfxM%3D' (2024-03-18)
  → 'github:daylinmorgan/tsm/e3f24f710a5e1c6061f646e4ef4d644a6b715872?dir=nix&narHash=sha256-pqt1j8WPXS18IolyjneevuWTk%2Bu/5n4wrIU0UlzK2Lo%3D' (2024-03-19)
2024-03-19 13:18:11 -05:00
cec9ce730f
generalize common -> oizys and add backups option 2024-03-19 09:50:53 -05:00
9f8a1692b5
deadnix/formatting 2024-03-19 08:57:31 -05:00
4287d698b9
make unnesscary function 2024-03-19 08:54:15 -05:00
71cab562fc
add note about workaround 2024-03-19 07:43:35 -05:00
a256b441e0
make user mutable? 2024-03-19 07:37:24 -05:00
43d9ab3aec
switch to hetzner cloud from vultr 2024-03-19 07:37:24 -05:00
7f1223222a
update the other hosts 2024-03-19 07:31:31 -05:00
5e49f286e6
add enable function 2024-03-19 07:26:27 -05:00
13b42e2511
add tsm flake 2024-03-18 17:20:18 -05:00
e0a3123035
split find-modules into it's own file 2024-03-17 06:17:58 -05:00
github-actions[bot]
270c946b24 flake.lock: Update
Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/3e67ee0f5f66c74c0a0bd4f797361fd100c2e2d2' (2024-03-13)
  → 'github:hyprwm/Hyprland/0387528c56c4d9faf93946cbc9426973de6ef61b' (2024-03-17)
• Updated input 'hyprland/hyprcursor':
    'github:hyprwm/hyprcursor/05db7dfd7fc261e0195e54f8a6d655d4f370e70f' (2024-03-10)
  → 'github:hyprwm/hyprcursor/1761f6cefd77f4fcd2039d930c88d6716ddc4974' (2024-03-12)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/db001797591bf76f7b8d4c4ed3b49233391e0c97' (2024-03-14)
  → 'github:nixos/nixpkgs/9af9c1c87ed3e3ed271934cb896e0cdd33dae212' (2024-03-15)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/077f5833cb60efda5375053101b75150a5386e22' (2024-03-14)
  → 'github:nix-community/nixpkgs-wayland/bce941770aa96005f08c7b60851037352bf76156' (2024-03-16)
• Updated input 'stable':
    'github:nixos/nixpkgs/51063ed4f2343a59fdeebb279bb81d87d453942b' (2024-03-12)
  → 'github:nixos/nixpkgs/878ef7d9721bee9f81f8a80819f9211ad1f993da' (2024-03-14)
2024-03-16 20:08:49 -05:00
26 changed files with 414 additions and 372 deletions

View file

@ -68,11 +68,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1710091028, "lastModified": 1711035742,
"narHash": "sha256-yFk2kc8J2kVh0RWlwT+PQf0bpfUNcROOcRYcyQJbpk4=", "narHash": "sha256-5vvhCSUGG9TA2G1eIRgokuYizhRnZu0ZbcU1MXfHsUE=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprcursor", "repo": "hyprcursor",
"rev": "05db7dfd7fc261e0195e54f8a6d655d4f370e70f", "rev": "6a92473237f430399a417e1c2da9d7fcd4970086",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -94,11 +94,11 @@
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1710344304, "lastModified": 1711232090,
"narHash": "sha256-jE+/UGqRYkKBBpLTTV5ayCtVmD9N1WsSKpufszUPzcA=", "narHash": "sha256-3psLgLXBg4F9UU93E+zmMqoMhcIX6e8HEphXCxlfUOY=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "Hyprland", "repo": "Hyprland",
"rev": "3e67ee0f5f66c74c0a0bd4f797361fd100c2e2d2", "rev": "c7fbea3368452c34c47a4a634e642de6cd4090cb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -115,11 +115,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1710415616, "lastModified": 1711036118,
"narHash": "sha256-1qVByzzCcKoCmP8ReUSAjKU5V9pfTLHQIM4WI1tvQ9E=", "narHash": "sha256-BxWizZAc845ks9BjEXosRjfBv/NMr1WwoORBQuixfII=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "contrib", "repo": "contrib",
"rev": "75420d09f93346d9d23d5a1e26b42699f6b66cd6", "rev": "536f00c5895015da1e7aa85bbee9aa6dcd149e69",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -188,11 +188,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1709914708, "lastModified": 1710960526,
"narHash": "sha256-bR4o3mynoTa1Wi4ZTjbnsZ6iqVcPGriXp56bZh5UFTk=", "narHash": "sha256-tt0UgVKWeLQ+tFzvqrm4uAZbzONwdGshpfiLHAQ1P2c=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprlang", "repo": "hyprlang",
"rev": "a685493fdbeec01ca8ccdf1f3655c044a8ce2fe2", "rev": "a2f39421144d42541c057be235154ce21b76c0f6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -207,11 +207,11 @@
"nixpkgs-lib": "nixpkgs-lib" "nixpkgs-lib": "nixpkgs-lib"
}, },
"locked": { "locked": {
"lastModified": 1710184940, "lastModified": 1710677371,
"narHash": "sha256-FzYm4td3FJfzOAuEkCXt3KdUgZuA072OAQXqIq+IAMo=", "narHash": "sha256-yqjXunc+Zvqf6rcH7W9wMvhr18jMZhDvIdnretlfj78=",
"owner": "nix-community", "owner": "nix-community",
"repo": "lib-aggregate", "repo": "lib-aggregate",
"rev": "45b75bf534592c0c1c881a1c447f7fdb37a87eaf", "rev": "f890211817b941d9ed9de48d62ba8553fa2c20f3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -270,11 +270,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1710120787, "lastModified": 1710644923,
"narHash": "sha256-tlLuB73OCOKtU2j83bQzSYFyzjJo3rjpITZE5MoofG8=", "narHash": "sha256-0fjbN5GYYDKPyPay0l8gYoH+tFfNqPPwP5sxxBreeA4=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nix-index-database", "repo": "nix-index-database",
"rev": "e76ff2df6bfd2abe06abd8e7b9f217df941c1b07", "rev": "e25efda85e39fcdc845e371971ac4384989c4295",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -285,11 +285,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1710377395, "lastModified": 1711200738,
"narHash": "sha256-KMubsUWtVr7L55pXMBibBDBdmk3xrjbBPduc0E8z28c=", "narHash": "sha256-dkJmk/ET/tRV4007O6kU101UEg1svUwiyk/zEEX9Tdg=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "db001797591bf76f7b8d4c4ed3b49233391e0c97", "rev": "20bc93ca7b2158ebc99b8cef987a2173a81cde35",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -301,11 +301,11 @@
}, },
"nixpkgs-lib": { "nixpkgs-lib": {
"locked": { "locked": {
"lastModified": 1710031547, "lastModified": 1710636348,
"narHash": "sha256-pkUg3hOKuGWMGF9WEMPPN/G4pqqdbNGJQ54yhyQYDVY=", "narHash": "sha256-/kB+ZWSdkZjbZ0FTqm0u84sf2jFS+30ysaEajmBjtoY=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixpkgs.lib", "repo": "nixpkgs.lib",
"rev": "630ebdc047ca96d8126e16bb664c7730dc52f6e6", "rev": "fa827dda806c5aa98f454da4c567991ab8ce422c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -324,11 +324,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1710422269, "lastModified": 1711218979,
"narHash": "sha256-aZEM210J8gQ+nHCDXshM9pGwp6Wac51niM8ZdWJJFYQ=", "narHash": "sha256-glCjdonAlkP5vwZpP8FYD1WCaGYALF5FYRv09XsWu5c=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixpkgs-wayland", "repo": "nixpkgs-wayland",
"rev": "077f5833cb60efda5375053101b75150a5386e22", "rev": "0d291a959d01bb5d2bd2e20689b78258fa842cca",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -381,16 +381,17 @@
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"nixpkgs-wayland": "nixpkgs-wayland", "nixpkgs-wayland": "nixpkgs-wayland",
"pinix": "pinix", "pinix": "pinix",
"stable": "stable" "stable": "stable",
"tsm": "tsm"
} }
}, },
"stable": { "stable": {
"locked": { "locked": {
"lastModified": 1710283656, "lastModified": 1711124224,
"narHash": "sha256-nI+AOy4uK6jLGBi9nsbHjL1EdSIzoo8oa+9oeVhbyFc=", "narHash": "sha256-l0zlN/3CiodvWDtfBOVxeTwYSRz93muVbXWSpaMjXxM=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "51063ed4f2343a59fdeebb279bb81d87d453942b", "rev": "56528ee42526794d413d6f244648aaee4a7b56c0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -467,6 +468,28 @@
"type": "github" "type": "github"
} }
}, },
"tsm": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"dir": "nix",
"lastModified": 1710955312,
"narHash": "sha256-7F88bRcAqU1NPo89pKhR/d6NKRn2JJ2FWcSLITjvzdU=",
"owner": "daylinmorgan",
"repo": "tsm",
"rev": "090dda23ad4ab87a68323a9e1924bc6d8ce6e0a6",
"type": "github"
},
"original": {
"dir": "nix",
"owner": "daylinmorgan",
"repo": "tsm",
"type": "github"
}
},
"wlroots": { "wlroots": {
"flake": false, "flake": false,
"locked": { "locked": {

View file

@ -1,16 +1,16 @@
{ {
description = "nix begat oizys"; description = "nix begat oizys";
outputs = inputs @ {self, ...}: outputs = inputs @ {self, ...}:
(import ./lib { (import ./lib {inherit self inputs;}).oizysFlake;
inherit inputs;
inherit self;
})
.oizysFlake {};
inputs = { inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
stable.url = "github:nixos/nixpkgs/nixos-23.11"; stable.url = "github:nixos/nixpkgs/nixos-23.11";
tsm.url = "github:daylinmorgan/tsm?dir=nix";
tsm.inputs.nixpkgs.follows = "nixpkgs";
hyprland.url = "github:hyprwm/Hyprland/main"; hyprland.url = "github:hyprwm/Hyprland/main";
hyprland.inputs.nixpkgs.follows = "nixpkgs"; hyprland.inputs.nixpkgs.follows = "nixpkgs";
hyprland-contrib.url = "github:hyprwm/contrib"; hyprland-contrib.url = "github:hyprwm/contrib";

View file

@ -1,22 +1,28 @@
{ {
self, self,
pkgs, pkgs,
lib,
... ...
}: { }: let
inherit (lib) enabled;
in {
imports = with self.nixosModules; [ imports = with self.nixosModules; [
docker
restic restic
]; ];
oizys.languages = [ oizys = {
languages = [
"nim" "nim"
"node" # for docker langservers
"python" "python"
]; ];
environment.systemPackages = with pkgs; [ docker = enabled;
rclone backups = enabled;
};
(pkgs.writeShellScriptBin "gitea" '' environment.systemPackages = with pkgs; [
(writeShellScriptBin "gitea" ''
ssh -p 2222 -o StrictHostKeyChecking=no git@127.0.0.1 "SSH_ORIGINAL_COMMAND=\"$SSH_ORIGINAL_COMMAND\" $0 $@" ssh -p 2222 -o StrictHostKeyChecking=no git@127.0.0.1 "SSH_ORIGINAL_COMMAND=\"$SSH_ORIGINAL_COMMAND\" $0 $@"
'') '')
]; ];

View file

@ -2,32 +2,34 @@
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ {
config,
lib, lib,
modulesPath,
... ...
}: { }: {
imports = []; imports = [
(modulesPath + "/profiles/qemu-guest.nix")
];
boot.initrd.availableKernelModules = ["ata_piix" "uhci_hcd" "virtio_pci" "sr_mod" "virtio_blk"]; boot.initrd.availableKernelModules = ["ahci" "xhci_pci" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod"];
boot.initrd.kernelModules = []; boot.initrd.kernelModules = [];
boot.kernelModules = []; boot.kernelModules = [];
boot.extraModulePackages = []; boot.extraModulePackages = [];
fileSystems."/" = { fileSystems."/" = {
device = "/dev/disk/by-uuid/eb6cbf1e-e4a7-4312-a1af-4f78ad9cf138"; device = "/dev/disk/by-uuid/70d6dad3-1778-43bf-8f87-76dd7f54c545";
fsType = "btrfs"; fsType = "ext4";
}; };
swapDevices = []; swapDevices = [
{device = "/dev/disk/by-uuid/a4e4cad9-1844-45dd-9bea-eb77bd71c37b";}
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's # (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction # still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`. # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true; networking.useDHCP = lib.mkDefault true;
# networking.interfaces.ens3.useDHCP = lib.mkDefault true; # networking.interfaces.enp1s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
virtualisation.hypervGuest.enable = true;
} }

View file

@ -1,17 +1,12 @@
{lib, ...}: { {lib, ...}: let
inherit (lib) enabled;
in {
users.motd = lib.mkRune { users.motd = lib.mkRune {
number = "6"; number = "6";
rune = "algiz"; rune = "algiz";
}; };
swapDevices = [ services.resolved = enabled;
{
device = "/var/lib/swapfile";
size = 2 * 1024;
}
];
services.resolved.enable = true;
services.fail2ban = { services.fail2ban = {
enable = true; enable = true;
@ -26,25 +21,22 @@
# networking.nameservers = [ "8.8.8.8"]; # networking.nameservers = [ "8.8.8.8"];
# allow tcp connections for revsere proxy # allow tcp connections for revsere proxy
networking.firewall = { networking.firewall =
enable = true; enabled
// {
allowedTCPPorts = [80 443]; allowedTCPPorts = [80 443];
}; };
services.openssh.enable = true; services.openssh =
services.openssh.settings.PasswordAuthentication = false; enabled
// {settings.PasswordAuthentication = false;};
users.mutableUsers = false; # users.mutableUsers = false;
# Use the GRUB 2 boot loader. # Use the GRUB 2 boot loader.
boot.loader.grub.enable = true; boot.loader.grub.enable = true;
boot.loader.grub.device = "/dev/vda"; # or "nodev" for efi only boot.loader.grub.device = "/dev/sda"; # or "nodev" for efi only
# This value determines the NixOS release from which the default # don't delete this you foo bar
# settings for stateful data, like file locations and database versions system.stateVersion = "23.11"; # Did you read the comment?
# on your system were taken. Its perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "22.11"; # Did you read the comment?
} }

View file

@ -1,9 +1,18 @@
{self, ...}: { {
self,
lib,
...
}: let
inherit (lib) enabled;
in {
imports = with self.nixosModules; [ imports = with self.nixosModules; [
nix-ld nix-ld
]; ];
oizys.desktop.enable = true; oizys = {
desktop = enabled;
nix-ld = enabled;
};
# Enable the X11 windowing system. # Enable the X11 windowing system.
services.xserver = { services.xserver = {

View file

@ -3,7 +3,9 @@
pkgs, pkgs,
lib, lib,
... ...
}: { }: let
inherit (lib) enabled;
in {
users.motd = lib.mkRune { users.motd = lib.mkRune {
number = "2"; number = "2";
rune = "mannaz"; rune = "mannaz";
@ -11,7 +13,7 @@
# Use the systemd-boot EFI boot loader. # Use the systemd-boot EFI boot loader.
boot.loader = { boot.loader = {
systemd-boot.enable = true; systemd-boot = enabled;
efi.canTouchEfiVariables = true; efi.canTouchEfiVariables = true;
}; };
@ -26,8 +28,9 @@
} }
]; ];
hardware.opengl = { hardware.opengl =
enable = true; enabled
// {
driSupport = true; driSupport = true;
driSupport32Bit = true; driSupport32Bit = true;
extraPackages = with pkgs; [ extraPackages = with pkgs; [
@ -40,13 +43,16 @@
hardware.nvidia = { hardware.nvidia = {
# Modesetting is required. # Modesetting is required.
modesetting.enable = true; modesetting = enabled;
# Nvidia power management. Experimental, and can cause sleep/suspend to fail. # Nvidia power management. Experimental, and can cause sleep/suspend to fail.
powerManagement.enable = false; powerManagement =
enabled
// {
# Fine-grained power management. Turns off GPU when not in use. # Fine-grained power management. Turns off GPU when not in use.
# Experimental and only works on modern Nvidia GPUs (Turing or newer). # Experimental and only works on modern Nvidia GPUs (Turing or newer).
powerManagement.finegrained = false; finegrained = false;
};
# Use the NVidia open source kernel module (not to be confused with the # Use the NVidia open source kernel module (not to be confused with the
# independent third-party "nouveau" open source driver). # independent third-party "nouveau" open source driver).
@ -65,8 +71,8 @@
package = config.boot.kernelPackages.nvidiaPackages.stable; package = config.boot.kernelPackages.nvidiaPackages.stable;
}; };
programs.nix-ld.enable = true; programs.nix-ld = enabled;
services.openssh.enable = true; services.openssh = enabled;
networking.hostName = "mannaz"; networking.hostName = "mannaz";
# networking.wireless.enable = true; # networking.wireless.enable = true;
@ -80,21 +86,6 @@
time.timeZone = "America/Chicago"; time.timeZone = "America/Chicago";
security.sudo.wheelNeedsPassword = false; security.sudo.wheelNeedsPassword = false;
# This option defines the first version of NixOS you have installed on this particular machine, # don't delete this you foo bar
# and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
#
# Most users should NEVER change this value after the initial install, for any reason,
# even if you've upgraded your system to a new NixOS release.
#
# This value does NOT affect the Nixpkgs version your packages and OS are pulled from,
# so changing it will NOT upgrade your system.
#
# This value being lower than the current NixOS release does NOT mean your system is
# out of date, out of support, or vulnerable.
#
# Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
# and migrated your data accordingly.
#
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
system.stateVersion = "23.11"; # Did you read the comment? system.stateVersion = "23.11"; # Did you read the comment?
} }

View file

@ -1,18 +1,19 @@
{ {
pkgs, pkgs,
self, lib,
... ...
}: { }: let
imports = with self.nixosModules; [ inherit (lib) enabled;
nix-ld in {
restic
docker
];
oizys = { oizys = {
vbox.enable = true; desktop = enabled;
desktop.enable = true; hyprland = enabled;
vpn.enable = true; chrome = enabled;
docker = enabled;
nix-ld = enabled;
vbox = enabled;
vpn = enabled;
backups = enabled;
languages = [ languages = [
"misc" "misc"
"python" "python"
@ -21,16 +22,12 @@
"node" "node"
]; ];
}; };
vivaldi.enable = true;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
zk zk
rclone
quarto quarto
]; ];
programs.hyprland.enable = true;
services.restic.backups.gdrive = { services.restic.backups.gdrive = {
user = "daylin"; user = "daylin";
repository = "rclone:g:archives/othalan"; repository = "rclone:g:archives/othalan";

View file

@ -2,25 +2,26 @@
pkgs, pkgs,
lib, lib,
... ...
}: { }: let
networking.networkmanager.enable = true; inherit (lib) enabled;
services.printing.enable = true; in {
services.fwupd.enable = true; networking.networkmanager = enabled;
hardware.bluetooth.enable = true; services.printing = enabled;
hardware.bluetooth.powerOnBoot = true; services.fwupd = enabled;
hardware.bluetooth = enabled // {powerOnBoot = true;};
# https://github.com/NixOS/nixos-hardware/blob/c478b3d56969006e015e55aaece4931f3600c1b2/lenovo/thinkpad/x1/9th-gen/default.nix # https://github.com/NixOS/nixos-hardware/blob/c478b3d56969006e015e55aaece4931f3600c1b2/lenovo/thinkpad/x1/9th-gen/default.nix
# https://github.com/NixOS/nixos-hardware/blob/c478b3d56969006e015e55aaece4931f3600c1b2/common/pc/ssd/default.nix # https://github.com/NixOS/nixos-hardware/blob/c478b3d56969006e015e55aaece4931f3600c1b2/common/pc/ssd/default.nix
services.fstrim.enable = true; services.fstrim = enabled;
# rtkit is optional but recommended # rtkit is optional but recommended
security.rtkit.enable = true; security.rtkit = enabled;
services.pipewire = { services.pipewire =
enable = true; enabled
audio.enable = true; // {
pulse.enable = true; audio = enabled;
alsa.enable = true; pulse = enabled;
alsa.support32Bit = true; alsa = enabled // {support32Bit = true;};
}; };
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
@ -46,21 +47,6 @@
boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.canTouchEfiVariables = true;
# boot.kernelPackages = pkgs.linuxPackages_latest; # boot.kernelPackages = pkgs.linuxPackages_latest;
# This option defines the first version of NixOS you have installed on this particular machine, # don't delete this you foo bar
# and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
#
# Most users should NEVER change this value after the initial install, for any reason,
# even if you've upgraded your system to a new NixOS release.
#
# This value does NOT affect the Nixpkgs version your packages and OS are pulled from,
# so changing it will NOT upgrade your system.
#
# This value being lower than the current NixOS release does NOT mean your system is
# out of date, out of support, or vulnerable.
#
# Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
# and migrated your data accordingly.
#
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
system.stateVersion = "23.11"; # Did you read the comment? system.stateVersion = "23.11"; # Did you read the comment?
} }

View file

@ -5,68 +5,53 @@
inherit (inputs) nixpkgs; inherit (inputs) nixpkgs;
lib = nixpkgs.lib.extend (import ./extended.nix); lib = nixpkgs.lib.extend (import ./extended.nix);
inherit (builtins) concatLists attrValues mapAttrs elemAt match readDir filter listToAttrs; inherit (builtins) mapAttrs readDir filter listToAttrs;
inherit (lib) nixosSystem genAttrs isNixFile; inherit (lib) nixosSystem genAttrs isNixFile mkDefaultOizysModule mkOizysModule;
inherit (lib.filesystem) listFilesRecursive; inherit (lib.filesystem) listFilesRecursive;
inherit (import ./find-modules.nix {inherit lib;}) findModulesList;
#supportedSystems = ["x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin"]; #supportedSystems = ["x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin"];
supportedSystems = ["x86_64-linux"]; supportedSystems = ["x86_64-linux"];
in rec { in rec {
forAllSystems = f: genAttrs supportedSystems (system: f nixpkgs.legacyPackages.${system}); forAllSystems = f: genAttrs supportedSystems (system: f nixpkgs.legacyPackages.${system});
buildOizys = _: nixosModules = listToAttrs (findModulesList ../modules);
forAllSystems (
pkgs: let
pkg = pkgs.callPackage ../oizys {};
in {
oizys = pkg;
default = pkg;
}
);
mkSystem = hostname: mkSystem = hostname:
nixosSystem { nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
modules = modules =
[ [
../modules/common.nix ../modules/oizys.nix
../overlays ../overlays
] ]
++ filter ++ filter
isNixFile isNixFile
(listFilesRecursive (../. + "/hosts/${hostname}")); (listFilesRecursive (../. + "/hosts/${hostname}"));
specialArgs = {inherit inputs lib self;}; specialArgs = {inherit inputs lib self mkDefaultOizysModule mkOizysModule;};
}; };
mapHosts = dir: mapAttrs (name: _: mkSystem name) (readDir dir);
findModules = _: listToAttrs (findModulesList ../modules); oizysHosts = mapAttrs (name: _: mkSystem name) (readDir ../hosts);
# https://github.com/balsoft/nixos-config/blob/73cc2c3a8bb62a9c3980a16ae70b2e97af6e1abd/flake.nix#L109-L120 oizysPkg = forAllSystems (
findModulesList = dir: pkgs: rec {
concatLists (attrValues (mapAttrs oizys = pkgs.callPackage ../oizys {};
(name: type: default = oizys;
if type == "regular"
then [
{
name = elemAt (match "(.*)\\.nix" name) 0;
value = dir + "/${name}";
} }
] );
else if devShells = forAllSystems (
(readDir (dir + "/${name}")) pkgs: {
? "default.nix" default = pkgs.mkShell {
then [ packages = with pkgs; [git deadnix];
{ };
inherit name;
value = dir + "/${name}";
} }
] );
else findModulesList (dir + "/${name}")) (readDir dir)));
oizysFlake = _: { oizysFlake = {
nixosModules = findModules {}; nixosModules = nixosModules;
nixosConfigurations = mapHosts ../hosts; nixosConfigurations = oizysHosts;
packages = buildOizys {}; packages = oizysPkg;
devShells = devShells;
formatter = forAllSystems (pkgs: pkgs.alejandra); formatter = forAllSystems (pkgs: pkgs.alejandra);
}; };
} }

View file

@ -1,7 +1,25 @@
final: prev: let final: prev: let
inherit (final) hasSuffix; inherit (final) hasSuffix mkEnableOption mkIf mkOption types;
runes = import ../modules/runes; runes = import ../modules/runes;
in { in rec {
enabled = {enable = true;};
disabled = {enable = false;};
# ["a" "b"] -> {a.enable = true; b.enable = true;}
enableAttrs = attrs:
builtins.listToAttrs (map (attr: {
name = attr;
value = enabled;
})
attrs);
# ["a" "b"] -> {a.enable = false; b.enable = false;}
disableAttrs = attrs:
builtins.listToAttrs (map (attr: {
name = attr;
value = disabled;
})
attrs);
isNixFile = path: hasSuffix ".nix" path; isNixFile = path: hasSuffix ".nix" path;
mkIfIn = name: list: prev.mkIf (builtins.elem name list); mkIfIn = name: list: prev.mkIf (builtins.elem name list);
mkRune = { mkRune = {
@ -10,4 +28,17 @@ in {
runeKind ? "braille", runeKind ? "braille",
}: }:
"[1;3${number}m\n" + runes.${rune}.${runeKind} + "\n"; "[1;3${number}m\n" + runes.${rune}.${runeKind} + "\n";
mkOizysModule = config: attr: content: {
options.oizys.${attr}.enable = mkEnableOption "enable ${attr} support";
config = mkIf config.oizys.${attr}.enable content;
};
mkDefaultOizysModule = config: attr: content: {
options.oizys.${attr}.enable = mkOption {
default = true;
description = "enable ${attr} support";
type = types.bool;
};
config = mkIf config.oizys.${attr}.enable content;
};
} }

25
lib/find-modules.nix Normal file
View file

@ -0,0 +1,25 @@
{...}: let
inherit (builtins) concatLists attrValues mapAttrs elemAt match readDir;
in rec {
# https://github.com/balsoft/nixos-config/blob/73cc2c3a8bb62a9c3980a16ae70b2e97af6e1abd/flake.nix#L109-L120
findModulesList = dir:
concatLists (attrValues (mapAttrs
(name: type:
if type == "regular"
then [
{
name = elemAt (match "(.*)\\.nix" name) 0;
value = dir + "/${name}";
}
]
else if
(readDir (dir + "/${name}"))
? "default.nix"
then [
{
inherit name;
value = dir + "/${name}";
}
]
else findModulesList (dir + "/${name}")) (readDir dir)));
}

View file

@ -5,9 +5,8 @@
... ...
}: let }: let
inherit (lib) mkIf; inherit (lib) mkIf;
cfg = config.oizys.desktop;
in { in {
config = mkIf cfg.enable { config = mkIf config.oizys.desktop.enable {
fonts.fontconfig.enable = true; fonts.fontconfig.enable = true;
fonts.packages = with pkgs; [ fonts.packages = with pkgs; [
(nerdfonts.override {fonts = ["FiraCode"];}) (nerdfonts.override {fonts = ["FiraCode"];})

View file

@ -5,9 +5,8 @@
... ...
}: let }: let
inherit (lib) mkIf; inherit (lib) mkIf;
cfg = config.oizys.desktop;
in { in {
config = mkIf cfg.enable { config = mkIf config.oizys.desktop.enable {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
wezterm wezterm
alacritty alacritty

View file

@ -2,12 +2,9 @@
inputs, inputs,
pkgs, pkgs,
config, config,
lib, mkOizysModule,
... ...
}: let }: let
inherit (lib) mkIf;
cfg = config.programs.hyprland;
lock = pkgs.writeShellApplication { lock = pkgs.writeShellApplication {
name = "lock"; name = "lock";
runtimeInputs = with pkgs; [swaylock]; runtimeInputs = with pkgs; [swaylock];
@ -15,10 +12,10 @@
swaylock -c 1e1e2e swaylock -c 1e1e2e
''; '';
}; };
in { in
config = mkIf cfg.enable { mkOizysModule config "hyprland" {
programs.hyprland.enable = true;
security.pam.services.swaylock = {}; security.pam.services.swaylock = {};
# programs.hyprland.package = inputs.hyprland.packages.${pkgs.system}.default;
# Optional, hint electron apps to use wayland: # Optional, hint electron apps to use wayland:
environment.sessionVariables.NIXOS_OZONE_WL = "1"; environment.sessionVariables.NIXOS_OZONE_WL = "1";
@ -52,5 +49,4 @@ in {
inputs.nixpkgs-wayland.overlay inputs.nixpkgs-wayland.overlay
inputs.hyprland.overlays.default inputs.hyprland.overlays.default
]; ];
};
} }

View file

@ -1,19 +1,11 @@
{ {
config, inputs,
lib,
pkgs, pkgs,
config,
mkDefaultOizysModule,
... ...
}: let }:
inherit (lib) mkOption mkIf types; mkDefaultOizysModule config "cli" {
cfg = config.oizys.cli;
in {
options.oizys.cli.enable = mkOption {
default = true;
description = "Whether to enable cli.";
type = types.bool;
};
config = mkIf cfg.enable {
programs.direnv.enable = true; programs.direnv.enable = true;
environment.sessionVariables = { environment.sessionVariables = {
DIRENV_LOG_FORMAT = "direnv: %s"; DIRENV_LOG_FORMAT = "direnv: %s";
@ -32,6 +24,6 @@ in {
ripgrep ripgrep
btop btop
inputs.tsm.packages.${pkgs.system}.tsm
]; ];
};
} }

View file

@ -5,9 +5,8 @@
... ...
}: let }: let
inherit (lib) mkIf; inherit (lib) mkIf;
cfg = config.oizys.desktop;
in { in {
config = mkIf cfg.enable { config = mkIf config.oizys.desktop.enable {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
# vscode # vscode
vscode-fhs vscode-fhs

View file

@ -1,8 +1,4 @@
{ {lib, ...}: let
config,
lib,
...
}: let
inherit (lib) mkOption types literalExpression mdDoc; inherit (lib) mkOption types literalExpression mdDoc;
in { in {
imports = [./nim.nix ./tex.nix ./misc.nix ./node.nix ./python.nix]; imports = [./nim.nix ./tex.nix ./misc.nix ./node.nix ./python.nix];

View file

@ -1,17 +1,9 @@
{ {
config, config,
lib,
pkgs, pkgs,
mkOizysModule,
... ...
}: let }:
inherit (lib) mkEnableOption mkIf; mkOizysModule config "vpn" {
cfg = config.oizys.vpn;
in {
options.oizys.vpn.enable = mkEnableOption ''
Whether to enable openconnect for vpn connection.
'';
config = mkIf cfg.enable {
environment.systemPackages = [pkgs.openconnect]; environment.systemPackages = [pkgs.openconnect];
};
} }

View file

@ -1,4 +1,14 @@
{pkgs, ...}: { {
pkgs,
lib,
config,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.oizys.nix-ld;
in {
options.oizys.nix-ld.enable = mkEnableOption "enable nix-ld support";
config = mkIf cfg.enable {
programs.nix-ld.enable = true; programs.nix-ld.enable = true;
# Packages that need at least something in this list: # Packages that need at least something in this list:
@ -56,4 +66,5 @@
xorg.libxshmfence xorg.libxshmfence
zlib zlib
]; ];
};
} }

View file

@ -2,7 +2,9 @@
lib, lib,
self, self,
... ...
}: { }: let
inherit (lib) mkEnableOption;
in {
imports = with self.nixosModules; [ imports = with self.nixosModules; [
users users
nix nix
@ -12,23 +14,25 @@
vpn vpn
gpg gpg
# gui
fonts
lock lock
qtile qtile
hyprland hyprland
virtualbox virtualbox
docker
gui gui
fonts
languages languages
# programs # programs
vivaldi chrome
vscode vscode
nix-ld
restic
]; ];
options.oizys.desktop.enable = lib.mkEnableOption "is desktop"; options.oizys.desktop.enable = mkEnableOption "is desktop";
} }

View file

@ -0,0 +1,28 @@
{
pkgs,
config,
mkOizysModule,
...
}:
mkOizysModule config "chrome" {
programs.chromium = {
enable = true;
extensions = [
"nngceckbapebfimnlniiiahkandclblb" # bitwarden
"gfbliohnnapiefjpjlpjnehglfpaknnc" # surfingkeys
"pbmlfaiicoikhdbjagjbglnbfcbcojpj" # simplify gmail
"oemmndcbldboiebfnladdacbdfmadadm" # pdf viewer
"clngdbkpkpeebahjckkjfobafhncgmne" # stylus
"cjpalhdlnbpafiamejdnhcphjbkeiagm" # ublock origin
];
};
environment.systemPackages = with pkgs; [
(google-chrome.override {
commandLineArgs = [
"--force-dark-mode"
];
})
];
}

View file

@ -1,33 +0,0 @@
{
pkgs,
config,
lib,
...
}: let
inherit (lib) mkIf mkEnableOption;
cfg = config.vivaldi;
in {
options.vivaldi.enable = mkEnableOption "enable vivaldi + extensions";
config = mkIf cfg.enable {
programs.chromium = {
enable = true;
extensions = [
"nngceckbapebfimnlniiiahkandclblb" # bitwarden
"gfbliohnnapiefjpjlpjnehglfpaknnc" # surfingkeys
"pbmlfaiicoikhdbjagjbglnbfcbcojpj" # simplify gmail
"oemmndcbldboiebfnladdacbdfmadadm" # pdf viewer
"clngdbkpkpeebahjckkjfobafhncgmne" # stylus
];
};
environment.systemPackages = with pkgs; [
(vivaldi.override {
commandLineArgs = [
"--force-dark-mode"
];
proprietaryCodecs = true;
})
];
};
}

View file

@ -1,5 +1,16 @@
{...}: { {
config,
pkgs,
mkOizysModule,
...
}:
mkOizysModule config "backups" {
environment.systemPackages = with pkgs; [rclone];
services.restic.backups.gdrive = { services.restic.backups.gdrive = {
# BUG: if .conda/environments.txt doesn't exist then this won't work
# workaround for now `mkdir ~/.conda && touch ~/.conda/environments.txt`
extraBackupArgs = [ extraBackupArgs = [
"--exclude-file /home/daylin/.config/restic/excludes.txt" "--exclude-file /home/daylin/.config/restic/excludes.txt"
"--exclude-file /home/daylin/.conda/environments.txt" "--exclude-file /home/daylin/.conda/environments.txt"

View file

@ -1,4 +1,10 @@
{pkgs, ...}: { {
pkgs,
config,
mkOizysModule,
...
}:
mkOizysModule config "docker" {
virtualisation.docker.enable = true; virtualisation.docker.enable = true;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
lazydocker lazydocker

View file

@ -1,16 +1,11 @@
{ {
config, config,
lib, mkOizysModule,
... ...
}: let }:
inherit (lib) mkEnableOption mkIf; mkOizysModule config "vbox" {
cfg = config.oizys.vbox;
in {
options.oizys.vbox.enable = mkEnableOption "enable virtualbox host";
config = mkIf cfg.enable {
virtualisation.virtualbox = { virtualisation.virtualbox = {
host.enable = true; host.enable = true;
}; };
users.extraGroups.vboxusers.members = ["daylin"]; users.extraGroups.vboxusers.members = ["daylin"];
};
} }