diff --git a/flake.lock b/flake.lock index bd6679c..2cf8270 100644 --- a/flake.lock +++ b/flake.lock @@ -165,11 +165,11 @@ }, "locked": { "dir": "pkgs/firefox-addons", - "lastModified": 1733390410, - "narHash": "sha256-bM3FIksaYkRloRh3y6GzuUrsJB7EizYtzeCgyftQ9rc=", + "lastModified": 1733457807, + "narHash": "sha256-o1x17M0MOTXnX26Q1vuKPOIrgHEdBgCXLNd0Jsnt6oc=", "owner": "rycee", "repo": "nur-expressions", - "rev": "5f39164f253794b0101d596b7d4a7a0253f4b762", + "rev": "a2c15a4676b2d3d3adc3a2dc8045b5af28dc5b65", "type": "gitlab" }, "original": { @@ -554,11 +554,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1733369810, - "narHash": "sha256-veg37osP0Nmby/Bt7mdqD6k+Co3wO4jwnth0B2Z7vHU=", + "lastModified": 1733427350, + "narHash": "sha256-sasR3Jo4Rdo/3MJWCFzAgmhQ8s8VZ0c9+yxiW7GX8QY=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "ceef4fb3a5efe1617790f56e2701846a21c2533d", + "rev": "a7a6eedc2139564abc1fe09feee1ff32b53e1081", "type": "github" }, "original": { @@ -750,6 +750,38 @@ "type": "github" } }, + "nixpkgsMaster": { + "locked": { + "lastModified": 1733469320, + "narHash": "sha256-/W06c3jeUgeoivwE9MTVAPbNUX1HazSYAZmZfUExFoQ=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "10f4a9ab7541ca6a76f8a98a7cd5fae70a425f7e", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "master", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgsStable": { + "locked": { + "lastModified": 1733469350, + "narHash": "sha256-GgHsM5jm8s/F8pD+S09BXXoBrHy20x0hUJU7SpkFQow=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "7314c6b5c5d5fbb83d07db52787a4510d15d222c", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "release-24.11", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs_2": { "locked": { "lastModified": 1732758367, @@ -828,11 +860,11 @@ }, "nur": { "locked": { - "lastModified": 1733396819, - "narHash": "sha256-AEBmhobRo6PcvaZn9oEfjsQ/NElKBIBj8Va7sivSyzw=", + "lastModified": 1733467284, + "narHash": "sha256-pzSHveN18sSTTrjE5KU2si3h7XEOawOMLcasgGPjRK8=", "owner": "nix-community", "repo": "NUR", - "rev": "e6098b0360b6436634f3604c134e99b608a8c252", + "rev": "8e6e9b8e2d04f0eea11dfa701f790bee797295b1", "type": "github" }, "original": { @@ -915,6 +947,8 @@ "home-manager": "home-manager", "hyprland": "hyprland", "nixpkgs": "nixpkgs_3", + "nixpkgsMaster": "nixpkgsMaster", + "nixpkgsStable": "nixpkgsStable", "nur": "nur", "parts": "parts", "phani": "phani", @@ -952,11 +986,11 @@ ] }, "locked": { - "lastModified": 1733372233, - "narHash": "sha256-nEpd7QFcjHXop4Km9ldh1fXq0K10/u7kPlchPXl44/g=", + "lastModified": 1733458623, + "narHash": "sha256-52PZbQysGpULrOehi4+807Qj3jSa3fXGJw0wuRxQfvo=", "owner": "Gerg-L", "repo": "spicetify-nix", - "rev": "8a832957847b643f758263293ccca6e801614a1c", + "rev": "ebe9e466f8eb5b1ae3079d9c44cb4d8a56f8e5c2", "type": "github" }, "original": { @@ -982,11 +1016,11 @@ "tinted-tmux": "tinted-tmux" }, "locked": { - "lastModified": 1733262405, - "narHash": "sha256-/AT315It87ll6mlZLYcmfoe6Uogx9MjPBCCZZZTq8xY=", + "lastModified": 1733427445, + "narHash": "sha256-E854RAbAX+DZHDo4HIk2nkqpIvvoAm+P7oDx7TmhWk8=", "owner": "danth", "repo": "stylix", - "rev": "ffba1f1bab63ea49541f812c72a4fcf305461d67", + "rev": "eb918dbffa24c4dae497f3ce3173660f948d5237", "type": "github" }, "original": { @@ -1147,11 +1181,11 @@ }, "locked": { "dir": "packaging/nix", - "lastModified": 1733037609, - "narHash": "sha256-HkS24indfMaQbVZ+9GY5BHc+rqPvh8htF0rWYhvgPKI=", + "lastModified": 1733450594, + "narHash": "sha256-UlWmVUocOgkT/OpqXwcfFFRQSH28jncpWRqFNGVuh6I=", "ref": "refs/heads/main", - "rev": "e559e2e50999093c3e837d33886f9e14e34ead0a", - "revCount": 863, + "rev": "1c3dd941402a782dc9d3582ba6aaac00f5e498e0", + "revCount": 864, "submodules": true, "type": "git", "url": "https://github.com/Open-Wine-Components/umu-launcher/?dir=packaging/nix" diff --git a/flake.nix b/flake.nix index b5d8210..4227f79 100644 --- a/flake.nix +++ b/flake.nix @@ -1,6 +1,8 @@ { inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; # UNSTABLE + nixpkgsStable.url = "github:nixos/nixpkgs/release-24.11"; # 24.11 + nixpkgsMaster.url = "github:nixos/nixpkgs/master"; # MASTER nur.url = "github:nix-community/NUR"; # NUR hardware.url = "github:NixOS/nixos-hardware/master"; # HARDWARE diff --git a/jetpure/home/default.nix b/jetpure/home/default.nix index 8f8c6c9..70388c3 100644 --- a/jetpure/home/default.nix +++ b/jetpure/home/default.nix @@ -10,7 +10,7 @@ fzf = True; git = True; helix = True; - joshuto = True; + joshuto = False; legendary = True; micro = False; rmpc = False; @@ -19,7 +19,8 @@ zoxide = True; }; gui = { # GUI PROGRAMS - floorp = True; + floorp = False; + minecraft = True // { cli = True; }; mpv = True; obs = True; qbittorrent = True; @@ -30,13 +31,13 @@ custom = { anicli = True; mabel = False; - rustmission = True; - torque = True; + rustmission = False; + torque = False; }; }; shells = { # SHELLS fish = True; - nushell = True; + nushell = False; tmux = False; zsh = False; starship = True; @@ -47,10 +48,10 @@ stylix = True // { theme = "paradise"; image = "train"; - cursor = with config.lib.stylix.colors; { - bg = "#${base0E}"; - ol = "#${base00}"; - ac = "#${base0E}"; + cursor = with config.lib.stylix.colors.withHashtag; { + bg = "${base0E}"; + ol = "${base00}"; + ac = "${base0E}"; }; }; }; @@ -71,7 +72,7 @@ }; misc = { # MISC MODULES dconf = True; - xdg = True; + xdg.mime = True; }; }; } diff --git a/jetpure/home/parts/pkgs.nix b/jetpure/home/parts/pkgs.nix index 8fcf755..6edc8f6 100644 --- a/jetpure/home/parts/pkgs.nix +++ b/jetpure/home/parts/pkgs.nix @@ -2,7 +2,6 @@ imports = with inputs; [ nur.hmModules.nur ]; module.programs = { gui.pkgs = with pkgs; [ - foot nemo # GUI FM nemo-fileroller # ADDON file-roller # ARCHIVER @@ -17,12 +16,6 @@ bottles # LAUNCH GAMES WITHOUT STEAM mindustry-wayland # MINDUSTRY LETSSS GOOOOO - (prismlauncher.override { - gamemodeSupport = true; - controllerSupport = true; - textToSpeechSupport = false; - jdks = [ temurin-jre-bin-21 temurin-jre-bin-17 temurin-jre-bin-8 ]; - }) # MINECRAFT IS MY LIFE inputs.zen.packages."${system}".specific # COOL BROWSER ]; diff --git a/jetpure/host/default.nix b/jetpure/host/default.nix index 1a662a0..163d14c 100644 --- a/jetpure/host/default.nix +++ b/jetpure/host/default.nix @@ -2,6 +2,7 @@ imports = [ ./parts ../../modules/nixos ]; module = { themes.stylix = True // { theme = "paradise"; }; + base = True; # HARDWARE MODULES hardware = { amd = True // { amdvlk = False; }; @@ -9,7 +10,6 @@ boot = True // { plymouth = True; }; network = True; security = True; - sound = True; }; # SERVICES MODULES services = { @@ -20,9 +20,10 @@ gvfs = True; polkit = True; printing = False; - tailscale = True; + tailscale = False; tlp = False; - transmission = True; + transmission = False; + zapret = True; zram = True // { algo = "zstd"; }; }; # PROGRAMS MODULES @@ -31,7 +32,7 @@ hyprland = True; sway = False; steam = True; - hamachi = True; + hamachi = False // { gui = False; }; torrserver = True; }; misc = { @@ -44,7 +45,6 @@ terraria = False; users = True // { shell = "fish"; }; variables = True; - nix = True; }; }; diff --git a/modules/home/misc/xdg/default.nix b/modules/home/misc/xdg/default.nix index aee3207..04371bf 100644 --- a/modules/home/misc/xdg/default.nix +++ b/modules/home/misc/xdg/default.nix @@ -2,14 +2,12 @@ with lib; -let - cfg = config.module.misc.xdg; - hmdir = config.home.homeDirectory; +let hmdir = config.home.homeDirectory; in { - options = { module.misc.xdg = { enable = mkEnableOption ""; }; }; + options = { module.misc.xdg = { mime.enable = mkEnableOption ""; }; }; imports = [ ./mimeApps.nix ]; - config = mkIf cfg.enable { + config = { xdg = { mime = True; portal = True // { diff --git a/modules/home/programs/gui/default.nix b/modules/home/programs/gui/default.nix index c730c67..a70d575 100644 --- a/modules/home/programs/gui/default.nix +++ b/modules/home/programs/gui/default.nix @@ -1,5 +1,14 @@ { - imports = - [ ./floorp ./mpv ./obs ./qbittorrent ./spotify ./swayimg ./zed ./pkgs.nix ]; + imports = [ + ./floorp + ./minecraft + ./mpv + ./obs + ./qbittorrent + ./spotify + ./swayimg + ./zed + ./pkgs.nix + ]; } diff --git a/modules/home/programs/gui/minecraft/default.nix b/modules/home/programs/gui/minecraft/default.nix new file mode 100644 index 0000000..afae90e --- /dev/null +++ b/modules/home/programs/gui/minecraft/default.nix @@ -0,0 +1,33 @@ +{ pkgs, lib, config, ... }: + +with lib; + +let + cfg = config.module.programs.gui.minecraft; + jre = with pkgs; [ temurin-jre-bin-21 temurin-jre-bin-17 temurin-jre-bin-8 ]; +in { + options = { + module.programs.gui.minecraft = { + enable = mkEnableOption ""; + cli.enable = mkEnableOption ""; + }; + }; + + config = mkMerge [ + (mkIf cfg.enable { # BEST MINECRAFT LACUNHER + home.packages = with pkgs; + [ + (prismlauncher.override { + gamemodeSupport = true; + controllerSupport = true; + textToSpeechSupport = false; + jdks = jre; + }) + ]; + }) + (mkIf cfg.cli.enable { # CLI LAUNCER + home.packages = with pkgs; [ portablemc ferium ]; + }) + ]; +} + diff --git a/modules/home/programs/gui/minecraft/portablemc.nix b/modules/home/programs/gui/minecraft/portablemc.nix new file mode 100644 index 0000000..b3ede50 --- /dev/null +++ b/modules/home/programs/gui/minecraft/portablemc.nix @@ -0,0 +1,53 @@ +{ lib, stdenv, python3Packages, fetchFromGitHub, fetchurl, installShellFiles +, libX11, libXext, libXcursor, libXrandr, libXxf86vm, libpulseaudio, libGL, glfw +, openal, udev, flite, java ? [ ] }: +let + runtimeLibs = [ + libX11 + libXext + libXcursor + libXrandr + libXxf86vm + libpulseaudio + libGL + glfw + openal + (lib.getLib stdenv.cc.cc) + udev + ] ++ lib.optional flite; + patch = fetchurl { + url = + "https://raw.githubusercontent.com/NixOS/nixpkgs/refs/heads/nixos-unstable/pkgs/by-name/po/portablemc/use-builtin-java.patch"; + hash = ""; + }; +in python3Packages.buildPythonApplication rec { + pname = "portablemc"; + version = "4.4.0"; + pyproject = true; + disabled = python3Packages.pythonOlder "3.8"; + src = fetchFromGitHub { + owner = "mindstorm38"; + repo = "portablemc"; + rev = "refs/tags/v${version}"; + hash = "sha256-JDosvjbpoDC+xJ15ejcMJd+jA09RLR+whVZblMu+ljk="; + }; + patches = [ patch ]; + nativeBuildInputs = [ installShellFiles ]; + build-system = [ python3Packages.poetry-core ]; + dependencies = [ python3Packages.certifi ]; + postInstall = '' + installShellCompletion --cmd portablemc \ + --bash <($out/bin/portablemc show completion bash) \ + --zsh <($out/bin/portablemc show completion zsh) + ''; + preFixup = '' + makeWrapperArgs+=( + --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath runtimeLibs} + --prefix PATH : ${lib.makeBinPath [ java ]} + ) + ''; + meta = { + mainProgram = "portablemc"; + maintainers = with lib.maintainers; [ tomasajt uwugda ]; + }; +} diff --git a/modules/home/programs/gui/mpv/bindings.nix b/modules/home/programs/gui/mpv/bindings.nix new file mode 100644 index 0000000..f451c4c --- /dev/null +++ b/modules/home/programs/gui/mpv/bindings.nix @@ -0,0 +1,48 @@ +{ + programs.mpv.bindings = { + WHEEL_UP = "add volume 2"; + WHEEL_DOWN = "add volume -2"; + "Shift+WHEEL_UP" = "add volume 5"; + "Shift+WHEEL_DOWN" = "add volume -5"; + + RIGHT = "seek 5"; + l = "seek 5"; + "д" = "seek 5"; + + LEFT = "seek -5"; + h = "seek -5"; + "р" = "seek -5"; + + UP = "add volume 2"; + k = "add volume 2"; + "л" = "add volume 2"; + + DOWN = "add volume -2"; + j = "add volume -2"; + "о" = "add volume -2"; + + "Shift+RIGHT" = "seek 10"; + "Shift+LEFT" = "seek -10"; + + "Shift+UP" = "add volume 5"; + "Shift+DOWN" = "add volume -5"; + + q = "quit"; + "й" = "quit"; + Q = "quit-watch-later"; + + SPACE = "cycle pause"; + p = "cycle pause"; + "з" = "cycle pause"; + + m = "cycle mute"; + "ь" = "cycle mute"; + + o = "show-progress"; + "щ" = "show-progress"; + + f = "cycle fullscreen"; + "а" = "cycle fullscreen"; + ESC = "set fullscreen no"; + }; +} diff --git a/modules/home/programs/gui/mpv/default.nix b/modules/home/programs/gui/mpv/default.nix index 567ddb1..e8ce1bf 100644 --- a/modules/home/programs/gui/mpv/default.nix +++ b/modules/home/programs/gui/mpv/default.nix @@ -6,6 +6,7 @@ let cfg = config.module.programs.gui.mpv; in { options = { module.programs.gui.mpv = { enable = mkEnableOption ""; }; }; + imports = [ ./bindings.nix ./osc.nix ]; config = mkIf cfg.enable { programs.mpv = True // { scripts = with pkgs.mpvScripts; [ thumbnail sponsorblock-minimal ]; @@ -30,62 +31,16 @@ in { config = { fs = "yes"; osc = "no"; - glsl-shaders = - "${pkgs.anime4k}/Anime4K_Clamp_Highlights.glsl:${pkgs.anime4k}/Anime4K_Restore_CNN_VL.glsl:${pkgs.anime4k}/Anime4K_Upscale_CNN_x2_VL.glsl:${pkgs.anime4k}/Anime4K_AutoDownscalePre_x2.glsl:${pkgs.anime4k}/Anime4K_AutoDownscalePre_x4.glsl:${pkgs.anime4k}/Anime4K_Upscale_CNN_x2_M.glsl"; + glsl-shaders = with pkgs; + "${anime4k}/Anime4K_Clamp_Highlights.glsl:${anime4k}/Anime4K_Restore_CNN_VL.glsl:${anime4k}/Anime4K_Upscale_CNN_x2_VL.glsl:${anime4k}/Anime4K_AutoDownscalePre_x2.glsl:${anime4k}/Anime4K_AutoDownscalePre_x4.glsl:${anime4k}/Anime4K_Upscale_CNN_x2_M.glsl"; }; - bindings = { - WHEEL_UP = "add volume 2"; - WHEEL_DOWN = "add volume -2"; - "Shift+WHEEL_UP" = "add volume 5"; - "Shift+WHEEL_DOWN" = "add volume -5"; - - RIGHT = "seek 5"; - l = "seek 5"; - "д" = "seek 5"; - - LEFT = "seek -5"; - h = "seek -5"; - "р" = "seek -5"; - - UP = "add volume 2"; - k = "add volume 2"; - "л" = "add volume 2"; - - DOWN = "add volume -2"; - j = "add volume -2"; - "о" = "add volume -2"; - - "Shift+RIGHT" = "seek 10"; - "Shift+LEFT" = "seek -10"; - - "Shift+UP" = "add volume 5"; - "Shift+DOWN" = "add volume -5"; - - q = "quit"; - "й" = "quit"; - Q = "quit-watch-later"; - - SPACE = "cycle pause"; - p = "cycle pause"; - "з" = "cycle pause"; - - m = "cycle mute"; - "ь" = "cycle mute"; - - o = "show-progress"; - "щ" = "show-progress"; - - f = "cycle fullscreen"; - "а" = "cycle fullscreen"; - ESC = "set fullscreen no"; - }; - extraInput = '' - CTRL+1 no-osd change-list glsl-shaders set "${pkgs.anime4k}/Anime4K_Clamp_Highlights.glsl:${pkgs.anime4k}/Anime4K_Restore_CNN_VL.glsl:${pkgs.anime4k}/Anime4K_Upscale_CNN_x2_VL.glsl:${pkgs.anime4k}/Anime4K_AutoDownscalePre_x2.glsl:${pkgs.anime4k}/Anime4K_AutoDownscalePre_x4.glsl:${pkgs.anime4k}/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode A (HQ)" - CTRL+2 no-osd change-list glsl-shaders set "${pkgs.anime4k}/Anime4K_Clamp_Highlights.glsl:${pkgs.anime4k}/Anime4K_Restore_CNN_Soft_VL.glsl:${pkgs.anime4k}/Anime4K_Upscale_CNN_x2_VL.glsl:${pkgs.anime4k}/Anime4K_AutoDownscalePre_x2.glsl:${pkgs.anime4k}/Anime4K_AutoDownscalePre_x4.glsl:${pkgs.anime4k}/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode B (HQ)" - CTRL+3 no-osd change-list glsl-shaders set "${pkgs.anime4k}/Anime4K_Clamp_Highlights.glsl:${pkgs.anime4k}/Anime4K_Upscale_Denoise_CNN_x2_VL.glsl:${pkgs.anime4k}/Anime4K_AutoDownscalePre_x2.glsl:${pkgs.anime4k}/Anime4K_AutoDownscalePre_x4.glsl:${pkgs.anime4k}/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode C (HQ)" - CTRL+4 no-osd change-list glsl-shaders set "${pkgs.anime4k}/Anime4K_Clamp_Highlights.glsl:${pkgs.anime4k}/Anime4K_Restore_CNN_VL.glsl:${pkgs.anime4k}/Anime4K_Upscale_CNN_x2_VL.glsl:${pkgs.anime4k}/Anime4K_Restore_CNN_M.glsl:${pkgs.anime4k}/Anime4K_AutoDownscalePre_x2.glsl:${pkgs.anime4k}/Anime4K_AutoDownscalePre_x4.glsl:${pkgs.anime4k}/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode A+A (HQ)" - CTRL+5 no-osd change-list glsl-shaders set "${pkgs.anime4k}/Anime4K_Clamp_Highlights.glsl:${pkgs.anime4k}/Anime4K_Restore_CNN_Soft_VL.glsl:${pkgs.anime4k}/Anime4K_Upscale_CNN_x2_VL.glsl:${pkgs.anime4k}/Anime4K_AutoDownscalePre_x2.glsl:${pkgs.anime4k}/Anime4K_AutoDownscalePre_x4.glsl:${pkgs.anime4k}/Anime4K_Restore_CNN_Soft_M.glsl:${pkgs.anime4k}/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode B+B (HQ)" - CTRL+6 no-osd change-list glsl-shaders set "${pkgs.anime4k}/Anime4K_Clamp_Highlights.glsl:${pkgs.anime4k}/Anime4K_Upscale_Denoise_CNN_x2_VL.glsl:${pkgs.anime4k}/Anime4K_AutoDownscalePre_x2.glsl:${pkgs.anime4k}/Anime4K_AutoDownscalePre_x4.glsl:${pkgs.anime4k}/Anime4K_Restore_CNN_M.glsl:${pkgs.anime4k}/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode C+A (HQ)" + extraInput = with pkgs; '' + CTRL+1 no-osd change-list glsl-shaders set "${anime4k}/Anime4K_Clamp_Highlights.glsl:${anime4k}/Anime4K_Restore_CNN_VL.glsl:${anime4k}/Anime4K_Upscale_CNN_x2_VL.glsl:${anime4k}/Anime4K_AutoDownscalePre_x2.glsl:${anime4k}/Anime4K_AutoDownscalePre_x4.glsl:${anime4k}/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode A (HQ)" + CTRL+2 no-osd change-list glsl-shaders set "${anime4k}/Anime4K_Clamp_Highlights.glsl:${anime4k}/Anime4K_Restore_CNN_Soft_VL.glsl:${anime4k}/Anime4K_Upscale_CNN_x2_VL.glsl:${anime4k}/Anime4K_AutoDownscalePre_x2.glsl:${anime4k}/Anime4K_AutoDownscalePre_x4.glsl:${anime4k}/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode B (HQ)" + CTRL+3 no-osd change-list glsl-shaders set "${anime4k}/Anime4K_Clamp_Highlights.glsl:${anime4k}/Anime4K_Upscale_Denoise_CNN_x2_VL.glsl:${anime4k}/Anime4K_AutoDownscalePre_x2.glsl:${anime4k}/Anime4K_AutoDownscalePre_x4.glsl:${anime4k}/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode C (HQ)" + CTRL+4 no-osd change-list glsl-shaders set "${anime4k}/Anime4K_Clamp_Highlights.glsl:${anime4k}/Anime4K_Restore_CNN_VL.glsl:${anime4k}/Anime4K_Upscale_CNN_x2_VL.glsl:${anime4k}/Anime4K_Restore_CNN_M.glsl:${anime4k}/Anime4K_AutoDownscalePre_x2.glsl:${anime4k}/Anime4K_AutoDownscalePre_x4.glsl:${anime4k}/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode A+A (HQ)" + CTRL+5 no-osd change-list glsl-shaders set "${anime4k}/Anime4K_Clamp_Highlights.glsl:${anime4k}/Anime4K_Restore_CNN_Soft_VL.glsl:${anime4k}/Anime4K_Upscale_CNN_x2_VL.glsl:${anime4k}/Anime4K_AutoDownscalePre_x2.glsl:${anime4k}/Anime4K_AutoDownscalePre_x4.glsl:${anime4k}/Anime4K_Restore_CNN_Soft_M.glsl:${anime4k}/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode B+B (HQ)" + CTRL+6 no-osd change-list glsl-shaders set "${anime4k}/Anime4K_Clamp_Highlights.glsl:${anime4k}/Anime4K_Upscale_Denoise_CNN_x2_VL.glsl:${anime4k}/Anime4K_AutoDownscalePre_x2.glsl:${anime4k}/Anime4K_AutoDownscalePre_x4.glsl:${anime4k}/Anime4K_Restore_CNN_M.glsl:${anime4k}/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode C+A (HQ)" CTRL+0 no-osd change-list glsl-shaders clr ""; show-text "GLSL shaders cleared" ''; diff --git a/modules/home/programs/gui/mpv/osc.nix b/modules/home/programs/gui/mpv/osc.nix new file mode 100644 index 0000000..e917d4b --- /dev/null +++ b/modules/home/programs/gui/mpv/osc.nix @@ -0,0 +1,19 @@ +{ config, ... }: +with config.lib.stylix.colors.withHashtag; { + xdg.configFile."mpv/script-opts/osc.conf".text = '' + layout=bottombar + seekbarstyle=bar + boxalpha=0 + fadeduration=120 + background_color=${base00} + timecode_color=${base04} + title_color=${base06} + time_pos_color=${base06} + time_pos_outline_color=${base06} + buttons_color=${base06} + top_buttons_color=${base06} + small_buttonsL_color=${base06} + small_buttonsR_color=${base06} + held_element_color=${base06} + ''; +} diff --git a/modules/home/themes/gtk/default.nix b/modules/home/themes/gtk/default.nix index 996887c..dc51295 100644 --- a/modules/home/themes/gtk/default.nix +++ b/modules/home/themes/gtk/default.nix @@ -38,7 +38,7 @@ in { }; font = lib.mkForce { size = 12; - name = "JetBrainsMono NerdFont"; + name = "JetBrainsMono Nerd Font"; package = (pkgs.callPackage ../nerdfonts/default.nix { fonts = [ "JetBrainsMono" ]; }); diff --git a/modules/home/themes/stylix/default.nix b/modules/home/themes/stylix/default.nix index 39730b8..857ae2f 100644 --- a/modules/home/themes/stylix/default.nix +++ b/modules/home/themes/stylix/default.nix @@ -53,7 +53,7 @@ in { }; fonts = let font = { - name = "JetBrainsMono NerdFont"; + name = "JetBrainsMono Nerd Font"; package = (pkgs.callPackage ../nerdfonts/default.nix { fonts = [ "JetBrainsMono" ]; }); @@ -61,6 +61,7 @@ in { in { serif = font; monospace = font; + emoji = font; sizes = { desktop = 10; popups = 10; diff --git a/modules/nixos/base/default.nix b/modules/nixos/base/default.nix new file mode 100644 index 0000000..9106677 --- /dev/null +++ b/modules/nixos/base/default.nix @@ -0,0 +1,30 @@ +{ pkgs, lib, config, hostName, userName, True, False, ... }: + +with lib; + +let cfg = config.module.base; +in { + options = { module.base = { enable = mkEnableOption ""; }; }; + + config = mkIf cfg.enable { + module.hardware.sound = True; # PIPEWIRE + services.getty.autologinUser = userName; # AUTOLOGIN + boot = { # BOOT + kernelPackages = with pkgs; linuxPackages_zen; + initrd.systemd = True; + loader = { + systemd-boot = True // { configurationLimit = 4; }; + timeout = 0; + }; + }; + networking = { # NETWORKING + hostName = hostName; + useDHCP = mkDefault true; + }; + security = { # SUDO RS + sudo = False; + sudo-rs = True; + }; + }; +} + diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index d30f362..6e3d55e 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -1 +1 @@ -{ imports = [ ./hardware ./misc ./programs ./services ./theme ]; } +{ imports = [ ./base ./hardware ./misc ./programs ./services ./theme ]; } diff --git a/modules/nixos/hardware/boot/default.nix b/modules/nixos/hardware/boot/default.nix index 7c7a60f..855a4e0 100644 --- a/modules/nixos/hardware/boot/default.nix +++ b/modules/nixos/hardware/boot/default.nix @@ -16,7 +16,6 @@ in { (mkIf cfg.enable { boot = { # ITSELF LOL tmp.cleanOnBoot = true; - kernelPackages = pkgs.linuxPackages_zen; kernelModules = [ "kvm-amd" ]; consoleLogLevel = 0; kernelParams = [ @@ -34,13 +33,8 @@ in { "rd.systemd.show_status=false" "psmouse.synaptics_intertouch=0" ]; - loader = { # SYSTEMD BOOT AS DEFAULT - systemd-boot = True // { configurationLimit = 4; }; - efi.canTouchEfiVariables = true; - timeout = 0; # TIMEOUT FOR LAUNCH - }; + loader.efi.canTouchEfiVariables = true; initrd = { # IDK - systemd = True; compressor = "zstd"; compressorArgs = [ "-9" ]; verbose = false; diff --git a/modules/nixos/hardware/network/default.nix b/modules/nixos/hardware/network/default.nix index 4a048f3..77b273a 100644 --- a/modules/nixos/hardware/network/default.nix +++ b/modules/nixos/hardware/network/default.nix @@ -1,4 +1,4 @@ -{ pkgs, lib, config, hostName, True, False, ... }: +{ pkgs, lib, config, True, False, ... }: with lib; @@ -13,7 +13,6 @@ in { pptp ]; networking = { # FOR NETWORK - hostName = hostName; nameservers = [ "::1" "127.0.0.1" "1.1.1.1" "1.0.0.1" ]; resolvconf.dnsSingleRequest = true; networkmanager = True // { @@ -24,8 +23,6 @@ in { backend = "iwd"; }; }; - useDHCP = mkDefault true; - nftables = True; }; services = { resolved = True; diff --git a/modules/nixos/hardware/security/default.nix b/modules/nixos/hardware/security/default.nix index 760cd34..b1e15dc 100644 --- a/modules/nixos/hardware/security/default.nix +++ b/modules/nixos/hardware/security/default.nix @@ -7,25 +7,22 @@ in { options = { module.hardware.security = { enable = mkEnableOption ""; }; }; config = mkIf cfg.enable { - security = { - sudo = False; - sudo-rs = True // { # TOP - execWheelOnly = true; - wheelNeedsPassword = true; - extraRules = [{ - users = [ userName ]; - commands = with pkgs; [ - { - command = "${light}/bin/light"; - options = [ "NOPASSWD" ]; - } - { - command = "${uutils-coreutils-noprefix}/bin/tee"; - options = [ "NOPASSWD" ]; - } - ]; - }]; - }; + security.sudo-rs = { + execWheelOnly = true; + wheelNeedsPassword = true; + extraRules = [{ + users = [ userName ]; + commands = with pkgs; [ + { + command = "${light}/bin/light"; + options = [ "NOPASSWD" ]; + } + { + command = "${uutils-coreutils-noprefix}/bin/tee"; + options = [ "NOPASSWD" ]; + } + ]; + }]; }; }; } diff --git a/modules/nixos/misc/nix.nix b/modules/nixos/misc/nix.nix index 6e99e3d..1932197 100644 --- a/modules/nixos/misc/nix.nix +++ b/modules/nixos/misc/nix.nix @@ -1,33 +1,24 @@ -{ pkgs, lib, config, userName, ... }: - -with lib; - -let cfg = config.module.misc.nix; -in { - options = { module.misc.nix = { enable = mkEnableOption ""; }; }; - - config = mkIf cfg.enable { - nix = { - package = pkgs.nix; - settings = { - warn-dirty = false; - experimental-features = [ "nix-command" "flakes" ]; - substituters = [ - "https://hyprland.cachix.org" # HYPRLAND - ]; - trusted-public-keys = [ - "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" # HYPRLAND - ]; - trusted-users = [ "${userName}" "@wheel" ]; - }; +{ pkgs, lib, userName, ... }: { + nix = { + package = pkgs.nix; + settings = { + warn-dirty = false; + experimental-features = [ "nix-command" "flakes" ]; + trusted-users = [ "${userName}" "@wheel" ]; + substituters = [ + "https://hyprland.cachix.org" # HYPRLAND + ]; + trusted-public-keys = [ + "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" # HYPRLAND + ]; }; + }; - nixpkgs = { - hostPlatform = lib.mkDefault "x86_64-linux"; - config = { # NIXPKGS SETS - allowBroken = true; - allowUnfree = true; - }; + nixpkgs = { + hostPlatform = lib.mkDefault "x86_64-linux"; + config = { # NIXPKGS SETS + allowBroken = true; + allowUnfree = true; }; }; } diff --git a/modules/nixos/programs/default.nix b/modules/nixos/programs/default.nix index cc723b2..9eae093 100644 --- a/modules/nixos/programs/default.nix +++ b/modules/nixos/programs/default.nix @@ -26,7 +26,7 @@ in { programs = { nano = False; light = True; - git = True // { package = pkgs.gitMinimal; }; + git = True // { package = mkDefault pkgs.gitMinimal; }; nh = True // { flake = flakeDir; }; }; }) @@ -40,7 +40,8 @@ in { (mkIf cfg.sway.enable { programs.sway = True // { package = pkgs.swayfx; }; }) - (mkIf cfg.hamachi.enable { programs.haguichi = True; }) + (mkIf cfg.hamachi.enable { services.logmein-hamachi = True; }) + (mkIf cfg.hamachi.gui.enable { programs.haguichi = True; }) (mkIf cfg.steam.enable { environment.systemPackages = with pkgs; [ protonup-qt ]; hardware.xone = True; diff --git a/modules/nixos/services/default.nix b/modules/nixos/services/default.nix index 7bf9717..f26e342 100644 --- a/modules/nixos/services/default.nix +++ b/modules/nixos/services/default.nix @@ -10,6 +10,7 @@ ./tailscale ./tlp ./transmission + ./zapret ./zram ]; } diff --git a/modules/nixos/services/getty/default.nix b/modules/nixos/services/getty/default.nix index 4b592a2..fb7a9ab 100644 --- a/modules/nixos/services/getty/default.nix +++ b/modules/nixos/services/getty/default.nix @@ -7,10 +7,7 @@ in { options = { module.services.getty = { enable = mkEnableOption ""; }; }; config = mkIf cfg.enable { - services.getty = { - autologinUser = userName; - greetingLine = "Good day my lord ahhhh ${userName}"; - }; + services.getty.greetingLine = "Good day my lord ahhhh ${userName}"; }; } diff --git a/modules/nixos/services/zapret/default.nix b/modules/nixos/services/zapret/default.nix new file mode 100644 index 0000000..e36b893 --- /dev/null +++ b/modules/nixos/services/zapret/default.nix @@ -0,0 +1,45 @@ +{ lib, config, True, ... }: + +with lib; + +let cfg = config.module.services.zapret; +in { + options = { module.services.zapret = { enable = mkEnableOption ""; }; }; + + config = mkIf cfg.enable { + services.zapret = True // { + params = + [ "--dpi-desync=fake" "--dpi-desync-ttl=8" "-dpi-desync-repeats=15" ]; + httpMode = "full"; + udpSupport = true; + udpPorts = [ "50000:50099" ]; + whitelist = [ + "animego.org" + "github.io" + "proton.me" + "youtube.com" + "googlevideo.com" + "ytimg.com" + "youtu.be" + "rutracker.org" + "rutracker.cc" + "rutrk.org" + "t-ru.org" + "medium.com" + "dis.gd" + "discord.co" + "discord.com" + "discord.dev" + "discord.gg" + "discord.gift" + "discord.media" + "discord.new" + "discordapp.com" + "discordapp.net" + "discordcdn.com" + "discordstatus.com" + ]; + }; + }; +} +