fucking(refactored): everything

This commit is contained in:
2025-10-16 01:25:34 +01:00
parent e25053b02d
commit 34730d793c
44 changed files with 344 additions and 161 deletions

View File

@@ -0,0 +1,4 @@
_: {
home = ./home.nix;
# nixos: ./nixos.nix;
}

View File

@@ -1,4 +1,6 @@
{
config,
lib,
inputs,
pkgs,
home,
@@ -7,12 +9,18 @@
}:
let
blenderPkgs = inputs.nix-warez.packages.${system};
cfg = config.modules.blender;
in
{
options.modules.blender = {
enable = lib.mkEnableOption "Blender configuration module";
};
# whole blender config including addons is too fat to include here
home.packages = with pkgs; [
blenderPkgs.blender_4_5
];
config = lib.mkIf cfg.enable {
home.packages = with pkgs; [
blenderPkgs.blender_4_5
];
};
# nix'ing a blender config is most likely not possible
# could probs install blender addons through nix since they are fat fat mega fat to install TODO
}

View File

@@ -0,0 +1,4 @@
_: {
home = ./home.nix;
# nixos: ./nixos.nix;
}

View File

@@ -1,24 +1,31 @@
{
config,
lib,
inputs,
pkgs,
system,
...
}:
let
cfg = config.modules.chromium;
in
{
programs.chromium = {
enable = true;
extensions = [
{ id = "ghmbeldphafepmbegfdlkpapadhbakde"; } # ProtonPass
#{ id = "cjpalhdlnbpafiamejdnhcphjbkeiagm"; } # Ublok
{ id = "ddkjiahejlhfcafbddmgiahcphecmpfh"; } # Ublock lite
{ id = "kpmjjdhbcfebfjgdnpjagcndoelnidfj"; } # Control panel for twitter
{ id = "aighbdamfnndbemigjcbkdklkegkgmpl"; } # Better twitter embeds
{ id = "enamippconapkdmgfgjchkhakpfinmaj"; } # DeArrow
{ id = "bjcnpgekponkjpincbcoflgkdomldlnl"; } # Website Blocker
];
package = pkgs.chromium.override { enableWideVine = true; };
options.modules.chromium = {
enable = lib.mkEnableOption "Chromium";
};
config = lib.mkIf cfg.enable {
programs.chromium = {
enable = true;
extensions = [
{ id = "ghmbeldphafepmbegfdlkpapadhbakde"; } # ProtonPass
#{ id = "cjpalhdlnbpafiamejdnhcphjbkeiagm"; } # Ublok
{ id = "ddkjiahejlhfcafbddmgiahcphecmpfh"; } # Ublock lite
{ id = "kpmjjdhbcfebfjgdnpjagcndoelnidfj"; } # Control panel for twitter
{ id = "aighbdamfnndbemigjcbkdklkegkgmpl"; } # Better twitter embeds
{ id = "enamippconapkdmgfgjchkhakpfinmaj"; } # DeArrow
{ id = "bjcnpgekponkjpincbcoflgkdomldlnl"; } # Website Blocker
];
package = pkgs.chromium.override { enableWideVine = true; };
};
};
}

7
nix/modules/default.nix Normal file
View File

@@ -0,0 +1,7 @@
_:
builtins.listToAttrs (
map (fn: {
name = fn;
value = import ./${fn} { };
}) (builtins.filter (fn: fn != "default.nix") (builtins.attrNames (builtins.readDir ./.)))
)

View File

@@ -0,0 +1,4 @@
_: {
home = ./home.nix;
# nixos: ./nixos.nix;
}

View File

@@ -1,7 +1,15 @@
{ ... }:
{ config, lib, ... }:
let
cfg = config.modules.fish;
in
{
home.shell.enableFishIntegration = true;
programs.fish = {
# enable = true;
options.modules.fish = {
enable = lib.mkEnableOption "Fish";
};
config = lib.mkIf cfg.enable {
home.shell.enableFishIntegration = true;
programs.fish = {
# enable = true;
};
};
}

View File

@@ -1,3 +1,4 @@
_: {
nixos: ./nixos.nix;
# home = ./home.nix;
nixos = ./nixos.nix;
}

View File

@@ -12,7 +12,7 @@ in
options.modules.greetd = {
enable = lib.mkEnableOption "Greetd configuration module";
};
config = {
config = lib.mkIf cfg.enable {
services.greetd = {
enable = true;
settings = {

View File

@@ -0,0 +1,4 @@
_: {
home = ./home.nix;
nixos = ./nixos.nix;
}

View File

@@ -1,6 +1,12 @@
{ inputs, pkgs, ... }:
{
inputs,
config,
lib,
pkgs,
...
}:
let
cfg = config.modules.Hyprland;
in
{
imports = [
@@ -8,7 +14,10 @@ in
./runner.nix
./screenshot.nix
];
wayland.windowManager.hyprland = {
options.modules.Hyprland = {
enable = lib.mkEnableOption "Hyprland";
};
config.wayland.windowManager.hyprland = lib.mkIf cfg.enable {
enable = true;
# set the flake package
# settings = { };
@@ -17,8 +26,8 @@ in
portalPackage =
inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
};
# todo, split this into its own module;
programs.foot = {
# TODO, split this into its own module;
config.programs.foot = lib.mkIf cfg.enable {
enable = true;
settings = {
main = {

View File

@@ -1,6 +1,18 @@
{ inputs, pkgs, ... }:
{
config = {
inputs,
pkgs,
lib,
config,
...
}:
let
cfg = config.modules.Hyprland;
in
{
options.modules.Hyprland = {
enable = lib.mkEnableOption "Hyprland";
};
config = lib.mkIf cfg.enable {
programs.xwayland.enable = true;
programs.hyprland = {
enable = true;

View File

@@ -1,18 +0,0 @@
{
inputs,
pkgs,
config,
...
}:
let
in
{
home.packages = [
inputs.neovim-nightly-overlay.packages.${pkgs.system}.default
];
xdg.configFile."nvim" = {
recursive = true;
source = config.lib.file.mkOutOfStoreSymlink "/home/doloro/dotfiles/nvim";
};
}

View File

@@ -0,0 +1,4 @@
_: {
home = ./home.nix;
# nixos = ./nixos.nix;
}

View File

@@ -1,13 +1,25 @@
{ inputs, pkgs, ... }:
{
config,
inputs,
pkgs,
lib,
...
}:
let
cfg = config.modules.nixvim;
in
{
options.modules.nixvim = {
enable = lib.mkEnableOption "Nixvim";
};
imports = [
inputs.nixvim.homeModules.nixvim
./plugins
];
home.packages = with pkgs; [
config.home.packages = with pkgs; [
nixfmt
];
programs.nixvim = {
config.programs.nixvim = lib.mkIf cfg.enable {
enable = true;
defaultEditor = true;
colorschemes.tokyonight.enable = true;

View File

@@ -0,0 +1,4 @@
_: {
home = ./home.nix;
# nixos: ./nixos.nix;
}

View File

@@ -1,6 +1,18 @@
{ inputs, pkgs, ... }:
{
programs = {
inputs,
config,
lib,
pkgs,
...
}:
let
cfg = config.modules.obs;
in
{
options.modules.obs = {
enable = lib.mkEnableOption "obs";
};
config.programs = lib.mkIf cfg.enable {
obs-studio = {
enable = true;
package = (

View File

@@ -0,0 +1,4 @@
_: {
home = ./home.nix;
# nixos: ./nixos.nix;
}

View File

@@ -1,19 +1,24 @@
{
inputs,
config,
lib,
pkgs,
system,
...
}:
let
pkg = inputs.quickshell.packages.${system}.quickshell;
cfg = config.modules.quickshell;
in
{
xdg.configFile."quickshell" = {
options.modules.quickshell = {
enable = lib.mkEnableOption "quickshell configuration module";
};
config.xdg.configFile."quickshell" = lib.mkIf cfg.enable {
recursive = true;
source = config.lib.file.mkOutOfStoreSymlink "/home/doloro/dotfiles/quickshell/";
};
systemd.user.services.quickshell = {
config.systemd.user.services.quickshell = {
Unit = {
Description = "Quickshell daemon";
After = [ "hyprland-session.target" ];

View File

@@ -0,0 +1,4 @@
_: {
home = ./home.nix;
# nixos: ./nixos.nix;
}

View File

@@ -1,12 +1,22 @@
{ inputs, pkgs, ... }:
{
inputs,
config,
lib,
pkgs,
...
}:
let
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.stdenv.hostPlatform.system};
cfg = config.modules.spicetify;
in
{
options.modules.spicetify = {
enable = lib.mkEnableOption "spicetify configuration module";
};
imports = [
inputs.spicetify-nix.homeManagerModules.default
];
programs.spicetify = {
config.programs.spicetify = lib.mkIf cfg.enable {
enable = true;
enabledExtensions = with spicePkgs.extensions; [

View File

@@ -0,0 +1,4 @@
_: {
# home: ./home.nix;
nixos = ./nixos.nix;
}

View File

@@ -4,8 +4,14 @@
pkgs,
...
}:
let
cfg = config.modules.steam;
in
{
config = {
options.modules.steam = {
enable = lib.mkEnableOption "steam";
};
config = lib.mkIf cfg.enable {
programs.steam = {
enable = true;
remotePlay.openFirewall = true;

View File

@@ -0,0 +1,4 @@
_: {
home = ./home.nix;
nixos = ./nixos.nix;
}

View File

@@ -9,12 +9,14 @@ let
cfg = config.modules.stylix;
in
{
options.modules.stylix = {
enable = lib.mkEnableOption "stylix configuration module";
};
imports = [
./shared.nix
inputs.stylix.homeModules.stylix
];
config = {
config = lib.mkIf cfg.enable {
stylix.enable = true;
stylix.autoEnable = false; # honestly, fuck stylix;
stylix.targets.gtk.enable = true;

View File

@@ -9,12 +9,14 @@ let
cfg = config.modules.stylix;
in
{
options.modules.stylix = {
enable = lib.mkEnableOption "stylix configuration module";
};
imports = [
./shared.nix
inputs.stylix.nixosModules.stylix
];
config = {
config = lib.mkIf cfg.enable {
stylix.enable = true;
stylix.autoEnable = false; # honestly, fuck stylix;
#stylix.targets.tmux.enable = false;

View File

@@ -1,3 +1,4 @@
_: {
home: ./home.nix
home = ./home.nix;
# nixos: ./nixos.nix;
}

View File

@@ -1,6 +1,17 @@
{ inputs, ... }:
{
services.dunst = {
inputs,
config,
lib,
...
}:
let
cfg = config.modules.theme;
in
{
options.modules.theme = {
enable = lib.mkEnableOption "theme";
};
config.services.dunst = lib.mkIf cfg.enable {
settings = {
global = {
font = "Noto Nerd Font 8";

View File

@@ -0,0 +1,4 @@
_: {
home = ./home.nix;
# nixos: ./nixos.nix;
}

View File

@@ -1,11 +1,19 @@
{
inputs,
config,
lib,
pkgs,
fetchFromGitHub,
...
}:
let
cfg = config.modules.tmux;
in
{
programs.tmux = {
options.modules.tmux = {
enable = lib.mkEnableOption "tmux";
};
config.programs.tmux = lib.mkIf cfg.enable {
enable = true;
plugins = with pkgs.tmuxPlugins; [
sensible

View File

@@ -0,0 +1,4 @@
_: {
home = ./home.nix;
# nixos: ./nixos.nix;
}

View File

@@ -1,6 +1,17 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
pkgs,
config,
lib,
...
}:
let
cfg = config.modules.youtube-music;
in
{
options.modules.youtube-music = {
enable = lib.mkEnableOption "youtube music";
};
config.home.packages = with pkgs; [
youtube-music
];
}