Refactor modules into nixos and home-manager
All checks were successful
Check flake / build-amd64-linux (push) Successful in 3m14s

This commit is contained in:
Jordan Holt 2025-01-19 01:22:43 +00:00
parent b00cd5c2b3
commit 328a50c365
Signed by: jordan
GPG Key ID: B8CFFF61F1CCF520
69 changed files with 186 additions and 215 deletions

View File

@ -22,29 +22,22 @@
users.extraGroups.vboxusers.members = [ "jordan" ];
modules = {
desktop = {
apps = {
qbittorrent.enable = true;
thunderbird.enable = true;
};
browsers = {
firefox.enable = true;
};
media.graphics = {
raster.enable = true;
vector.enable = true;
};
office.libreoffice.enable = true;
};
programs = {
dev = {
node.enable = true;
};
editors = {
neovim.enable = true;
};
security = {
firefox.enable = true;
git.enable = true;
gpg.enable = true;
graphics = {
raster.enable = true;
vector.enable = true;
};
libreoffice.enable = true;
neovim.enable = true;
pass.enable = true;
qbittorrent.enable = true;
thunderbird.enable = true;
};
services = {
borgmatic = {
@ -56,7 +49,6 @@
};
};
shell = {
git.enable = true;
zsh.enable = true;
};
};

View File

@ -4,7 +4,8 @@
imports = [
self.inputs.agenix.nixosModules.age
self.inputs.home-manager.nixosModule
../modules
../modules/home-manager
../modules/nixos
];
nixpkgs.overlays = [

View File

@ -52,8 +52,8 @@
];
modules = {
desktop.gnome.enable = true;
networking.tailscale.enable = true;
system.desktop.gnome.enable = true;
services.tailscale.enable = true;
};
environment.systemPackages = with pkgs; [

View File

@ -25,24 +25,18 @@
};
modules = {
desktop = {
apps.qbittorrent.enable = true;
browsers = {
firefox.enable = true;
};
};
programs = {
dev = {
node.enable = true;
};
editors = {
neovim.enable = true;
};
security = {
firefox.enable = true;
git.enable = true;
gpg.enable = true;
neovim.enable = true;
pass.enable = true;
qbittorrent.enable = true;
};
shell = {
git.enable = true;
zsh.enable = true;
};
};

View File

@ -22,21 +22,16 @@
};
modules = {
desktop = {
apps.qbittorrent.enable = true;
browsers = {
firefox.enable = true;
};
};
programs = {
dev = {
node.enable = true;
};
editors = {
neovim.enable = true;
};
security = {
firefox.enable = true;
git.enable = true;
gpg.enable = true;
neovim.enable = true;
pass.enable = true;
qbittorrent.enable = true;
};
services = {
borgmatic = {
@ -48,7 +43,6 @@
};
};
shell = {
git.enable = true;
zsh.enable = true;
};
};

View File

@ -30,7 +30,7 @@
videoDrivers = [ "nvidia" ];
};
displayManager = {
defaultSession = if config.modules.desktop.kde.enable then "plasmax11" else "gnome-xorg";
defaultSession = if config.modules.system.desktop.kde.enable then "plasmax11" else "gnome-xorg";
sddm.wayland.enable = lib.mkForce false;
};
};
@ -39,26 +39,20 @@
environment.sessionVariables.GSK_RENDERER = "gl";
modules = {
desktop = {
browsers = {
firefox.enable = true;
};
media.recording = {
audio.enable = true;
};
};
programs = {
dev = {
node.enable = true;
};
editors = {
neovim.enable = true;
};
security = {
firefox.enable = true;
git.enable = true;
gpg.enable = true;
neovim.enable = true;
pass.enable = true;
recording = {
audio.enable = true;
};
};
shell = {
git.enable = true;
zsh.enable = true;
};
};

View File

@ -172,7 +172,7 @@
modules = {
podman.enable = true;
security = {
programs = {
gpg.enable = true;
};
shell = {

View File

@ -50,12 +50,10 @@
};
modules = {
desktop = {
apps.qbittorrent.enable = true;
browsers = {
firefox.enable = true;
programs = {
dev = {
node.enable = true;
};
gaming = {
emulators = {
gamecube.enable = true;
ps2.enable = true;
@ -64,30 +62,25 @@
wii.enable = true;
xbox.enable = true;
};
lutris.enable = true;
};
media.graphics = {
firefox.enable = true;
git.enable = true;
gpg.enable = true;
graphics = {
modeling.enable = true;
raster.enable = true;
vector.enable = true;
};
media.recording = {
libreoffice.enable = true;
lutris.enable = true;
pass.enable = true;
neovim.enable = true;
qbittorrent.enable = true;
recording = {
audio.enable = true;
video.enable = true;
};
office.libreoffice.enable = true;
};
dev = {
node.enable = true;
};
editors = {
neovim.enable = true;
};
hardware.presonus-studio.enable = true;
security = {
gpg.enable = true;
pass.enable = true;
};
services = {
borgmatic = {
enable = true;
@ -105,7 +98,6 @@
gitea-runner.enable = true;
};
shell = {
git.enable = true;
zsh.enable = true;
};
};

View File

@ -214,7 +214,7 @@
};
modules = {
networking = {
system = {
wireless = {
enable = true;
interfaces = [ "wlan0" ];

View File

@ -54,7 +54,7 @@
];
};
modules.networking.tailscale = {
modules.services.tailscale = {
enable = true;
restrictSSH = false;
};

View File

@ -79,7 +79,6 @@
};
modules = rec {
databases.postgresql.enable = true;
services = {
borgmatic = {
enable = true;
@ -103,10 +102,11 @@
signal = true;
whatsapp = true;
};
usePostgresql = databases.postgresql.enable;
usePostgresql = services.postgresql.enable;
};
nginx.enable = true;
photoprism.enable = true;
postgresql.enable = true;
};
};

View File

@ -0,0 +1,33 @@
{
imports = [
./options.nix
./programs/brave.nix
./programs/dev/cc.nix
./programs/dev/java.nix
./programs/dev/lua.nix
./programs/dev/node.nix
./programs/dev/python.nix
./programs/dev/rust.nix
./programs/dev/scala.nix
./programs/dev/shell.nix
./programs/dev/zig.nix
./programs/emulators.nix
./programs/firefox.nix
./programs/forensics.nix
./programs/git
./programs/gpg.nix
./programs/graphics.nix
./programs/libreoffice.nix
./programs/lutris.nix
./programs/neovim.nix
./programs/pass.nix
./programs/qbittorrent.nix
./programs/recording.nix
./programs/slack.nix
./programs/steam.nix
./programs/thunderbird.nix
./programs/vscode.nix
./programs/zoom.nix
./shell/zsh
];
}

View File

@ -1,8 +1,8 @@
{ config, lib, pkgs, ... }:
let cfg = config.modules.desktop.browsers.brave;
let cfg = config.modules.programs.brave;
in {
options.modules.desktop.browsers.brave = {
options.modules.programs.brave = {
enable = lib.mkOption {
default = false;
example = true;

View File

@ -1,8 +1,8 @@
{ config, lib, pkgs, ... }:
let cfg = config.modules.dev.cc;
let cfg = config.modules.programs.dev.cc;
in {
options.modules.dev.cc = {
options.modules.programs.dev.cc = {
enable = lib.mkOption {
default = false;
example = true;

View File

@ -1,8 +1,8 @@
{ config, lib, pkgs, ... }:
let cfg = config.modules.dev.java;
let cfg = config.modules.programs.dev.java;
in {
options.modules.dev.java = {
options.modules.programs.dev.java = {
enable = lib.mkOption {
default = false;
example = true;

View File

@ -1,8 +1,8 @@
{ config, lib, pkgs, ... }:
let cfg = config.modules.dev.lua;
let cfg = config.modules.programs.dev.lua;
in {
options.modules.dev.lua = {
options.modules.programs.dev.lua = {
enable = lib.mkOption {
default = false;
example = true;

View File

@ -1,8 +1,8 @@
{ config, lib, pkgs, ... }:
let cfg = config.modules.dev.node;
let cfg = config.modules.programs.dev.node;
in {
options.modules.dev.node = {
options.modules.programs.dev.node = {
enable = lib.mkOption {
default = false;
example = true;

View File

@ -1,8 +1,8 @@
{ config, lib, pkgs, ... }:
let cfg = config.modules.dev.python;
let cfg = config.modules.programs.dev.python;
in {
options.modules.dev.python = {
options.modules.programs.dev.python = {
enable = lib.mkOption {
default = false;
example = true;

View File

@ -1,8 +1,8 @@
{ config, lib, pkgs, ... }:
let cfg = config.modules.dev.rust;
let cfg = config.modules.programs.dev.rust;
in {
options.modules.dev.rust = {
options.modules.programs.dev.rust = {
enable = lib.mkOption {
default = false;
example = true;

View File

@ -1,8 +1,8 @@
{ config, lib, pkgs, ... }:
let cfg = config.modules.dev.scala;
let cfg = config.modules.programs.dev.scala;
in {
options.modules.dev.scala = {
options.modules.programs.dev.scala = {
enable = lib.mkOption {
default = false;
example = true;

View File

@ -1,8 +1,8 @@
{ config, lib, pkgs, ... }:
let cfg = config.modules.dev.shell;
let cfg = config.modules.programs.dev.shell;
in {
options.modules.dev.shell = {
options.modules.programs.dev.shell = {
enable = lib.mkOption {
default = false;
example = true;

View File

@ -1,8 +1,8 @@
{ config, lib, pkgs, ... }:
let cfg = config.modules.dev.zig;
let cfg = config.modules.programs.dev.zig;
in {
options.modules.dev.zig = {
options.modules.programs.dev.zig = {
enable = lib.mkOption {
default = false;
example = true;

View File

@ -1,8 +1,8 @@
{ config, lib, pkgs, ... }:
let cfg = config.modules.desktop.gaming.emulators;
let cfg = config.modules.programs.emulators;
in {
options.modules.desktop.gaming.emulators = {
options.modules.programs.emulators = {
ds.enable = lib.mkOption {
default = false;
example = true;

View File

@ -1,8 +1,8 @@
{ config, lib, self, ... }:
let cfg = config.modules.desktop.browsers.firefox;
let cfg = config.modules.programs.firefox;
in {
options.modules.desktop.browsers.firefox = {
options.modules.programs.firefox = {
enable = lib.mkOption {
default = false;
example = true;

View File

@ -1,8 +1,8 @@
{ config, lib, pkgs, ... }:
let cfg = config.modules.desktop.forensics;
let cfg = config.modules.programs.forensics;
in {
options.modules.desktop.forensics = {
options.modules.programs.forensics = {
enable = lib.mkOption {
default = false;
example = true;

View File

@ -1,8 +1,8 @@
{ config, lib, pkgs, ... }:
let cfg = config.modules.shell.git;
let cfg = config.modules.programs.git;
in {
options.modules.shell.git = {
options.modules.programs.git = {
enable = lib.mkOption {
default = false;
example = true;

View File

@ -1,8 +1,8 @@
{ config, lib, pkgs, ... }:
let cfg = config.modules.security.gpg;
let cfg = config.modules.programs.gpg;
in {
options.modules.security.gpg = {
options.modules.programs.gpg = {
enable = lib.mkOption {
default = false;
example = true;

View File

@ -1,8 +1,8 @@
{ config, lib, pkgs, ... }:
let cfg = config.modules.desktop.media.graphics;
let cfg = config.modules.programs.graphics;
in {
options.modules.desktop.media.graphics = {
options.modules.programs.graphics = {
modeling.enable = lib.mkOption {
default = false;
example = true;

View File

@ -1,7 +1,7 @@
{ config, lib, pkgs, ... }:
let
cfg = config.modules.desktop.office.libreoffice;
cfg = config.modules.programs.libreoffice;
# libreoffice-gtk4 = pkgs.libreoffice.override {
# extraMakeWrapperArgs = [
# "--set SAL_USE_VCLPLUGIN gtk4"
@ -20,7 +20,7 @@ let
# });
# };
in {
options.modules.desktop.office.libreoffice = {
options.modules.programs.libreoffice = {
enable = lib.mkOption {
default = false;
example = true;
@ -29,7 +29,7 @@ in {
config = lib.mkIf cfg.enable {
user.packages = with pkgs; [
(if config.modules.desktop.kde.enable == true then libreoffice-qt else libreoffice)
(if config.modules.system.desktop.kde.enable == true then libreoffice-qt else libreoffice)
hunspell
hunspellDicts.en-gb-large
hunspellDicts.en-us-large

View File

@ -1,8 +1,8 @@
{ config, lib, pkgs, ... }:
let cfg = config.modules.desktop.gaming.lutris;
let cfg = config.modules.programs.lutris;
in {
options.modules.desktop.gaming.lutris = {
options.modules.programs.lutris = {
enable = lib.mkOption {
default = false;
example = true;

View File

@ -1,9 +1,9 @@
{ config, lib, pkgs, ... }:
let
cfg = config.modules.editors.neovim;
cfg = config.modules.programs.neovim;
in {
options.modules.editors.neovim = {
options.modules.programs.neovim = {
enable = lib.mkOption {
default = false;
example = true;

View File

@ -1,8 +1,8 @@
{ config, lib, pkgs, ... }:
let cfg = config.modules.security.pass;
let cfg = config.modules.programs.pass;
in {
options.modules.security.pass = {
options.modules.programs.pass = {
enable = lib.mkOption {
default = false;
example = true;

View File

@ -1,8 +1,8 @@
{ config, lib, pkgs, ... }:
let cfg = config.modules.desktop.apps.qbittorrent;
let cfg = config.modules.programs.qbittorrent;
in {
options.modules.desktop.apps.qbittorrent = {
options.modules.programs.qbittorrent = {
enable = lib.mkOption {
default = false;
example = true;

View File

@ -1,8 +1,8 @@
{ config, lib, pkgs, ... }:
let cfg = config.modules.desktop.media.recording;
let cfg = config.modules.programs.recording;
in {
options.modules.desktop.media.recording = {
options.modules.programs.recording = {
audio.enable = lib.mkOption {
default = false;
example = true;

View File

@ -1,8 +1,8 @@
{ config, lib, pkgs, ... }:
let cfg = config.modules.desktop.apps.slack;
let cfg = config.modules.programs.slack;
in {
options.modules.desktop.apps.slack = {
options.modules.programs.slack = {
enable = lib.mkOption {
default = false;
example = true;

View File

@ -1,8 +1,8 @@
{ config, lib, pkgs, ... }:
let cfg = config.modules.desktop.gaming.steam;
let cfg = config.modules.programs.steam;
in {
options.modules.desktop.gaming.steam = {
options.modules.programs.steam = {
enable = lib.mkOption {
default = false;
example = true;

View File

@ -1,8 +1,8 @@
{ config, lib, self, ... }:
let cfg = config.modules.desktop.apps.thunderbird;
let cfg = config.modules.programs.thunderbird;
in {
options.modules.desktop.apps.thunderbird = {
options.modules.programs.thunderbird = {
enable = lib.mkOption {
default = false;
example = true;

View File

@ -1,8 +1,8 @@
{ config, lib, pkgs, ... }:
let cfg = config.modules.editors.vscode;
let cfg = config.modules.programs.vscode;
in {
options.modules.editors.vscode = {
options.modules.programs.vscode = {
enable = lib.mkOption {
default = false;
example = true;

View File

@ -1,8 +1,8 @@
{ config, lib, pkgs, ... }:
let cfg = config.modules.desktop.apps.zoom;
let cfg = config.modules.programs.zoom;
in {
options.modules.desktop.apps.zoom = {
options.modules.programs.zoom = {
enable = lib.mkOption {
default = false;
example = true;

View File

@ -1,53 +1,24 @@
{
imports = [
./options.nix
./hardware/presonus-studio
./podman.nix
./databases/postgresql.nix
./desktop/gnome.nix
./desktop/forensics.nix
./desktop/hyprland.nix
./desktop/kde.nix
./desktop/mimeapps.nix
./desktop/apps/qbittorrent.nix
./desktop/apps/slack.nix
./desktop/apps/thunderbird.nix
./desktop/apps/zoom.nix
./desktop/browsers/brave.nix
./desktop/browsers/firefox.nix
./desktop/gaming/emulators.nix
./desktop/gaming/lutris.nix
./desktop/gaming/steam.nix
./desktop/media/graphics.nix
./desktop/media/recording.nix
./desktop/office/libreoffice.nix
./dev/cc.nix
./dev/java.nix
./dev/lua.nix
./dev/node.nix
./dev/python.nix
./dev/rust.nix
./dev/scala.nix
./dev/shell.nix
./dev/zig.nix
./editors/neovim
./editors/vscode.nix
./hardware/presonus-studio.nix
./networking/netbird.nix
./networking/tailscale.nix
./networking/wireless.nix
./security/gpg.nix
./security/pass.nix
./services/borgmatic
./services/chrony
./services/coturn
./services/gitea
./services/gitea-runner
./services/headscale
./services/mail
./services/matrix
./services/nginx
./services/photoprism
./shell/git
./shell/zsh
./services/borgmatic.nix
./services/chrony.nix
./services/coturn.nix
./services/gitea.nix
./services/gitea-runner.nix
./services/headscale.nix
./services/mail.nix
./services/matrix.nix
./services/netbird.nix
./services/nginx.nix
./services/photoprism.nix
./services/postgresql.nix
./services/tailscale.nix
./system/desktop/gnome.nix
./system/desktop/hyprland.nix
./system/desktop/kde.nix
./system/desktop/mimeapps.nix
./system/wireless.nix
];
}

View File

@ -1,10 +1,10 @@
{ config, lib, self, ... }:
let
cfg = config.modules.networking.netbird;
cfg = config.modules.services.netbird;
hostname = config.networking.hostName;
in {
options.modules.networking.netbird = {
options.modules.services.netbird = {
enable = lib.mkEnableOption "netbird";
coordinatorDomain = lib.mkOption {
type = lib.types.str;

View File

@ -5,9 +5,9 @@
}:
let
cfg = config.modules.databases.postgresql;
cfg = config.modules.services.postgresql;
in {
options.modules.databases.postgresql = {
options.modules.services.postgresql = {
enable = lib.mkOption {
default = false;
example = true;

View File

@ -1,11 +1,11 @@
{ config, lib, pkgs, self, ... }:
let
cfg = config.modules.networking.tailscale;
cfg = config.modules.services.tailscale;
headscale = "https://headscale.vimium.net";
hostname = config.networking.hostName;
in {
options.modules.networking.tailscale = {
options.modules.services.tailscale = {
enable = lib.mkOption {
default = false;
example = true;

View File

@ -1,8 +1,8 @@
{ config, lib, pkgs, self, ... }:
let cfg = config.modules.desktop.gnome;
let cfg = config.modules.system.desktop.gnome;
in {
options.modules.desktop.gnome = {
options.modules.system.desktop.gnome = {
enable = lib.mkOption {
default = false;
example = true;

View File

@ -1,8 +1,8 @@
{ config, lib, pkgs, ... }:
let cfg = config.modules.desktop.hyprland;
let cfg = config.modules.system.desktop.hyprland;
in {
options.modules.desktop.hyprland = {
options.modules.system.desktop.hyprland = {
enable = lib.mkOption {
default = false;
example = true;

View File

@ -1,8 +1,8 @@
{ config, lib, pkgs, ... }:
let cfg = config.modules.desktop.kde;
let cfg = config.modules.system.desktop.kde;
in {
options.modules.desktop.kde = {
options.modules.system.desktop.kde = {
enable = lib.mkOption {
default = false;
example = true;

View File

@ -1,11 +1,11 @@
{ config, lib, pkgs, ... }:
let
cfg = config.modules.desktop.mimeapps;
cfg = config.modules.system.desktop.mimeapps;
avApp = "io.github.celluloid_player.Celluloid.desktop";
imageApp = "org.gnome.eog.desktop";
in {
options.modules.desktop.mimeapps = {
options.modules.system.desktop.mimeapps = {
enable = lib.mkOption {
default = false;
example = true;

View File

@ -2,9 +2,9 @@
with lib;
let cfg = config.modules.networking.wireless;
let cfg = config.modules.system.wireless;
in {
options.modules.networking.wireless = {
options.modules.system.wireless = {
enable = mkOption {
default = false;
example = true;