refactor(treewide): clean-up, flatten, rework module system
This commit is contained in:
parent
4ddf9d2b35
commit
5590c8a951
58 changed files with 397 additions and 635 deletions
|
|
@ -1,29 +1,7 @@
|
|||
{ lib, ... }:
|
||||
{
|
||||
|
||||
imports = [
|
||||
./firefox
|
||||
# ./schizofox
|
||||
#./chrome -- still needs to be implemented
|
||||
#./brave -- still needs tio be implemented
|
||||
];
|
||||
|
||||
options.ooknet.desktop.browser = {
|
||||
firefox = {
|
||||
enable = lib.mkEnableOption "Enable firefox browser";
|
||||
default = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = "Set Firefox as default browser";
|
||||
};
|
||||
};
|
||||
schizofox = {
|
||||
enable = lib.mkEnableOption "Enable schizofox browser";
|
||||
default = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = "Set schizofox as default browser";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,18 +2,17 @@
|
|||
|
||||
let
|
||||
addons = inputs.firefox-addons.packages.${pkgs.system};
|
||||
cfg = config.ooknet.desktop.browser.firefox;
|
||||
cfg = config.ooknet.browser.firefox;
|
||||
browser = config.ooknet.desktop.browser;
|
||||
inherit (lib) mkIf;
|
||||
in
|
||||
{
|
||||
|
||||
config = {
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
home.sessionVariables = mkIf cfg.default {
|
||||
BROWSER = "firefox";
|
||||
};
|
||||
config = mkIf (cfg.enable || browser == "firefox") {
|
||||
home.sessionVariables.BROWSER = mkIf (browser == "firefox") "firefox";
|
||||
ooknet.binds.browser = mkIf (browser == "firefox") "firefox";
|
||||
|
||||
programs.firefox = mkIf cfg.enable {
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
profiles.ooks = {
|
||||
extensions = with addons; [
|
||||
|
|
|
|||
|
|
@ -1,72 +0,0 @@
|
|||
{ inputs, config, lib, ... }:
|
||||
|
||||
let
|
||||
cfg = config.ooknet.desktop.browser.schizofox;
|
||||
fonts = config.ooknet.theme.fonts;
|
||||
inherit (config.colorscheme) palette;
|
||||
in
|
||||
|
||||
{
|
||||
imports = [inputs.schizofox.homeManagerModule];
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
home.sessionVariables.BROWSER = lib.mkIf cfg.default "firefox";
|
||||
programs.schizofox = {
|
||||
enable = true;
|
||||
theme = {
|
||||
font = "${fonts.regular.family}";
|
||||
colors = {
|
||||
background-darker = "${palette.base00}";
|
||||
background = "${palette.base01}";
|
||||
foreground = "${palette.base07}";
|
||||
};
|
||||
};
|
||||
|
||||
security = {
|
||||
sanitizeOnShutdown = false;
|
||||
sandbox = true;
|
||||
noSessionRestore = false;
|
||||
userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:106.0) Gecko/20100101 Firefox/106.0";
|
||||
};
|
||||
|
||||
misc = {
|
||||
drmFix = true;
|
||||
disableWebgl = false;
|
||||
};
|
||||
|
||||
extensions = {
|
||||
extraExtensions = let
|
||||
mkUrl = name: "https://addons.mozilla.org/firefox/downloads/latest/${name}/latest.xpi";
|
||||
extensions = [
|
||||
{
|
||||
id = "1018e4d6-728f-4b20-ad56-37578a4de76";
|
||||
name = "flagfox";
|
||||
}
|
||||
{
|
||||
id = "{c2c003ee-bd69-42a2-b0e9-6f34222cb046}";
|
||||
name = "auto-tab-discard";
|
||||
}
|
||||
{
|
||||
id = "{d634138d-c276-4fc8-924b-40a0ea21d284}";
|
||||
name = "1password-x-password-manager";
|
||||
}
|
||||
{
|
||||
id = "{a4c4eda4-fb84-4a84-b4a1-f7c1cbf2a1ad}";
|
||||
name = "refined-github-";
|
||||
}
|
||||
{
|
||||
id = "sponsorBlocker@ajay.app";
|
||||
name = "sponsorblock";
|
||||
}
|
||||
{
|
||||
id = "{tridactyl.vim@cmcaine.co.uk}";
|
||||
name = "tridactyl-vim";
|
||||
}
|
||||
];
|
||||
extraExtensions = builtins.foldl' (acc: ext: acc // {ext.id = {install_url = mkUrl ext.name;};}) {} extensions;
|
||||
in
|
||||
extraExtensions;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,153 +1,5 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
cfg = config.ooknet.desktop.communication.discord;
|
||||
fonts = config.ooknet.theme.fonts;
|
||||
inherit (config.colorscheme) palette;
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
in
|
||||
|
||||
{
|
||||
options.ooknet.desktop.communication.discord.enable = mkEnableOption "Enable discord home manager module";
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = [ pkgs.vesktop ];
|
||||
|
||||
xdg.configFile."vesktop/themes/nix.css".text = /* css */ ''
|
||||
/**
|
||||
* @name nix-colors-minimal
|
||||
* @author aoku
|
||||
* @description minimal theme designed with nix colors
|
||||
*/
|
||||
|
||||
:root {
|
||||
--nix-bg1: #${palette.base00};
|
||||
--nix-bg2: #${palette.base01};
|
||||
--nix-bg3: #${palette.base02};
|
||||
|
||||
--nix-fg1: #${palette.base05};
|
||||
--nix-fg2: #${palette.base07};
|
||||
--nix-fg3: #${palette.base03};
|
||||
--nix-link: #${palette.base0D};
|
||||
|
||||
--nix-accent: #${palette.base08};
|
||||
--nix-hi: #${palette.base0B};
|
||||
|
||||
--font-mono: ${fonts.monospace.family}, monospace;
|
||||
--font-regular: ${fonts.regular.family}, sans serif;
|
||||
|
||||
/* server collapse */
|
||||
--sb-collapsed-width: 12px;
|
||||
--sb-transition-duration: 0s;
|
||||
}
|
||||
|
||||
.theme-dark {
|
||||
--background-primary: var(--nix-bg1);
|
||||
--background-secondary: var(--nix-bg1);
|
||||
--background-secondary-alt: var(--nix-bg1);
|
||||
--background-accent: var(--nix-accent);
|
||||
--background-tertiary: var(--nix-bg1);
|
||||
--background-floating: var(--nix-bg1);
|
||||
--background-mentioned: var(--nix-bg1);
|
||||
--background-mentioned-hover: var(--nix-bg1);
|
||||
--background-mobile: var(--nix-bg1);
|
||||
--background-mobile-secondary: var(--nix-bg2);
|
||||
--background-modifier-selected: var(--nix-bg1);
|
||||
--channeltextarea-background:var(--nix-bg1);
|
||||
--background-modifier-hover:var(--nix-bg1);
|
||||
--activity-card-background: var(--nix-bg2);
|
||||
|
||||
--header-primary: var(--nix-fg2);
|
||||
--header-secondary: var(--nix-fg1);
|
||||
|
||||
--text-normal: var(--nix-fg1);
|
||||
--text-muted: var(--nix-fg1);
|
||||
--text-link: var(--nix-link);
|
||||
--text-warning: var(--nix-accent);
|
||||
--font-primary: var(--font-mono);
|
||||
--font-headline: var(--font-mono);
|
||||
--font-display: var(--font-mono);
|
||||
|
||||
--interactive-normal: var(--nix-fg1); /*base05*/
|
||||
--interactive-hover: var(--nix-hi); /*base0B*/
|
||||
--interactive-active: var(--nix-fg2);
|
||||
--interactive-muted: var(--nix-fg3); /*base03*/
|
||||
--channels-default: var(--nix-fg1);
|
||||
|
||||
--scrollbar-thin-thumb: transparent;
|
||||
--scrollbar-thin-track: transparent;
|
||||
--scrollbar-auto-thumb: var(--nix-fg1);
|
||||
--scrollbar-auto-track:var(--nix-bg1);
|
||||
--scrollbar-auto-scrollbar-color-thumb: var(--nix-accent);
|
||||
}
|
||||
|
||||
.messagesWrapper_ea2b0b {
|
||||
font-family: var(--font-regular);
|
||||
}
|
||||
|
||||
.titleWrapper__482dc {
|
||||
font-family: var(--font-mono);
|
||||
}
|
||||
|
||||
.link__95dc0 /* text channel*/{
|
||||
border-radius: 0px;
|
||||
margin-left: -10px;
|
||||
font-family: var(--font-mono);
|
||||
}
|
||||
|
||||
.container_ca50b9 .avatar_f8541f { /*avatar*/
|
||||
display: none;
|
||||
}
|
||||
|
||||
.form__13a2c /* text input box resize */ {
|
||||
height: 50px;
|
||||
font-family: var(--font-regular);
|
||||
}
|
||||
|
||||
.containerDefault__3187b .wrapper__7bcde:before /* text channel */{
|
||||
content: "";
|
||||
display:inline-block;
|
||||
background: var(--nix-hi);
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
|
||||
/* server collapse */
|
||||
.guilds__2b93a /* servers */{
|
||||
overflow: hidden !important;
|
||||
width: var(--sb-collapsed-width, 75px);
|
||||
transition: width var(--sb-transition-duration);
|
||||
}
|
||||
.guilds__2b93a:hover /* expand server bar on hover */{
|
||||
width: 70px;
|
||||
overflow: visible !important;
|
||||
animation: server-bar-overflow 0s linear 0ms forwards
|
||||
}
|
||||
.guilds__2b93a ~ .base__3e6af /* friends list, chat */{
|
||||
position: absolute;
|
||||
left: var(--sb-collapsed-left, var(--sb-collapsed-width));
|
||||
top: var(--sb-collapsed-top, 0px);
|
||||
bottom: var(--sb-collapsed-bottom, 0px);
|
||||
right: var(--sb-collapsed-right, 0px);
|
||||
transition-property: var(--sb-transition-property, left);
|
||||
transition-duration: var(--sb-transition-duration);
|
||||
}
|
||||
.guilds__2b93a:hover ~ .base__3e6af /* friends list, chat */{
|
||||
position: absolute;
|
||||
left: var(--sb-left, 70px);
|
||||
top: var(--sb-top, 0px);
|
||||
bottom: var(--sb-bottom, 0px);
|
||||
right: var(--sb-right, 0px);
|
||||
}
|
||||
@keyframes server-bar-overflow{
|
||||
from{
|
||||
overflow: hidden;
|
||||
}
|
||||
to{
|
||||
overflow: visible;
|
||||
}
|
||||
}
|
||||
'';
|
||||
};
|
||||
imports = [
|
||||
./vesktop.nix
|
||||
]
|
||||
}
|
||||
|
|
|
|||
154
home/modules/desktop/communication/discord/vesktop.nix
Normal file
154
home/modules/desktop/communication/discord/vesktop.nix
Normal file
|
|
@ -0,0 +1,154 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
inherit (config.colorscheme) palette;
|
||||
inherit (lib) mkIf;
|
||||
cfg = config.ooknet.communication.discord;
|
||||
discord = config.ooknet.desktop.discord;
|
||||
fonts = config.ooknet.theme.fonts;
|
||||
in
|
||||
|
||||
{
|
||||
config = mkIf (cfg.enable || discord == "vesktop") {
|
||||
home.packages = [ pkgs.vesktop ];
|
||||
ooknet.binds.discord = "vesktop";
|
||||
xdg.configFile."vesktop/themes/nix.css".text = /* css */ ''
|
||||
/**
|
||||
* @name nix-colors-minimal
|
||||
* @author aoku
|
||||
* @description minimal theme designed with nix colors
|
||||
*/
|
||||
|
||||
:root {
|
||||
/* Palette */
|
||||
--nix-bg1: #${palette.base00};
|
||||
--nix-bg2: #${palette.base01};
|
||||
--nix-bg3: #${palette.base02};
|
||||
|
||||
--nix-fg1: #${palette.base05};
|
||||
--nix-fg2: #${palette.base07};
|
||||
--nix-fg3: #${palette.base03};
|
||||
--nix-link: #${palette.base0D};
|
||||
|
||||
--nix-accent: #${palette.base08};
|
||||
--nix-hi: #${palette.base0B};
|
||||
|
||||
--font-mono: ${fonts.monospace.family}, monospace;
|
||||
--font-regular: ${fonts.regular.family}, sans serif;
|
||||
|
||||
/* server collapse */
|
||||
--sb-collapsed-width: 12px;
|
||||
--sb-transition-duration: 0s;
|
||||
}
|
||||
|
||||
.theme-dark {
|
||||
--background-primary: var(--nix-bg1);
|
||||
--background-secondary: var(--nix-bg1);
|
||||
--background-secondary-alt: var(--nix-bg1);
|
||||
--background-accent: var(--nix-accent);
|
||||
--background-tertiary: var(--nix-bg1);
|
||||
--background-floating: var(--nix-bg1);
|
||||
--background-mentioned: var(--nix-bg1);
|
||||
--background-mentioned-hover: var(--nix-bg1);
|
||||
--background-mobile: var(--nix-bg1);
|
||||
--background-mobile-secondary: var(--nix-bg2);
|
||||
--background-modifier-selected: var(--nix-bg1);
|
||||
--channeltextarea-background:var(--nix-bg1);
|
||||
--background-modifier-hover:var(--nix-bg1);
|
||||
--activity-card-background: var(--nix-bg2);
|
||||
|
||||
--header-primary: var(--nix-fg2);
|
||||
--header-secondary: var(--nix-fg1);
|
||||
|
||||
--text-normal: var(--nix-fg1);
|
||||
--text-muted: var(--nix-fg1);
|
||||
--text-link: var(--nix-link);
|
||||
--text-warning: var(--nix-accent);
|
||||
--font-primary: var(--font-mono);
|
||||
--font-headline: var(--font-mono);
|
||||
--font-display: var(--font-mono);
|
||||
|
||||
--interactive-normal: var(--nix-fg1); /*base05*/
|
||||
--interactive-hover: var(--nix-hi); /*base0B*/
|
||||
--interactive-active: var(--nix-fg2);
|
||||
--interactive-muted: var(--nix-fg3); /*base03*/
|
||||
--channels-default: var(--nix-fg1);
|
||||
|
||||
--scrollbar-thin-thumb: transparent;
|
||||
--scrollbar-thin-track: transparent;
|
||||
--scrollbar-auto-thumb: var(--nix-fg1);
|
||||
--scrollbar-auto-track:var(--nix-bg1);
|
||||
--scrollbar-auto-scrollbar-color-thumb: var(--nix-accent);
|
||||
}
|
||||
|
||||
.messagesWrapper_ea2b0b {
|
||||
font-family: var(--font-regular);
|
||||
}
|
||||
|
||||
.titleWrapper__482dc {
|
||||
font-family: var(--font-mono);
|
||||
}
|
||||
|
||||
.link__95dc0 /* text channel*/{
|
||||
border-radius: 0px;
|
||||
margin-left: -10px;
|
||||
font-family: var(--font-mono);
|
||||
}
|
||||
|
||||
.container_ca50b9 .avatar_f8541f { /*avatar*/
|
||||
display: none;
|
||||
}
|
||||
|
||||
.form__13a2c /* text input box resize */ {
|
||||
height: 50px;
|
||||
font-family: var(--font-regular);
|
||||
}
|
||||
|
||||
.containerDefault__3187b .wrapper__7bcde:before /* text channel */{
|
||||
content: "";
|
||||
display:inline-block;
|
||||
background: var(--nix-hi);
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
|
||||
/* server collapse */
|
||||
.guilds__2b93a /* servers */{
|
||||
overflow: hidden !important;
|
||||
width: var(--sb-collapsed-width, 75px);
|
||||
transition: width var(--sb-transition-duration);
|
||||
}
|
||||
.guilds__2b93a:hover /* expand server bar on hover */{
|
||||
width: 70px;
|
||||
overflow: visible !important;
|
||||
animation: server-bar-overflow 0s linear 0ms forwards
|
||||
}
|
||||
.guilds__2b93a ~ .base__3e6af /* friends list, chat */{
|
||||
position: absolute;
|
||||
left: var(--sb-collapsed-left, var(--sb-collapsed-width));
|
||||
top: var(--sb-collapsed-top, 0px);
|
||||
bottom: var(--sb-collapsed-bottom, 0px);
|
||||
right: var(--sb-collapsed-right, 0px);
|
||||
transition-property: var(--sb-transition-property, left);
|
||||
transition-duration: var(--sb-transition-duration);
|
||||
}
|
||||
.guilds__2b93a:hover ~ .base__3e6af /* friends list, chat */{
|
||||
position: absolute;
|
||||
left: var(--sb-left, 70px);
|
||||
top: var(--sb-top, 0px);
|
||||
bottom: var(--sb-bottom, 0px);
|
||||
right: var(--sb-right, 0px);
|
||||
}
|
||||
@keyframes server-bar-overflow{
|
||||
from{
|
||||
overflow: hidden;
|
||||
}
|
||||
to{
|
||||
overflow: visible;
|
||||
}
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
||||
12
home/modules/desktop/creative/audacity.nix
Normal file
12
home/modules/desktop/creative/audacity.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mkIf;
|
||||
cfg = config.ooknet.creative.audacity;
|
||||
in
|
||||
|
||||
{
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = [ pkgs.audacity ];
|
||||
};
|
||||
}
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
|
||||
let
|
||||
cfg = config.ooknet.desktop.creative.audio.audacity;
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
in
|
||||
|
||||
{
|
||||
options.ooknet.desktop.creative.audio.audacity.enable = mkEnableOption "Enable audacity home module";
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = [ pkgs.audacity ];
|
||||
};
|
||||
}
|
||||
|
|
@ -1,7 +1,6 @@
|
|||
{
|
||||
imports = [
|
||||
./audio
|
||||
./image
|
||||
# ./video
|
||||
./audacity.nix
|
||||
./inkscape.nix
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,14 +0,0 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
|
||||
let
|
||||
cfg = config.ooknet.desktop.creative.audio.inkscape;
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
in
|
||||
|
||||
{
|
||||
options.ooknet.desktop.creative.audio.inkscape.enable = mkEnableOption "Enable inkscape home module";
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = [ pkgs.inkscape-with-extensions ];
|
||||
};
|
||||
}
|
||||
|
||||
13
home/modules/desktop/creative/inkscape.nix
Normal file
13
home/modules/desktop/creative/inkscape.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mkIf;
|
||||
cfg = config.ooknet.creative.inkscape;
|
||||
in
|
||||
|
||||
{
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = [ pkgs.inkscape-with-extensions ];
|
||||
};
|
||||
}
|
||||
|
||||
|
|
@ -1,13 +1,5 @@
|
|||
{ lib, ... }:
|
||||
{
|
||||
imports = [
|
||||
./imv
|
||||
./imv.nix
|
||||
];
|
||||
|
||||
options.ooknet.desktop.media.image = {
|
||||
imv = {
|
||||
enable = lib.mkEnableOption "Enable imv image viewer";
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,12 @@
|
|||
{ lib, config, ... }:
|
||||
|
||||
let
|
||||
cfg = config.ooknet.desktop.media.image.imv;
|
||||
inherit (lib) mkIf;
|
||||
cfg = config.ooknet.media.image.imv;
|
||||
in
|
||||
|
||||
{
|
||||
config = lib.mkIf cfg.enable {
|
||||
config = mkIf cfg.enable {
|
||||
programs = {
|
||||
imv = {
|
||||
enable = true;
|
||||
|
|
@ -1,17 +1,6 @@
|
|||
{ lib, ... }:
|
||||
{
|
||||
imports = [
|
||||
#./spotify --- still needs to be implemented
|
||||
./easyeffects
|
||||
./tui
|
||||
];
|
||||
|
||||
options.ooknet.desktop.media.music = {
|
||||
tui = {
|
||||
enable = lib.mkEnableOption "Enable tui music";
|
||||
};
|
||||
spotify = {
|
||||
enable = lib.mkEnableOption "Enable spotify";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +0,0 @@
|
|||
{lib, config, ... }:
|
||||
|
||||
let
|
||||
cfg = config.ooknet.desktop.media.music.easyeffects;
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
in
|
||||
|
||||
{
|
||||
options.ooknet.desktop.media.music.easyeffects.enable = mkEnableOption "Enable easy effects home module";
|
||||
config = mkIf cfg.enable {
|
||||
services.easyeffects = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -2,8 +2,13 @@
|
|||
|
||||
let
|
||||
inherit (config.colorscheme) palette;
|
||||
inherit (lib) mkIf;
|
||||
|
||||
cfg = config.ooknet.desktop.media.music.tui;
|
||||
zellij = config.ooknet.console.multiplexer.zellij;
|
||||
zellij = config.ooknet.multiplexer.zellij;
|
||||
multiplexer= config.ooknet.console.multiplexer;
|
||||
|
||||
# removed image support because it was causing issues with zellij
|
||||
spotify-cli = pkgs.spotify-player.override {
|
||||
withImage = false;
|
||||
withSixel = false;
|
||||
|
|
@ -11,15 +16,14 @@ let
|
|||
in
|
||||
|
||||
{
|
||||
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = with pkgs; [
|
||||
termusic
|
||||
spotify-cli
|
||||
alsa-utils
|
||||
mpv
|
||||
];
|
||||
|
||||
programs.cava = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
|
@ -35,6 +39,7 @@ in
|
|||
};
|
||||
};
|
||||
};
|
||||
|
||||
xdg.configFile."spotify-player/app.toml".text = /* toml */ ''
|
||||
theme = "default"
|
||||
client_id = "fc4c3656d7cc4a7ea70c6080965f8b1a"
|
||||
|
|
@ -68,7 +73,7 @@ in
|
|||
normalization = false
|
||||
'';
|
||||
|
||||
xdg.configFile."zellij/layouts/music.kdl".text = lib.mkIf zellij.enable /* kdl */ ''
|
||||
xdg.configFile."zellij/layouts/music.kdl".text = mkIf (zellij.enable || multiplexer == "zellij") /* kdl */ ''
|
||||
layout {
|
||||
default_tab_template {
|
||||
pane size=2 borderless=true {
|
||||
|
|
@ -114,7 +119,7 @@ in
|
|||
}
|
||||
}
|
||||
'';
|
||||
home.shellAliases = lib.mkIf zellij.enable {
|
||||
home.shellAliases = mkIf (zellij.enable || multiplexer == "zellij") {
|
||||
zjm = "zellij --layout music";
|
||||
};
|
||||
};
|
||||
|
|
@ -1,20 +1,7 @@
|
|||
{ lib, ... }:
|
||||
{
|
||||
imports = [
|
||||
./youtube
|
||||
./jellyfin
|
||||
./mpv
|
||||
./youtube.nix
|
||||
./jellyfin-player.nix
|
||||
./mpv.nix
|
||||
];
|
||||
|
||||
options.ooknet.desktop.media.video = {
|
||||
mpv = {
|
||||
enable = lib.mkEnableOption "Enable mpv video player";
|
||||
};
|
||||
youtube = {
|
||||
enable = lib.mkEnableOption "Enable youtube tui player";
|
||||
};
|
||||
jellyfin = {
|
||||
enable = lib.mkEnableOption "Enable jellyifn media player";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
12
home/modules/desktop/media/video/jellyfin-player.nix
Normal file
12
home/modules/desktop/media/video/jellyfin-player.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{ pkgs, lib, config, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mkIf;
|
||||
cfg = config.ooknet.media.video.jellyfinPlayer;
|
||||
in
|
||||
|
||||
{
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = [ pkgs.jellyfin-media-player ];
|
||||
};
|
||||
}
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
{ pkgs, lib, config, ... }:
|
||||
let
|
||||
cfg = config.ooknet.desktop.media.video.jellyfin;
|
||||
in
|
||||
{
|
||||
config = lib.mkIf cfg.enable {
|
||||
home.packages = with pkgs; [ jellyfin-media-player ];
|
||||
};
|
||||
}
|
||||
14
home/modules/desktop/media/video/mpv.nix
Normal file
14
home/modules/desktop/media/video/mpv.nix
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
{ lib, config, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mkIf;
|
||||
cfg = config.ooknet.media.video.mpv;
|
||||
in
|
||||
|
||||
{
|
||||
config = mkIf cfg.enable {
|
||||
programs.mpv = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
|
||||
let
|
||||
cfg = config.ooknet.desktop.media.video.mpv;
|
||||
in
|
||||
{
|
||||
config = {
|
||||
programs.mpv = lib.mkIf cfg.enable {
|
||||
enable = true;
|
||||
};
|
||||
home.packages = [ pkgs.ffmpeg ];
|
||||
};
|
||||
}
|
||||
15
home/modules/desktop/media/video/youtube.nix
Normal file
15
home/modules/desktop/media/video/youtube.nix
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{ lib, config, pkgs, ...}:
|
||||
|
||||
let
|
||||
inherit (lib) mkIf;
|
||||
cfg = config.ooknet.media.video.youtube;
|
||||
in
|
||||
|
||||
{
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = [ pkgs.youtube-tui ];
|
||||
programs.yt-dlp = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
{ lib, config, pkgs, ...}:
|
||||
let
|
||||
cfg = config.ooknet.desktop.media.video.youtube;
|
||||
in
|
||||
{
|
||||
config = lib.mkIf cfg.enable {
|
||||
home.packages = with pkgs; [ youtube-tui ];
|
||||
programs.yt-dlp = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -2,17 +2,8 @@
|
|||
|
||||
{
|
||||
imports = [
|
||||
./obsidian
|
||||
./zathura
|
||||
./office
|
||||
./notes
|
||||
./pdf
|
||||
];
|
||||
|
||||
options.ooknet.desktop.productivity = {
|
||||
obsidian = {
|
||||
enable = lib.mkEnableOption "enable obsidian home module";
|
||||
};
|
||||
zathura = {
|
||||
enable = lib.mkEnableOption "enable zathura home module";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
imports = [
|
||||
./inkscape
|
||||
./obsidian.nix
|
||||
];
|
||||
}
|
||||
|
|
@ -1,15 +1,14 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
inherit (lib) mkIf;
|
||||
cfg = config.ooknet.productivity.notes.obsidian;
|
||||
notes = config.ooknet.desktop.notes;
|
||||
in
|
||||
|
||||
{
|
||||
options.ooknet.productivity.notes.obsidian.enable = mkEnableOption "";
|
||||
config = mkIf (cfg.enable || notes == "obsidian") {
|
||||
home.packages = [ pkgs.obsidian ];
|
||||
|
||||
ooknet.binds.notes = mkIf (notes == "obsidian") "obsidian";
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,13 +1,6 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.ooknet.desktop.productivity.office;
|
||||
in
|
||||
|
||||
# TODO: add openoffice
|
||||
{
|
||||
options.ooknet.desktop.productivity.office.enable = mkEnableOption "enable office home module";
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = [ pkgs.libreoffice ];
|
||||
};
|
||||
imports = [
|
||||
./libreoffice.nix
|
||||
];
|
||||
}
|
||||
|
|
|
|||
13
home/modules/desktop/productivity/office/libreoffice.nix
Normal file
13
home/modules/desktop/productivity/office/libreoffice.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.ooknet.desktop.productivity.office;
|
||||
in
|
||||
|
||||
{
|
||||
options.ooknet.desktop.productivity.office.enable = mkEnableOption "enable office home module";
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = [ pkgs.libreoffice ];
|
||||
};
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
imports = [
|
||||
./audacity
|
||||
./zathura.nix
|
||||
];
|
||||
}
|
||||
|
|
@ -1,13 +1,15 @@
|
|||
{ lib, config, ... }:
|
||||
|
||||
let
|
||||
cfg = config.ooknet.desktop.productivity.zathura;
|
||||
inherit (config.colorscheme) palette;
|
||||
fonts = config.ooknet.theme.fonts;
|
||||
inherit (lib) mkIf;
|
||||
cfg = config.ooknet.productivity.pdf.zathura;
|
||||
pdf = config.ooknet.desktop.pdf;
|
||||
fonts = config.ooknet.fonts;
|
||||
in
|
||||
|
||||
{
|
||||
config = lib.mkIf cfg.enable {
|
||||
config = mkIf (cfg.enable || pdf == "zathura") {
|
||||
programs.zathura = {
|
||||
enable = true;
|
||||
options = {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
imports = [
|
||||
./polkit
|
||||
./polkit.nix
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,43 +1,6 @@
|
|||
{ lib, config, ... }:
|
||||
let
|
||||
cfg = config.ooknet.desktop.terminal;
|
||||
in
|
||||
{
|
||||
|
||||
imports = [
|
||||
./foot
|
||||
./kitty
|
||||
./foot.nix
|
||||
./kitty.nix
|
||||
];
|
||||
|
||||
options.ooknet.desktop.terminal = {
|
||||
foot = {
|
||||
enable = lib.mkEnableOption "Enable foot terminal";
|
||||
default = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = "Set foot as default terminal in environment variables";
|
||||
};
|
||||
};
|
||||
kitty = {
|
||||
enable = lib.mkEnableOption "Enable kitty terminal";
|
||||
default = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = "Set kitty as default terminal in environment variables";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
assertions = [
|
||||
{
|
||||
assertion =
|
||||
(lib.length (lib.filter (x: x) [
|
||||
cfg.foot.default or false
|
||||
cfg.kitty.default or false
|
||||
]) <= 1);
|
||||
message = "Only one terminal can be default in the configuration";
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,16 +2,22 @@
|
|||
|
||||
let
|
||||
inherit (config.colorscheme) palette;
|
||||
fonts = config.ooknet.theme.fonts;
|
||||
inherit (lib) mkIf;
|
||||
fonts = config.ooknet.fonts;
|
||||
cfg = config.ooknet.desktop.terminal.foot;
|
||||
terminal = config.ooknet.desktop.terminal;
|
||||
in
|
||||
|
||||
{
|
||||
config = lib.mkIf cfg.enable {
|
||||
home.sessionVariables = lib.mkIf cfg.default {
|
||||
config = mkIf (cfg.enable || terminal == "foot") {
|
||||
home.sessionVariables = mkIf (terminal == "foot") {
|
||||
TERMINAL = "foot";
|
||||
TERM = "foot";
|
||||
};
|
||||
|
||||
ooknet.binds.terminal = mkIf (terminal == "foot") "foot";
|
||||
ooknet.binds.terminalLaunch = mkIf (terminal == "foot") "foot";
|
||||
|
||||
programs.foot = {
|
||||
enable = true;
|
||||
server.enable = true;
|
||||
|
|
@ -38,6 +44,7 @@ in
|
|||
style = "beam";
|
||||
blink = "yes";
|
||||
};
|
||||
|
||||
colors = {
|
||||
alpha = 1.0;
|
||||
foreground = "${palette.base05}";
|
||||
|
|
@ -1,25 +1,32 @@
|
|||
{ config, lib, ... }:
|
||||
{ config, lib, osConfig, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mkIf;
|
||||
inherit (config.colorscheme) palette;
|
||||
fonts = config.ooknet.theme.font;
|
||||
cfg = config.ooknet.desktop.terminal.kitty;
|
||||
fish = config.ooknet.console.shell.fish;
|
||||
fonts = config.ooknet.fonts;
|
||||
cfg = config.ooknet.terminal.kitty;
|
||||
terminal = config.ooknet.desktop.terminal;
|
||||
shell = osConfig.ooknet.host.admin.shell;
|
||||
in
|
||||
{
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
home.sessionVariables = lib.mkIf cfg.default {
|
||||
{
|
||||
config = mkIf (cfg.enable || terminal == "kitty") {
|
||||
|
||||
home.sessionVariables = mkIf (terminal == "kitty") {
|
||||
TERMINAL = "kitty -1";
|
||||
TERM = "kitty -1";
|
||||
};
|
||||
|
||||
ooknet.binds.terminal = mkIf (terminal == "kitty") "kitty -1";
|
||||
ooknet.binds.terminalLaunch = mkIf (terminal == "kitty") "kitty -e";
|
||||
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
font = {
|
||||
name = fonts.monospace.family;
|
||||
size = 12;
|
||||
};
|
||||
shellIntegration.enableFishIntegration = lib.mkif fish.enable true;
|
||||
shellIntegration.enableFishIntegration = mkIf (shell == "fish") true;
|
||||
settings = {
|
||||
scrollback_lines = 4000;
|
||||
scrollback_pager_history_size = 2048;
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
imports = [
|
||||
./kdeconnect
|
||||
./kdeconnect.nix
|
||||
];
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue