wip(home): refactor home modules *WILL NOT BUILD*
This commit is contained in:
parent
2033810429
commit
6a591ecbf7
115 changed files with 1028 additions and 791 deletions
42
home/profiles/default.nix
Normal file
42
home/profiles/default.nix
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
{ lib, config, ... }:
|
||||
|
||||
let
|
||||
profileEnabler = let
|
||||
reducer = l: r: {"${r}".enable = true;} // l;
|
||||
in
|
||||
builtins.foldl' reducer {} config.activeProfiles;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./base
|
||||
./hyprland
|
||||
#./creative
|
||||
./productivity
|
||||
./gaming
|
||||
./themes
|
||||
];
|
||||
|
||||
options = {
|
||||
activeProfiles = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [];
|
||||
};
|
||||
|
||||
profiles = {
|
||||
base = {
|
||||
enable = lib.mkEnableOption "Enable the base profile";
|
||||
};
|
||||
hyprland = {
|
||||
enable = lib.mkEnableOption "Enable the hyprland profile";
|
||||
};
|
||||
gaming = {
|
||||
enable = lib.mkEnableOption "Enable the gaming profile";
|
||||
};
|
||||
productivity = {
|
||||
enable = lib.mkEnableOption "Enable the productivity profile";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config.profiles = profileEnabler;
|
||||
}
|
||||
19
home/profiles/desktop-environments/hyprland.nix
Normal file
19
home/profiles/desktop-environments/hyprland.nix
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
{ lib, config, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mkIf;
|
||||
desktop = config.ooknet.desktop;
|
||||
in
|
||||
|
||||
{
|
||||
config = mkIf (desktop.environment == "hyprland") {
|
||||
ooknet.wayland = {
|
||||
enable = true;
|
||||
compositor = "hyprland";
|
||||
launcher = "rofi";
|
||||
locker = "hyprlock";
|
||||
notification = "mako";
|
||||
bar = "waybar";
|
||||
};
|
||||
};
|
||||
}
|
||||
69
home/profiles/hyprland.nix
Normal file
69
home/profiles/hyprland.nix
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
{ config, lib, ... }:
|
||||
let
|
||||
cfg = config.profiles.hyprland;
|
||||
in
|
||||
{
|
||||
|
||||
imports = [
|
||||
../../modules
|
||||
];
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
homeModules.desktop = {
|
||||
|
||||
wayland = {
|
||||
enable = true;
|
||||
windowManager.hyprland = {
|
||||
enable = true;
|
||||
extras = {
|
||||
hyprcapture.enable = true;
|
||||
hyprshade.enable = true;
|
||||
};
|
||||
};
|
||||
lockscreen.hyprlock.enable = true;
|
||||
notification.mako.enable = true;
|
||||
bar.waybar.enable = true;
|
||||
launcher.rofi.enable = true;
|
||||
utility = {
|
||||
tools.enable = true;
|
||||
gammastep.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
security.polkit = "pantheon";
|
||||
|
||||
communication = {
|
||||
discord.enable = true;
|
||||
};
|
||||
|
||||
creative = {
|
||||
audio = {
|
||||
audacity.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
browser.firefox= {
|
||||
enable = true;
|
||||
default = true;
|
||||
};
|
||||
|
||||
terminal = {
|
||||
foot = {
|
||||
enable = true;
|
||||
default = true;
|
||||
};
|
||||
};
|
||||
|
||||
media = {
|
||||
music.tui.enable = true;
|
||||
music.easyeffects.enable = true;
|
||||
image.imv.enable = true;
|
||||
video = {
|
||||
mpv.enable = true;
|
||||
youtube.enable = true;
|
||||
jellyfin.enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
0
home/profiles/suites/create.nix
Normal file
0
home/profiles/suites/create.nix
Normal file
25
home/profiles/suites/gaming.nix
Normal file
25
home/profiles/suites/gaming.nix
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
let
|
||||
cfg = config.profiles.gaming;
|
||||
in
|
||||
{
|
||||
|
||||
imports = [
|
||||
../../modules
|
||||
];
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
homeModules.desktop = {
|
||||
gaming = {
|
||||
lutris.enable = false;
|
||||
};
|
||||
};
|
||||
home.packages = with pkgs; [
|
||||
bottles
|
||||
winetricks
|
||||
protontricks
|
||||
protonup-qt
|
||||
wineWowPackages.full
|
||||
];
|
||||
};
|
||||
}
|
||||
20
home/profiles/suites/productivity.nix
Normal file
20
home/profiles/suites/productivity.nix
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
{ config, lib, ... }:
|
||||
let
|
||||
cfg = config.profiles.productivity;
|
||||
in
|
||||
{
|
||||
|
||||
imports = [
|
||||
../../modules
|
||||
];
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
homeModules.desktop = {
|
||||
productivity = {
|
||||
obsidian.enable = true;
|
||||
zathura.enable = true;
|
||||
office.enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
29
home/profiles/themes/default.nix
Normal file
29
home/profiles/themes/default.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{ lib, config, ... }:
|
||||
|
||||
# let
|
||||
# cfg = config.theme;
|
||||
# in
|
||||
|
||||
{
|
||||
imports = [
|
||||
./minimal
|
||||
./phone
|
||||
];
|
||||
|
||||
options.theme = {
|
||||
minimal.enable = lib.mkEnableOption "enable minimal theme";
|
||||
phone.enable = lib.mkEnableOption "Enable phone theme";
|
||||
};
|
||||
|
||||
# config = {
|
||||
# assertions = [
|
||||
# {
|
||||
# assertion =
|
||||
# (lib.length (lib.filter (x: x) [
|
||||
# cfg.minimal or false
|
||||
# cfg.OTHERTHEMEHERE or false
|
||||
# ]) <= 1);
|
||||
# }
|
||||
# ];
|
||||
# };
|
||||
}
|
||||
43
home/profiles/themes/minimal.nix
Normal file
43
home/profiles/themes/minimal.nix
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
{ lib, config, pkgs, inputs, ... }:
|
||||
|
||||
let
|
||||
inherit (inputs.nix-colors) colorSchemes;
|
||||
inherit (lib) mkIf;
|
||||
theme = config.ooknet.theme;
|
||||
in
|
||||
|
||||
{
|
||||
imports = [ inputs.nix-colors.homeManagerModule ];
|
||||
config = mkIf (theme == "minimal") {
|
||||
|
||||
colorscheme = colorSchemes.gruvbox-material-dark-soft;
|
||||
home.file.".colorscheme".text = config.colorscheme.slug;
|
||||
home.sessionVariables.COLOR_SCHEME = "${config.colorscheme.slug}";
|
||||
|
||||
ooknet = {
|
||||
fonts.enable = true;
|
||||
fonts.regular = {
|
||||
family = "Fira Sans";
|
||||
package = pkgs.fira;
|
||||
};
|
||||
fonts.monospace = {
|
||||
family = "JetBrainsMono Nerd Font";
|
||||
package = pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; };
|
||||
};
|
||||
|
||||
cursor.enable = true;
|
||||
cursor = {
|
||||
name = "Bibata-Modern-Ice";
|
||||
package = pkgs.bibata-cursors;
|
||||
size = 22;
|
||||
};
|
||||
|
||||
wallpaper = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
gtk.enable = true;
|
||||
qt.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
29
home/profiles/themes/phone.nix
Normal file
29
home/profiles/themes/phone.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{ lib, config, pkgs, inputs, ... }:
|
||||
|
||||
let
|
||||
inherit (inputs.nix-colors) colorSchemes;
|
||||
inherit (lib) mkIf;
|
||||
theme = config.ooknet.theme;
|
||||
in
|
||||
|
||||
{
|
||||
imports = [ inputs.nix-colors.homeManagerModule ];
|
||||
config = mkIf (theme == "phone") {
|
||||
|
||||
colorscheme = colorSchemes.gruvbox-material-dark-soft;
|
||||
home.file.".colorscheme".text = config.colorscheme.slug;
|
||||
home.sessionVariables.COLOR_SCHEME = "${config.colorscheme.slug}";
|
||||
|
||||
ooknet.theme = {
|
||||
fonts.enable = true;
|
||||
fonts.regular = {
|
||||
family = "Fira Sans";
|
||||
package = pkgs.fira;
|
||||
};
|
||||
fonts.monospace = {
|
||||
family = "JetBrainsMono Nerd Font";
|
||||
package = pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; };
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue