.
This commit is contained in:
parent
59a1fbaf0f
commit
ac3dac322d
78 changed files with 893 additions and 802 deletions
17
modules/home/application/default.nix
Normal file
17
modules/home/application/default.nix
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
imports = [
|
||||
./bitwarden
|
||||
./chrome
|
||||
./discord
|
||||
./ladybird
|
||||
./matrix
|
||||
./obs
|
||||
./onlyoffice
|
||||
./signal
|
||||
./steam
|
||||
./studio
|
||||
./teamspeak
|
||||
./thunderbird
|
||||
./zen
|
||||
];
|
||||
}
|
||||
|
|
@ -3,7 +3,7 @@ let
|
|||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.application.studio;
|
||||
studioPackage = pkgs.callPackage (repoRoot + "/packages/studio/default.nix") {
|
||||
studioPackage = pkgs.callPackage (repoRoot + "/packages/studio/package.nix") {
|
||||
inherit erosanixLib;
|
||||
};
|
||||
in
|
||||
|
|
|
|||
|
|
@ -5,6 +5,18 @@ let
|
|||
|
||||
cfg = config.${namespace}.defaults;
|
||||
in {
|
||||
imports = [
|
||||
./application
|
||||
./desktop
|
||||
./development
|
||||
./editor
|
||||
./game
|
||||
./home-manager
|
||||
./shell
|
||||
./terminal
|
||||
./themes
|
||||
];
|
||||
|
||||
options.${namespace}.defaults = {
|
||||
editor = mkOption {
|
||||
type = enum [ "nano" "nvim" "zed" ];
|
||||
|
|
|
|||
5
modules/home/desktop/default.nix
Normal file
5
modules/home/desktop/default.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
imports = [
|
||||
./plasma
|
||||
];
|
||||
}
|
||||
7
modules/home/development/default.nix
Normal file
7
modules/home/development/default.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
imports = [
|
||||
./dotnet
|
||||
./javascript
|
||||
./rust
|
||||
];
|
||||
}
|
||||
7
modules/home/editor/default.nix
Normal file
7
modules/home/editor/default.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
imports = [
|
||||
./nano
|
||||
./nvim
|
||||
./zed
|
||||
];
|
||||
}
|
||||
5
modules/home/game/default.nix
Normal file
5
modules/home/game/default.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
imports = [
|
||||
./minecraft
|
||||
];
|
||||
}
|
||||
|
|
@ -5,6 +5,11 @@ let
|
|||
cfg = config.${namespace}.shell;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./toolset
|
||||
./zsh
|
||||
];
|
||||
|
||||
options.${namespace}.shell = {
|
||||
corePkgs.enable = mkEnableOption "core shell packages";
|
||||
};
|
||||
|
|
|
|||
16
modules/home/shell/toolset/default.nix
Normal file
16
modules/home/shell/toolset/default.nix
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
imports = [
|
||||
./bat
|
||||
./btop
|
||||
./eza
|
||||
./fzf
|
||||
./git
|
||||
./gnugpg
|
||||
./just
|
||||
./starship
|
||||
./tmux
|
||||
./yazi
|
||||
./zellij
|
||||
./zoxide
|
||||
];
|
||||
}
|
||||
6
modules/home/terminal/default.nix
Normal file
6
modules/home/terminal/default.nix
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
imports = [
|
||||
./alacritty
|
||||
./ghostty
|
||||
];
|
||||
}
|
||||
5
modules/nixos/application/default.nix
Normal file
5
modules/nixos/application/default.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
imports = [
|
||||
./steam
|
||||
];
|
||||
}
|
||||
14
modules/nixos/default.nix
Normal file
14
modules/nixos/default.nix
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
imports = [
|
||||
./application
|
||||
./boot
|
||||
./desktop
|
||||
./editor
|
||||
./hardware
|
||||
./home-manager
|
||||
./nix
|
||||
./services
|
||||
./shells
|
||||
./system
|
||||
];
|
||||
}
|
||||
|
|
@ -9,6 +9,13 @@
|
|||
|
||||
cfg = config.${namespace}.desktop;
|
||||
in {
|
||||
imports = [
|
||||
./cosmic
|
||||
./gamescope
|
||||
./gnome
|
||||
./plasma
|
||||
];
|
||||
|
||||
options.${namespace}.desktop = {
|
||||
use = mkOption {
|
||||
type = nullOr (enum ["plasma" "gamescope" "gnome" "cosmic"]);
|
||||
|
|
|
|||
6
modules/nixos/editor/default.nix
Normal file
6
modules/nixos/editor/default.nix
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
imports = [
|
||||
./nano
|
||||
./nvim
|
||||
];
|
||||
}
|
||||
7
modules/nixos/hardware/default.nix
Normal file
7
modules/nixos/hardware/default.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
imports = [
|
||||
./audio
|
||||
./bluetooth
|
||||
./gpu
|
||||
];
|
||||
}
|
||||
6
modules/nixos/hardware/gpu/default.nix
Normal file
6
modules/nixos/hardware/gpu/default.nix
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
imports = [
|
||||
./amd
|
||||
./nvidia
|
||||
];
|
||||
}
|
||||
7
modules/nixos/services/authentication/default.nix
Normal file
7
modules/nixos/services/authentication/default.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
imports = [
|
||||
./authelia
|
||||
./himmelblau
|
||||
./zitadel
|
||||
];
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
{ config, lib, pkgs, namespace, system, terranixLib, sneeuwvlokLib, ... }:
|
||||
{ config, lib, pkgs, namespace, terranixLib, sneeuwvlokLib, ... }:
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption mkOption types toUpper toSentenceCase nameValuePair mapAttrs mapAttrs' concatMapAttrs concatMapStringsSep filterAttrsRecursive listToAttrs imap0 head drop length literalExpression attrNames;
|
||||
inherit (sneeuwvlokLib.strings) toSnakeCase;
|
||||
|
|
@ -340,7 +340,7 @@ in
|
|||
|
||||
# this is a nix package, the generated json file to be exact
|
||||
terraformConfiguration = terranixLib.terranixConfiguration {
|
||||
inherit system;
|
||||
system = pkgs.stdenv.hostPlatform.system;
|
||||
|
||||
modules = [
|
||||
({ config, lib, ... }: {
|
||||
|
|
|
|||
5
modules/nixos/services/backup/default.nix
Normal file
5
modules/nixos/services/backup/default.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
imports = [
|
||||
./borg
|
||||
];
|
||||
}
|
||||
5
modules/nixos/services/communication/default.nix
Normal file
5
modules/nixos/services/communication/default.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
imports = [
|
||||
./matrix
|
||||
];
|
||||
}
|
||||
15
modules/nixos/services/default.nix
Normal file
15
modules/nixos/services/default.nix
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
imports = [
|
||||
./authentication
|
||||
./backup
|
||||
./communication
|
||||
./development
|
||||
./games
|
||||
./media
|
||||
./networking
|
||||
./observability
|
||||
./persistance
|
||||
./security
|
||||
./virtualisation
|
||||
];
|
||||
}
|
||||
5
modules/nixos/services/development/default.nix
Normal file
5
modules/nixos/services/development/default.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
imports = [
|
||||
./forgejo
|
||||
];
|
||||
}
|
||||
7
modules/nixos/services/games/default.nix
Normal file
7
modules/nixos/services/games/default.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
imports = [
|
||||
./minecraft
|
||||
./palworld
|
||||
./openrct.nix
|
||||
];
|
||||
}
|
||||
|
|
@ -10,6 +10,15 @@
|
|||
|
||||
cfg = config.${namespace}.services.media;
|
||||
in {
|
||||
imports = [
|
||||
./glance
|
||||
./jellyfin
|
||||
./mydia
|
||||
./nextcloud
|
||||
./nfs
|
||||
./servarr
|
||||
];
|
||||
|
||||
options.${namespace}.services.media = {
|
||||
enable = mkEnableOption "Enable media services";
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
lib,
|
||||
namespace,
|
||||
inputs,
|
||||
system,
|
||||
...
|
||||
}: let
|
||||
inherit (builtins) toString;
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@
|
|||
config,
|
||||
lib,
|
||||
namespace,
|
||||
system,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
config,
|
||||
lib,
|
||||
namespace,
|
||||
system,
|
||||
terranixLib,
|
||||
...
|
||||
}: let
|
||||
|
|
@ -156,7 +155,7 @@ in {
|
|||
lib' = lib;
|
||||
|
||||
terraformConfiguration = terranixLib.terranixConfiguration {
|
||||
inherit system;
|
||||
system = pkgs.stdenv.hostPlatform.system;
|
||||
|
||||
modules = [
|
||||
({
|
||||
|
|
|
|||
7
modules/nixos/services/networking/default.nix
Normal file
7
modules/nixos/services/networking/default.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
imports = [
|
||||
./caddy
|
||||
./ssh
|
||||
./wireguard
|
||||
];
|
||||
}
|
||||
9
modules/nixos/services/observability/default.nix
Normal file
9
modules/nixos/services/observability/default.nix
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
imports = [
|
||||
./grafana
|
||||
./loki
|
||||
./prometheus
|
||||
./promtail
|
||||
./uptime-kuma
|
||||
];
|
||||
}
|
||||
5
modules/nixos/services/persistance/default.nix
Normal file
5
modules/nixos/services/persistance/default.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
imports = [
|
||||
./postgesql
|
||||
];
|
||||
}
|
||||
5
modules/nixos/services/security/default.nix
Normal file
5
modules/nixos/services/security/default.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
imports = [
|
||||
./vaultwarden
|
||||
];
|
||||
}
|
||||
|
|
@ -120,7 +120,7 @@ in {
|
|||
enable = true;
|
||||
dbBackend = "postgresql";
|
||||
|
||||
package = pkgs.callPackage (repoRoot + "/packages/vaultwarden/default.nix") {};
|
||||
package = pkgs.callPackage (repoRoot + "/packages/vaultwarden/package.nix") {};
|
||||
|
||||
config = {
|
||||
SIGNUPS_ALLOWED = false;
|
||||
|
|
|
|||
5
modules/nixos/services/virtualisation/default.nix
Normal file
5
modules/nixos/services/virtualisation/default.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
imports = [
|
||||
./podman
|
||||
];
|
||||
}
|
||||
6
modules/nixos/system/default.nix
Normal file
6
modules/nixos/system/default.nix
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
imports = [
|
||||
./networking
|
||||
./security
|
||||
];
|
||||
}
|
||||
|
|
@ -3,6 +3,12 @@ let
|
|||
cfg = config.${namespace}.system.security;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./boot
|
||||
./sops
|
||||
./sudo
|
||||
];
|
||||
|
||||
options.${namespace}.system.security = {};
|
||||
|
||||
config = {
|
||||
|
|
@ -20,4 +26,4 @@ in
|
|||
|
||||
programs.gnupg.agent.enable = true;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{ pkgs, config, namespace, repoRoot, system, ... }:
|
||||
{ pkgs, config, namespace, repoRoot, ... }:
|
||||
let
|
||||
cfg = config.${namespace}.system.security.sops;
|
||||
in
|
||||
|
|
@ -10,7 +10,7 @@ in
|
|||
|
||||
sops = {
|
||||
defaultSopsFormat = "yaml";
|
||||
defaultSopsFile = repoRoot + "/systems/${system}/${config.networking.hostName}/secrets.yml";
|
||||
defaultSopsFile = repoRoot + "/systems/${pkgs.stdenv.hostPlatform.system}/${config.networking.hostName}/secrets.yml";
|
||||
|
||||
age = {
|
||||
# keyFile = "~/.config/sops/age/keys.txt";
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue