honestly just wayyy too muchz

liek media and stuff
and fixing shit
and iinstalling adblock on browser by default

cool shiz
This commit is contained in:
martyTF 2025-12-22 08:15:54 +01:00
parent a4dfaabe09
commit bf430f5b71
20 changed files with 436 additions and 186 deletions

View file

@ -14,5 +14,6 @@
./misc
./gaming
./internet
./media
];
}

View file

@ -24,5 +24,17 @@
wallpaper.enable = true;
grimblast.enable = true;
};
internet = lib.mkDefault {
browsers = {
zen-browser = {
enable = true;
};
};
};
media = {
images.enable = true;
video.enable = true;
audio.enable = true;
};
};
}
}

View file

@ -33,5 +33,9 @@
};
};
};
media = {
images.nomacs.enable = true;
video.mpv.enable = true;
};
};
}
}

View file

@ -16,24 +16,27 @@
];
description = ''declare monitors'';
};
workspaces = {
workspaces = {
workspaces = lib.mkOption {
default = (
builtins.concatLists (builtins.genList (i:
let ws = i + 1;
in [
"name:${toString i},,persistent:true"
]
builtins.concatLists (
builtins.genList (
i:
let
ws = i + 1;
in
[
"name:${toString i},,persistent:true"
]
) config.desktop.hyprland.workspaces.amount
)
config.desktop.hyprland.workspaces.amount)
)
;
);
description = ''declare workspace'';
};
amount = lib.mkOption {
default = 9;
description = ''declare workspace amount'';
};
};
amount = lib.mkOption {
default = 9;
description = ''declare workspace amount'';
};
};
numlock = lib.mkEnableOption "numlock by default";
};
@ -70,12 +73,17 @@
(lib.mkIf (config.desktop.rofi.enable) "$mod, D, exec, rofi -show drun")
(lib.mkIf (config.terminal.kitty.enable) "$mod, return, exec, kitty")
(lib.mkIf (config.desktop.grimblast.enable) ", print, exec, GRIMBLAST_EDITOR=gradia grimblast edit area")
(lib.mkIf (config.desktop.rofi.enable) (lib.mkIf (config.misc.bitwarden.enable) "$mod, B, exec, rbw unlocked || kitty --class kitty-floating -e rbw unlock; rofi-rbw"))
(lib.mkIf (config.desktop.walker.enable) ( lib.mkIf (config.misc.bitwarden.enable) "$mod, B, exec, rbw unlocked || kitty --class kitty-floating -e rbw unlock; selected=$(rbw list | walker -d); wl-copy $(rbw get $selected)"))
(lib.mkIf (config.desktop.rofi.enable) (
lib.mkIf (config.misc.bitwarden.enable) "$mod, B, exec, rbw unlocked || kitty --class kitty-floating -e rbw unlock; rofi-rbw"
))
(lib.mkIf (config.desktop.walker.enable) (
lib.mkIf (config.misc.bitwarden.enable) "$mod, B, exec, rbw unlocked || kitty --class kitty-floating -e rbw unlock; selected=$(rbw list | walker -d); wl-copy $(rbw get \"$selected\")"
))
"$mod, F, fullscreen, 1"
"$shiftmod, F, fullscreen, 0"
"$shiftmod, Q, killactive,"
"$mod, S, togglespecialworkspace, magic"
"$mod, O, exec, zen"
"$shiftmod, S, movetoworkspace, special:magic"
"$controlmod, right, workspace, m-1"
"$controlmod, left, workspace, m+1"
@ -95,17 +103,18 @@
"$controlmod, down, exec, light -U 10"
"$controlmod, Q, exec, hyprctl kill"
]
++ (
builtins.concatLists (builtins.genList (i:
let ws = i + 1;
in [
"$mod, code:1${toString i}, workspace, ${toString ws}"
"$shiftmod, code:1${toString i}, movetoworkspacesilent, ${toString ws}"
]
)
config.desktop.hyprland.workspaces.amount)
)
;
++ (builtins.concatLists (
builtins.genList (
i:
let
ws = i + 1;
in
[
"$mod, code:1${toString i}, workspace, ${toString ws}"
"$shiftmod, code:1${toString i}, movetoworkspacesilent, ${toString ws}"
]
) config.desktop.hyprland.workspaces.amount
));
bindm = [
"$mod, mouse:272, movewindow"
"$mod, mouse:273, resizewindow"

View file

@ -28,5 +28,11 @@
esbenp.prettier-vscode
];
};
home.packages = with pkgs; [
nixfmt-rfc-style
];
home.sessionVariables = {
EDITOR = lib.mkDefault "codium";
};
};
}

View file

@ -5,6 +5,39 @@
inputs,
...
}:
let
extension = shortId: guid: {
name = guid;
value = {
install_url = "https://addons.mozilla.org/en-US/firefox/downloads/latest/${shortId}/latest.xpi";
installation_mode = "normal_installed";
};
};
prefs = {
# Check these out at about:config
"extensions.autoDisableScopes" = 0;
"extensions.pocket.enabled" = false;
"general.autoScroll" = true;
"general.smoothScroll" = true;
"middlemouse.contentLoadURL" = false;
# ...
};
extensions = [
# To add additional extensions, find it on addons.mozilla.org, find
# the short ID in the url (like https://addons.mozilla.org/en-US/firefox/addon/!SHORT_ID!/)
# Then go to https://addons.mozilla.org/api/v5/addons/addon/!SHORT_ID!/ to get the guid
(extension "adnauseam" "adnauseam@rednoise.org")
(extension "floccus" "floccus@handmadeideas.org")
(extension "bitwarden-password-manager" "{446900e4-71c2-419f-a6a7-df9c091e268b}")
(extension "simplelogin" "addon@simplelogin")
(extension "localcdn-fork-of-decentraleyes" "{b86e4813-687a-43e6-ab65-0bde4ab75758}")
(extension "catppuccin-web-file-icons" "{bbb880ce-43c9-47ae-b746-c3e0096c5b76}")
# ...
];
in
{
options = {
@ -16,7 +49,32 @@
};
config = lib.mkIf config.internet.browsers.zen-browser.enable {
home.packages = [
inputs.zen-browser.packages.${pkgs.system}.default
(pkgs.wrapFirefox
inputs.zen-browser.packages.${pkgs.stdenv.hostPlatform.system}.zen-browser-unwrapped
{
extraPrefs = lib.concatLines (
lib.mapAttrsToList (
name: value: ''lockPref(${lib.strings.toJSON name}, ${lib.strings.toJSON value});''
) prefs
);
extraPolicies = {
DisableTelemetry = true;
ExtensionSettings = builtins.listToAttrs extensions;
SearchEngines = {
Default = "MartyTF's Series of Tubes";
Add = [
{
Name = "MartyTF's Series of Tubes";
URLTemplate = "https://search.marty.tf/?q={searchTerms}";
IconURL = "https://wiki.nixos.org/favicon.ico";
Alias = "@sgx";
}
];
};
};
}
)
];
};
}

27
modules/media/audio.nix Normal file
View file

@ -0,0 +1,27 @@
{
config,
lib,
pkgs,
...
}:
{
options = {
media = {
audio = {
enable = lib.mkEnableOption "enable all audio media";
tenacity.enable = lib.mkEnableOption "enable tenacity";
};
};
};
config = {
media.audio = lib.mkIf config.media.audio.enable {
tenacity.enable = lib.mkDefault true;
};
home.packages = with pkgs; [
(lib.mkIf (config.media.audio.tenacity.enable) tenacity)
];
};
}

14
modules/media/default.nix Normal file
View file

@ -0,0 +1,14 @@
{
config,
lib,
pkgs,
...
}:
{
imports = [
./images.nix
./video.nix
./audio.nix
];
}

31
modules/media/images.nix Normal file
View file

@ -0,0 +1,31 @@
{
config,
lib,
pkgs,
...
}:
{
options = {
media = {
images = {
enable = lib.mkEnableOption "enable all image media";
nomacs.enable = lib.mkEnableOption "enable nomacs";
gimp.enable = lib.mkEnableOption "enable gimp";
};
};
};
config = {
media.images = lib.mkIf config.media.images.enable {
nomacs.enable = lib.mkDefault true;
gimp.enable = lib.mkDefault true;
};
home.packages = with pkgs; [
(lib.mkIf (config.media.images.nomacs.enable) nomacs)
(lib.mkIf (config.media.images.gimp.enable) gimp3-with-plugins)
];
};
}

33
modules/media/video.nix Normal file
View file

@ -0,0 +1,33 @@
{
config,
lib,
pkgs,
...
}:
{
options = {
media = {
video = {
enable = lib.mkEnableOption "enable all video media";
mpv.enable = lib.mkEnableOption "enable mpv";
kdenlive.enable = lib.mkEnableOption "enable kdenlive";
};
};
};
config = {
media.video = lib.mkIf config.media.video.enable {
kdenlive.enable = lib.mkDefault true;
mpv.enable = lib.mkDefault true;
};
home.packages = with pkgs; [
(lib.mkIf (config.media.video.kdenlive.enable) kdePackages.kdenlive)
];
programs = {
mpv = lib.mkIf config.media.video.mpv.enable {
enable = true;
};
};
};
}

View file

@ -19,11 +19,54 @@
programs = {
ranger = {
enable = true;
extraPackages = [
];
settings = {
viewmode = "miller";
column_ratios = "1,3,4";
show_hidden = true;
confirm_on_delete = "multiple";
use_preview_script = true;
automatically_count_files = true;
open_all_images = true;
vcs_aware = true;
vcs_backend_git = "enabled";
vcs_msg_length = 50;
preview_images = true;
preview_images_method = lib.mkIf config.terminal.kitty.enable "kitty";
preview_files = true;
preview_directories = true;
collapse_preview = false;
save_console_history = true;
status_bar_on_top = false;
draw_progress_bar_in_status_bar = true;
draw_borders = "both";
dirname_in_tabs = true;
mouse_enabled = false;
display_size_in_main_column = true;
display_size_in_status_bar = true;
display_free_space_in_status_bar = true;
display_tags_in_all_columns = true;
update_title = true;
update_tmux_title = true;
shorten_title = 10;
hostname_in_titlebar = true;
tilde_in_titlebar = false;
max_history_size = 100;
max_console_history_size = 200;
scroll_offset = 8;
flushinput = true;
autosave_bookmarks = true;
show_cursor = false;
sort = "natural";
sort_case_insensitive = true;
sort_directories_first = true;
};
};
};
home.packages = with pkgs; [
unzip
];
};
}

View file

@ -8,7 +8,7 @@
{
options = {
terminal = {
kitty.enable = lib.mkEnableOption "enable git";
kitty.enable = lib.mkEnableOption "enable kitty";
};
};
@ -16,7 +16,65 @@
programs = {
kitty = {
enable = true;
enableGitIntegration = true;
shellIntegration = {
enableFishIntegration = true;
enableBashIntegration = true;
};
font = {
name = "FiraCode Nerd Font";
size = 16;
package = pkgs.nerd-fonts.fira-code;
};
themeFile = "Catppuccin-Mocha";
settings = {
wayland_titlebar_color = "system";
macos_titlebar_color = "system";
# The most important setting of the whole confiG
confirm_os_window_close = 0;
# Cursor
cursor_shape = "underline";
# Scrollback
scrollback_lines = 10000;
# Link Behaviour
url_style = "straight";
open_url_with = "default";
# Layouts
remember_window_size = "no";
enabled_layouts = "splits, tall";
window_resize_step_cells = 3;
window_resize_step_lines = 3;
window_border_width = "3 pt";
draw_minimal_borders = "yes";
window_margin_width = 10;
window_padding_width = 10;
# Borders/Appearance
inactive_text_alpha = 0.5;
hide_window_decorations = "no";
# tab bar
tab_bar_min_tabs = 1;
tab_bar_edge = "bottom";
tab_bar_style = "powerline";
tab_powerline_style = "slanted";
tab_title_template = "{title}{' :{}:'.format(num_windows) if num_windows > 1 else ''}";
};
};
};
home.sessionVariables = {
TERM = lib.mkDefault "xterm-kitty";
};
};
}