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, ... }:
|
{ 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 = [
|
imports = [
|
||||||
./languages.nix
|
./languages.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = mkIf (cfg.enable || console.editor == "helix") {
|
||||||
programs.helix = {
|
programs.helix = {
|
||||||
enable = true;
|
enable = true;
|
||||||
defaultEditor = lib.mkIf cfg.default true;
|
defaultEditor = mkIf (console.editor == "helix") true;
|
||||||
package = inputs.helix.packages.${pkgs.system}.default.overrideAttrs (old: {
|
package = inputs.helix.packages.${pkgs.system}.default.overrideAttrs (old: {
|
||||||
makeWrapperArgs = with pkgs;
|
makeWrapperArgs = with pkgs;
|
||||||
old.makeWrapperArgs
|
old.makeWrapperArgs
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,13 @@
|
||||||
{ pkgs, lib, config, ... }:
|
{ pkgs, lib, config, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.ooknet.console.editor.helix;
|
inherit (lib) mkIf getExe;
|
||||||
|
cfg = config.ooknet.editor.helix;
|
||||||
|
console = config.ooknet.console;
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
config = lib.mkIf cfg.enable {
|
config = mkIf (cfg.enable || console.editor == "helix") {
|
||||||
programs.helix.languages = {
|
programs.helix.languages = {
|
||||||
language = let
|
language = let
|
||||||
deno = lang: {
|
deno = lang: {
|
||||||
|
|
@ -89,12 +91,12 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
nil = {
|
nil = {
|
||||||
command = lib.getExe pkgs.nil;
|
command = getExe pkgs.nil;
|
||||||
config.nil.formatting.command = ["${lib.getExe pkgs.alejandra}" "-q"];
|
config.nil.formatting.command = ["${getExe pkgs.alejandra}" "-q"];
|
||||||
};
|
};
|
||||||
|
|
||||||
dprint = {
|
dprint = {
|
||||||
command = lib.getExe pkgs.dprint;
|
command = getExe pkgs.dprint;
|
||||||
args = ["lsp"];
|
args = ["lsp"];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,9 @@
|
||||||
|
|
||||||
let
|
let
|
||||||
inherit (config.colorscheme) palette;
|
inherit (config.colorscheme) palette;
|
||||||
cfg = config.ooknet.console.editor.nvim;
|
inherit (lib) mkIf;
|
||||||
|
cfg = config.ooknet.editor.nvim;
|
||||||
|
console = config.ooknet.console;
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
@ -13,7 +15,7 @@ in
|
||||||
./plugins
|
./plugins
|
||||||
];
|
];
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = mkIf (cfg.enable || console.editor == "nvim") {
|
||||||
programs.neovim = {
|
programs.neovim = {
|
||||||
viAlias = true;
|
viAlias = true;
|
||||||
vimAlias = true;
|
vimAlias = true;
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,13 @@
|
||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.ooknet.console.editor.nvim;
|
inherit (lib) mkIf mapAttrsToList;
|
||||||
|
cfg = config.ooknet.editor.nvim;
|
||||||
|
console = config.ooknet.console;
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
config = lib.mkIf cfg.enable {
|
config = mkIf (cfg.enable || console.editor == "nvim") {
|
||||||
programs.nixvim = {
|
programs.nixvim = {
|
||||||
globals = {
|
globals = {
|
||||||
mapleader = " ";
|
mapleader = " ";
|
||||||
|
|
@ -14,7 +16,7 @@ in
|
||||||
|
|
||||||
keymaps = let
|
keymaps = let
|
||||||
normal =
|
normal =
|
||||||
lib.mapAttrsToList
|
mapAttrsToList
|
||||||
(key: action: {
|
(key: action: {
|
||||||
mode = "n";
|
mode = "n";
|
||||||
inherit action key;
|
inherit action key;
|
||||||
|
|
@ -25,7 +27,7 @@ in
|
||||||
"Y" = "$y";
|
"Y" = "$y";
|
||||||
};
|
};
|
||||||
visual =
|
visual =
|
||||||
lib.mapAttrsToList
|
mapAttrsToList
|
||||||
(key: action: {
|
(key: action: {
|
||||||
mode = "v";
|
mode = "v";
|
||||||
inherit action key;
|
inherit action key;
|
||||||
|
|
|
||||||
|
|
@ -1,28 +1,7 @@
|
||||||
{ lib, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./indent.nix
|
./indent.nix
|
||||||
./telescope.nix
|
./telescope.nix
|
||||||
./lualine.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, ... }:
|
{ config, lib, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.ooknet.console.editor.nvim.plugins;
|
inherit (lib) mkIf;
|
||||||
|
cfg = config.ooknet.editor.nvim;
|
||||||
|
console = config.ooknet.console;
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
config = lib.mkIf cfg.indentBlankline {
|
config = mkIf (cfg.enable || console.editor == "nvim") {
|
||||||
programs.nixvim.plugins.indent-blankline = {
|
programs.nixvim.plugins.indent-blankline = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,13 @@
|
||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.ooknet.console.editor.nvim.plugins;
|
inherit (lib) mkIf;
|
||||||
|
cfg = config.ooknet.editor.nvim;
|
||||||
|
console = config.ooknet.console;
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
config = lib.mkIf cfg.lualine {
|
config = mkIf (cfg.enable || console.editor == "nvim") {
|
||||||
programs.nixvim.plugins.lualine = {
|
programs.nixvim.plugins.lualine = {
|
||||||
enable = true;
|
enable = true;
|
||||||
theme = "base16";
|
theme = "base16";
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,13 @@
|
||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.ooknet.console.editor.nvim.plugins;
|
inherit (lib) mkIf;
|
||||||
|
cfg = config.ooknet.editor.nvim;
|
||||||
|
console = config.ooknet.console;
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
config = lib.mkIf cfg.telescope {
|
config = mkIf (cfg.enable || console.editor == "nvim") {
|
||||||
programs.nixvim = {
|
programs.nixvim = {
|
||||||
plugins.telescope = {
|
plugins.telescope = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
||||||
|
|
@ -2,11 +2,13 @@
|
||||||
|
|
||||||
let
|
let
|
||||||
inherit (config.colorscheme) palette;
|
inherit (config.colorscheme) palette;
|
||||||
cfg = config.ooknet.console.editor.nvim;
|
inherit (lib) mkIf;
|
||||||
|
cfg = config.ooknet.editor.nvim;
|
||||||
|
console = config.ooknet.console;
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
config = lib.mkIf cfg.enable {
|
config = mkIf (cfg.enable || console.editor == "nvim") {
|
||||||
programs.nixvim = {
|
programs.nixvim = {
|
||||||
options = {
|
options = {
|
||||||
relativenumber = true;
|
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, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.ooknet.console.multiplexer.tmux;
|
|
||||||
inherit (config.colorscheme) palette;
|
inherit (config.colorscheme) palette;
|
||||||
|
inherit (lib) mkIf;
|
||||||
|
cfg = config.ooknet.multiplexer.tmux;
|
||||||
|
console = config.ooknet.console;
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
config = lib.mkIf cfg.enable {
|
config = mkIf (cfg.enable || console.multiplexer == "tmux") {
|
||||||
programs.tmux = {
|
programs.tmux = {
|
||||||
enable = true;
|
enable = true;
|
||||||
shell = "${pkgs.fish}/bin/fish";
|
shell = "${pkgs.fish}/bin/fish";
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,13 @@
|
||||||
{ lib, config, pkgs, ... }:
|
{ lib, config, pkgs, ... }:
|
||||||
let
|
let
|
||||||
inherit (config.colorscheme) palette;
|
inherit (config.colorscheme) palette;
|
||||||
cfg = config.ooknet.console.multiplexer.zellij;
|
inherit (lib) mkIf;
|
||||||
|
cfg = config.ooknet.multiplexer.zellij;
|
||||||
|
console = config.ooknet.console;
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
config = lib.mkIf cfg.enable {
|
config = mkIf (cfg.enable || console.multiplexer == "zellij") {
|
||||||
programs.zellij = {
|
programs.zellij = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,13 @@
|
||||||
{ config, lib, ... }:
|
{ config, lib, osConfig, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.ooknet.console.shell.bash;
|
inherit (lib) mkIf;
|
||||||
|
cfg = config.ooknet.shell.bash;
|
||||||
|
admin = osConfig.ooknet.host.admin;
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
config = lib.mkIf cfg.enable {
|
config = mkIf (cfg.enable || admin.shell == "bash") {
|
||||||
programs.bash.enable = true;
|
programs.bash.enable = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,7 @@
|
||||||
{ lib, ... }:
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./fish
|
./fish
|
||||||
./bash
|
./bash
|
||||||
./zsh
|
./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
|
let
|
||||||
cfg = config.ooknet.console.shell.fish;
|
inherit (lib) mkIf any;
|
||||||
inherit (lib) mkIf;
|
cfg = config.ooknet.shell.fish;
|
||||||
hasPackage = pname: lib.any (p: p ? pname && p.pname == pname) config.home.packages;
|
admin = osConfig.ooknet.host.admin;
|
||||||
|
hasPackage = pname: any (p: p ? pname && p.pname == pname) config.home.packages;
|
||||||
hasEza = hasPackage "eza";
|
hasEza = hasPackage "eza";
|
||||||
hasBat = hasPackage "bat";
|
hasBat = hasPackage "bat";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
config = {
|
config = mkIf (cfg.enable || admin.shell == "fish") {
|
||||||
programs.fish = mkIf cfg.enable {
|
programs.fish = {
|
||||||
enable = true;
|
enable = true;
|
||||||
shellAbbrs = {
|
shellAbbrs = {
|
||||||
fe = "cd $FLAKE; $EDITOR $FLAKE";
|
fe = "cd $FLAKE; $EDITOR $FLAKE";
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,13 @@
|
||||||
{ lib, config, ... }:
|
{ lib, config, osConfig, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
inherit (lib) mkIf mkEnableOption;
|
inherit (lib) mkIf;
|
||||||
cfg = config.ooknet.console.shell.zsh;
|
cfg = config.ooknet.shell.zsh;
|
||||||
|
admin = osConfig.ooknet.host.admin;
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
options.ooknet.console.shell.zsh.enable = mkEnableOption "";
|
config = mkIf (cfg.enable || admin.shell == "zsh") {
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
programs.zsh = {
|
programs.zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
autocd = 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 = [
|
imports = [
|
||||||
./desktop
|
./base # default configuration modules for home-manager.
|
||||||
./console
|
./desktop # gui modules
|
||||||
./config
|
./console # cli modules
|
||||||
./theme
|
./appearance # modules for configuring themes ie: fonts, wallpapers, color-schemes, etc...
|
||||||
|
./options # all module options live here
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,29 +1,7 @@
|
||||||
{ lib, ... }:
|
|
||||||
{
|
{
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
./firefox
|
./firefox
|
||||||
# ./schizofox
|
|
||||||
#./chrome -- still needs to be implemented
|
#./chrome -- still needs to be implemented
|
||||||
#./brave -- still needs tio 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
|
let
|
||||||
addons = inputs.firefox-addons.packages.${pkgs.system};
|
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;
|
inherit (lib) mkIf;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
|
||||||
config = {
|
config = mkIf (cfg.enable || browser == "firefox") {
|
||||||
nixpkgs.config.allowUnfree = true;
|
home.sessionVariables.BROWSER = mkIf (browser == "firefox") "firefox";
|
||||||
home.sessionVariables = mkIf cfg.default {
|
ooknet.binds.browser = mkIf (browser == "firefox") "firefox";
|
||||||
BROWSER = "firefox";
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.firefox = mkIf cfg.enable {
|
programs.firefox = {
|
||||||
enable = true;
|
enable = true;
|
||||||
profiles.ooks = {
|
profiles.ooks = {
|
||||||
extensions = with addons; [
|
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";
|
imports = [
|
||||||
config = mkIf cfg.enable {
|
./vesktop.nix
|
||||||
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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
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 = [
|
imports = [
|
||||||
./audio
|
./audacity.nix
|
||||||
./image
|
./inkscape.nix
|
||||||
# ./video
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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 = [
|
imports = [
|
||||||
./imv
|
./imv.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
options.ooknet.desktop.media.image = {
|
|
||||||
imv = {
|
|
||||||
enable = lib.mkEnableOption "Enable imv image viewer";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,12 @@
|
||||||
{ lib, config, ... }:
|
{ lib, config, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.ooknet.desktop.media.image.imv;
|
inherit (lib) mkIf;
|
||||||
|
cfg = config.ooknet.media.image.imv;
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
config = lib.mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
programs = {
|
programs = {
|
||||||
imv = {
|
imv = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -1,17 +1,6 @@
|
||||||
{ lib, ... }:
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
#./spotify --- still needs to be implemented
|
#./spotify --- still needs to be implemented
|
||||||
./easyeffects
|
|
||||||
./tui
|
./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
|
let
|
||||||
inherit (config.colorscheme) palette;
|
inherit (config.colorscheme) palette;
|
||||||
|
inherit (lib) mkIf;
|
||||||
|
|
||||||
cfg = config.ooknet.desktop.media.music.tui;
|
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 {
|
spotify-cli = pkgs.spotify-player.override {
|
||||||
withImage = false;
|
withImage = false;
|
||||||
withSixel = false;
|
withSixel = false;
|
||||||
|
|
@ -11,15 +16,14 @@ let
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
termusic
|
termusic
|
||||||
spotify-cli
|
spotify-cli
|
||||||
alsa-utils
|
alsa-utils
|
||||||
mpv
|
mpv
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.cava = {
|
programs.cava = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|
@ -35,6 +39,7 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
xdg.configFile."spotify-player/app.toml".text = /* toml */ ''
|
xdg.configFile."spotify-player/app.toml".text = /* toml */ ''
|
||||||
theme = "default"
|
theme = "default"
|
||||||
client_id = "fc4c3656d7cc4a7ea70c6080965f8b1a"
|
client_id = "fc4c3656d7cc4a7ea70c6080965f8b1a"
|
||||||
|
|
@ -68,7 +73,7 @@ in
|
||||||
normalization = false
|
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 {
|
layout {
|
||||||
default_tab_template {
|
default_tab_template {
|
||||||
pane size=2 borderless=true {
|
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";
|
zjm = "zellij --layout music";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
@ -1,20 +1,7 @@
|
||||||
{ lib, ... }:
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./youtube
|
./youtube.nix
|
||||||
./jellyfin
|
./jellyfin-player.nix
|
||||||
./mpv
|
./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 = [
|
imports = [
|
||||||
./obsidian
|
|
||||||
./zathura
|
|
||||||
./office
|
./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 = [
|
imports = [
|
||||||
./inkscape
|
./obsidian.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
@ -1,15 +1,14 @@
|
||||||
{ lib, config, pkgs, ... }:
|
{ lib, config, pkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
inherit (lib) mkIf mkEnableOption;
|
inherit (lib) mkIf;
|
||||||
cfg = config.ooknet.productivity.notes.obsidian;
|
cfg = config.ooknet.productivity.notes.obsidian;
|
||||||
notes = config.ooknet.desktop.notes;
|
notes = config.ooknet.desktop.notes;
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
options.ooknet.productivity.notes.obsidian.enable = mkEnableOption "";
|
|
||||||
config = mkIf (cfg.enable || notes == "obsidian") {
|
config = mkIf (cfg.enable || notes == "obsidian") {
|
||||||
home.packages = [ pkgs.obsidian ];
|
home.packages = [ pkgs.obsidian ];
|
||||||
|
ooknet.binds.notes = mkIf (notes == "obsidian") "obsidian";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,6 @@
|
||||||
{ lib, config, pkgs, ... }:
|
# TODO: add openoffice
|
||||||
|
|
||||||
let
|
|
||||||
inherit (lib) mkIf mkEnableOption;
|
|
||||||
cfg = config.ooknet.desktop.productivity.office;
|
|
||||||
in
|
|
||||||
|
|
||||||
{
|
{
|
||||||
options.ooknet.desktop.productivity.office.enable = mkEnableOption "enable office home module";
|
imports = [
|
||||||
config = mkIf cfg.enable {
|
./libreoffice.nix
|
||||||
home.packages = [ pkgs.libreoffice ];
|
];
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
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 = [
|
imports = [
|
||||||
./audacity
|
./zathura.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
@ -1,13 +1,15 @@
|
||||||
{ lib, config, ... }:
|
{ lib, config, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.ooknet.desktop.productivity.zathura;
|
|
||||||
inherit (config.colorscheme) palette;
|
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
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
config = lib.mkIf cfg.enable {
|
config = mkIf (cfg.enable || pdf == "zathura") {
|
||||||
programs.zathura = {
|
programs.zathura = {
|
||||||
enable = true;
|
enable = true;
|
||||||
options = {
|
options = {
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./polkit
|
./polkit.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,43 +1,6 @@
|
||||||
{ lib, config, ... }:
|
|
||||||
let
|
|
||||||
cfg = config.ooknet.desktop.terminal;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
./foot
|
./foot.nix
|
||||||
./kitty
|
./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
|
let
|
||||||
inherit (config.colorscheme) palette;
|
inherit (config.colorscheme) palette;
|
||||||
fonts = config.ooknet.theme.fonts;
|
inherit (lib) mkIf;
|
||||||
|
fonts = config.ooknet.fonts;
|
||||||
cfg = config.ooknet.desktop.terminal.foot;
|
cfg = config.ooknet.desktop.terminal.foot;
|
||||||
|
terminal = config.ooknet.desktop.terminal;
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
config = lib.mkIf cfg.enable {
|
config = mkIf (cfg.enable || terminal == "foot") {
|
||||||
home.sessionVariables = lib.mkIf cfg.default {
|
home.sessionVariables = mkIf (terminal == "foot") {
|
||||||
TERMINAL = "foot";
|
TERMINAL = "foot";
|
||||||
TERM = "foot";
|
TERM = "foot";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
ooknet.binds.terminal = mkIf (terminal == "foot") "foot";
|
||||||
|
ooknet.binds.terminalLaunch = mkIf (terminal == "foot") "foot";
|
||||||
|
|
||||||
programs.foot = {
|
programs.foot = {
|
||||||
enable = true;
|
enable = true;
|
||||||
server.enable = true;
|
server.enable = true;
|
||||||
|
|
@ -38,6 +44,7 @@ in
|
||||||
style = "beam";
|
style = "beam";
|
||||||
blink = "yes";
|
blink = "yes";
|
||||||
};
|
};
|
||||||
|
|
||||||
colors = {
|
colors = {
|
||||||
alpha = 1.0;
|
alpha = 1.0;
|
||||||
foreground = "${palette.base05}";
|
foreground = "${palette.base05}";
|
||||||
|
|
@ -1,25 +1,32 @@
|
||||||
{ config, lib, ... }:
|
{ config, lib, osConfig, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
inherit (lib) mkIf;
|
||||||
inherit (config.colorscheme) palette;
|
inherit (config.colorscheme) palette;
|
||||||
fonts = config.ooknet.theme.font;
|
fonts = config.ooknet.fonts;
|
||||||
cfg = config.ooknet.desktop.terminal.kitty;
|
cfg = config.ooknet.terminal.kitty;
|
||||||
fish = config.ooknet.console.shell.fish;
|
terminal = config.ooknet.desktop.terminal;
|
||||||
|
shell = osConfig.ooknet.host.admin.shell;
|
||||||
in
|
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";
|
TERMINAL = "kitty -1";
|
||||||
TERM = "kitty -1";
|
TERM = "kitty -1";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
ooknet.binds.terminal = mkIf (terminal == "kitty") "kitty -1";
|
||||||
|
ooknet.binds.terminalLaunch = mkIf (terminal == "kitty") "kitty -e";
|
||||||
|
|
||||||
programs.kitty = {
|
programs.kitty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
font = {
|
font = {
|
||||||
name = fonts.monospace.family;
|
name = fonts.monospace.family;
|
||||||
size = 12;
|
size = 12;
|
||||||
};
|
};
|
||||||
shellIntegration.enableFishIntegration = lib.mkif fish.enable true;
|
shellIntegration.enableFishIntegration = mkIf (shell == "fish") true;
|
||||||
settings = {
|
settings = {
|
||||||
scrollback_lines = 4000;
|
scrollback_lines = 4000;
|
||||||
scrollback_pager_history_size = 2048;
|
scrollback_pager_history_size = 2048;
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./kdeconnect
|
./kdeconnect.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,5 +16,6 @@ in
|
||||||
nixIndex.enable = mkEnableOption "";
|
nixIndex.enable = mkEnableOption "";
|
||||||
starship.enable = mkEnableOption "";
|
starship.enable = mkEnableOption "";
|
||||||
utils.enable = mkEnableOption "";
|
utils.enable = mkEnableOption "";
|
||||||
|
ffmpeg.enable = mkEnableOption "";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ in
|
||||||
youtube.enable = mkEnableOption "";
|
youtube.enable = mkEnableOption "";
|
||||||
};
|
};
|
||||||
music = {
|
music = {
|
||||||
spotifyCli.enable = mkEnableOption "";
|
tui.enable = mkEnableOption "";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -11,10 +11,6 @@ in
|
||||||
type = nullOr (enum ["helix" "nvim"]);
|
type = nullOr (enum ["helix" "nvim"]);
|
||||||
default = "helix";
|
default = "helix";
|
||||||
};
|
};
|
||||||
shell = mkOption {
|
|
||||||
type = nullOr (enum ["fish" "bash" "zsh"]);
|
|
||||||
default = "zsh";
|
|
||||||
};
|
|
||||||
multiplexer = mkOption {
|
multiplexer = mkOption {
|
||||||
type = nullOr (enum ["tmux" "zellij"]);
|
type = nullOr (enum ["tmux" "zellij"]);
|
||||||
default = null;
|
default = null;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue