From 2d8424983be8322f3056fa6ddb41684273e04b03 Mon Sep 17 00:00:00 2001 From: ChUrl Date: Mon, 17 Apr 2023 18:55:00 +0200 Subject: [PATCH] Continue configuring nnn --- home/christoph/default.nix | 69 ++++++++++++++++++++++++++++++++++++-- home/modules/hyprland.nix | 47 ++++++++++++++------------ 2 files changed, 92 insertions(+), 24 deletions(-) diff --git a/home/christoph/default.nix b/home/christoph/default.nix index 09de3b01..d3a8707a 100644 --- a/home/christoph/default.nix +++ b/home/christoph/default.nix @@ -59,7 +59,7 @@ rec { firefox = { enable = true; wayland = true; - vaapi = false; # TODO: Crashes AMDGPU driver + vaapi = false; # NOTE: Crashes AMDGPU driver fairly often (don't know why exactly) disableTabBar = true; defaultBookmarks = true; gnomeTheme = true; # I like it also with Plasma @@ -71,11 +71,15 @@ rec { enable = true; autoUpdate = true; autoPrune = true; + fontFix = true; + iconFix = true; flatseal.enable = true; discord.enable = true; spotify.enable = true; - bottles.enable = true; + bottles.enable = false; + obsidian.enable = true; + jabref.enable = true; }; gnome = { @@ -186,6 +190,19 @@ rec { # TODO: Symlink this, so the config doesn't have to be rebuilt every time home.file.".local/share/navi/cheats/christoph.cheat".source = ../../config/navi/christoph.cheat; + # TODO: NNN module + xdg.desktopEntries.nnn = { + type = "Application"; + name = "nnn"; + comment = "Terminal file manager"; + exec = "nnn"; + terminal = true; + icon = "nnn"; + mimeType = ["inode/directory"]; + categories = ["System" "FileTools" "FileManager" "ConsoleOnly"]; + # keywords = ["File" "Manager" "Management" "Explorer" "Launcher"]; + }; + home = { username = username; # Inherited from flake.nix homeDirectory = "/home/${home.username}"; @@ -210,6 +227,9 @@ rec { NIXOS_OZONE_WL = "1"; SDL_VIDEODRIVER = "wayland"; + # TODO: NNN Module + NNN_FIFO = "/tmp/nnn.fifo"; # For nnn preview + # Don't use system wine, use bottles # WINEESYNC = 1; # WINEFSYNC = 1; @@ -495,6 +515,51 @@ rec { enableFishIntegration = config.modules.fish.enable; }; + nnn = { + package = pkgs.nnn.override { withNerdIcons = true; }; + enable = true; + + extraPackages = with pkgs; [ + atool # Archive preview + ffmpegthumbnailer # Video thumbnails + mediainfo + tree # Folder preview + xdragon # Drag and drop (why man) + ]; + + bookmarks = { + d = "~/Documents"; + D = "~/Downloads"; + n = "~/Notes"; + t = "~/Notes/TU"; + h = "~/Notes/HHU"; + N = "~/NixFlake"; + p = "~/Pictures"; + v = "~/Videos"; + }; + + plugins = { + mappings = { + c = "fzcd"; + d = "dragdrop"; + f = "finder"; + j = "autojump"; + k = "kdeconnect"; + p = "preview-tui"; + # s = "suedit"; + # s = "x2sel"; + v = "imgview"; + }; + + src = (pkgs.fetchFromGitHub { + owner = "jarun"; + repo = "nnn"; + rev = "v4.8"; + sha256 = "sha256-QbKW2wjhUNej3zoX18LdeUHqjNLYhEKyvPH2MXzp/iQ="; + }) + "/plugins"; + }; + }; + nushell = { enable = true; }; diff --git a/home/modules/hyprland.nix b/home/modules/hyprland.nix index a6ff5984..67d7de2c 100644 --- a/home/modules/hyprland.nix +++ b/home/modules/hyprland.nix @@ -27,35 +27,38 @@ in { }; home.packages = with pkgs; [ - hyprpaper + hyprpaper # Wallpaper setter + wl-clipboard + clipman # Clipboard manager (wl-paste) + imv # Image viewer # TODO: These are mostly also present in the Plasma module, find a way to unify this? libsForQt5.qt5ct # QT Configurator for unintegrated desktops - libsForQt5.ark - libsForQt5.breeze-gtk - libsForQt5.breeze-icons - libsForQt5.breeze-qt5 - libsForQt5.dolphin - libsForQt5.dolphin-plugins - libsForQt5.ffmpegthumbs - libsForQt5.gwenview - libsForQt5.kalendar - libsForQt5.kate - libsForQt5.kcalc - libsForQt5.kcharselect - libsForQt5.kcolorpicker - libsForQt5.kdenetwork-filesharing - libsForQt5.kdegraphics-thumbnailers - libsForQt5.kfind - libsForQt5.kgpg + # libsForQt5.ark + libsForQt5.breeze-gtk # TODO: Remove + libsForQt5.breeze-icons # TODO: Remove + libsForQt5.breeze-qt5 # TODO: Remove + libsForQt5.dolphin # TODO: Replace + libsForQt5.dolphin-plugins # TODO: Remove + # libsForQt5.ffmpegthumbs + # libsForQt5.gwenview + # libsForQt5.kalendar + # libsForQt5.kate + # libsForQt5.kcalc + # libsForQt5.kcharselect + # libsForQt5.kcolorpicker + # libsForQt5.kdenetwork-filesharing + # libsForQt5.kdegraphics-thumbnailers + # libsForQt5.kfind + # libsForQt5.kgpg libsForQt5.kmail - libsForQt5.kompare # Can't be used as git merge tool, but more integrated than kdiff3 - libsForQt5.ksystemlog + # libsForQt5.kompare # Can't be used as git merge tool, but more integrated than kdiff3 + # libsForQt5.ksystemlog libsForQt5.kwallet # TODO: How does this integrate with hyprland? libsForQt5.kwalletmanager # TODO: Same as above - libsForQt5.kwrited + # libsForQt5.kwrited libsForQt5.okular - libsForQt5.plasma-systemmonitor + # libsForQt5.plasma-systemmonitor libsForQt5.polkit-kde-agent libsForQt5.spectacle libsForQt5.skanlite