dotfiles

My PC Dotfiles & Website
commit 873345ba2183df535e58a9a430175f94dc466820
parent bf08879ff24da7930be9e7b980fb568d557949c0
Author: maydayv7 <maydayv7@gmail.com>
Date:   Wed, 17 Dec 2025 23:20:51 +0530

feat: Updates

- Add an AppImage manager
- Add a LaTeX Editor
- Fix GNOME Extensions
- Update kernel

Diffstat:

MCHANGELOG.md | 2++
Mdevices/valkyrie/default.nix | 3++-
Mfiles/gnome/menu.json | 4++--
Mlib/_mime.nix | 4++++
Mmodules/README.md | 2+-
Amodules/apps/latex.nix | 26++++++++++++++++++++++++++
Mmodules/apps/media.nix | 1+
Mmodules/apps/office.nix | 64+++++++++++++++++++++++++++++++++++++---------------------------
Mmodules/base/default.nix | 1+
Mmodules/gui/desktop/gnome/settings/extensions.nix | 23++++++++++++++++++-----
Mmodules/gui/desktop/hyprland/settings/keybinds.nix | 106++++++++++++++++++++++++++++++++++++++++++-------------------------------------
Mmodules/gui/desktop/pantheon/default.nix | 3---
Mmodules/hardware/boot.nix | 2+-
Mmodules/hardware/virtualisation/vfio.nix | 6++++--
Mmodules/user/home.nix | 5++++-
Mscripts/sysutils.nix | 2+-
16 files changed, 161 insertions(+), 93 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md @@ -2,6 +2,8 @@ ### December +- Add an AppImage manager +- Add a LaTeX Editor - GNOME Updates - Change terminal hotkeys - Use [`copyous`](https://github.com/boerdereinar/copyous) instead of `pano` for clipboard diff --git a/devices/valkyrie/default.nix b/devices/valkyrie/default.nix @@ -6,7 +6,7 @@ timezone = "Asia/Kolkata"; locale = "IN"; - kernel = "xanmod"; + kernel = "xanmod_latest"; kernelModules = [ "nvme" "thunderbolt" @@ -50,6 +50,7 @@ "firefox" "games" "git" + "latex" "media" "notes" "office" diff --git a/files/gnome/menu.json b/files/gnome/menu.json @@ -58,7 +58,7 @@ { "type": "switch", "title": "Android", - "icon": "goa-account-google-symbolic", + "icon": "im-google-symbolic", "start": "sh -c 'nohup waydroid session start > /dev/null 2>&1&'", "stop": "waydroid session stop", "check": "sh -c 'waydroid status | grep RUNNING'", @@ -67,7 +67,7 @@ { "type": "switch", "title": "Windows", - "icon": "goa-account-msn-symbolic", + "icon": "im-msn-symbolic", "start": "virsh -c qemu:///system start Windows", "stop": "virsh -c qemu:///system shutdown Windows", "check": "sh -c 'virsh -c qemu:///system list | grep Windows'", diff --git a/lib/_mime.nix b/lib/_mime.nix @@ -1,4 +1,6 @@ { + appimage = [ "application/x-executable" ]; + archive = [ "application/x-7z-compressed" "application/x-7z-compressed-tar" @@ -136,6 +138,8 @@ "image/x-tga" ]; + latex = [ "text/x-tex" ]; + magnet = [ "x-scheme-handler/magnet" ]; mail = [ "x-scheme-handler/mailto" ]; diff --git a/modules/README.md b/modules/README.md @@ -5,7 +5,7 @@ The `modules` directory contains custom-made pure Flakes-compatible configuratio Configuration [Builder](./configuration.nix) - [`apps`](./apps): Module that configures various apps and/or environments - - - `list`: List of enabled applications - `[ "discord" "firefox" "flatpak" "games" "git" "office" "spotify" "wine" ]` + - `list`: List of enabled applications - `[ "discord" "firefox" "flatpak" "games" "git" "latex" "media" "office" "spotify" "vscode" "wine" "youtube" ]` - `git` - - `hosting` - - `enable`: Enable Gitea Code Hosting - `true / false` diff --git a/modules/apps/latex.nix b/modules/apps/latex.nix @@ -0,0 +1,26 @@ +{ + config, + lib, + util, + pkgs, + ... +}: +let + enable = builtins.elem "latex" config.apps.list; +in +{ + ## LaTeX Configuration ## + config = lib.mkIf enable { + environment.systemPackages = with pkgs; [ + texliveFull + setzer + ]; + + user = { + persist.directories = [ ".config/setzer" ]; + homeConfig.xdg.mimeApps.defaultApplications = util.build.mime { + latex = [ "org.cvfosammmm.Setzer.desktop" ]; + }; + }; + }; +} diff --git a/modules/apps/media.nix b/modules/apps/media.nix @@ -15,6 +15,7 @@ in pitivi pwvucontrol qpwgraph + vipsdisp inputs.stremio.packages.${pkgs.stdenv.system}.stremio-linux-shell ]; diff --git a/modules/apps/office.nix b/modules/apps/office.nix @@ -41,10 +41,12 @@ in environment.systemPackages = with pkgs; [ # Productivity calibre - simple-scan + clapgrep gscan2pdf libreoffice onlyoffice-desktopeditors + pdfarranger + simple-scan # Graphics drawing @@ -63,6 +65,7 @@ in zoom-us # Utilities + gearlever hunspell hunspellDicts.en_US-large hyphen @@ -82,39 +85,46 @@ in user = { # Persisted Files - persist.files = [ - ".config/gscan2pdfrc" - ".config/zoomus.conf" - ]; - - persist.directories = [ - ".calibre" - ".thunderbird" - ".zoom" - ".config/BraveSoftware" - ".config/calibre" - ".config/GIMP" - ".config/inkscape" - ".config/libreoffice" - ".config/obs-studio" - ".config/onlyoffice" - ".config/wasistlos" - ".local/share/data" - ".local/share/onlyoffice" - ".local/share/wasistlos" - ".cache/BraveSoftware" - ".cache/gimp" - ".cache/thunderbird" - ".cache/wasistlos" - ".cache/zoom" - ]; + persist = { + files = [ + ".config/gscan2pdfrc" + ".config/zoomus.conf" + ]; + directories = [ + ".appimages" + ".calibre" + ".thunderbird" + ".zoom" + ".config/BraveSoftware" + ".config/calibre" + ".config/de.leopoldluley.Clapgrep" + ".config/GIMP" + ".config/inkscape" + ".config/libreoffice" + ".config/obs-studio" + ".config/onlyoffice" + ".config/wasistlos" + ".local/share/data" + ".local/share/onlyoffice" + ".local/share/wasistlos" + ".cache/BraveSoftware" + ".cache/gimp" + ".cache/thunderbird" + ".cache/wasistlos" + ".cache/zoom" + ]; + }; homeConfig = { # File Associations xdg.mimeApps.defaultApplications = util.build.mime { + appimage = [ "it.mijorus.gearlever.desktop" ]; office = [ "onlyoffice-desktopeditors.desktop" ]; }; + # AppImage Manager + dconf.settings."it/mijorus/gearlever".appimages-default-folder = "~/.appimages"; + home.file = { # Document Templates "Templates" = rec { diff --git a/modules/base/default.nix b/modules/base/default.nix @@ -82,6 +82,7 @@ in systemPackages = with pkgs; [ custom.nixos cryptsetup + file inxi killall man-pages diff --git a/modules/gui/desktop/gnome/settings/extensions.nix b/modules/gui/desktop/gnome/settings/extensions.nix @@ -16,6 +16,7 @@ let inherit (lib) foldr + getExe hm listToAttrs mkForce @@ -95,10 +96,6 @@ let settings.hide-on = 80; } { - package = brightness-control-using-ddcutil; - settings.hide-system-indicator = true; - } - { package = color-picker; settings.enable-format = true; } @@ -142,6 +139,16 @@ let }; } { + package = brightness-control-using-ddcutil; + settings = { + button-location = 1; + ddcutil-binary-path = getExe pkgs.ddcutil; + hide-system-indicator = true; + increase-brightness-shortcut = [ "<Shift>XF86MonBrightnessUp" ]; + decrease-brightness-shortcut = [ "<Shift>XF86MonBrightnessDown" ]; + }; + } + { package = emoji-copy; settings = { active-keybind = true; @@ -207,11 +214,17 @@ let package = bluetooth-battery-meter; name = "Bluetooth-Battery-Meter"; settings = { + disable-level-in-icon = true; enable-battery-indicator-text = false; - enable-battery-level-text = true; + enable-battery-level-icon = false; + enable-battery-level-text = false; + enable-multi-indicator-mode = false; enable-upower-level-icon = true; + hide-bluetooth-indicator = 0; + indicator-type = 1; level-indicator-color = 0; level-indicator-type = 0; + popup-in-quick-settings = false; swap-icon-text = false; }; } diff --git a/modules/gui/desktop/hyprland/settings/keybinds.nix b/modules/gui/desktop/hyprland/settings/keybinds.nix @@ -83,6 +83,12 @@ in '', Print, exec, sh -c "pgrep slurp || grimblast --notify --freeze copysave area"'' "CTRL, Print, exec, grimblast --notify --cursor copysave active" "SHIFT, Print, exec, grimblast --notify --cursor copysave output" + + # Submaps + "$mod SHIFT, Escape, exec, sysutils toggle service waycorner" + "$mod SHIFT, Escape, submap, Inhibit" + "$mod, R, submap, Resize" + "$mod, M, submap, Move" ] ++ # Workspaces @@ -141,61 +147,63 @@ in }; ## Submaps - extraConfig = '' + submaps = { # Inhibit Keybinds - bind = $mod SHIFT, Escape, exec, sysutils toggle service waycorner - bind = $mod SHIFT, Escape, submap, Inhibit - submap = Inhibit - bind = $mod SHIFT, Escape, exec, sysutils toggle service waycorner - bind = $mod SHIFT, Escape, submap, reset - submap = reset + Inhibit.settings.bind = [ + "$mod SHIFT, Escape, exec, sysutils toggle service waycorner" + "$mod SHIFT, Escape, submap, reset" + ]; # Window Resize - bind = $mod, R, submap, Resize - submap = Resize - binde = , right, resizeactive, 10 0 - binde = , left, resizeactive, -10 0 - binde = , up, resizeactive, 0 -10 - binde = , down, resizeactive, 0 10 - bindm = , mouse:272, resizewindow - bind = , escape, submap, reset - bind = $mod, R, submap, reset - submap = reset + Resize.settings = { + binde = [ + ", right, resizeactive, 10 0" + ", left, resizeactive, -10 0" + ", up, resizeactive, 0 -10" + ", down, resizeactive, 0 10" + ]; + bindm = [ ", mouse:272, resizewindow" ]; + bind = [ + ", escape, submap, reset" + "$mod, R, submap, reset" + ]; + }; # Window Movement - bind = $mod, M, submap, Move - submap = Move - bindm = , mouse:272, movewindow - bind = , C, centerwindow - bind = , P, pin - bind = , left, movewindoworgroup, l - bind = , right, movewindoworgroup, r - bind = , up, movewindoworgroup, u - bind = , down, movewindoworgroup, d - bind = SHIFT, left, moveactive, -30 0 - bind = SHIFT, right, moveactive, 30 0 - bind = SHIFT, up, moveactive, 0 -30 - bind = SHIFT, down, moveactive, 0 30 - bind = , comma, split:movetoworkspace, r-1 - bind = , period, split:movetoworkspace, r+1 - bind = , escape, submap, reset - bind = $mod, M, submap, reset - submap = reset + Move.settings = { + bind = [ + ", C, centerwindow" + ", P, pin" + ", left, movewindoworgroup, l" + ", right, movewindoworgroup, r" + ", up, movewindoworgroup, u" + ", down, movewindoworgroup, d" + "SHIFT, left, moveactive, -30 0" + "SHIFT, right, moveactive, 30 0" + "SHIFT, up, moveactive, 0 -30" + "SHIFT, down, moveactive, 0 30" + ", comma, split:movetoworkspace, r-1" + ", period, split:movetoworkspace, r+1" + ", escape, submap, reset" + "$mod, M, submap, reset" + ]; + bindm = [ ", mouse:272, movewindow" ]; + }; # Window Minimization - submap = Minimized - bind = , left, movefocus, l - bind = , right, movefocus, r - bind = , up, movefocus, u - bind = , down, movefocus, d - bind = , Q, killactive, - bind = , Return, movetoworkspace, +0 - bind = , Return, submap, reset - bind = , mouse:272, movetoworkspace, +0 - bind = , mouse:272, submap, reset - bind = , escape, togglespecialworkspace, minimized - bind = , escape, submap, reset - submap = reset - ''; + Minimized.settings.bind = [ + ", left, movefocus, l" + ", right, movefocus, r" + ", up, movefocus, u" + ", down, movefocus, d" + ", Q, killactive," + ", Return, movetoworkspace, +0" + ", Return, submap, reset" + ", mouse:272, movetoworkspace, +0" + ", mouse:272, submap, reset" + ", escape, togglespecialworkspace, minimized" + ", escape, submap, reset" + ]; + }; }; } diff --git a/modules/gui/desktop/pantheon/default.nix b/modules/gui/desktop/pantheon/default.nix @@ -65,14 +65,11 @@ in environment.systemPackages = with pkgs.pantheon // pkgs; [ appeditor pantheon-tweaks - torrential ]; # Persisted Files user.persist.directories = [ ".config/evolution" - ".config/plank" - ".config/torrential" ".local/share/contractor" ".local/share/evolution" ".local/share/Emote" diff --git a/modules/hardware/boot.nix b/modules/hardware/boot.nix @@ -90,7 +90,7 @@ in }; }) - ## SystemD EFI Boot Loader ## + ## SYSTEMD EFI Boot Loader ## (mkIf (loader == "efi") { boot.loader.systemd-boot = { enable = mkForce true; diff --git a/modules/hardware/virtualisation/vfio.nix b/modules/hardware/virtualisation/vfio.nix @@ -59,13 +59,12 @@ in hardware.vm.vfio = mkForce "setup"; }; - hardware.gpu = mkForce null; boot = { kernelParams = [ + "iommu=pt" "amd_iommu=pt" "intel_iommu=pt" "i915.enable_gvt=1" - "iommu=pt" "kvm.ignore_msrs=1" "kvm.report_ignored_msrs=0" ("vfio-pci.ids=" + concatStringsSep "," cfg.passthrough) @@ -78,6 +77,7 @@ in "vfio_virqfd" ]; + # Disable GPU blacklistedKernelModules = [ "nvidia" "nvidia_drm" @@ -86,6 +86,8 @@ in ]; }; + hardware.gpu = mkForce null; + # Looking Glass user.groups = [ "qemu-libvirtd" ]; systemd.tmpfiles.rules = [ "f /dev/shm/looking-glass 0660 root qemu-libvirtd -" ]; diff --git a/modules/user/home.nix b/modules/user/home.nix @@ -16,7 +16,10 @@ ./mutable.nix ]; - # SystemD User Services + # Update News + news.display = "show"; + + # User Services systemd.user = { enable = true; startServices = true; diff --git a/scripts/sysutils.nix b/scripts/sysutils.nix @@ -18,7 +18,7 @@ let volume [up,down,mute] - Volume Controls media [next,previous,toggle] - Media Controls toggle  - service ['name'] - Toggle SystemD Service + service ['name'] - Toggle SYSTEMD Service ''; in recursiveUpdate