feat: massive refactor
This commit is contained in:
@@ -1,12 +1,13 @@
|
||||
{ config, lib, ... }:
|
||||
lib.my.makeSwitch {
|
||||
inherit config;
|
||||
optionName = "all desktop things";
|
||||
optionPath = [
|
||||
"desktop"
|
||||
"all"
|
||||
];
|
||||
config' = {
|
||||
let
|
||||
cfg = config.my.desktop.all;
|
||||
in
|
||||
{
|
||||
options.my.desktop.all = {
|
||||
enable = lib.mkEnableOption "all desktop things";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
my.desktop = {
|
||||
browser.all.enable = true;
|
||||
gaming.all.enable = true;
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
{ config, lib, ... }:
|
||||
lib.my.makeSwitch {
|
||||
inherit config;
|
||||
optionName = "all desktop browsers";
|
||||
optionPath = [
|
||||
"desktop"
|
||||
"browser"
|
||||
"all"
|
||||
];
|
||||
config' = {
|
||||
let
|
||||
cfg = config.my.desktop.browser.all;
|
||||
in
|
||||
{
|
||||
options.my.desktop.browser.all = {
|
||||
enable = lib.mkEnableOption "all desktop browsers";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
my.desktop.browser = {
|
||||
firefox.enable = true;
|
||||
chromium.enable = true;
|
||||
|
||||
@@ -4,15 +4,16 @@
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
lib.my.makeHomeProgramConfig {
|
||||
inherit config;
|
||||
programName = "chromium";
|
||||
optionPath = [
|
||||
"desktop"
|
||||
"browser"
|
||||
"chromium"
|
||||
];
|
||||
extraConfig = {
|
||||
let
|
||||
cfg = config.my.desktop.browser.chromium;
|
||||
in
|
||||
{
|
||||
options.my.desktop.browser.chromium = {
|
||||
enable = lib.mkEnableOption "chromium";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
my.hm.programs.chromium.enable = true;
|
||||
my.hm.programs.chromium = {
|
||||
package = pkgs.ungoogled-chromium;
|
||||
extensions = [
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
{ config, lib, ... }:
|
||||
lib.my.makeHomeProgramConfig {
|
||||
inherit config;
|
||||
programName = "firefox";
|
||||
optionPath = [
|
||||
"desktop"
|
||||
"browser"
|
||||
"firefox"
|
||||
];
|
||||
extraConfig = {
|
||||
let
|
||||
cfg = config.my.desktop.browser.firefox;
|
||||
in
|
||||
{
|
||||
options.my.desktop.browser.firefox = {
|
||||
enable = lib.mkEnableOption "firefox";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
my.hm.programs.firefox.enable = true;
|
||||
my.persist.homeDirs = [
|
||||
".mozilla"
|
||||
];
|
||||
|
||||
@@ -4,15 +4,15 @@
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
lib.my.makeHomeProgramConfig {
|
||||
inherit config;
|
||||
programName = "zen-browser";
|
||||
optionPath = [
|
||||
"desktop"
|
||||
"browser"
|
||||
"zen"
|
||||
];
|
||||
extraConfig = {
|
||||
let
|
||||
cfg = config.my.desktop.browser.zen;
|
||||
in
|
||||
{
|
||||
options.my.desktop.browser.zen = {
|
||||
enable = lib.mkEnableOption "zen-browser";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
my.hm.programs.zen-browser = {
|
||||
enable = true;
|
||||
nativeMessagingHosts = [ pkgs.firefoxpwa ];
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
{ config, lib, ... }:
|
||||
lib.my.makeSwitch {
|
||||
inherit config;
|
||||
optionName = "all desktop gaming things";
|
||||
optionPath = [
|
||||
"desktop"
|
||||
"gaming"
|
||||
"all"
|
||||
];
|
||||
config' = {
|
||||
let
|
||||
cfg = config.my.desktop.gaming.all;
|
||||
in
|
||||
{
|
||||
options.my.desktop.gaming.all = {
|
||||
enable = lib.mkEnableOption "all desktop gaming things";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
my.desktop.gaming = {
|
||||
minecraft.enable = true;
|
||||
steam.enable = true;
|
||||
|
||||
@@ -4,15 +4,15 @@
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
lib.my.makeSwitch {
|
||||
inherit config;
|
||||
optionName = "minecraft";
|
||||
optionPath = [
|
||||
"desktop"
|
||||
"gaming"
|
||||
"minecraft"
|
||||
];
|
||||
config' = {
|
||||
let
|
||||
cfg = config.my.desktop.gaming.minecraft;
|
||||
in
|
||||
{
|
||||
options.my.desktop.gaming.minecraft = {
|
||||
enable = lib.mkEnableOption "minecraft";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
my.hm.home.packages = [
|
||||
(pkgs.hmcl.overrideAttrs {
|
||||
postFixup = ''
|
||||
|
||||
@@ -4,15 +4,15 @@
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
lib.my.makeSwitch {
|
||||
inherit config;
|
||||
optionName = "steam";
|
||||
optionPath = [
|
||||
"desktop"
|
||||
"gaming"
|
||||
"steam"
|
||||
];
|
||||
config' = {
|
||||
let
|
||||
cfg = config.my.desktop.gaming.steam;
|
||||
in
|
||||
{
|
||||
options.my.desktop.gaming.steam = {
|
||||
enable = lib.mkEnableOption "steam";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
package = pkgs.steam;
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
{ config, lib, ... }:
|
||||
lib.my.makeSwitch {
|
||||
inherit config;
|
||||
optionName = "all desktop media things";
|
||||
optionPath = [
|
||||
"desktop"
|
||||
"media"
|
||||
"all"
|
||||
];
|
||||
config' = {
|
||||
let
|
||||
cfg = config.my.desktop.media.all;
|
||||
in
|
||||
{
|
||||
options.my.desktop.media.all = {
|
||||
enable = lib.mkEnableOption "all desktop media things";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
my.desktop.media = {
|
||||
mpv.enable = true;
|
||||
shotwell.enable = true;
|
||||
|
||||
@@ -4,13 +4,15 @@
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
lib.my.makeHomePackageConfig {
|
||||
inherit config pkgs;
|
||||
packageName = "mpv";
|
||||
packagePath = [ "mpv" ];
|
||||
optionPath = [
|
||||
"desktop"
|
||||
"media"
|
||||
"mpv"
|
||||
];
|
||||
let
|
||||
cfg = config.my.desktop.media.mpv;
|
||||
in
|
||||
{
|
||||
options.my.desktop.media.mpv = {
|
||||
enable = lib.mkEnableOption "mpv";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
my.hm.home.packages = [ pkgs.mpv ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -4,13 +4,15 @@
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
lib.my.makeHomePackageConfig {
|
||||
inherit config pkgs;
|
||||
packageName = "shotwell";
|
||||
packagePath = [ "shotwell" ];
|
||||
optionPath = [
|
||||
"desktop"
|
||||
"media"
|
||||
"shotwell"
|
||||
];
|
||||
let
|
||||
cfg = config.my.desktop.media.shotwell;
|
||||
in
|
||||
{
|
||||
options.my.desktop.media.shotwell = {
|
||||
enable = lib.mkEnableOption "shotwell";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
my.hm.home.packages = [ pkgs.shotwell ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -4,13 +4,15 @@
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
lib.my.makeHomePackageConfig {
|
||||
inherit config pkgs;
|
||||
packageName = "spotify";
|
||||
packagePath = [ "spotify" ];
|
||||
optionPath = [
|
||||
"desktop"
|
||||
"media"
|
||||
"spotify"
|
||||
];
|
||||
let
|
||||
cfg = config.my.desktop.media.spotify;
|
||||
in
|
||||
{
|
||||
options.my.desktop.media.spotify = {
|
||||
enable = lib.mkEnableOption "spotify";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
my.hm.home.packages = [ pkgs.spotify ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -4,16 +4,16 @@
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
lib.my.makeHomePackageConfig {
|
||||
inherit config pkgs;
|
||||
packageName = "spotube";
|
||||
packagePath = [ "spotube" ];
|
||||
optionPath = [
|
||||
"desktop"
|
||||
"media"
|
||||
"spotube"
|
||||
];
|
||||
extraConfig = {
|
||||
let
|
||||
cfg = config.my.desktop.media.spotube;
|
||||
in
|
||||
{
|
||||
options.my.desktop.media.spotube = {
|
||||
enable = lib.mkEnableOption "spotube";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
my.hm.home.packages = [ pkgs.spotube ];
|
||||
my.persist.homeDirs = [
|
||||
".local/share/oss.krtirtho.spotube"
|
||||
];
|
||||
|
||||
@@ -4,16 +4,16 @@
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
lib.my.makeHomePackageConfig {
|
||||
inherit config pkgs;
|
||||
packageName = "thunderbird";
|
||||
packagePath = [ "thunderbird" ];
|
||||
optionPath = [
|
||||
"desktop"
|
||||
"media"
|
||||
"thunderbird"
|
||||
];
|
||||
extraConfig = {
|
||||
let
|
||||
cfg = config.my.desktop.media.thunderbird;
|
||||
in
|
||||
{
|
||||
options.my.desktop.media.thunderbird = {
|
||||
enable = lib.mkEnableOption "thunderbird";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
my.hm.home.packages = [ pkgs.thunderbird ];
|
||||
my.persist.homeDirs = [
|
||||
".thunderbird"
|
||||
];
|
||||
|
||||
@@ -4,13 +4,15 @@
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
lib.my.makeHomePackageConfig {
|
||||
inherit config pkgs;
|
||||
packageName = "vlc";
|
||||
packagePath = [ "vlc" ];
|
||||
optionPath = [
|
||||
"desktop"
|
||||
"media"
|
||||
"vlc"
|
||||
];
|
||||
let
|
||||
cfg = config.my.desktop.media.vlc;
|
||||
in
|
||||
{
|
||||
options.my.desktop.media.vlc = {
|
||||
enable = lib.mkEnableOption "vlc";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
my.hm.home.packages = [ pkgs.vlc ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
{ config, lib, ... }:
|
||||
lib.my.makeSwitch {
|
||||
inherit config;
|
||||
optionName = "all screencast tools";
|
||||
optionPath = [
|
||||
"desktop"
|
||||
"screencast"
|
||||
"all"
|
||||
];
|
||||
config' = {
|
||||
let
|
||||
cfg = config.my.desktop.screencast.all;
|
||||
in
|
||||
{
|
||||
options.my.desktop.screencast.all = {
|
||||
enable = lib.mkEnableOption "all screencast tools";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
my.desktop.screencast = {
|
||||
obs-studio.enable = true;
|
||||
};
|
||||
|
||||
@@ -4,15 +4,15 @@
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
lib.my.makeSwitch {
|
||||
inherit config;
|
||||
optionName = "obs-studio";
|
||||
optionPath = [
|
||||
"desktop"
|
||||
"screencast"
|
||||
"obs-studio"
|
||||
];
|
||||
config' = {
|
||||
let
|
||||
cfg = config.my.desktop.screencast.obs-studio;
|
||||
in
|
||||
{
|
||||
options.my.desktop.screencast.obs-studio = {
|
||||
enable = lib.mkEnableOption "obs-studio";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
my.hm.home.packages = with pkgs; [
|
||||
(pkgs.wrapOBS {
|
||||
plugins = with pkgs.obs-studio-plugins; [
|
||||
|
||||
@@ -4,14 +4,15 @@
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
lib.my.makeSwitch {
|
||||
inherit config;
|
||||
optionName = "style";
|
||||
optionPath = [
|
||||
"desktop"
|
||||
"style"
|
||||
];
|
||||
config' = {
|
||||
let
|
||||
cfg = config.my.desktop.style;
|
||||
in
|
||||
{
|
||||
options.my.desktop.style = {
|
||||
enable = lib.mkEnableOption "style";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
catppuccin.sddm = {
|
||||
enable = true;
|
||||
font = "Jetbrains Mono";
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
{ config, lib, ... }:
|
||||
lib.my.makeHomeProgramConfig {
|
||||
inherit config;
|
||||
programName = "alacritty";
|
||||
optionPath = [
|
||||
"desktop"
|
||||
"terminal"
|
||||
"alacritty"
|
||||
];
|
||||
extraConfig = {
|
||||
let
|
||||
cfg = config.my.desktop.terminal.alacritty;
|
||||
in
|
||||
{
|
||||
options.my.desktop.terminal.alacritty = {
|
||||
enable = lib.mkEnableOption "alacritty";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
my.hm.programs.alacritty.enable = true;
|
||||
my.hm.programs.alacritty.settings = {
|
||||
general.import = [ ./tokyonight-storm.toml ];
|
||||
cursor.style = {
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
{ config, lib, ... }:
|
||||
lib.my.makeSwitch {
|
||||
inherit config;
|
||||
optionName = "all terminals";
|
||||
optionPath = [
|
||||
"desktop"
|
||||
"terminal"
|
||||
"all"
|
||||
];
|
||||
config' = {
|
||||
let
|
||||
cfg = config.my.desktop.terminal.all;
|
||||
in
|
||||
{
|
||||
options.my.desktop.terminal.all = {
|
||||
enable = lib.mkEnableOption "all terminals";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
my.desktop.terminal = {
|
||||
alacritty.enable = true;
|
||||
foot.enable = true;
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
{ config, lib, ... }:
|
||||
lib.my.makeHomeProgramConfig {
|
||||
inherit config;
|
||||
programName = "foot";
|
||||
optionPath = [
|
||||
"desktop"
|
||||
"terminal"
|
||||
"foot"
|
||||
];
|
||||
extraConfig = {
|
||||
let
|
||||
cfg = config.my.desktop.terminal.foot;
|
||||
in
|
||||
{
|
||||
options.my.desktop.terminal.foot = {
|
||||
enable = lib.mkEnableOption "foot";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
my.hm.programs.foot.enable = true;
|
||||
my.hm.programs.foot = {
|
||||
server.enable = true;
|
||||
settings = {
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
{ config, lib, ... }:
|
||||
lib.my.makeHomeProgramConfig {
|
||||
inherit config;
|
||||
programName = "ghostty";
|
||||
optionPath = [
|
||||
"desktop"
|
||||
"terminal"
|
||||
"ghostty"
|
||||
];
|
||||
extraConfig = {
|
||||
let
|
||||
cfg = config.my.desktop.terminal.ghostty;
|
||||
in
|
||||
{
|
||||
options.my.desktop.terminal.ghostty = {
|
||||
enable = lib.mkEnableOption "ghostty";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
my.hm.programs.ghostty.enable = true;
|
||||
my.hm.programs.ghostty = {
|
||||
enableBashIntegration = true;
|
||||
enableZshIntegration = true;
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
{ config, lib, ... }:
|
||||
lib.my.makeHomeProgramConfig {
|
||||
inherit config;
|
||||
programName = "kitty";
|
||||
optionPath = [
|
||||
"desktop"
|
||||
"terminal"
|
||||
"kitty"
|
||||
];
|
||||
extraConfig = {
|
||||
let
|
||||
cfg = config.my.desktop.terminal.kitty;
|
||||
in
|
||||
{
|
||||
options.my.desktop.terminal.kitty = {
|
||||
enable = lib.mkEnableOption "kitty";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
my.hm.programs.kitty.enable = true;
|
||||
my.hm.programs.kitty = {
|
||||
settings = {
|
||||
cursor_blink_interval = 0;
|
||||
|
||||
@@ -4,14 +4,15 @@
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
lib.my.makeSwitch {
|
||||
inherit config;
|
||||
optionName = "wine";
|
||||
optionPath = [
|
||||
"desktop"
|
||||
"wine"
|
||||
];
|
||||
config' = {
|
||||
let
|
||||
cfg = config.my.desktop.wine;
|
||||
in
|
||||
{
|
||||
options.my.desktop.wine = {
|
||||
enable = lib.mkEnableOption "wine";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
my.hm.home.packages = with pkgs; [
|
||||
wine-wayland
|
||||
bottles
|
||||
|
||||
@@ -3,15 +3,15 @@
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
lib.my.makeSwitch {
|
||||
inherit config;
|
||||
optionName = "all window managers";
|
||||
optionPath = [
|
||||
"desktop"
|
||||
"wm"
|
||||
"all"
|
||||
];
|
||||
config' = {
|
||||
let
|
||||
cfg = config.my.desktop.wm.all;
|
||||
in
|
||||
{
|
||||
options.my.desktop.wm.all = {
|
||||
enable = lib.mkEnableOption "all window managers";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
my.desktop.wm = {
|
||||
cage.enable = true;
|
||||
niri.enable = true;
|
||||
|
||||
@@ -4,13 +4,15 @@
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
lib.my.makeHomePackageConfig {
|
||||
inherit config pkgs;
|
||||
packageName = "cage";
|
||||
packagePath = [ "cage" ];
|
||||
optionPath = [
|
||||
"desktop"
|
||||
"wm"
|
||||
"cage"
|
||||
];
|
||||
let
|
||||
cfg = config.my.desktop.wm.cage;
|
||||
in
|
||||
{
|
||||
options.my.desktop.wm.cage = {
|
||||
enable = lib.mkEnableOption "cage";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
my.hm.home.packages = [ pkgs.cage ];
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user