From bf430f5b710cb24b67d75a75e77b841c5981ed38 Mon Sep 17 00:00:00 2001 From: martyTF Date: Mon, 22 Dec 2025 08:15:54 +0100 Subject: [PATCH] honestly just wayyy too muchz liek media and stuff and fixing shit and iinstalling adblock on browser by default cool shiz --- flake.lock | 179 +++++++++-------------- hosts/marty-latitude/default.nix | 1 + hosts/marty-latitude/home.nix | 10 +- hosts/marty-pc/default.nix | 9 ++ hosts/marty-pc/hardware.nix | 10 ++ hosts/marty-pc/home.nix | 44 ++---- hosts/marty-server/home.nix | 3 - modules/default.nix | 1 + modules/defaults/desktop.nix | 14 +- modules/defaults/laptop.nix | 6 +- modules/desktop/hyprland.nix | 63 ++++---- modules/development/vscodium.nix | 6 + modules/internet/browser/zen-browser.nix | 60 +++++++- modules/media/audio.nix | 27 ++++ modules/media/default.nix | 14 ++ modules/media/images.nix | 31 ++++ modules/media/video.nix | 33 +++++ modules/terminal/file-manager.nix | 45 +++++- modules/terminal/kitty.nix | 60 +++++++- system/fira-code.nix | 6 +- 20 files changed, 436 insertions(+), 186 deletions(-) create mode 100644 modules/media/audio.nix create mode 100644 modules/media/default.nix create mode 100644 modules/media/images.nix create mode 100644 modules/media/video.nix diff --git a/flake.lock b/flake.lock index 632b532..193b23f 100644 --- a/flake.lock +++ b/flake.lock @@ -6,11 +6,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1765715259, - "narHash": "sha256-fqj1c3RVPrwOdJgg5AiH69LBiFozHsCu3mOnxUevG6g=", + "lastModified": 1766069388, + "narHash": "sha256-PSFrMcVBKV+TiEgLyt2EPxOTlzmIPers+HFgh+cxkJs=", "owner": "abenz1267", "repo": "elephant", - "rev": "3cd81164d20b266288d3febcd0390b2e21f30c48", + "rev": "8fa6fc252ebfa92c4175dd41827df9ab5c196003", "type": "github" }, "original": { @@ -35,6 +35,22 @@ "type": "github" } }, + "flake-compat_2": { + "flake": false, + "locked": { + "lastModified": 1747046372, + "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, "flake-parts": { "inputs": { "nixpkgs-lib": "nixpkgs-lib" @@ -53,24 +69,6 @@ "type": "github" } }, - "flake-utils": { - "inputs": { - "systems": "systems_2" - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "home-manager": { "inputs": { "nixpkgs": [ @@ -78,11 +76,11 @@ ] }, "locked": { - "lastModified": 1765682243, - "narHash": "sha256-yeCxFV/905Wr91yKt5zrVvK6O2CVXWRMSrxqlAZnLp0=", + "lastModified": 1766282146, + "narHash": "sha256-0V/nKU93KdYGi+5LB/MVo355obBJw/2z9b2xS3bPJxY=", "owner": "nix-community", "repo": "home-manager", - "rev": "58bf3ecb2d0bba7bdf363fc8a6c4d49b4d509d03", + "rev": "61fcc9de76b88e55578eb5d79fc80f2b236df707", "type": "github" }, "original": { @@ -91,40 +89,19 @@ "type": "github" } }, - "nix-options-doc": { - "inputs": { - "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs_2", - "rust-overlay": "rust-overlay" - }, - "locked": { - "lastModified": 1742115705, - "narHash": "sha256-RfXwJPWBoWswIU68+y/XZfTWtFHd/fK14bKvOlRmfPo=", - "owner": "Thunderbottom", - "repo": "nix-options-doc", - "rev": "2caa4b5756a8666d65d70122f413e295f56886e7", - "type": "github" - }, - "original": { - "owner": "Thunderbottom", - "ref": "v0.2.0", - "repo": "nix-options-doc", - "type": "github" - } - }, "nixos-cli": { "inputs": { "flake-compat": "flake-compat", "flake-parts": "flake-parts", - "nix-options-doc": "nix-options-doc", - "nixpkgs": "nixpkgs_3" + "nixpkgs": "nixpkgs_2", + "optnix": "optnix" }, "locked": { - "lastModified": 1765423663, - "narHash": "sha256-ToKVLDYAzKyStJgCA7W+RZObvwABK9fQ8i1wLUUOdLM=", + "lastModified": 1766287443, + "narHash": "sha256-voUed/NmqwJuCjZDgRp9H8LLECyrEB2QAXhM/slePwU=", "owner": "nix-community", "repo": "nixos-cli", - "rev": "a2019789319c1678be8dc68ecf34c83f948e7475", + "rev": "5a856cb469b7565e79cf12c1607fce29b6d5d371", "type": "github" }, "original": { @@ -165,22 +142,6 @@ } }, "nixpkgs_2": { - "locked": { - "lastModified": 1740695751, - "narHash": "sha256-D+R+kFxy1KsheiIzkkx/6L63wEHBYX21OIwlFV8JvDs=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "6313551cd05425cd5b3e63fe47dbc324eabb15e4", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_3": { "locked": { "lastModified": 1764527385, "narHash": "sha256-nA5ywiGKl76atrbdZ5Aucd8SjF/v8ew9b9QsC+MKL14=", @@ -196,13 +157,29 @@ "type": "github" } }, + "nixpkgs_3": { + "locked": { + "lastModified": 1759070547, + "narHash": "sha256-JVZl8NaVRYb0+381nl7LvPE+A774/dRpif01FKLrYFQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "647e5c14cbd5067f44ac86b74f014962df460840", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs_4": { "locked": { - "lastModified": 1765472234, - "narHash": "sha256-9VvC20PJPsleGMewwcWYKGzDIyjckEz8uWmT0vCDYK0=", + "lastModified": 1766070988, + "narHash": "sha256-G/WVghka6c4bAzMhTwT2vjLccg/awmHkdKSd2JrycLc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2fbfb1d73d239d2402a8fe03963e37aab15abe8b", + "rev": "c6245e83d836d0433170a16eb185cefe0572f8b8", "type": "github" }, "original": { @@ -228,6 +205,25 @@ "type": "github" } }, + "optnix": { + "inputs": { + "flake-compat": "flake-compat_2", + "nixpkgs": "nixpkgs_3" + }, + "locked": { + "lastModified": 1765418479, + "narHash": "sha256-33VCCXiEnEL9N2wVxo9FHLwL8KWH6qk+MNRcSThOPWs=", + "owner": "water-sucks", + "repo": "optnix", + "rev": "01facc3de860bf479723bf19535586564e59fe73", + "type": "github" + }, + "original": { + "owner": "water-sucks", + "repo": "optnix", + "type": "github" + } + }, "root": { "inputs": { "elephant": "elephant", @@ -238,28 +234,6 @@ "zen-browser": "zen-browser" } }, - "rust-overlay": { - "inputs": { - "nixpkgs": [ - "nixos-cli", - "nix-options-doc", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1740796337, - "narHash": "sha256-FuoXrXZPoJEZQ3PF7t85tEpfBVID9JQIOnVKMNfTAb0=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "bbac9527bc6b28b6330b13043d0e76eac11720dc", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - }, "systems": { "locked": { "lastModified": 1689347949, @@ -276,21 +250,6 @@ } }, "systems_2": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_3": { "locked": { "lastModified": 1689347949, "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", @@ -311,14 +270,14 @@ "elephant" ], "nixpkgs": "nixpkgs_5", - "systems": "systems_3" + "systems": "systems_2" }, "locked": { - "lastModified": 1765305269, - "narHash": "sha256-2OQsyZaO2Uy6EnDLcDZGBbDEa0X1WuZ4NoZ5kW52OeA=", + "lastModified": 1766324177, + "narHash": "sha256-7Y8Pqn12ovZ2nH1y+rxMbliUPhY4cu/iB0cwSNHTMZY=", "owner": "abenz1267", "repo": "walker", - "rev": "132004947c5c877f510177d8c68f754e37169ecc", + "rev": "fb6152710c450a4b81342db42857de4aea049716", "type": "github" }, "original": { diff --git a/hosts/marty-latitude/default.nix b/hosts/marty-latitude/default.nix index bac0778..66ac63a 100644 --- a/hosts/marty-latitude/default.nix +++ b/hosts/marty-latitude/default.nix @@ -31,4 +31,5 @@ programs = { light.enable = true; }; + services.flatpak.enable = true; } diff --git a/hosts/marty-latitude/home.nix b/hosts/marty-latitude/home.nix index a5e8ac1..66c2bec 100644 --- a/hosts/marty-latitude/home.nix +++ b/hosts/marty-latitude/home.nix @@ -76,21 +76,15 @@ # # /etc/profiles/per-user/marty/etc/profile.d/hm-session-vars.sh # - home.sessionVariables = { - EDITOR = "codium"; - GTK_THEME = "Adwaita:dark"; - TERM = "xterm-kitty"; - }; - + device.type.laptop = true; - + desktop.hyprland = { monitors = [ "desc:InfoVision Optoelectronics (Kunshan) Co.Ltd China 0x057E, 1366x768@60,0x0,1" ]; }; - imports = [ inputs.walker.homeManagerModules.default ./../../modules diff --git a/hosts/marty-pc/default.nix b/hosts/marty-pc/default.nix index 6a292ef..d4b95aa 100644 --- a/hosts/marty-pc/default.nix +++ b/hosts/marty-pc/default.nix @@ -29,6 +29,15 @@ marty = import ./home.nix; }; }; + programs.steam = { + enable = true; + remotePlay.openFirewall = true; + dedicatedServer.openFirewall = true; + localNetworkGameTransfers.openFirewall = true; + gamescopeSession.enable = true; + protontricks.enable = true; + }; + services.flatpak.enable = true; imports = [ ./hardware.nix ]; security.polkit = { diff --git a/hosts/marty-pc/hardware.nix b/hosts/marty-pc/hardware.nix index 2a29ea3..d934fcd 100644 --- a/hosts/marty-pc/hardware.nix +++ b/hosts/marty-pc/hardware.nix @@ -36,6 +36,16 @@ "dmask=0077" ]; }; + fileSystems = { + "/mnt/SSD" = { + device = "/dev/disk/by-uuid/af5282f0-0e02-4532-902f-97509af70d11"; + fsType = "ext4"; + }; + "/mnt/HDD" = { + device = "/dev/disk/by-uuid/41e7ec41-2e43-4254-9f00-f4be98cddc6e"; + fsType = "ext4"; + }; + }; swapDevices = [ { device = "/dev/disk/by-uuid/24ecde92-b41b-4e41-8ebc-950d321db477"; } diff --git a/hosts/marty-pc/home.nix b/hosts/marty-pc/home.nix index 676c720..48737ac 100644 --- a/hosts/marty-pc/home.nix +++ b/hosts/marty-pc/home.nix @@ -76,37 +76,21 @@ # # /etc/profiles/per-user/marty/etc/profile.d/hm-session-vars.sh # - home.sessionVariables = { - EDITOR = "codium"; + + device.type.desktop = true; + + desktop = { + hyprland = { + enable = true; + numlock = true; + monitors = [ + "desc:AOC Q27G2WG4 0x00005F45, 2560x1440@144, 3840x0, 1 # main monitor" + "desc:Samsung Electric Company S24D330 0x5A5A5131, 1920x1080@60, 3840x1440, 1 # side monitor" + "desc:Panasonic Industry Company Panasonic-TV, 3840x2160@30, 0x0, 1 # tv" + ]; + }; }; - - # device = { - # type = "desktop"; - # }; - # development = { - # vscodium.enable = true; - # git.enable = true; - # }; - # terminal = { - # kitty.enable = true; - # }; - # desktop = { - # hyprland = { - # enable = false; - # numlock = true; - # monitors = [ - # "monitor = desc:AOC Q27G2WG4 0x00005F45, 2560x1440@144, 3840x0, 1 # main monitor" - # "monitor = desc:Samsung Electric Company S24D330 0x5A5A5131, 1920x1080@60, 3840x1440, 1 # side monitor" - # "monitor = desc:Panasonic Industry Company Panasonic-TV, 3840x2160@30, 0x0, 1 # tv" - # ]; - # }; - # rofi.enable = true; - # walker.enable = true; - # wallpaper.enable = true; - # }; - # misc = { - # bitwarden.enable = true; - # }; + gaming.steam.enable = true; imports = [ inputs.walker.homeManagerModules.default diff --git a/hosts/marty-server/home.nix b/hosts/marty-server/home.nix index 7898604..13cfd08 100644 --- a/hosts/marty-server/home.nix +++ b/hosts/marty-server/home.nix @@ -76,9 +76,6 @@ # # /etc/profiles/per-user/marty/etc/profile.d/hm-session-vars.sh # - home.sessionVariables = { - EDITOR = "codium"; - }; development = { vscodium.enable = false; diff --git a/modules/default.nix b/modules/default.nix index b28bf40..477ac19 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -14,5 +14,6 @@ ./misc ./gaming ./internet + ./media ]; } diff --git a/modules/defaults/desktop.nix b/modules/defaults/desktop.nix index 0e18fdd..9d2038f 100644 --- a/modules/defaults/desktop.nix +++ b/modules/defaults/desktop.nix @@ -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; + }; }; -} \ No newline at end of file +} diff --git a/modules/defaults/laptop.nix b/modules/defaults/laptop.nix index dc9d987..4c32f76 100644 --- a/modules/defaults/laptop.nix +++ b/modules/defaults/laptop.nix @@ -33,5 +33,9 @@ }; }; }; + media = { + images.nomacs.enable = true; + video.mpv.enable = true; + }; }; -} \ No newline at end of file +} diff --git a/modules/desktop/hyprland.nix b/modules/desktop/hyprland.nix index 9275dd3..c627fa0 100644 --- a/modules/desktop/hyprland.nix +++ b/modules/desktop/hyprland.nix @@ -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" diff --git a/modules/development/vscodium.nix b/modules/development/vscodium.nix index ae67c51..e1a0e1b 100644 --- a/modules/development/vscodium.nix +++ b/modules/development/vscodium.nix @@ -28,5 +28,11 @@ esbenp.prettier-vscode ]; }; + home.packages = with pkgs; [ + nixfmt-rfc-style + ]; + home.sessionVariables = { + EDITOR = lib.mkDefault "codium"; + }; }; } diff --git a/modules/internet/browser/zen-browser.nix b/modules/internet/browser/zen-browser.nix index bb4801b..1c32424 100644 --- a/modules/internet/browser/zen-browser.nix +++ b/modules/internet/browser/zen-browser.nix @@ -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"; + } + ]; + }; + }; + } + ) ]; }; } diff --git a/modules/media/audio.nix b/modules/media/audio.nix new file mode 100644 index 0000000..fa60ac2 --- /dev/null +++ b/modules/media/audio.nix @@ -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) + ]; + }; +} diff --git a/modules/media/default.nix b/modules/media/default.nix new file mode 100644 index 0000000..88e11ab --- /dev/null +++ b/modules/media/default.nix @@ -0,0 +1,14 @@ +{ + config, + lib, + pkgs, + ... +}: + +{ + imports = [ + ./images.nix + ./video.nix + ./audio.nix + ]; +} diff --git a/modules/media/images.nix b/modules/media/images.nix new file mode 100644 index 0000000..cdb53f3 --- /dev/null +++ b/modules/media/images.nix @@ -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) + + ]; + }; +} diff --git a/modules/media/video.nix b/modules/media/video.nix new file mode 100644 index 0000000..724e7a6 --- /dev/null +++ b/modules/media/video.nix @@ -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; + }; + }; + }; +} diff --git a/modules/terminal/file-manager.nix b/modules/terminal/file-manager.nix index e65b21f..3de4f7d 100644 --- a/modules/terminal/file-manager.nix +++ b/modules/terminal/file-manager.nix @@ -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 - ]; }; } diff --git a/modules/terminal/kitty.nix b/modules/terminal/kitty.nix index 58ce344..0fa9daf 100644 --- a/modules/terminal/kitty.nix +++ b/modules/terminal/kitty.nix @@ -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"; + }; }; } diff --git a/system/fira-code.nix b/system/fira-code.nix index ce3ae87..40e380e 100644 --- a/system/fira-code.nix +++ b/system/fira-code.nix @@ -7,7 +7,7 @@ { environment.systemPackages = [ pkgs.nerd-fonts.fira-code ]; - console = { - font = "FiraCode Nerd Font"; - }; + # console = { + # font = "FiraCode Nerd Font"; + # }; }