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,18 +1,21 @@
|
|||
{ inputs, config, pkgs, lib, ... }:
|
||||
let
|
||||
cfg = config.ooknet.console.editor.helix;
|
||||
inherit (config) colorscheme;
|
||||
in
|
||||
{
|
||||
|
||||
let
|
||||
inherit (config) colorscheme;
|
||||
inherit (lib) mkIf;
|
||||
cfg = config.ooknet.editor.helix;
|
||||
console = config.ooknet.console;
|
||||
in
|
||||
|
||||
{
|
||||
imports = [
|
||||
./languages.nix
|
||||
];
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
config = mkIf (cfg.enable || console.editor == "helix") {
|
||||
programs.helix = {
|
||||
enable = true;
|
||||
defaultEditor = lib.mkIf cfg.default true;
|
||||
defaultEditor = mkIf (console.editor == "helix") true;
|
||||
package = inputs.helix.packages.${pkgs.system}.default.overrideAttrs (old: {
|
||||
makeWrapperArgs = with pkgs;
|
||||
old.makeWrapperArgs
|
||||
|
|
|
|||
|
|
@ -1,11 +1,13 @@
|
|||
{ pkgs, lib, config, ... }:
|
||||
|
||||
let
|
||||
cfg = config.ooknet.console.editor.helix;
|
||||
inherit (lib) mkIf getExe;
|
||||
cfg = config.ooknet.editor.helix;
|
||||
console = config.ooknet.console;
|
||||
in
|
||||
|
||||
{
|
||||
config = lib.mkIf cfg.enable {
|
||||
config = mkIf (cfg.enable || console.editor == "helix") {
|
||||
programs.helix.languages = {
|
||||
language = let
|
||||
deno = lang: {
|
||||
|
|
@ -89,12 +91,12 @@ in
|
|||
};
|
||||
|
||||
nil = {
|
||||
command = lib.getExe pkgs.nil;
|
||||
config.nil.formatting.command = ["${lib.getExe pkgs.alejandra}" "-q"];
|
||||
command = getExe pkgs.nil;
|
||||
config.nil.formatting.command = ["${getExe pkgs.alejandra}" "-q"];
|
||||
};
|
||||
|
||||
dprint = {
|
||||
command = lib.getExe pkgs.dprint;
|
||||
command = getExe pkgs.dprint;
|
||||
args = ["lsp"];
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,9 @@
|
|||
|
||||
let
|
||||
inherit (config.colorscheme) palette;
|
||||
cfg = config.ooknet.console.editor.nvim;
|
||||
inherit (lib) mkIf;
|
||||
cfg = config.ooknet.editor.nvim;
|
||||
console = config.ooknet.console;
|
||||
in
|
||||
|
||||
{
|
||||
|
|
@ -13,7 +15,7 @@ in
|
|||
./plugins
|
||||
];
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
config = mkIf (cfg.enable || console.editor == "nvim") {
|
||||
programs.neovim = {
|
||||
viAlias = true;
|
||||
vimAlias = true;
|
||||
|
|
|
|||
|
|
@ -1,11 +1,13 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
let
|
||||
cfg = config.ooknet.console.editor.nvim;
|
||||
inherit (lib) mkIf mapAttrsToList;
|
||||
cfg = config.ooknet.editor.nvim;
|
||||
console = config.ooknet.console;
|
||||
in
|
||||
|
||||
{
|
||||
config = lib.mkIf cfg.enable {
|
||||
config = mkIf (cfg.enable || console.editor == "nvim") {
|
||||
programs.nixvim = {
|
||||
globals = {
|
||||
mapleader = " ";
|
||||
|
|
@ -14,7 +16,7 @@ in
|
|||
|
||||
keymaps = let
|
||||
normal =
|
||||
lib.mapAttrsToList
|
||||
mapAttrsToList
|
||||
(key: action: {
|
||||
mode = "n";
|
||||
inherit action key;
|
||||
|
|
@ -25,7 +27,7 @@ in
|
|||
"Y" = "$y";
|
||||
};
|
||||
visual =
|
||||
lib.mapAttrsToList
|
||||
mapAttrsToList
|
||||
(key: action: {
|
||||
mode = "v";
|
||||
inherit action key;
|
||||
|
|
|
|||
|
|
@ -1,28 +1,7 @@
|
|||
{ lib, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./indent.nix
|
||||
./telescope.nix
|
||||
./lualine.nix
|
||||
];
|
||||
|
||||
options.ooknet.console.editor.nvim.plugins = {
|
||||
indentBlankline = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = "Enable indent-blankline nvim plugin module";
|
||||
};
|
||||
lualine = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = "Enable lualine nvim plugin module";
|
||||
};
|
||||
telescope = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = "Enable telescope nvim plugin module";
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,11 +1,13 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
let
|
||||
cfg = config.ooknet.console.editor.nvim.plugins;
|
||||
inherit (lib) mkIf;
|
||||
cfg = config.ooknet.editor.nvim;
|
||||
console = config.ooknet.console;
|
||||
in
|
||||
|
||||
{
|
||||
config = lib.mkIf cfg.indentBlankline {
|
||||
config = mkIf (cfg.enable || console.editor == "nvim") {
|
||||
programs.nixvim.plugins.indent-blankline = {
|
||||
enable = true;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,11 +1,13 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
let
|
||||
cfg = config.ooknet.console.editor.nvim.plugins;
|
||||
inherit (lib) mkIf;
|
||||
cfg = config.ooknet.editor.nvim;
|
||||
console = config.ooknet.console;
|
||||
in
|
||||
|
||||
{
|
||||
config = lib.mkIf cfg.lualine {
|
||||
config = mkIf (cfg.enable || console.editor == "nvim") {
|
||||
programs.nixvim.plugins.lualine = {
|
||||
enable = true;
|
||||
theme = "base16";
|
||||
|
|
|
|||
|
|
@ -1,11 +1,13 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
let
|
||||
cfg = config.ooknet.console.editor.nvim.plugins;
|
||||
inherit (lib) mkIf;
|
||||
cfg = config.ooknet.editor.nvim;
|
||||
console = config.ooknet.console;
|
||||
in
|
||||
|
||||
{
|
||||
config = lib.mkIf cfg.telescope {
|
||||
config = mkIf (cfg.enable || console.editor == "nvim") {
|
||||
programs.nixvim = {
|
||||
plugins.telescope = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -2,11 +2,13 @@
|
|||
|
||||
let
|
||||
inherit (config.colorscheme) palette;
|
||||
cfg = config.ooknet.console.editor.nvim;
|
||||
inherit (lib) mkIf;
|
||||
cfg = config.ooknet.editor.nvim;
|
||||
console = config.ooknet.console;
|
||||
in
|
||||
|
||||
{
|
||||
config = lib.mkIf cfg.enable {
|
||||
config = mkIf (cfg.enable || console.editor == "nvim") {
|
||||
programs.nixvim = {
|
||||
options = {
|
||||
relativenumber = true;
|
||||
|
|
|
|||
|
|
@ -1,28 +0,0 @@
|
|||
{ lib, ... }:
|
||||
|
||||
{
|
||||
|
||||
imports = [
|
||||
./lf #configuration still needs some work
|
||||
# ./ranger
|
||||
];
|
||||
|
||||
options.ooknet.console.fileManager = {
|
||||
lf = {
|
||||
enable = lib.mkEnableOption "Enable lf file manager";
|
||||
default = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = "Set lf as the default terminal file manager";
|
||||
};
|
||||
};
|
||||
ranger = {
|
||||
enable = lib.mkEnableOption "Enable ranger file manager";
|
||||
default = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = "Set ranger as the default terminal file manager";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,65 +0,0 @@
|
|||
{ pkgs, lib, config, ... }:
|
||||
#TODO - mkif wayland for previewer
|
||||
# - manage previewer dependencies better
|
||||
# - ripdrag support
|
||||
# - color parity with eza
|
||||
let
|
||||
cfg = config.ooknet.console.fileManager.lf;
|
||||
in
|
||||
|
||||
{
|
||||
config = lib.mkIf cfg.enable {
|
||||
home.sessionVariables.FILEMANAGER = lib.mkIf cfg.default "lf";
|
||||
|
||||
xdg.configFile."lf/icons".source = ./icons;
|
||||
|
||||
programs.lf = {
|
||||
enable = true;
|
||||
settings = {
|
||||
hidden = true;
|
||||
ignorecase = true;
|
||||
drawbox = true;
|
||||
icons = true;
|
||||
};
|
||||
previewer = {
|
||||
keybinding = "i";
|
||||
source = "${pkgs.ctpv}/bin/ctpv";
|
||||
};
|
||||
commands = {
|
||||
fzf-lf = ''
|
||||
''${{
|
||||
res="$(find -L . \( -path '*/\.*' -o -fstype 'dev' -o -fstype 'proc' \) -prune -o -print 2> /dev/null | sed 1d | cut -b3- | fzf +m)"
|
||||
if [ -d "$res" ] ; then
|
||||
cmd="cd"
|
||||
elif [ -f "$res" ] ; then
|
||||
cmd="select"
|
||||
else
|
||||
exit 0
|
||||
fi
|
||||
lf -remote "send $id $cmd \"$res\""
|
||||
}}
|
||||
'';
|
||||
mkdir = ''
|
||||
''${{
|
||||
printf "Directory Name: "
|
||||
read DIR
|
||||
mkdir $DIR
|
||||
}}
|
||||
'';
|
||||
};
|
||||
keybindings = {
|
||||
c = "mkdir";
|
||||
"<a-f>" = "fzf-lf";
|
||||
};
|
||||
extraConfig = ''
|
||||
&${pkgs.ctpv}/bin/ctpv -s $id
|
||||
cmd on-quit %${pkgs.ctpv}/bin/ctpv -e $id
|
||||
set cleaner ${pkgs.ctpv}/bin/ctpvclear
|
||||
set sixel true
|
||||
'';
|
||||
};
|
||||
|
||||
|
||||
home.packages = with pkgs; [ chafa ctpv glow ];
|
||||
};
|
||||
}
|
||||
|
|
@ -1,12 +1,14 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
cfg = config.ooknet.console.multiplexer.tmux;
|
||||
inherit (config.colorscheme) palette;
|
||||
inherit (lib) mkIf;
|
||||
cfg = config.ooknet.multiplexer.tmux;
|
||||
console = config.ooknet.console;
|
||||
in
|
||||
|
||||
{
|
||||
config = lib.mkIf cfg.enable {
|
||||
config = mkIf (cfg.enable || console.multiplexer == "tmux") {
|
||||
programs.tmux = {
|
||||
enable = true;
|
||||
shell = "${pkgs.fish}/bin/fish";
|
||||
|
|
|
|||
|
|
@ -1,11 +1,13 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
let
|
||||
inherit (config.colorscheme) palette;
|
||||
cfg = config.ooknet.console.multiplexer.zellij;
|
||||
inherit (lib) mkIf;
|
||||
cfg = config.ooknet.multiplexer.zellij;
|
||||
console = config.ooknet.console;
|
||||
in
|
||||
|
||||
{
|
||||
config = lib.mkIf cfg.enable {
|
||||
config = mkIf (cfg.enable || console.multiplexer == "zellij") {
|
||||
programs.zellij = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
|
|
|||
|
|
@ -1,9 +1,13 @@
|
|||
{ config, lib, ... }:
|
||||
{ config, lib, osConfig, ... }:
|
||||
|
||||
let
|
||||
cfg = config.ooknet.console.shell.bash;
|
||||
inherit (lib) mkIf;
|
||||
cfg = config.ooknet.shell.bash;
|
||||
admin = osConfig.ooknet.host.admin;
|
||||
in
|
||||
|
||||
{
|
||||
config = lib.mkIf cfg.enable {
|
||||
config = mkIf (cfg.enable || admin.shell == "bash") {
|
||||
programs.bash.enable = true;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,17 +1,7 @@
|
|||
{ lib, ... }:
|
||||
{
|
||||
imports = [
|
||||
./fish
|
||||
./bash
|
||||
./zsh
|
||||
];
|
||||
|
||||
options.ooknet.console.shell = {
|
||||
fish = {
|
||||
enable = lib.mkEnableOption "Enable fish configuration";
|
||||
};
|
||||
bash = {
|
||||
enable = lib.mkEnableOption "Enable bash configuration";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,14 +1,15 @@
|
|||
{ lib, config, ... }:
|
||||
{ lib, config, osConfig, ... }:
|
||||
let
|
||||
cfg = config.ooknet.console.shell.fish;
|
||||
inherit (lib) mkIf;
|
||||
hasPackage = pname: lib.any (p: p ? pname && p.pname == pname) config.home.packages;
|
||||
inherit (lib) mkIf any;
|
||||
cfg = config.ooknet.shell.fish;
|
||||
admin = osConfig.ooknet.host.admin;
|
||||
hasPackage = pname: any (p: p ? pname && p.pname == pname) config.home.packages;
|
||||
hasEza = hasPackage "eza";
|
||||
hasBat = hasPackage "bat";
|
||||
in
|
||||
{
|
||||
config = {
|
||||
programs.fish = mkIf cfg.enable {
|
||||
config = mkIf (cfg.enable || admin.shell == "fish") {
|
||||
programs.fish = {
|
||||
enable = true;
|
||||
shellAbbrs = {
|
||||
fe = "cd $FLAKE; $EDITOR $FLAKE";
|
||||
|
|
|
|||
|
|
@ -1,14 +1,13 @@
|
|||
{ lib, config, ... }:
|
||||
{ lib, config, osConfig, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
cfg = config.ooknet.console.shell.zsh;
|
||||
inherit (lib) mkIf;
|
||||
cfg = config.ooknet.shell.zsh;
|
||||
admin = osConfig.ooknet.host.admin;
|
||||
in
|
||||
|
||||
{
|
||||
options.ooknet.console.shell.zsh.enable = mkEnableOption "";
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
config = mkIf (cfg.enable || admin.shell == "zsh") {
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
autocd = true;
|
||||
|
|
|
|||
12
home/modules/console/tools/ffmpeg.nix
Normal file
12
home/modules/console/tools/ffmpeg.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mkIf;
|
||||
cfg = config.ooknet.tools.ffmpeg;
|
||||
in
|
||||
|
||||
{
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = [ pkgs.ffmpeg ];
|
||||
};
|
||||
}
|
||||
|
|
@ -1,8 +1,9 @@
|
|||
{
|
||||
imports = [
|
||||
./desktop
|
||||
./console
|
||||
./config
|
||||
./theme
|
||||
./base # default configuration modules for home-manager.
|
||||
./desktop # gui modules
|
||||
./console # cli modules
|
||||
./appearance # modules for configuring themes ie: fonts, wallpapers, color-schemes, etc...
|
||||
./options # all module options live here
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,5 +16,6 @@ in
|
|||
nixIndex.enable = mkEnableOption "";
|
||||
starship.enable = mkEnableOption "";
|
||||
utils.enable = mkEnableOption "";
|
||||
ffmpeg.enable = mkEnableOption "";
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ in
|
|||
youtube.enable = mkEnableOption "";
|
||||
};
|
||||
music = {
|
||||
spotifyCli.enable = mkEnableOption "";
|
||||
tui.enable = mkEnableOption "";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,10 +11,6 @@ in
|
|||
type = nullOr (enum ["helix" "nvim"]);
|
||||
default = "helix";
|
||||
};
|
||||
shell = mkOption {
|
||||
type = nullOr (enum ["fish" "bash" "zsh"]);
|
||||
default = "zsh";
|
||||
};
|
||||
multiplexer = mkOption {
|
||||
type = nullOr (enum ["tmux" "zellij"]);
|
||||
default = null;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue