treewide: remove redundant home-manager modules

This commit is contained in:
Jordan Holt 2025-03-16 14:53:30 +00:00
parent 4ef00d2af9
commit eb1f5a0a43
Signed by: jordan
GPG Key ID: B8CFFF61F1CCF520
23 changed files with 21 additions and 650 deletions

View File

@ -22,14 +22,6 @@
users.extraGroups.vboxusers.members = [ "jordan" ];
modules = {
programs = {
graphics = {
raster.enable = true;
vector.enable = true;
};
libreoffice.enable = true;
qbittorrent.enable = true;
};
services = {
borgmatic = {
enable = true;

View File

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

View File

@ -3,6 +3,7 @@
{
imports = [
./common.nix
../users/jordan
];
nixpkgs.overlays = [

View File

@ -24,11 +24,5 @@
};
};
modules = {
programs = {
qbittorrent.enable = true;
};
};
system.stateVersion = "22.11";
}

View File

@ -26,9 +26,6 @@
];
modules = {
programs = {
qbittorrent.enable = true;
};
services = {
borgmatic = {
enable = true;

View File

@ -48,13 +48,5 @@
pkgs.moonlight-qt
];
modules = {
programs = {
recording = {
audio.enable = true;
};
};
};
system.stateVersion = "22.11";
}

View File

@ -182,8 +182,6 @@
modules = {
podman.enable = true;
programs = {
};
services = {
borgmatic = {
enable = true;

View File

@ -52,28 +52,6 @@
services.displayManager.ly.enable = true;
modules = {
programs = {
emulators = {
gamecube.enable = true;
ps2.enable = true;
ps3.enable = true;
psp.enable = true;
wii.enable = true;
xbox.enable = true;
};
graphics = {
modeling.enable = true;
raster.enable = true;
vector.enable = true;
};
libreoffice.enable = true;
lutris.enable = true;
qbittorrent.enable = true;
recording = {
audio.enable = true;
video.enable = true;
};
};
hardware.presonus-studio.enable = true;
services = {
borgmatic = {

View File

@ -1,17 +0,0 @@
{
imports = [
./options.nix
./programs/brave.nix
./programs/emulators.nix
./programs/forensics.nix
./programs/graphics.nix
./programs/libreoffice.nix
./programs/lutris.nix
./programs/qbittorrent.nix
./programs/recording.nix
./programs/slack.nix
./programs/steam.nix
./programs/vscode.nix
./programs/zoom.nix
];
}

View File

@ -1,138 +0,0 @@
{
config,
options,
lib,
self,
...
}:
with lib;
{
options = with types; {
user = mkOption {
type = attrs;
default = { };
};
home = {
configFile = mkOption {
type = attrs;
default = { };
description = "Files to place in $XDG_CONFIG_HOME";
};
dataFile = mkOption {
type = attrs;
default = { };
description = "Files to place in $XDG_DATA_HOME";
};
file = mkOption {
type = attrs;
default = { };
description = "Files to place directly in $HOME";
};
packages = mkOption {
type = attrs;
default = { };
description = "User-level installed packages";
};
programs = mkOption {
type = attrs;
default = { };
description = "Programs managed directly from home-manager";
};
services = mkOption {
type = attrs;
default = { };
description = "Services managed directly from home-manager";
};
};
dconf.settings = mkOption {
type = attrs;
default = { };
description = "dconf settings to enable";
};
env = mkOption {
type = attrsOf (oneOf [
str
path
(listOf (either str path))
]);
apply = mapAttrs (
n: v: if isList v then concatMapStringsSep ":" (x: toString x) v else (toString v)
);
default = { };
description = "";
};
};
config = {
age.secrets."passwords/users/jordan".file = "${self.inputs.secrets}/passwords/users/jordan.age";
user =
let
user = builtins.getEnv "USER";
name =
if
elem user [
""
"root"
]
then
"jordan"
else
user;
in
{
inherit name;
isNormalUser = true;
extraGroups = [
"audio"
"docker"
"lxd"
"networkmanager"
"wheel"
];
description = "Jordan Holt";
useDefaultShell = true;
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILVHTjsyMIV4THNw6yz0OxAxGnC+41gX72UrPqTzR+OS jordan@vimium.com"
];
hashedPasswordFile = config.age.secrets."passwords/users/jordan".path;
home = "/home/${name}";
group = "users";
uid = 1000;
};
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
users.${config.user.name} = {
home = {
file = mkAliasDefinitions options.home.file;
stateVersion = config.system.stateVersion;
};
programs = mkAliasDefinitions options.home.programs;
services = mkAliasDefinitions options.home.services;
xdg = {
enable = true;
configFile = mkAliasDefinitions options.home.configFile;
dataFile = mkAliasDefinitions options.home.dataFile;
};
dconf.settings = mkAliasDefinitions options.dconf.settings;
};
sharedModules = [
self.inputs.nixvim.homeManagerModules.nixvim
self.inputs.plasma-manager.homeManagerModules.plasma-manager
];
};
users.users.${config.user.name} = mkAliasDefinitions options.user;
environment.extraInit = concatStringsSep "\n" (
mapAttrsToList (n: v: "export ${n}=\"${v}\"") config.env
);
};
}

View File

@ -1,24 +0,0 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.modules.programs.brave;
in
{
options.modules.programs.brave = {
enable = lib.mkOption {
default = false;
example = true;
};
};
config = lib.mkIf cfg.enable {
user.packages = with pkgs; [
brave
];
};
}

View File

@ -1,76 +0,0 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.modules.programs.emulators;
in
{
options.modules.programs.emulators = {
ds.enable = lib.mkOption {
default = false;
example = true;
};
gb.enable = lib.mkOption {
default = false;
example = true;
};
gba.enable = lib.mkOption {
default = false;
example = true;
};
gamecube.enable = lib.mkOption {
default = false;
example = true;
};
ps1.enable = lib.mkOption {
default = false;
example = true;
};
ps2.enable = lib.mkOption {
default = false;
example = true;
};
ps3.enable = lib.mkOption {
default = false;
example = true;
};
psp.enable = lib.mkOption {
default = false;
example = true;
};
snes.enable = lib.mkOption {
default = false;
example = true;
};
switch.enable = lib.mkOption {
default = false;
example = true;
};
wii.enable = lib.mkOption {
default = false;
example = true;
};
xbox.enable = lib.mkOption {
default = false;
example = true;
};
};
config = {
user.packages = with pkgs; [
(lib.mkIf cfg.ps1.enable duckstation)
(lib.mkIf cfg.ps2.enable unstable.pcsx2)
(lib.mkIf cfg.ps3.enable rpcs3)
(lib.mkIf cfg.psp.enable unstable.ppsspp)
(lib.mkIf cfg.ds.enable desmume)
(lib.mkIf (cfg.gba.enable || cfg.gb.enable || cfg.snes.enable) higan)
(lib.mkIf cfg.switch.enable yuzuPackages.mainline)
(lib.mkIf (cfg.wii.enable || cfg.gamecube.enable) dolphin-emu)
(lib.mkIf cfg.xbox.enable unstable.xemu)
];
};
}

View File

@ -1,33 +0,0 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.modules.programs.forensics;
in
{
options.modules.programs.forensics = {
enable = lib.mkOption {
default = false;
example = true;
};
};
config = lib.mkIf cfg.enable {
user.packages = with pkgs; [
acquire
afflib
autopsy
fatcat
foremost
hstsparser
networkminer
sleuthkit
testdisk-qt
tracee
];
};
}

View File

@ -1,35 +0,0 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.modules.programs.graphics;
in
{
options.modules.programs.graphics = {
modeling.enable = lib.mkOption {
default = false;
example = true;
};
raster.enable = lib.mkOption {
default = false;
example = true;
};
vector.enable = lib.mkOption {
default = false;
example = true;
};
};
config = {
user.packages = with pkgs; [
(lib.mkIf cfg.modeling.enable blender)
(lib.mkIf cfg.raster.enable gimp)
(lib.mkIf cfg.raster.enable krita)
(lib.mkIf cfg.vector.enable inkscape)
];
};
}

View File

@ -1,44 +0,0 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.modules.programs.libreoffice;
in
# libreoffice-gtk4 = pkgs.libreoffice.override {
# extraMakeWrapperArgs = [
# "--set SAL_USE_VCLPLUGIN gtk4"
# ];
# unwrapped = pkgs.libreoffice-unwrapped.overrideAttrs (oldAttrs: {
# buildInputs = oldAttrs.buildInputs ++ [
# pkgs.gtk4
# ];
# configureFlags = oldAttrs.configureFlags ++ [
# "--disable-werror"
# "--enable-gtk4"
# ];
# passthru = oldAttrs.passthru // {
# inherit (pkgs) gtk4;
# };
# });
# };
{
options.modules.programs.libreoffice = {
enable = lib.mkOption {
default = false;
example = true;
};
};
config = lib.mkIf cfg.enable {
user.packages = with pkgs; [
(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,36 +0,0 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.modules.programs.lutris;
in
{
options.modules.programs.lutris = {
enable = lib.mkOption {
default = false;
example = true;
};
};
config = lib.mkIf cfg.enable {
environment.systemPackages = with pkgs; [
(lutris.override {
extraPkgs = pkgs: [
winePackages.staging
wine64Packages.staging
];
})
vulkan-loader
vulkan-tools
];
hardware.graphics = {
enable = true;
enable32Bit = true;
};
};
}

View File

@ -1,24 +0,0 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.modules.programs.qbittorrent;
in
{
options.modules.programs.qbittorrent = {
enable = lib.mkOption {
default = false;
example = true;
};
};
config = lib.mkIf cfg.enable {
user.packages = with pkgs; [
qbittorrent
];
};
}

View File

@ -1,46 +0,0 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.modules.programs.recording;
in
{
options.modules.programs.recording = {
audio.enable = lib.mkOption {
default = false;
example = true;
};
video.enable = lib.mkOption {
default = false;
example = true;
};
};
config = {
user.packages =
with pkgs;
(
if cfg.audio.enable then
[
ardour
audacity
]
else
[ ]
)
++ (
if cfg.video.enable then
[
handbrake
mkvtoolnix
obs-studio
]
else
[ ]
);
};
}

View File

@ -1,24 +0,0 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.modules.programs.slack;
in
{
options.modules.programs.slack = {
enable = lib.mkOption {
default = false;
example = true;
};
};
config = lib.mkIf cfg.enable {
user.packages = with pkgs; [
slack
];
};
}

View File

@ -1,23 +0,0 @@
{
config,
lib,
...
}:
let
cfg = config.modules.programs.steam;
in
{
options.modules.programs.steam = {
enable = lib.mkOption {
default = false;
example = true;
};
};
config = lib.mkIf cfg.enable {
programs.steam.enable = true;
systemd.extraConfig = "DefaultLimitNOFILE=1048576";
};
}

View File

@ -1,56 +0,0 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.modules.programs.vscode;
in
{
options.modules.programs.vscode = {
enable = lib.mkOption {
default = false;
example = true;
};
};
config = lib.mkIf cfg.enable {
environment.sessionVariables.NIXOS_OZONE_WL = "1";
home.programs.vscode = {
enable = true;
extensions = with pkgs.vscode-extensions; [
asvetliakov.vscode-neovim
brettm12345.nixfmt-vscode
coolbear.systemd-unit-file
editorconfig.editorconfig
golang.go
graphql.vscode-graphql-syntax
mattn.lisp
# mkhl.direnv
ms-python.vscode-pylance
ms-vscode.cpptools
ms-vscode.hexeditor
piousdeer.adwaita-theme
# redhat.java
# sumneko.lua
];
userSettings = {
"editor.renderLineHighlight" = "none";
"extensions.experimental.affinity" = {
"asvetliakov.vscode-neovim" = 1;
};
"files.autoSave" = "off";
"window.autoDetectColorScheme" = true;
"window.commandCenter" = true;
"window.titleBarStyle" = "custom";
"workbench.iconTheme" = null;
"workbench.preferredDarkColorTheme" = "Adwaita Dark";
"workbench.preferredLightColorTheme" = "Adwaita Light";
"workbench.tree.indent" = 12;
};
};
};
}

View File

@ -1,24 +0,0 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.modules.programs.zoom;
in
{
options.modules.programs.zoom = {
enable = lib.mkOption {
default = false;
example = true;
};
};
config = lib.mkIf cfg.enable {
user.packages = with pkgs; [
zoom-us
];
};
}

View File

@ -1,4 +1,5 @@
{
pkgs,
...
}:
@ -7,4 +8,23 @@
./firefox.nix
./thunderbird.nix
];
home.packages = with pkgs; [
# ardour
# audacity
# blender
# gimp
# handbrake
# hunspell
# hunspellDicts.en-gb-large
# hunspellDicts.en-us-large
# inkscape
# krita
# libreoffice
# mkvtoolnix
# obs-studio
qbittorrent
# slack
# zoom-us
];
}