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

16
nix/flake.lock generated
View File

@@ -738,6 +738,21 @@
"type": "github"
}
},
"nix-meow": {
"locked": {
"lastModified": 1760558110,
"narHash": "sha256-mlVxLzq/q9gxhUFsTF47smxhDPheFiShVP9X1qPrlmw=",
"ref": "refs/heads/main",
"rev": "2acc4cbc965397774f4d6c2c1dea70b416fecc8d",
"revCount": 13,
"type": "git",
"url": "https://git.scug.io/nikkuss/nix-meow.git"
},
"original": {
"type": "git",
"url": "https://git.scug.io/nikkuss/nix-meow.git"
}
},
"nix-warez": {
"inputs": {
"nixpkgs": "nixpkgs_3"
@@ -973,6 +988,7 @@
"home-manager": "home-manager",
"hyprland": "hyprland",
"neovim-nightly-overlay": "neovim-nightly-overlay",
"nix-meow": "nix-meow",
"nix-warez": "nix-warez",
"nixpkgs": "nixpkgs_4",
"nixpkgs-gamescope": "nixpkgs-gamescope",

View File

@@ -8,6 +8,7 @@
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-meow.url = "git+https://git.scug.io/nikkuss/nix-meow.git"; # config manager, meow'd
hyprland.url = "github:hyprwm/Hyprland";
quickshell = {
url = "git+https://git.outfoxxed.me/outfoxxed/quickshell";
@@ -42,53 +43,47 @@
};
};
outputs =
inputs@{ nixpkgs, home-manager, ... }:
inputs@{
nixpkgs,
home-manager,
nix-meow,
...
}:
let
system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
config = {
utils = nix-meow.lib.setup {
inherit (inputs) home-manager nixpkgs;
inherit inputs;
flakeRoot = ./.;
hostsFolder = ./hosts;
hardwaresFolder = ./hardwares;
modulesFolder = ./modules;
globalConfig = {
allowUnfree = true;
};
globalOverlays = [ ];
defaultUser = "doloro";
};
overlays = [ inputs.neovim-nightly-overlay.overlays.default ];
inherit (utils) mkHost;
configurations = [
(mkHost {
hardware = "doloro";
host = "doloro";
system = "x86_64-linux";
stateVersion = "25.05";
nixpkgsConfig = {
rocmSupport = true;
};
})
(mkHost {
hardware = "doloro-wsl";
host = "doloro-wsl";
system = "aarch64-linux";
stateVersion = "25.05";
nixpkgsConfig = {
rocmSupport = true;
};
})
];
in
{
homeConfigurations."doloro" = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
extraSpecialArgs = {
inherit inputs system;
};
modules = [ ./hosts/doloro/home.nix ];
};
homeConfigurations."doloro-wsl" = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
extraSpecialArgs = {
inherit inputs system;
};
modules = [ ./hosts/doloro-wsl/home.nix ];
};
nixosConfigurations.doloroo-main = nixpkgs.lib.nixosSystem {
specialArgs = {
inherit inputs system;
};
modules = [
./hosts/doloro/configuration.nix
inputs.sops-nix.nixosModules.sops
inputs.disko.nixosModules.disko
{ nixpkgs.overlays = overlays; }
];
};
nixosConfigurations.doloroo-laptop-wsl = nixpkgs.lib.nixosSystem {
specialArgs = {
inherit inputs system;
};
modules = [
./hosts/doloro-wsl/configuration.nix
inputs.sops-nix.nixosModules.sops
inputs.disko.nixosModules.disko
{ nixpkgs.overlays = overlays; }
];
};
};
(utils.deepMerge configurations);
}

View File

@@ -0,0 +1,3 @@
{ ... }:
{
}

View File

@@ -0,0 +1,3 @@
{ ... }:
{
}

View File

@@ -0,0 +1,12 @@
{
lib,
...
}:
{
imports = [
./disks.nix
./hardware-configuration.nix
];
hardware.enableRedistributableFirmware = true;
boot.loader.grub.useOSProber = lib.mkOverride 0 false;
}

View File

@@ -25,27 +25,4 @@
services.tailscale.enable = true;
networking.firewall.trustedInterfaces = [ "eth0" ];
systemd.services.firewall.enable = lib.mkForce true;
# modules = {
# users.enable = true;
# secrets.enable = true;
# sshserver.enable = true;
# nix-conf.enable = true;
# shell.enable = true;
# stylix.enable = true;
# hosting = {
# enable = false;
# networking = {
# publicInterface = "eth0";
# };
# stacks = {
# test = {
# config =
# { pkgs, ... }:
# {
# environment.systemPackages = with pkgs; [ fastfetch ];
# };
# };
# };
# };
# };
}

View File

@@ -5,24 +5,36 @@
fetchFromGitHub,
...
}:
{
imports = [
../../modules/hyprland/home.nix
../../modules/quickshell/home.nix
../../modules/chromium/home.nix
#./modules/neovim/home.nix
../../modules/stylix/home.nix
../../modules/nixvim/home.nix
../../modules/tmux/home.nix
../../modules/theme/home.nix
# ./modules/spicetify/home.nix
../../modules/obs/home.nix
../../modules/blender/home.nix
../../modules/fish/home.nix
../../modules/ytm/home.nix
../../overlays.nix
];
# imports = [
# ../../modules/hyprland/home.nix
# ../../modules/quickshell/home.nix
# ../../modules/chromium/home.nix
# #./modules/neovim/home.nix
# ../../modules/stylix/home.nix
# ../../modules/nixvim/home.nix
# ../../modules/tmux/home.nix
# ../../modules/theme/home.nix
# # ./modules/spicetify/home.nix
# ../../modules/obs/home.nix
# ../../modules/blender/home.nix
# ../../modules/fish/home.nix
# ../../modules/ytm/home.nix
# ../../overlays.nix
# ];
modules = {
Hyprland.enable = true;
quickshell.enable = true;
chromium.enable = true;
nixvim.enable = true;
stylix.enable = true;
tmux.enable = true;
theme.enable = true;
obs.enable = true;
blender.enable = true;
fish.enable = true;
youtube-music.enable = true;
};
# Home Manager needs a bit of information about you and the paths it should
# manage.
home.username = "doloro";

View File

@@ -4,22 +4,24 @@
{
config,
inputs,
lib,
pkgs,
...
}:
let
sops = inputs.sops-nix;
in
{
imports = [
# Include the results of the hardware scan.
./hardware-configuration.nix
../../modules/greetd/nixos.nix
../../modules/stylix/nixos.nix
../../modules/steam/nixos.nix
../../modules/hyprland/nixos.nix
../../disks.nix
./overlays.nix
inputs.sops-nix.nixosModules.sops
];
modules = {
greetd.enable = true;
stylix.enable = true;
steam.enable = true;
Hyprland.enable = true;
};
# Use the systemd-boot EFI boot loader.
boot.loader.grub.enable = true;
@@ -53,7 +55,7 @@
security.rtkit.enable = true;
sops = {
defaultSopsFile = ./secrets/users.yaml;
defaultSopsFile = ../../secrets/users.yaml;
secrets = {
root-hashed_password = {
neededForUsers = true;
@@ -190,6 +192,7 @@
vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
wget
killall
sops
];
# Some programs need SUID wrappers, can be configured further or are

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

0
nix/modules/ytm/a Normal file
View File

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
];
}