dotfiles

My PC Dotfiles & Website
commit c3c55851c5f018cc0c0858f097f756703d77cc25
parent 816f467f4745c9740e6b48b269030d0657411408
Author: maydayv7 <maydayv7@gmail.com>
Date:   Sun, 27 Oct 2024 01:34:15 +0530

fix: QOL Improvements

Diffstat:

MREADME.md | 4++++
Mdevices/valkyrie/drivers.nix | 25++++++++++++++++++++++++-
Mfiles/gnome/settings/default.nix | 33+++++++++++++++++++++++++++++----
Mfiles/gnome/settings/extensions.nix | 4++--
Mfiles/gnome/shortcuts.json | 22+++++++++++++++-------
Mmodules/apps/vscode.nix | 5+++--
Mmodules/base/default.nix | 5+++--
Mpackages/gnome-pano/default.nix | 4++--
Mpackages/gnome-pano/imports.patch | 18+++++++++++++-----
9 files changed, 95 insertions(+), 25 deletions(-)

diff --git a/README.md b/README.md @@ -778,6 +778,10 @@ You can navigate to the `README`s present in the various directories to know mor - Home Configuration isn't be decoupled from System - [Wine](./packages/wine) Applications have to be manually updated +### TO FIX + +- GNOME [Pano](https://github.com/oae/gnome-shell-pano) needs to be manually updated till upstream stabilises + </details> > Last Updated: **October** 2024 diff --git a/devices/valkyrie/drivers.nix b/devices/valkyrie/drivers.nix @@ -15,17 +15,40 @@ in { evdev:name:Asus Keyboard:* KEYBOARD_KEY_7003f=print ''; + + asusd = { + enable = true; + enableUserService = true; + asusdConfig = '' + ( + boot_sound: false, + change_throttle_policy_on_ac: true, + change_throttle_policy_on_battery: true, + charge_control_end_threshold: 95, + disable_nvidia_powerd_on_battery: true, + mini_led_mode: false, + panel_od: false, + throttle_balanced_epp: BalancePower, + throttle_performance_epp: Performance, + throttle_policy_linked_epp: true, + throttle_policy_on_ac: Performance, + throttle_policy_on_battery: Quiet, + throttle_quiet_epp: Power, + )''; + }; }; - #!# Run 'amixer -c 2 sset "Internal Mic Boost" 0' if microphone is garbled + #!# Run 'amixer -c <device> sset "Internal Mic Boost" 0' if microphone is garbled hardware = { vm.passthrough = ["10de:28e0" "10de:22be"]; nvidia = { dynamicBoost.enable = true; + powerManagement.enable = true; prime = { nvidiaBusId = mkForce "PCI:1:0:0"; amdgpuBusId = mkForce "PCI:101:0:0"; + sync.enable = false; reverseSync.enable = mkForce mode; offload = { diff --git a/files/gnome/settings/default.nix b/files/gnome/settings/default.nix @@ -6,6 +6,7 @@ }: with lib.hm.gvariant; let fonts = sys.fonts.fontconfig.defaultFonts; + asus = sys.services.asusd.enable; in { imports = util.map.modules.list ./.; @@ -92,10 +93,16 @@ in { window-screenshot = ["<Primary>Print"]; window-screenshot-clip = []; www = ["<Super>w"]; - custom-keybindings = [ - "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/" - "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/" - ]; + custom-keybindings = + [ + "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/" + "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/" + "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2/" + ] + ++ lib.optionals asus [ + "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom3/" + "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom4/" + ]; }; "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = { @@ -110,6 +117,24 @@ in { name = "Terminal"; }; + "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2" = { + binding = "<Super><Shift>t"; + command = "gnome-text-editor"; + name = "Text Editor"; + }; + + "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom3" = lib.mkIf asus { + binding = "Launch3"; + command = "asusctl led-mode -n"; + name = "Keyboard Mode"; + }; + + "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom4" = lib.mkIf asus { + binding = "Launch4"; + command = "asusctl profile -n"; + name = "Fan Control"; + }; + "org/gnome/desktop/wm/preferences" = { button-layout = "appmenu:minimize,maximize,close"; focus-mode = "click"; diff --git a/files/gnome/settings/extensions.nix b/files/gnome/settings/extensions.nix @@ -173,7 +173,7 @@ { animation-time = 0.25; disable-topbar-styling = false; - gesture-horizontal-fingers = 3; + gesture-horizontal-fingers = 4; gesture-workspace-fingers = 4; horizontal-margin = 10; maximize-within-tiling = true; @@ -353,7 +353,7 @@ show-wst-labels-on-hover = true; smooth-blur-transitions = true; startup-state = 2; - swipe-tracker-module = false; + swipe-tracker-module = true; win-attention-handler-module = true; win-preview-icon-size = 1; win-preview-mid-mouse-btn-action = 1; diff --git a/files/gnome/shortcuts.json b/files/gnome/shortcuts.json @@ -197,14 +197,18 @@ "description": "Open Browser" }, { - "key": "Super + Shift + E", - "description": "Open Emoji Picker" - }, - { "key": "Super + Enter", "description": "Open Task Manager" }, { + "key": "Super + Shift + T", + "description": "Open Text Editor" + }, + { + "key": "Super + Shift + E", + "description": "Open Emoji Picker" + }, + { "key": "Super + /", "description": "Show this shortcuts menu" }, @@ -259,15 +263,19 @@ "name": "Navigation Gestures", "shortcuts": [ { - "key": "3F ↑ Swipe", + "key": "3F ← Swipe", "description": "Show overview/apps grid" }, { - "key": "3F ←/→ Swipe", + "key": "3F ↑ Swipe", + "description": "Switch workspaces directly" + }, + { + "key": "4F ←/→ Swipe", "description": "Switch windows" }, { - "key": "3F ↓ Swipe", + "key": "4F ↓ Swipe", "description": "Switch workspaces" }, { diff --git a/modules/apps/vscode.nix b/modules/apps/vscode.nix @@ -41,8 +41,11 @@ in { # Useful Extensions extensions = with pkgs.vscode-extensions; [ + aaron-bond.better-comments + divyanshuagrawal.competitive-programming-helper dotjoshjohnson.xml eamodio.gitlens + ecmel.vscode-html-css editorconfig.editorconfig esbenp.prettier-vscode file-icons.file-icons @@ -57,8 +60,6 @@ in { yzhang.markdown-all-in-one ] ++ (with pkgs.code.vscode-marketplace; [ - aaron-bond.better-comments - ecmel.vscode-html-css vscode-org-mode.org-mode ]); }; diff --git a/modules/base/default.nix b/modules/base/default.nix @@ -10,7 +10,6 @@ inherit (builtins) attrNames map; inherit (lib) hasPrefix mkIf mkOption optionals removePrefix types; cfg = config.base; - inherit (config.system.nixos) label; in { ## BASE Configuration ## imports = util.map.modules.list ./. ++ [inputs.generators.nixosModules.all-formats]; @@ -56,7 +55,9 @@ in { # Essential Utilities environment = { - variables."NIXOS_SPECIALISATION" = mkIf (hasPrefix "special." label) (removePrefix "special." label); + variables."NIXOS_SPECIALISATION" = with config.system.nixos; + mkIf (hasPrefix "special." label) (removePrefix "special." label); + systemPackages = with pkgs; [ cryptsetup inxi diff --git a/packages/gnome-pano/default.nix b/packages/gnome-pano/default.nix @@ -8,10 +8,10 @@ with pkgs; let in stdenv.mkDerivation rec { pname = "pano"; - version = "v23-alpha2"; + version = "v23-alpha3"; src = fetchzip { url = "https://github.com/oae/gnome-shell-pano/releases/download/${version}/${uuid}.zip"; - sha256 = "sha256-Y8WgVUHX094RUwYKdt7OROPZMl3dakK0zOU9OTdyqxc="; + sha256 = "sha256-LYpxsl/PC8hwz0ZdH5cDdSZPRmkniBPUCqHQxB4KNhc="; stripRoot = false; }; diff --git a/packages/gnome-pano/imports.patch b/packages/gnome-pano/imports.patch @@ -1,6 +1,5 @@ diff --git a/__nix-prepend-search-paths.js b/__nix-prepend-search-paths.js new file mode 100644 -index 0000000..bf3071b --- /dev/null +++ b/__nix-prepend-search-paths.js @@ -0,0 +1,3 @@ @@ -8,20 +7,29 @@ index 0000000..bf3071b +GIRepository.Repository.prepend_search_path('@gsound@/lib/girepository-1.0'); +GIRepository.Repository.prepend_search_path('@libgda@/lib/girepository-1.0'); diff --git a/extension.js b/extension.js -index a3d6741..6a38850 100644 --- a/extension.js +++ b/extension.js @@ -1,3 +1,4 @@ +import './__nix-prepend-search-paths.js'; import Gio from 'gi://Gio'; import GLib from 'gi://GLib'; - import Shell from 'gi://Shell'; + import * as extension_js from 'resource:///org/gnome/shell/extensions/extension.js'; diff --git a/prefs.js b/prefs.js -index 5dd94eb..634b2ef 100644 --- a/prefs.js +++ b/prefs.js @@ -1,3 +1,4 @@ +import './__nix-prepend-search-paths.js'; + import { ExtensionPreferences } from 'resource:///org/gnome/Shell/Extensions/js/extensions/prefs.js'; import Gdk from 'gi://Gdk'; import Gtk from 'gi://Gtk'; - import { ExtensionPreferences } from 'resource:///org/gnome/Shell/Extensions/js/extensions/prefs.js'; +diff --git a/extension.js b/extension.js +--- a/extension.js ++++ b/extension.js +@@ -3507,6 +3507,7 @@ class PanoExtension extends Extension { + async clearHistory() { + this.stop(); + await deleteAppDirs(this); ++ this.setupResources(); + this.start(); + } + async clearSessionHistory() {