wiiiiips
This commit is contained in:
parent
ac3dac322d
commit
a7a1763fe0
105 changed files with 1152 additions and 1093 deletions
|
|
@ -2,10 +2,10 @@
|
|||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.application.bitwarden;
|
||||
cfg = config.sneeuwvlok.application.bitwarden;
|
||||
in
|
||||
{
|
||||
options.${namespace}.application.bitwarden = {
|
||||
options.sneeuwvlok.application.bitwarden = {
|
||||
enable = mkEnableOption "enable bitwarden";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +1,16 @@
|
|||
{ inputs, config, lib, pkgs, namespace, ... }:
|
||||
let
|
||||
{
|
||||
inputs,
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
namespace,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.application.chrome;
|
||||
in
|
||||
{
|
||||
options.${namespace}.application.chrome = {
|
||||
cfg = config.sneeuwvlok.application.chrome;
|
||||
in {
|
||||
options.sneeuwvlok.application.chrome = {
|
||||
enable = mkEnableOption "enable chrome";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,15 +1,20 @@
|
|||
{ inputs, config, lib, pkgs, namespace, ... }:
|
||||
let
|
||||
{
|
||||
inputs,
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
namespace,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.application.discord;
|
||||
in
|
||||
{
|
||||
options.${namespace}.application.discord = {
|
||||
cfg = config.sneeuwvlok.application.discord;
|
||||
in {
|
||||
options.sneeuwvlok.application.discord = {
|
||||
enable = mkEnableOption "enable discord (vesktop)";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = with pkgs; [ vesktop ];
|
||||
home.packages = with pkgs; [vesktop];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.application.ladybird;
|
||||
cfg = config.sneeuwvlok.application.ladybird;
|
||||
in
|
||||
{
|
||||
options.${namespace}.application.ladybird = {
|
||||
options.sneeuwvlok.application.ladybird = {
|
||||
enable = mkEnableOption "enable ladybird";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.application.matrix;
|
||||
cfg = config.sneeuwvlok.application.matrix;
|
||||
in
|
||||
{
|
||||
options.${namespace}.application.matrix = {
|
||||
options.sneeuwvlok.application.matrix = {
|
||||
enable = mkEnableOption "enable Matrix client (Fractal)";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +1,16 @@
|
|||
{ config, lib, pkgs, namespace, osConfig ? {}, ... }:
|
||||
let
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
namespace,
|
||||
osConfig ? {},
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.application.obs;
|
||||
in
|
||||
{
|
||||
options.${namespace}.application.obs = {
|
||||
cfg = config.sneeuwvlok.application.obs;
|
||||
in {
|
||||
options.sneeuwvlok.application.obs = {
|
||||
enable = mkEnableOption "enable obs";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -8,9 +8,9 @@
|
|||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.application.onlyoffice;
|
||||
cfg = config.sneeuwvlok.application.onlyoffice;
|
||||
in {
|
||||
options.${namespace}.application.onlyoffice = {
|
||||
options.sneeuwvlok.application.onlyoffice = {
|
||||
enable = mkEnableOption "enable onlyoffice";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.application.signal;
|
||||
cfg = config.sneeuwvlok.application.signal;
|
||||
in
|
||||
{
|
||||
options.${namespace}.application.signal = {
|
||||
options.sneeuwvlok.application.signal = {
|
||||
enable = mkEnableOption "enable signal";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,16 +1,21 @@
|
|||
{ inputs, config, lib, pkgs, namespace, ... }:
|
||||
let
|
||||
{
|
||||
inputs,
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
namespace,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.application.steam;
|
||||
in
|
||||
{
|
||||
options.${namespace}.application.steam = {
|
||||
cfg = config.sneeuwvlok.application.steam;
|
||||
in {
|
||||
options.sneeuwvlok.application.steam = {
|
||||
enable = mkEnableOption "enable steam";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = with pkgs; [ protonup-ng ];
|
||||
home.packages = with pkgs; [protonup-ng];
|
||||
|
||||
home.sessionVariables = {
|
||||
STEAM_EXTRA_COMPAT_TOOLS_PATHS = "\${HOME}/.steam/root/compatibilitytools.d";
|
||||
|
|
|
|||
|
|
@ -2,13 +2,13 @@
|
|||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.application.studio;
|
||||
cfg = config.sneeuwvlok.application.studio;
|
||||
studioPackage = pkgs.callPackage (repoRoot + "/packages/studio/package.nix") {
|
||||
inherit erosanixLib;
|
||||
};
|
||||
in
|
||||
{
|
||||
options.${namespace}.application.studio = {
|
||||
options.sneeuwvlok.application.studio = {
|
||||
enable = mkEnableOption "enable Bricklink Studio";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.application.teamspeak;
|
||||
cfg = config.sneeuwvlok.application.teamspeak;
|
||||
in
|
||||
{
|
||||
options.${namespace}.application.teamspeak = {
|
||||
options.sneeuwvlok.application.teamspeak = {
|
||||
enable = mkEnableOption "enable teamspeak";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.application.thunderbird;
|
||||
cfg = config.sneeuwvlok.application.thunderbird;
|
||||
in
|
||||
{
|
||||
options.${namespace}.application.thunderbird = {
|
||||
options.sneeuwvlok.application.thunderbird = {
|
||||
enable = mkEnableOption "enable thunderbird";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +1,15 @@
|
|||
{ config, lib, pkgs, namespace, ... }:
|
||||
let
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
namespace,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.application.zen;
|
||||
in
|
||||
{
|
||||
options.${namespace}.application.zen = {
|
||||
cfg = config.sneeuwvlok.application.zen;
|
||||
in {
|
||||
options.sneeuwvlok.application.zen = {
|
||||
enable = mkEnableOption "enable zen";
|
||||
};
|
||||
|
||||
|
|
@ -50,8 +54,7 @@ in
|
|||
install_url = "https://addons.mozilla.org/firefox/downloads/latest/${builtins.toString id}/latest.xpi";
|
||||
installation_mode = "force_installed";
|
||||
};
|
||||
in
|
||||
{
|
||||
in {
|
||||
ublock_origin = 4531307;
|
||||
ghostry = 4562168;
|
||||
bitwarden = 4562769;
|
||||
|
|
|
|||
|
|
@ -1,9 +1,14 @@
|
|||
{ pkgs, config, lib, namespace, ... }:
|
||||
let
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
namespace,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkOption;
|
||||
inherit (lib.types) enum;
|
||||
|
||||
cfg = config.${namespace}.defaults;
|
||||
cfg = config.sneeuwvlok.defaults;
|
||||
in {
|
||||
imports = [
|
||||
./application
|
||||
|
|
@ -17,30 +22,30 @@ in {
|
|||
./themes
|
||||
];
|
||||
|
||||
options.${namespace}.defaults = {
|
||||
options.sneeuwvlok.defaults = {
|
||||
editor = mkOption {
|
||||
type = enum [ "nano" "nvim" "zed" ];
|
||||
type = enum ["nano" "nvim" "zed"];
|
||||
default = "nano";
|
||||
description = "Default editor for text manipulation";
|
||||
example = "nvim";
|
||||
};
|
||||
|
||||
shell = mkOption {
|
||||
type = enum [ "fish" "zsh" "bash" ];
|
||||
type = enum ["fish" "zsh" "bash"];
|
||||
default = "zsh";
|
||||
description = "Default shell";
|
||||
example = "zsh";
|
||||
};
|
||||
|
||||
terminal = mkOption {
|
||||
type = enum [ "ghostty" "alacritty" ];
|
||||
type = enum ["ghostty" "alacritty"];
|
||||
default = "ghostty";
|
||||
description = "Default terminal";
|
||||
example = "ghostty";
|
||||
};
|
||||
|
||||
browser = mkOption {
|
||||
type = enum [ "chrome" "ladybird" "zen" ];
|
||||
type = enum ["chrome" "ladybird" "zen"];
|
||||
default = "zen";
|
||||
description = "Default terminal";
|
||||
example = "zen";
|
||||
|
|
|
|||
|
|
@ -2,11 +2,11 @@
|
|||
let
|
||||
inherit (lib) mkIf;
|
||||
|
||||
cfg = config.${namespace}.desktop.plasma;
|
||||
osCfg = osConfig.${namespace}.desktop.plasma or { enable = false; };
|
||||
cfg = config.sneeuwvlok.desktop.plasma;
|
||||
osCfg = osConfig.sneeuwvlok.desktop.plasma or { enable = false; };
|
||||
in
|
||||
{
|
||||
options.${namespace}.desktop.plasma = {
|
||||
options.sneeuwvlok.desktop.plasma = {
|
||||
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
let
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
|
||||
cfg = config.${namespace}.development.dotnet;
|
||||
cfg = config.sneeuwvlok.development.dotnet;
|
||||
in
|
||||
{
|
||||
options.${namespace}.development.dotnet = {
|
||||
options.sneeuwvlok.development.dotnet = {
|
||||
enable = mkEnableOption "Enable dotnet development tools";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
let
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
|
||||
cfg = config.${namespace}.development.javascript;
|
||||
cfg = config.sneeuwvlok.development.javascript;
|
||||
in
|
||||
{
|
||||
options.${namespace}.development.javascript = {
|
||||
options.sneeuwvlok.development.javascript = {
|
||||
enable = mkEnableOption "Enable javascript development tools";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,15 +1,19 @@
|
|||
{ config, lib, pkgs, namespace, ... }:
|
||||
let
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
namespace,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
|
||||
cfg = config.${namespace}.development.rust;
|
||||
in
|
||||
{
|
||||
options.${namespace}.development.rust = {
|
||||
cfg = config.sneeuwvlok.development.rust;
|
||||
in {
|
||||
options.sneeuwvlok.development.rust = {
|
||||
enable = mkEnableOption "Enable rust development tools";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
};
|
||||
config =
|
||||
mkIf cfg.enable {
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,16 +1,21 @@
|
|||
{ config, options, lib, pkgs, namespace, ... }:
|
||||
let
|
||||
{
|
||||
config,
|
||||
options,
|
||||
lib,
|
||||
pkgs,
|
||||
namespace,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
|
||||
cfg = config.${namespace}.editor.nano;
|
||||
in
|
||||
{
|
||||
options.${namespace}.editor.nano = {
|
||||
cfg = config.sneeuwvlok.editor.nano;
|
||||
in {
|
||||
options.sneeuwvlok.editor.nano = {
|
||||
enable = mkEnableOption "nano";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = with pkgs; [ nano ];
|
||||
home.packages = with pkgs; [nano];
|
||||
|
||||
# programs.nano = {
|
||||
# enable = true;
|
||||
|
|
|
|||
|
|
@ -1,15 +1,20 @@
|
|||
{ inputs, config, lib, pkgs, namespace, ... }:
|
||||
let
|
||||
{
|
||||
inputs,
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
namespace,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.editor.nvim;
|
||||
in
|
||||
{
|
||||
cfg = config.sneeuwvlok.editor.nvim;
|
||||
in {
|
||||
# imports = [
|
||||
# inputs.nvf.nixosModules.default
|
||||
# ];
|
||||
|
||||
options.${namespace}.editor.nvim = {
|
||||
options.sneeuwvlok.editor.nvim = {
|
||||
enable = mkEnableOption "enable nvim via nvf on user level";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
{ config, lib, pkgs, namespace, ... }: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.editor.zed;
|
||||
cfg = config.sneeuwvlok.editor.zed;
|
||||
in {
|
||||
options.${namespace}.editor.zed = {
|
||||
options.sneeuwvlok.editor.zed = {
|
||||
enable = mkEnableOption "zed";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,15 +1,20 @@
|
|||
{ inputs, config, lib, pkgs, namespace, ... }:
|
||||
let
|
||||
{
|
||||
inputs,
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
namespace,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.game.minecraft;
|
||||
in
|
||||
{
|
||||
options.${namespace}.game.minecraft = {
|
||||
cfg = config.sneeuwvlok.game.minecraft;
|
||||
in {
|
||||
options.sneeuwvlok.game.minecraft = {
|
||||
enable = mkEnableOption "enable minecraft";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = with pkgs; [ prismlauncher ];
|
||||
home.packages = with pkgs; [prismlauncher];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
let
|
||||
inherit (lib) mkIf mkMerge mkEnableOption mkDefault;
|
||||
|
||||
cfg = config.${namespace}.shell;
|
||||
cfg = config.sneeuwvlok.shell;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
|
|
@ -10,13 +10,13 @@ in
|
|||
./zsh
|
||||
];
|
||||
|
||||
options.${namespace}.shell = {
|
||||
options.sneeuwvlok.shell = {
|
||||
corePkgs.enable = mkEnableOption "core shell packages";
|
||||
};
|
||||
|
||||
config = mkMerge [
|
||||
(mkIf (cfg.corePkgs.enable) {
|
||||
${namespace}.shell.toolset = mkDefault {
|
||||
sneeuwvlok.shell.toolset = mkDefault {
|
||||
bat.enable = true;
|
||||
btop.enable = true;
|
||||
eza.enable = true;
|
||||
|
|
|
|||
|
|
@ -1,16 +1,20 @@
|
|||
{ config, lib, pkgs, namespace, ... }:
|
||||
let
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
namespace,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.shell.toolset.bat;
|
||||
in
|
||||
{
|
||||
options.${namespace}.shell.toolset.bat = {
|
||||
cfg = config.sneeuwvlok.shell.toolset.bat;
|
||||
in {
|
||||
options.sneeuwvlok.shell.toolset.bat = {
|
||||
enable = mkEnableOption "cat replacement";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = with pkgs; [ bat ];
|
||||
home.packages = with pkgs; [bat];
|
||||
|
||||
programs.bat = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -1,17 +1,21 @@
|
|||
{ config, lib, pkgs, namespace, ... }:
|
||||
let
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
namespace,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
inherit (lib.strings) concatStringsSep;
|
||||
|
||||
cfg = config.${namespace}.shell.toolset.btop;
|
||||
in
|
||||
{
|
||||
options.${namespace}.shell.toolset.btop = {
|
||||
cfg = config.sneeuwvlok.shell.toolset.btop;
|
||||
in {
|
||||
options.sneeuwvlok.shell.toolset.btop = {
|
||||
enable = mkEnableOption "system-monitor";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = with pkgs; [ btop ];
|
||||
home.packages = with pkgs; [btop];
|
||||
|
||||
programs.btop = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -1,16 +1,20 @@
|
|||
{ config, lib, pkgs, namespace, ... }:
|
||||
let
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
namespace,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.shell.toolset.eza;
|
||||
in
|
||||
{
|
||||
options.${namespace}.shell.toolset.eza = {
|
||||
cfg = config.sneeuwvlok.shell.toolset.eza;
|
||||
in {
|
||||
options.sneeuwvlok.shell.toolset.eza = {
|
||||
enable = mkEnableOption "system-monitor";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = with pkgs; [ eza ];
|
||||
home.packages = with pkgs; [eza];
|
||||
|
||||
programs.eza = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -1,16 +1,20 @@
|
|||
{ config, lib, pkgs, namespace, ... }:
|
||||
let
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
namespace,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.shell.toolset.fzf;
|
||||
in
|
||||
{
|
||||
options.${namespace}.shell.toolset.fzf = {
|
||||
cfg = config.sneeuwvlok.shell.toolset.fzf;
|
||||
in {
|
||||
options.sneeuwvlok.shell.toolset.fzf = {
|
||||
enable = mkEnableOption "TUI Fuzzy Finder.";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = with pkgs; [ fzf ];
|
||||
home.packages = with pkgs; [fzf];
|
||||
|
||||
programs.fzf = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -7,9 +7,9 @@
|
|||
}: let
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
|
||||
cfg = config.${namespace}.shell.toolset.git;
|
||||
cfg = config.sneeuwvlok.shell.toolset.git;
|
||||
in {
|
||||
options.${namespace}.shell.toolset.git = {
|
||||
options.sneeuwvlok.shell.toolset.git = {
|
||||
enable = mkEnableOption "version-control system";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +1,15 @@
|
|||
{ config, lib, pkgs, namespace, ... }:
|
||||
let
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
namespace,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.shell.toolset.gnupg;
|
||||
in
|
||||
{
|
||||
options.${namespace}.shell.toolset.gnupg = {
|
||||
cfg = config.sneeuwvlok.shell.toolset.gnupg;
|
||||
in {
|
||||
options.sneeuwvlok.shell.toolset.gnupg = {
|
||||
enable = mkEnableOption "cryptographic suite";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,15 +1,19 @@
|
|||
{ config, lib, pkgs, namespace, ... }:
|
||||
let
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
namespace,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
|
||||
cfg = config.${namespace}.shell.toolset.just;
|
||||
in
|
||||
{
|
||||
options.${namespace}.shell.toolset.just = {
|
||||
cfg = config.sneeuwvlok.shell.toolset.just;
|
||||
in {
|
||||
options.sneeuwvlok.shell.toolset.just = {
|
||||
enable = mkEnableOption "version-control system";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = with pkgs; [ just gum ];
|
||||
home.packages = with pkgs; [just gum];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.shell.toolset.starship;
|
||||
cfg = config.sneeuwvlok.shell.toolset.starship;
|
||||
in
|
||||
{
|
||||
options.${namespace}.shell.toolset.starship = {
|
||||
options.sneeuwvlok.shell.toolset.starship = {
|
||||
enable = mkEnableOption "fancy pansy shell prompt";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.shell.toolset.tmux;
|
||||
cfg = config.sneeuwvlok.shell.toolset.tmux;
|
||||
in
|
||||
{
|
||||
options.${namespace}.shell.toolset.tmux = {
|
||||
options.sneeuwvlok.shell.toolset.tmux = {
|
||||
enable = mkEnableOption "terminal multiplexer";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,16 +1,20 @@
|
|||
{ config, lib, pkgs, namespace, ... }:
|
||||
let
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
namespace,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.shell.toolset.yazi;
|
||||
in
|
||||
{
|
||||
options.${namespace}.shell.toolset.yazi = {
|
||||
cfg = config.sneeuwvlok.shell.toolset.yazi;
|
||||
in {
|
||||
options.sneeuwvlok.shell.toolset.yazi = {
|
||||
enable = mkEnableOption "cli file browser";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = with pkgs; [ yazi ];
|
||||
home.packages = with pkgs; [yazi];
|
||||
|
||||
programs.yazi = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.shell.toolset.zellij;
|
||||
cfg = config.sneeuwvlok.shell.toolset.zellij;
|
||||
in
|
||||
{
|
||||
options.${namespace}.shell.toolset.zellij = {
|
||||
options.sneeuwvlok.shell.toolset.zellij = {
|
||||
enable = mkEnableOption "terminal multiplexer";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,16 +1,20 @@
|
|||
{ config, lib, pkgs, namespace, ... }:
|
||||
let
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
namespace,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.shell.toolset.zoxide;
|
||||
in
|
||||
{
|
||||
options.${namespace}.shell.toolset.zoxide = {
|
||||
cfg = config.sneeuwvlok.shell.toolset.zoxide;
|
||||
in {
|
||||
options.sneeuwvlok.shell.toolset.zoxide = {
|
||||
enable = mkEnableOption "cd replacement";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = with pkgs; [ zoxide ];
|
||||
home.packages = with pkgs; [zoxide];
|
||||
|
||||
programs.zoxide = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -2,15 +2,15 @@
|
|||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.shell.zsh;
|
||||
cfg = config.sneeuwvlok.shell.zsh;
|
||||
in
|
||||
{
|
||||
options.${namespace}.shell.zsh = {
|
||||
options.sneeuwvlok.shell.zsh = {
|
||||
enable = mkEnableOption "enable ZSH";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
# ${namespace}.shell = {
|
||||
# sneeuwvlok.shell = {
|
||||
# zsh.enable = true;
|
||||
# };
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +1,14 @@
|
|||
{ config, lib, namespace, ... }:
|
||||
let
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
namespace,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.terminal.alacritty;
|
||||
in
|
||||
{
|
||||
options.${namespace}.terminal.alacritty = {
|
||||
cfg = config.sneeuwvlok.terminal.alacritty;
|
||||
in {
|
||||
options.sneeuwvlok.terminal.alacritty = {
|
||||
enable = mkEnableOption "enable alacritty";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +1,14 @@
|
|||
{ config, lib, namespace, ... }:
|
||||
let
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
namespace,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.terminal.ghostty;
|
||||
in
|
||||
{
|
||||
options.${namespace}.terminal.ghostty = {
|
||||
cfg = config.sneeuwvlok.terminal.ghostty;
|
||||
in {
|
||||
options.sneeuwvlok.terminal.ghostty = {
|
||||
enable = mkEnableOption "enable ghostty";
|
||||
};
|
||||
|
||||
|
|
@ -13,10 +16,10 @@ in
|
|||
programs.ghostty = {
|
||||
enable = true;
|
||||
settings = {
|
||||
command = config.${namespace}.defaults.shell;
|
||||
command = config.sneeuwvlok.defaults.shell;
|
||||
background-blur-radius = 20;
|
||||
theme = "dark:stylix,light:stylix";
|
||||
window-theme = (config.${namespace}.themes.polarity or "dark");
|
||||
window-theme = config.sneeuwvlok.themes.polarity or "dark";
|
||||
background-opacity = 0.8;
|
||||
minimum-contrast = 1.1;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,24 +1,30 @@
|
|||
{ config, lib, pkgs, namespace, osConfig ? {}, ... }:
|
||||
let
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
namespace,
|
||||
osConfig ? {},
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkDefault;
|
||||
inherit (lib.options) mkOption mkEnableOption;
|
||||
inherit (lib.types) nullOr enum;
|
||||
|
||||
cfg = config.${namespace}.themes;
|
||||
osCfg = osConfig.${namespace}.theming;
|
||||
cfg = config.sneeuwvlok.themes;
|
||||
osCfg = osConfig.sneeuwvlok.theming;
|
||||
in {
|
||||
options.${namespace}.themes = {
|
||||
options.sneeuwvlok.themes = {
|
||||
enable = mkEnableOption "Theming (Stylix)";
|
||||
|
||||
theme = mkOption {
|
||||
type = nullOr (enum [ "everforest" "catppuccin-latte" "chalk" ]);
|
||||
type = nullOr (enum ["everforest" "catppuccin-latte" "chalk"]);
|
||||
default = "everforest";
|
||||
description = "The theme to set the system to";
|
||||
example = "everforest";
|
||||
};
|
||||
|
||||
polarity = mkOption {
|
||||
type = nullOr (enum [ "dark" "light" ]);
|
||||
type = nullOr (enum ["dark" "light"]);
|
||||
default = "dark";
|
||||
description = "determine if system is in dark or light mode";
|
||||
};
|
||||
|
|
@ -33,7 +39,7 @@ in {
|
|||
polarity = cfg.polarity;
|
||||
|
||||
targets.qt.platform = mkDefault "kde";
|
||||
targets.zen-browser.profileNames = [ "Chris" ];
|
||||
targets.zen-browser.profileNames = ["Chris"];
|
||||
|
||||
fonts = {
|
||||
serif = {
|
||||
|
|
|
|||
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
imports = [
|
||||
./steam
|
||||
];
|
||||
}
|
||||
29
modules/nixos/application/steam.nix
Normal file
29
modules/nixos/application/steam.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.sneeuwvlok.application.steam;
|
||||
in {
|
||||
options.sneeuwvlok.application.steam = {
|
||||
enable = mkEnableOption "enable steam";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs; [steam];
|
||||
|
||||
programs = {
|
||||
steam = {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = true;
|
||||
dedicatedServer.openFirewall = true;
|
||||
localNetworkGameTransfers.openFirewall = true;
|
||||
extraCompatPackages = with pkgs; [
|
||||
proton-ge-bin
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,64 +0,0 @@
|
|||
{
|
||||
inputs,
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
namespace,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.application.steam;
|
||||
in {
|
||||
options.${namespace}.application.steam = {
|
||||
enable = mkEnableOption "enable steam";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
# environment.systemPackages = with pkgs; [ steam ];
|
||||
|
||||
programs = {
|
||||
steam = {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = true;
|
||||
dedicatedServer.openFirewall = true;
|
||||
localNetworkGameTransfers.openFirewall = true;
|
||||
|
||||
extraCompatPackages = with pkgs; [
|
||||
proton-ge-bin
|
||||
];
|
||||
|
||||
# package = pkgs.steam.override {
|
||||
# extraEnv = {
|
||||
# DXVK_HUD = "compiler";
|
||||
# MANGOHUD = true;
|
||||
# };
|
||||
# };
|
||||
|
||||
# gamescopeSession = {
|
||||
# enable = true;
|
||||
# args = ["--immediate-flips"];
|
||||
# };
|
||||
};
|
||||
|
||||
# https://github.com/FeralInteractive/gamemode
|
||||
# gamemode = {
|
||||
# enable = true;
|
||||
# enableRenice = true;
|
||||
# settings = {};
|
||||
# };
|
||||
|
||||
# gamescope = {
|
||||
# enable = true;
|
||||
# capSysNice = true;
|
||||
# env = {
|
||||
# DXVK_HDR = "1";
|
||||
# ENABLE_GAMESCOPE_WSI = "1";
|
||||
# WINE_FULLSCREEN_FSR = "1";
|
||||
# WLR_RENDERER = "vulkan";
|
||||
# };
|
||||
# args = ["--hdr-enabled"];
|
||||
# };
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,14 +1,18 @@
|
|||
{ lib, namespace, config, pkgs, ... }:
|
||||
let
|
||||
{
|
||||
lib,
|
||||
namespace,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkMerge mkDefault mkOption;
|
||||
inherit (lib.types) enum bool;
|
||||
|
||||
cfg = config.${namespace}.boot;
|
||||
in
|
||||
{
|
||||
options.${namespace}.boot = {
|
||||
cfg = config.sneeuwvlok.boot;
|
||||
in {
|
||||
options.sneeuwvlok.boot = {
|
||||
type = mkOption {
|
||||
type = enum [ "bios" "uefi" ];
|
||||
type = enum ["bios" "uefi"];
|
||||
default = "uefi";
|
||||
};
|
||||
|
||||
|
|
@ -24,7 +28,7 @@ in
|
|||
};
|
||||
|
||||
config = mkMerge [
|
||||
({
|
||||
{
|
||||
boot = {
|
||||
kernelPackages = pkgs.linuxPackages_latest;
|
||||
|
||||
|
|
@ -39,9 +43,9 @@ in
|
|||
};
|
||||
};
|
||||
|
||||
supportedFilesystems = [ "nfs" ];
|
||||
supportedFilesystems = ["nfs"];
|
||||
};
|
||||
})
|
||||
}
|
||||
|
||||
(mkIf (cfg.type == "bios") {
|
||||
boot.loader.grub.efiSupport = false;
|
||||
|
|
@ -87,7 +91,7 @@ in
|
|||
theme = mkDefault "pixels";
|
||||
themePackages = with pkgs; [
|
||||
(adi1090x-plymouth-themes.override {
|
||||
selected_themes = [ "pixels" ];
|
||||
selected_themes = ["pixels"];
|
||||
})
|
||||
];
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,14 +1,15 @@
|
|||
{
|
||||
imports = [
|
||||
./application
|
||||
./boot
|
||||
./desktop
|
||||
./editor
|
||||
./hardware
|
||||
./home-manager
|
||||
./nix
|
||||
./application/steam.nix
|
||||
./boot/default.nix
|
||||
./editor/nano/default.nix
|
||||
./editor/nvim/default.nix
|
||||
./hardware/audio/default.nix
|
||||
./home-manager/default.nix
|
||||
./services
|
||||
./shells
|
||||
./system
|
||||
./system/networking
|
||||
./system/security/boot
|
||||
./system/security/sops
|
||||
./system/security/sudo
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,13 +7,13 @@
|
|||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.desktop.cosmic;
|
||||
cfg = config.sneeuwvlok.desktop.cosmic;
|
||||
in {
|
||||
options.${namespace}.desktop.cosmic = {
|
||||
options.sneeuwvlok.desktop.cosmic = {
|
||||
enable =
|
||||
mkEnableOption "Enable Cosmic desktop"
|
||||
// {
|
||||
default = config.${namespace}.desktop.use == "cosmic";
|
||||
default = config.sneeuwvlok.desktop.use == "cosmic";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
inherit (lib) mkIf mkOption mkEnableOption mkMerge;
|
||||
inherit (lib.types) nullOr enum;
|
||||
|
||||
cfg = config.${namespace}.desktop;
|
||||
cfg = config.sneeuwvlok.desktop;
|
||||
in {
|
||||
imports = [
|
||||
./cosmic
|
||||
|
|
@ -16,7 +16,7 @@ in {
|
|||
./plasma
|
||||
];
|
||||
|
||||
options.${namespace}.desktop = {
|
||||
options.sneeuwvlok.desktop = {
|
||||
use = mkOption {
|
||||
type = nullOr (enum ["plasma" "gamescope" "gnome" "cosmic"]);
|
||||
default = null;
|
||||
|
|
@ -33,7 +33,7 @@ in {
|
|||
}
|
||||
|
||||
# (mkIf (cfg.use != null) {
|
||||
# ${namespace}.desktop.${cfg.use}.enable = true;
|
||||
# sneeuwvlok.desktop.${cfg.use}.enable = true;
|
||||
# })
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,18 +1,23 @@
|
|||
{ lib, config, namespace, ... }:
|
||||
let
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
namespace,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption mkForce;
|
||||
|
||||
cfg = config.${namespace}.desktop.gamescope;
|
||||
in
|
||||
{
|
||||
options.${namespace}.desktop.gamescope = {
|
||||
enable = mkEnableOption "Enable Steamdeck ui" // {
|
||||
default = (config.${namespace}.desktop.use == "gamescope");
|
||||
};
|
||||
cfg = config.sneeuwvlok.desktop.gamescope;
|
||||
in {
|
||||
options.sneeuwvlok.desktop.gamescope = {
|
||||
enable =
|
||||
mkEnableOption "Enable Steamdeck ui"
|
||||
// {
|
||||
default = config.sneeuwvlok.desktop.use == "gamescope";
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
${namespace}.desktop.plasma.enable = true;
|
||||
sneeuwvlok.desktop.plasma.enable = true;
|
||||
|
||||
services.displayManager.sddm.enable = mkForce false;
|
||||
services.displayManager.gdm.enable = mkForce false;
|
||||
|
|
|
|||
|
|
@ -1,16 +1,22 @@
|
|||
{ lib, config, namespace, ... }:
|
||||
let
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
namespace,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.desktop.gnome;
|
||||
in
|
||||
{
|
||||
options.${namespace}.desktop.gnome = {
|
||||
enable = mkEnableOption "Enable Gnome" // {
|
||||
default = (config.${namespace}.desktop.use == "gnome");
|
||||
};
|
||||
cfg = config.sneeuwvlok.desktop.gnome;
|
||||
in {
|
||||
options.sneeuwvlok.desktop.gnome = {
|
||||
enable =
|
||||
mkEnableOption "Enable Gnome"
|
||||
// {
|
||||
default = config.sneeuwvlok.desktop.use == "gnome";
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
};
|
||||
config =
|
||||
mkIf cfg.enable {
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,14 +1,20 @@
|
|||
{ pkgs, lib, config, namespace, ... }:
|
||||
let
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
namespace,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.desktop.plasma;
|
||||
in
|
||||
{
|
||||
options.${namespace}.desktop.plasma = {
|
||||
enable = mkEnableOption "Enable KDE Plasma" // {
|
||||
default = (config.${namespace}.desktop.use == "plasma");
|
||||
};
|
||||
cfg = config.sneeuwvlok.desktop.plasma;
|
||||
in {
|
||||
options.sneeuwvlok.desktop.plasma = {
|
||||
enable =
|
||||
mkEnableOption "Enable KDE Plasma"
|
||||
// {
|
||||
default = config.sneeuwvlok.desktop.use == "plasma";
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
let
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
|
||||
cfg = config.${namespace}.editor.nano;
|
||||
cfg = config.sneeuwvlok.editor.nano;
|
||||
in
|
||||
{
|
||||
options.${namespace}.editor.nano = {
|
||||
options.sneeuwvlok.editor.nano = {
|
||||
enable = mkEnableOption "nano";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.editor.nvim;
|
||||
cfg = config.sneeuwvlok.editor.nvim;
|
||||
in
|
||||
{
|
||||
options.${namespace}.editor.nvim = {
|
||||
options.sneeuwvlok.editor.nvim = {
|
||||
enable = mkEnableOption "enable nvim via nvf on system level";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.hardware.has.audio;
|
||||
cfg = config.sneeuwvlok.hardware.has.audio;
|
||||
in
|
||||
{
|
||||
options.${namespace}.hardware.has.audio = mkEnableOption "Enable bluetooth";
|
||||
options.sneeuwvlok.hardware.has.audio = mkEnableOption "Enable bluetooth";
|
||||
|
||||
config = mkIf cfg {
|
||||
environment.systemPackages = with pkgs; [
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.hardware.has.bluetooth;
|
||||
cfg = config.sneeuwvlok.hardware.has.bluetooth;
|
||||
in
|
||||
{
|
||||
options.${namespace}.hardware.has.bluetooth = mkEnableOption "Enable bluetooth";
|
||||
options.sneeuwvlok.hardware.has.bluetooth = mkEnableOption "Enable bluetooth";
|
||||
|
||||
config = mkIf cfg {
|
||||
hardware.bluetooth = {
|
||||
|
|
|
|||
|
|
@ -1,14 +1,18 @@
|
|||
{ pkgs, lib, namespace, config, ... }:
|
||||
let
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
namespace,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.hardware.has.gpu;
|
||||
in
|
||||
{
|
||||
options.${namespace}.hardware.has.gpu.amd = mkEnableOption "Enable AMD gpu configuration";
|
||||
cfg = config.sneeuwvlok.hardware.has.gpu;
|
||||
in {
|
||||
options.sneeuwvlok.hardware.has.gpu.amd = mkEnableOption "Enable AMD gpu configuration";
|
||||
|
||||
config = mkIf cfg.amd {
|
||||
services.xserver.videoDrivers = [ "amd" ];
|
||||
services.xserver.videoDrivers = ["amd"];
|
||||
|
||||
hardware = {
|
||||
graphics = {
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.hardware.has.gpu.nvidia;
|
||||
cfg = config.sneeuwvlok.hardware.has.gpu.nvidia;
|
||||
in
|
||||
{
|
||||
options.${namespace}.hardware.has.gpu.nvidia = mkEnableOption "Enable NVidia gpu configuration";
|
||||
options.sneeuwvlok.hardware.has.gpu.nvidia = mkEnableOption "Enable NVidia gpu configuration";
|
||||
|
||||
config = mkIf cfg {
|
||||
services.xserver.videoDrivers = [ "nvidia" ];
|
||||
|
|
|
|||
|
|
@ -1,14 +1,18 @@
|
|||
{ pkgs, lib, namespace, config, ... }:
|
||||
let
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
namespace,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.hardware.has.gpu;
|
||||
in
|
||||
{
|
||||
options.${namespace}.hardware.has.gpu.nvidia = mkEnableOption "Enable NVidia gpu configuration";
|
||||
cfg = config.sneeuwvlok.hardware.has.gpu;
|
||||
in {
|
||||
options.sneeuwvlok.hardware.has.gpu.nvidia = mkEnableOption "Enable NVidia gpu configuration";
|
||||
|
||||
config = mkIf cfg.nvidia {
|
||||
services.xserver.videoDrivers = [ "nvidia" ];
|
||||
services.xserver.videoDrivers = ["nvidia"];
|
||||
|
||||
hardware = {
|
||||
graphics = {
|
||||
|
|
|
|||
|
|
@ -1,11 +1,15 @@
|
|||
{ lib, config, pkgs, namespace, ... }:
|
||||
let
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
namespace,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.hardware.keyboard.voyager;
|
||||
in
|
||||
{
|
||||
options.${namespace}.hardware.keyboard.voyager = {
|
||||
cfg = config.sneeuwvlok.hardware.keyboard.voyager;
|
||||
in {
|
||||
options.sneeuwvlok.hardware.keyboard.voyager = {
|
||||
enble = mkEnableOption "Enable tools for ZSA Voyager";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,13 @@
|
|||
{ pkgs, lib, namespace, config, ... }:
|
||||
let
|
||||
cfg = config.${namespace}.nix;
|
||||
in
|
||||
{
|
||||
options.${namespace}.nix = {};
|
||||
pkgs,
|
||||
lib,
|
||||
namespace,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
cfg = config.sneeuwvlok.nix;
|
||||
in {
|
||||
options.sneeuwvlok.nix = {};
|
||||
|
||||
config = {
|
||||
programs.git.enable = true;
|
||||
|
|
@ -14,9 +18,9 @@ in
|
|||
extraOptions = "experimental-features = nix-command flakes pipe-operators";
|
||||
|
||||
settings = {
|
||||
experimental-features = [ "nix-command" "flakes" "pipe-operators" ];
|
||||
allowed-users = [ "@wheel" ];
|
||||
trusted-users = [ "@wheel" ];
|
||||
experimental-features = ["nix-command" "flakes" "pipe-operators"];
|
||||
allowed-users = ["@wheel"];
|
||||
trusted-users = ["@wheel"];
|
||||
|
||||
auto-optimise-store = true;
|
||||
connect-timeout = 5;
|
||||
|
|
|
|||
|
|
@ -8,14 +8,14 @@
|
|||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
user = "authelia-testing";
|
||||
cfg = config.${namespace}.services.authentication.authelia;
|
||||
cfg = config.sneeuwvlok.services.authentication.authelia;
|
||||
in {
|
||||
options.${namespace}.services.authentication.authelia = {
|
||||
options.sneeuwvlok.services.authentication.authelia = {
|
||||
enable = mkEnableOption "Authelia";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
${namespace}.services.networking.caddy = {
|
||||
sneeuwvlok.services.networking.caddy = {
|
||||
hosts = {
|
||||
"auth.kruining.eu".extraConfig = ''
|
||||
reverse_proxy http://127.0.0.1:9091
|
||||
|
|
|
|||
|
|
@ -6,9 +6,9 @@
|
|||
}: let
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
|
||||
cfg = config.${namespace}.services.authentication.himmelblau;
|
||||
cfg = config.sneeuwvlok.services.authentication.himmelblau;
|
||||
in {
|
||||
options.${namespace}.services.authentication.himmelblau = {
|
||||
options.sneeuwvlok.services.authentication.himmelblau = {
|
||||
enable = mkEnableOption "enable azure entra ID authentication";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -3,12 +3,12 @@ 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;
|
||||
|
||||
cfg = config.${namespace}.services.authentication.zitadel;
|
||||
cfg = config.sneeuwvlok.services.authentication.zitadel;
|
||||
|
||||
database = "zitadel";
|
||||
in
|
||||
{
|
||||
options.${namespace}.services.authentication.zitadel = {
|
||||
options.sneeuwvlok.services.authentication.zitadel = {
|
||||
enable = mkEnableOption "Zitadel";
|
||||
|
||||
organization = mkOption {
|
||||
|
|
@ -537,7 +537,7 @@ in
|
|||
};
|
||||
in
|
||||
mkIf cfg.enable {
|
||||
${namespace}.services = {
|
||||
sneeuwvlok.services = {
|
||||
persistance.postgresql.enable = true;
|
||||
|
||||
networking.caddy = {
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.services.backup.borg;
|
||||
cfg = config.sneeuwvlok.services.backup.borg;
|
||||
in
|
||||
{
|
||||
options.${namespace}.services.backup.borg = {
|
||||
options.sneeuwvlok.services.backup.borg = {
|
||||
enable = mkEnableOption "Borg Backup";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
inherit (builtins) toString toJSON;
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.services.communication.matrix;
|
||||
cfg = config.sneeuwvlok.services.communication.matrix;
|
||||
|
||||
domain = "kruining.eu";
|
||||
fqn = "matrix.${domain}";
|
||||
|
|
@ -17,12 +17,12 @@
|
|||
database = "synapse";
|
||||
keyFile = "/var/lib/element-call/key";
|
||||
in {
|
||||
options.${namespace}.services.communication.matrix = {
|
||||
options.sneeuwvlok.services.communication.matrix = {
|
||||
enable = mkEnableOption "Matrix server (Synapse)";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
${namespace}.services = {
|
||||
sneeuwvlok.services = {
|
||||
persistance.postgresql.enable = true;
|
||||
# virtualisation.podman.enable = true;
|
||||
|
||||
|
|
|
|||
|
|
@ -8,10 +8,10 @@
|
|||
inherit (builtins) toString;
|
||||
inherit (lib) mkIf mkEnableOption mkOption;
|
||||
|
||||
cfg = config.${namespace}.services.development.forgejo;
|
||||
cfg = config.sneeuwvlok.services.development.forgejo;
|
||||
domain = "git.amarth.cloud";
|
||||
in {
|
||||
options.${namespace}.services.development.forgejo = {
|
||||
options.sneeuwvlok.services.development.forgejo = {
|
||||
enable = mkEnableOption "Forgejo";
|
||||
|
||||
port = mkOption {
|
||||
|
|
@ -25,7 +25,7 @@ in {
|
|||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
${namespace}.services = {
|
||||
sneeuwvlok.services = {
|
||||
persistance.postgresql.enable = true;
|
||||
virtualisation.podman.enable = true;
|
||||
|
||||
|
|
|
|||
|
|
@ -8,9 +8,9 @@
|
|||
inherit (lib) mkIf mkEnableOption mkOption;
|
||||
inherit (lib.types) str;
|
||||
|
||||
cfg = config.${namespace}.services.games.minecraft;
|
||||
cfg = config.sneeuwvlok.services.games.minecraft;
|
||||
in {
|
||||
options.${namespace}.services.games.minecraft = {
|
||||
options.sneeuwvlok.services.games.minecraft = {
|
||||
enable = mkEnableOption "Minecraft";
|
||||
|
||||
user = mkOption {
|
||||
|
|
|
|||
|
|
@ -1,11 +1,15 @@
|
|||
{ config, lib, pkgs, namespace, ... }:
|
||||
let
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
namespace,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.services.games.openrct;
|
||||
in
|
||||
{
|
||||
options.${namespace}.services.games.openrct = {
|
||||
cfg = config.sneeuwvlok.services.games.openrct;
|
||||
in {
|
||||
options.sneeuwvlok.services.games.openrct = {
|
||||
enable = mkEnableOption "OpenRCT2";
|
||||
};
|
||||
|
||||
|
|
@ -16,7 +20,7 @@ in
|
|||
|
||||
systemd.services.openrct = {
|
||||
enable = true;
|
||||
after = [ "network.target"];
|
||||
after = ["network.target"];
|
||||
description = "OpenRCT2 Server";
|
||||
serviceConfig = {
|
||||
Type = "";
|
||||
|
|
|
|||
|
|
@ -6,9 +6,9 @@
|
|||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.services.games.palworld;
|
||||
cfg = config.sneeuwvlok.services.games.palworld;
|
||||
in {
|
||||
options.${namespace}.services.games.palworld = {
|
||||
options.sneeuwvlok.services.games.palworld = {
|
||||
enable = mkEnableOption "Palworld";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
inherit (lib) mkIf mkEnableOption mkOption;
|
||||
inherit (lib.types) str;
|
||||
|
||||
cfg = config.${namespace}.services.media;
|
||||
cfg = config.sneeuwvlok.services.media;
|
||||
in {
|
||||
imports = [
|
||||
./glance
|
||||
|
|
@ -19,7 +19,7 @@ in {
|
|||
./servarr
|
||||
];
|
||||
|
||||
options.${namespace}.services.media = {
|
||||
options.sneeuwvlok.services.media = {
|
||||
enable = mkEnableOption "Enable media services";
|
||||
|
||||
user = mkOption {
|
||||
|
|
|
|||
|
|
@ -6,14 +6,14 @@
|
|||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.services.media.glance;
|
||||
cfg = config.sneeuwvlok.services.media.glance;
|
||||
in {
|
||||
options.${namespace}.services.media.glance = {
|
||||
options.sneeuwvlok.services.media.glance = {
|
||||
enable = mkEnableOption "Enable Glance";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
${namespace}.services.networking.caddy.hosts = {
|
||||
sneeuwvlok.services.networking.caddy.hosts = {
|
||||
"https://${config.networking.hostName}:443" = ''
|
||||
reverse_proxy http://[::1]:2000
|
||||
'';
|
||||
|
|
|
|||
|
|
@ -9,14 +9,14 @@
|
|||
inherit (builtins) toString;
|
||||
inherit (lib) mkIf mkEnableOption mkOption types;
|
||||
|
||||
cfg = config.${namespace}.services.media.jellyfin;
|
||||
cfg = config.sneeuwvlok.services.media.jellyfin;
|
||||
in {
|
||||
options.${namespace}.services.media.jellyfin = {
|
||||
options.sneeuwvlok.services.media.jellyfin = {
|
||||
enable = mkEnableOption "Enable jellyfin server";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
${namespace}.services.networking.caddy = {
|
||||
sneeuwvlok.services.networking.caddy = {
|
||||
hosts = {
|
||||
"jellyfin.kruining.eu" = ''
|
||||
reverse_proxy http://[::1]:8096
|
||||
|
|
|
|||
|
|
@ -6,9 +6,9 @@
|
|||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.services.media.mydia;
|
||||
cfg = config.sneeuwvlok.services.media.mydia;
|
||||
in {
|
||||
options.${namespace}.services.media.mydia = {
|
||||
options.sneeuwvlok.services.media.mydia = {
|
||||
enable = mkEnableOption "Enable Mydia";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -8,9 +8,9 @@
|
|||
inherit (lib) mkIf mkEnableOption mkOption;
|
||||
inherit (lib.types) str;
|
||||
|
||||
cfg = config.${namespace}.services.media.nextcloud;
|
||||
cfg = config.sneeuwvlok.services.media.nextcloud;
|
||||
in {
|
||||
options.${namespace}.services.media.nextcloud = {
|
||||
options.sneeuwvlok.services.media.nextcloud = {
|
||||
enable = mkEnableOption "Nextcloud";
|
||||
|
||||
user = mkOption {
|
||||
|
|
@ -25,7 +25,7 @@ in {
|
|||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
${namespace}.services.networking.caddy = {
|
||||
sneeuwvlok.services.networking.caddy = {
|
||||
hosts."cloud.kruining.eu" = ''
|
||||
php_fastcgi unix//run/phpfpm/nextcloud.sock {
|
||||
env front_controller_active true
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.services.media.nfs;
|
||||
cfg = config.sneeuwvlok.services.media.nfs;
|
||||
in
|
||||
{
|
||||
options.${namespace}.services.media.nfs = {
|
||||
options.sneeuwvlok.services.media.nfs = {
|
||||
enable = mkEnableOption "Enable NFS";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -9,11 +9,11 @@
|
|||
inherit (builtins) toString;
|
||||
inherit (lib) mkIf mkEnableOption mkOption types;
|
||||
|
||||
cfg = config.${namespace}.services.media.servarr;
|
||||
cfg = config.sneeuwvlok.services.media.servarr;
|
||||
servarr = import ./lib.nix {inherit lib;};
|
||||
anyEnabled = cfg |> lib.attrNames |> lib.length |> (l: l > 0);
|
||||
in {
|
||||
options.${namespace}.services.media = {
|
||||
options.sneeuwvlok.services.media = {
|
||||
servarr = mkOption {
|
||||
type = types.attrsOf (types.submodule ({name, ...}: {
|
||||
options = {
|
||||
|
|
|
|||
|
|
@ -8,14 +8,14 @@
|
|||
inherit (builtins) length;
|
||||
inherit (lib) mkIf mkEnableOption mkOption types attrNames mapAttrs;
|
||||
|
||||
cfg = config.${namespace}.services.networking.caddy;
|
||||
cfg = config.sneeuwvlok.services.networking.caddy;
|
||||
hasHosts = (cfg.hosts |> attrNames |> length) > 0;
|
||||
caddyPackage = pkgs.caddy.withPlugins {
|
||||
plugins = ["github.com/corazawaf/coraza-caddy/v2@v2.1.0"];
|
||||
hash = "sha256-rsDnTunR8C7hVOX5aKcba+iFYHbpWek65DZgbMxOdTs=";
|
||||
};
|
||||
in {
|
||||
options.${namespace}.services.networking.caddy = {
|
||||
options.sneeuwvlok.services.networking.caddy = {
|
||||
enable = mkEnableOption "enable caddy" // {default = true;};
|
||||
|
||||
hosts = mkOption {
|
||||
|
|
|
|||
|
|
@ -1,12 +1,15 @@
|
|||
{ config, lib, namespace, ... }:
|
||||
let
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
namespace,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.modules) mkIf;
|
||||
inherit (lib.options) mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.services.networking.ssh;
|
||||
in
|
||||
{
|
||||
options.${namespace}.services.networking.ssh = {
|
||||
cfg = config.sneeuwvlok.services.networking.ssh;
|
||||
in {
|
||||
options.sneeuwvlok.services.networking.ssh = {
|
||||
enable = mkEnableOption "enable ssh";
|
||||
};
|
||||
|
||||
|
|
@ -14,10 +17,10 @@ in
|
|||
services.openssh = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
ports = [ 22 ];
|
||||
ports = [22];
|
||||
settings = {
|
||||
PasswordAuthentication = true;
|
||||
AllowUsers = [ "chris" "root" ];
|
||||
AllowUsers = ["chris" "root"];
|
||||
UseDns = true;
|
||||
UsePAM = true;
|
||||
PermitRootLogin = "prohibit-password";
|
||||
|
|
|
|||
|
|
@ -8,10 +8,10 @@
|
|||
inherit (builtins) length;
|
||||
inherit (lib) mkIf mkEnableOption mkOption types attrNames attrsToList listToAttrs;
|
||||
|
||||
cfg = config.${namespace}.services.networking.wireguard;
|
||||
cfg = config.sneeuwvlok.services.networking.wireguard;
|
||||
hasPeers = (cfg.peer |> attrNames |> length) > 0;
|
||||
in {
|
||||
options.${namespace}.services.networking.wireguard = {
|
||||
options.sneeuwvlok.services.networking.wireguard = {
|
||||
# enable = mkEnableOption "enable wireguard" // {default = true;};
|
||||
|
||||
peer = mkOption {
|
||||
|
|
|
|||
|
|
@ -8,12 +8,12 @@
|
|||
inherit (lib.modules) mkIf;
|
||||
inherit (lib.options) mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.services.observability.grafana;
|
||||
cfg = config.sneeuwvlok.services.observability.grafana;
|
||||
|
||||
db_user = "grafana";
|
||||
db_name = "grafana";
|
||||
in {
|
||||
options.${namespace}.services.observability.grafana = {
|
||||
options.sneeuwvlok.services.observability.grafana = {
|
||||
enable = mkEnableOption "enable Grafana";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,12 +1,16 @@
|
|||
{ pkgs, config, lib, namespace, ... }:
|
||||
let
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
namespace,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.modules) mkIf;
|
||||
inherit (lib.options) mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.services.observability.loki;
|
||||
in
|
||||
{
|
||||
options.${namespace}.services.observability.loki = {
|
||||
cfg = config.sneeuwvlok.services.observability.loki;
|
||||
in {
|
||||
options.sneeuwvlok.services.observability.loki = {
|
||||
enable = mkEnableOption "enable Grafana Loki";
|
||||
};
|
||||
|
||||
|
|
@ -44,6 +48,6 @@ in
|
|||
};
|
||||
};
|
||||
|
||||
networking.firewall.allowedTCPPorts = [ 9003 ];
|
||||
networking.firewall.allowedTCPPorts = [9003];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,10 +3,10 @@ let
|
|||
inherit (builtins) toString;
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.services.observability.prometheus;
|
||||
cfg = config.sneeuwvlok.services.observability.prometheus;
|
||||
in
|
||||
{
|
||||
options.${namespace}.services.observability.prometheus = {
|
||||
options.sneeuwvlok.services.observability.prometheus = {
|
||||
enable = mkEnableOption "enable Prometheus";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -8,9 +8,9 @@
|
|||
inherit (lib.modules) mkIf;
|
||||
inherit (lib.options) mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.services.observability.promtail;
|
||||
cfg = config.sneeuwvlok.services.observability.promtail;
|
||||
in {
|
||||
options.${namespace}.services.observability.promtail = {
|
||||
options.sneeuwvlok.services.observability.promtail = {
|
||||
enable = mkEnableOption "enable Grafana Promtail";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,12 +1,16 @@
|
|||
{ pkgs, config, lib, namespace, ... }:
|
||||
let
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
namespace,
|
||||
...
|
||||
}: let
|
||||
inherit (builtins) toString;
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.services.observability.uptime-kuma;
|
||||
in
|
||||
{
|
||||
options.${namespace}.services.observability.uptime-kuma = {
|
||||
cfg = config.sneeuwvlok.services.observability.uptime-kuma;
|
||||
in {
|
||||
options.sneeuwvlok.services.observability.uptime-kuma = {
|
||||
enable = mkEnableOption "enable uptime kuma";
|
||||
};
|
||||
|
||||
|
|
@ -19,7 +23,7 @@ in
|
|||
HOST = "0.0.0.0";
|
||||
};
|
||||
};
|
||||
|
||||
networking.firewall.allowedTCPPorts = [ 9006 ];
|
||||
|
||||
networking.firewall.allowedTCPPorts = [9006];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,9 +7,9 @@
|
|||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.services.persistance.postgresql;
|
||||
cfg = config.sneeuwvlok.services.persistance.postgresql;
|
||||
in {
|
||||
options.${namespace}.services.persistance.postgresql = {
|
||||
options.sneeuwvlok.services.persistance.postgresql = {
|
||||
enable = mkEnableOption "Postgresql";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
inherit (builtins) toString;
|
||||
inherit (lib) mkIf mkEnableOption mkOption types getAttrs toUpper concatMapAttrsStringSep;
|
||||
|
||||
cfg = config.${namespace}.services.security.vaultwarden;
|
||||
cfg = config.sneeuwvlok.services.security.vaultwarden;
|
||||
|
||||
databaseProviderSqlite = types.submodule ({...}: {
|
||||
options = {
|
||||
|
|
@ -78,7 +78,7 @@
|
|||
// (urlOptions |> getAttrs ["protocol" "host" "port"]);
|
||||
});
|
||||
in {
|
||||
options.${namespace}.services.security.vaultwarden = {
|
||||
options.sneeuwvlok.services.security.vaultwarden = {
|
||||
enable = mkEnableOption "enable vaultwarden";
|
||||
|
||||
database = mkOption {
|
||||
|
|
@ -93,7 +93,7 @@ in {
|
|||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
${namespace}.services.networking.caddy.hosts = {
|
||||
sneeuwvlok.services.networking.caddy.hosts = {
|
||||
"vault.kruining.eu" = ''
|
||||
encode zstd gzip
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +1,16 @@
|
|||
{ config, options, lib, pkgs, namespace, ... }:
|
||||
let
|
||||
{
|
||||
config,
|
||||
options,
|
||||
lib,
|
||||
pkgs,
|
||||
namespace,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.services.virtualisation.podman;
|
||||
in
|
||||
{
|
||||
options.${namespace}.services.virtualisation.podman = {
|
||||
cfg = config.sneeuwvlok.services.virtualisation.podman;
|
||||
in {
|
||||
options.sneeuwvlok.services.virtualisation.podman = {
|
||||
enable = mkEnableOption "enable podman";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,2 +0,0 @@
|
|||
{...}: {
|
||||
}
|
||||
|
|
@ -1,11 +1,16 @@
|
|||
{ inputs, config, lib, pkgs, namespace, ... }:
|
||||
let
|
||||
{
|
||||
inputs,
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
namespace,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
||||
cfg = config.${namespace}.shell.zsh;
|
||||
in
|
||||
{
|
||||
options.${namespace}.shell.zsh = {
|
||||
cfg = config.sneeuwvlok.shell.zsh;
|
||||
in {
|
||||
options.sneeuwvlok.shell.zsh = {
|
||||
enable = mkEnableOption "enable zsh shell";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
imports = [
|
||||
./networking
|
||||
./security
|
||||
];
|
||||
}
|
||||
|
|
@ -2,10 +2,10 @@
|
|||
let
|
||||
inherit (lib) mkDefault;
|
||||
|
||||
cfg = config.${namespace}.system.networking;
|
||||
cfg = config.sneeuwvlok.system.networking;
|
||||
in
|
||||
{
|
||||
options.${namespace}.system.networking = {};
|
||||
options.sneeuwvlok.system.networking = {};
|
||||
|
||||
config = {
|
||||
systemd.services.NetworkManager-wait-online.enable = false;
|
||||
|
|
|
|||
|
|
@ -1,13 +1,16 @@
|
|||
{ config, namespace, inputs, ... }:
|
||||
let
|
||||
cfg = config.${namespace}.system.security.boot;
|
||||
in
|
||||
{
|
||||
options.${namespace}.system.security.boot = {};
|
||||
config,
|
||||
namespace,
|
||||
inputs,
|
||||
...
|
||||
}: let
|
||||
cfg = config.sneeuwvlok.system.security.boot;
|
||||
in {
|
||||
options.sneeuwvlok.system.security.boot = {};
|
||||
|
||||
config = {
|
||||
boot = {
|
||||
kernelModules = [ "tcp_bbr" ];
|
||||
kernelModules = ["tcp_bbr"];
|
||||
kernel.sysctl = {
|
||||
## TCP hardening
|
||||
# Prevent bogus ICMP errors from filling up logs.
|
||||
|
|
@ -43,4 +46,4 @@ in
|
|||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,29 +1,28 @@
|
|||
{ config, namespace, inputs, ... }:
|
||||
let
|
||||
cfg = config.${namespace}.system.security;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./boot
|
||||
./sops
|
||||
./sudo
|
||||
];
|
||||
{...}: {
|
||||
flake.modules.nixos.sneeuwvlok.system.security = {
|
||||
config,
|
||||
namespace,
|
||||
inputs,
|
||||
...
|
||||
}: let
|
||||
cfg = config.sneeuwvlok.system.security;
|
||||
in {
|
||||
options.sneeuwvlok.system.security = {};
|
||||
|
||||
options.${namespace}.system.security = {};
|
||||
config = {
|
||||
security = {
|
||||
acme.acceptTerms = true;
|
||||
polkit.enable = true;
|
||||
|
||||
config = {
|
||||
security = {
|
||||
acme.acceptTerms = true;
|
||||
polkit.enable = true;
|
||||
|
||||
pam = {
|
||||
u2f = {
|
||||
enable = true;
|
||||
settings.cue = true;
|
||||
pam = {
|
||||
u2f = {
|
||||
enable = true;
|
||||
settings.cue = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs.gnupg.agent.enable = true;
|
||||
programs.gnupg.agent.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,12 +1,16 @@
|
|||
{ pkgs, config, namespace, repoRoot, ... }:
|
||||
let
|
||||
cfg = config.${namespace}.system.security.sops;
|
||||
in
|
||||
{
|
||||
options.${namespace}.system.security.sops = {};
|
||||
pkgs,
|
||||
config,
|
||||
namespace,
|
||||
repoRoot,
|
||||
...
|
||||
}: let
|
||||
cfg = config.sneeuwvlok.system.security.sops;
|
||||
in {
|
||||
options.sneeuwvlok.system.security.sops = {};
|
||||
|
||||
config = {
|
||||
environment.systemPackages = with pkgs; [ sops ];
|
||||
environment.systemPackages = with pkgs; [sops];
|
||||
|
||||
sops = {
|
||||
defaultSopsFormat = "yaml";
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
{ config, namespace, ... }:
|
||||
let
|
||||
cfg = config.${namespace}.system.security.sudo;
|
||||
cfg = config.sneeuwvlok.system.security.sudo;
|
||||
in
|
||||
{
|
||||
options.${namespace}.system.security.sudo = {};
|
||||
options.sneeuwvlok.system.security.sudo = {};
|
||||
|
||||
config = {
|
||||
security = {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue