From 113919f4b89c4f35f38877f656f538e30d104bdf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leonardo=20Eug=C3=AAnio?= Date: Sat, 17 Aug 2024 11:47:48 -0300 Subject: [PATCH 1/7] scripts: fixup infinite recursion and recompilations --- scripts/_diffr | 0 scripts/_sway_idle_toggle | 0 scripts/bmenu | 0 scripts/br | 0 scripts/default.nix | 76 +++++++++++++++++++-------------------- scripts/helix-pager | 0 scripts/kak-pager | 0 scripts/playerctl-status | 0 scripts/pulse_sink | 0 scripts/screenshotsh | 0 scripts/showkeys | 0 scripts/terminal | 0 scripts/wl-copy-file | 0 scripts/wpass | 0 14 files changed, 37 insertions(+), 39 deletions(-) mode change 100644 => 100755 scripts/_diffr mode change 100644 => 100755 scripts/_sway_idle_toggle mode change 100644 => 100755 scripts/bmenu mode change 100644 => 100755 scripts/br mode change 100644 => 100755 scripts/helix-pager mode change 100644 => 100755 scripts/kak-pager mode change 100644 => 100755 scripts/playerctl-status mode change 100644 => 100755 scripts/pulse_sink mode change 100644 => 100755 scripts/screenshotsh mode change 100644 => 100755 scripts/showkeys mode change 100644 => 100755 scripts/terminal mode change 100644 => 100755 scripts/wl-copy-file mode change 100644 => 100755 scripts/wpass diff --git a/scripts/_diffr b/scripts/_diffr old mode 100644 new mode 100755 diff --git a/scripts/_sway_idle_toggle b/scripts/_sway_idle_toggle old mode 100644 new mode 100755 diff --git a/scripts/bmenu b/scripts/bmenu old mode 100644 new mode 100755 diff --git a/scripts/br b/scripts/br old mode 100644 new mode 100755 diff --git a/scripts/default.nix b/scripts/default.nix index 799403e..c254599 100644 --- a/scripts/default.nix +++ b/scripts/default.nix @@ -1,34 +1,32 @@ ( final: prev: - with prev; let - import_script = (_: path: import (path) { inherit pkgs lib; }); - create_script = ( - name: text: runtimeInputs: - let - script_body = pkgs.writeTextFile { - inherit name; - executable = true; - text = '' - ${builtins.readFile text} - ''; - }; - in - (pkgs.writeShellApplication { - inherit name runtimeInputs; - text = ''exec ${script_body} "$@"''; - checkPhase = ""; - }) - ); - create_scripts = lib.mapAttrs (name: deps: create_script name ./${name} deps); + lib = prev.lib; - pass = pkgs.pass.withExtensions (ex: with ex; [ pass-otp ]); + importScript = (_: path: import (path) { inherit (final) pkgs lib; }); + wrapScript = + name: text: runtimeInputs: + final.runCommand name + { + nativeBuildInputs = [ final.makeWrapper ]; + meta.mainProgram = name; + } + '' + mkdir -p $out/bin + cp ${text} $out/bin/${name} + wrapProgram $out/bin/${name} \ + --suffix PATH : ${lib.makeBinPath runtimeInputs} + ''; + createScripts = lib.mapAttrs (name: deps: wrapScript name ./${name} deps); + + myPass = final.pass.withExtensions (ex: with ex; [ pass-otp ]); in - create_scripts { + with final; + createScripts { br = [ ]; bmenu = [ - final.bemenu - final.dhist + bemenu + dhist fish j4-dmenu-desktop jq @@ -44,21 +42,21 @@ fish ]; _diffr = [ diffr ]; - _thunar-terminal = [ final.terminal ]; - _sway_idle_toggle = [ final.swayidle ]; + _thunar-terminal = [ terminal ]; + _sway_idle_toggle = [ swayidle ]; kak-pager = [ fish - final._diffr + _diffr ]; - kak-man-pager = [ final.kak-pager ]; + kak-man-pager = [ kak-pager ]; helix-pager = [ fish - final._diffr + _diffr ]; - helix-man-pager = [ final.helix-pager ]; + helix-man-pager = [ helix-pager ]; musmenu = [ mpc-cli - final.wdmenu + wdmenu trash-cli xdg-user-dirs libnotify @@ -73,9 +71,9 @@ gnupg ]; wpass = [ - final.wdmenu + wdmenu fd - pass + myPass sd wl-clipboard wtype @@ -96,7 +94,7 @@ pulse_sink = [ pulseaudio pamixer - final.wdmenu + wdmenu ]; color_picker = [ grim @@ -108,13 +106,13 @@ dzadd = [ procps libnotify - final.wdmenu + wdmenu jq mpv pqiv python3Packages.deemix mpc-cli - final.mpdDup + mpdDup ]; mpdDup = [ mpc-cli @@ -128,15 +126,15 @@ auto_connect_gamepad = [ bluez coreutils - final.gnugrep + gnugrep ]; powerplay-led-idle = [ - final.bash + bash libinput libratbag ]; } - // lib.mapAttrs import_script { + // lib.mapAttrs importScript { wdmenu = ./wdmenu.nix; wlauncher = ./wlauncher.nix; _gpg-unlock = ./_gpg-unlock.nix; diff --git a/scripts/helix-pager b/scripts/helix-pager old mode 100644 new mode 100755 diff --git a/scripts/kak-pager b/scripts/kak-pager old mode 100644 new mode 100755 diff --git a/scripts/playerctl-status b/scripts/playerctl-status old mode 100644 new mode 100755 diff --git a/scripts/pulse_sink b/scripts/pulse_sink old mode 100644 new mode 100755 diff --git a/scripts/screenshotsh b/scripts/screenshotsh old mode 100644 new mode 100755 diff --git a/scripts/showkeys b/scripts/showkeys old mode 100644 new mode 100755 diff --git a/scripts/terminal b/scripts/terminal old mode 100644 new mode 100755 diff --git a/scripts/wl-copy-file b/scripts/wl-copy-file old mode 100644 new mode 100755 diff --git a/scripts/wpass b/scripts/wpass old mode 100644 new mode 100755 From 323e3cc7ced0ae0934c9cba646823416e755dae8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leonardo=20Eug=C3=AAnio?= Date: Sat, 17 Aug 2024 18:05:39 -0300 Subject: [PATCH 2/7] sway: fix mousepad led timeout --- scripts/powerplay-led-idle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/powerplay-led-idle b/scripts/powerplay-led-idle index a99905e..888abde 100755 --- a/scripts/powerplay-led-idle +++ b/scripts/powerplay-led-idle @@ -4,7 +4,7 @@ set -e # Constants SECONDS_UNTIL_FADE=$(( 1 * 60)) -SECONDS_UNTIL_OFF=$(( 5 * 60)) +SECONDS_UNTIL_OFF=$(( 6 * 60)) COLOR_ON=ff0000 COLOR_FADE=880000 From 65bdab45c60e6635002f46d7286d22bac66fb473 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leonardo=20Eug=C3=AAnio?= Date: Mon, 19 Aug 2024 00:01:40 -0300 Subject: [PATCH 3/7] hardware: always enable powerplay led idle --- user/home.nix | 1 + user/{sway => }/powerplay-led-idle.nix | 2 +- user/sway/default.nix | 1 - 3 files changed, 2 insertions(+), 2 deletions(-) rename user/{sway => }/powerplay-led-idle.nix (88%) diff --git a/user/home.nix b/user/home.nix index 30f556e..e606b4f 100644 --- a/user/home.nix +++ b/user/home.nix @@ -42,6 +42,7 @@ ./xdg-dirs.nix inputs.nix-index-database.hmModules.nix-index ../settings + ./powerplay-led-idle.nix ]; my = import ./variables.nix; diff --git a/user/sway/powerplay-led-idle.nix b/user/powerplay-led-idle.nix similarity index 88% rename from user/sway/powerplay-led-idle.nix rename to user/powerplay-led-idle.nix index a6aa3e0..a34990e 100644 --- a/user/sway/powerplay-led-idle.nix +++ b/user/powerplay-led-idle.nix @@ -11,7 +11,7 @@ Restart = "on-failure"; }; Install = { - WantedBy = [ "sway-session.target" ]; + WantedBy = [ "graphical-session.target" ]; }; }; } diff --git a/user/sway/default.nix b/user/sway/default.nix index af61969..a8ed460 100644 --- a/user/sway/default.nix +++ b/user/sway/default.nix @@ -23,7 +23,6 @@ in ./swayidle.nix ./swaylock.nix ./theme.nix - ./powerplay-led-idle.nix ]; config = lib.mkIf (config.my.desktop == "sway") { services.mako.enable = true; From bc2ee9c1657ac55b71330a76a89c97e0369dc12c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leonardo=20Eug=C3=AAnio?= Date: Mon, 19 Aug 2024 00:02:36 -0300 Subject: [PATCH 4/7] scripts: fix pass-export TOTP containing too much information for keepassxc --- scripts/default.nix | 1 + scripts/pass-export | 3 +++ 2 files changed, 4 insertions(+) diff --git a/scripts/default.nix b/scripts/default.nix index c254599..47aaac5 100644 --- a/scripts/default.nix +++ b/scripts/default.nix @@ -69,6 +69,7 @@ pass-export = [ pass2csv gnupg + sd ]; wpass = [ wdmenu diff --git a/scripts/pass-export b/scripts/pass-export index 658f803..27596fc 100755 --- a/scripts/pass-export +++ b/scripts/pass-export @@ -8,3 +8,6 @@ pass2csv "$PASSWORD_STORE_DIR" "$HOME/passwords.csv" \ -f User '(user|login)(:\s*)?' \ -f TOTP 'otpauth(:)?' \ -f URL 'url(:\s*)?' + +# Fix TOTP format for keepass +sd '"//totp/.*?secret=(.*?)(&.*?)?"' '"$1"' "$HOME/passwords.csv" \ No newline at end of file From b1f467866ac4a61a609d99514be93b77b48fee68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leonardo=20Eug=C3=AAnio?= Date: Mon, 19 Aug 2024 00:04:42 -0300 Subject: [PATCH 5/7] gnome: use keepass as password manager --- user/gnome.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/user/gnome.nix b/user/gnome.nix index e5ef257..5a37f04 100644 --- a/user/gnome.nix +++ b/user/gnome.nix @@ -34,7 +34,7 @@ lib.mkIf (config.my.desktop == "gnome") { foliate amberol pitivi - gnome-passwordsafe + keepassxc libsForQt5.qt5ct libsForQt5.qtstyleplugin-kvantum From ab40423e4e31e06d58bb15e8e864f9bd78316ca9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leonardo=20Eug=C3=AAnio?= Date: Mon, 19 Aug 2024 00:05:28 -0300 Subject: [PATCH 6/7] gnome: don't hardcode qt program styles --- user/gnome.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/user/gnome.nix b/user/gnome.nix index 5a37f04..443f1fe 100644 --- a/user/gnome.nix +++ b/user/gnome.nix @@ -42,10 +42,6 @@ lib.mkIf (config.my.desktop == "gnome") { qt6Packages.qtstyleplugin-kvantum ]; - home.sessionVariables = { - QT_QPA_PLATFORMTHEME = "qt5ct"; - }; - services.gpg-agent.pinentryPackage = pkgs.pinentry-gnome3; xdg.defaultApplications = { From 74624151b90581f0999e39df2e696ccb0214772c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leonardo=20Eug=C3=AAnio?= Date: Mon, 19 Aug 2024 11:51:40 -0300 Subject: [PATCH 7/7] firefox: fix tab bar style on gnome --- user/firefox.nix | 51 ++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 47 insertions(+), 4 deletions(-) diff --git a/user/firefox.nix b/user/firefox.nix index b23616a..48c4fc9 100644 --- a/user/firefox.nix +++ b/user/firefox.nix @@ -124,10 +124,53 @@ in "devtools.chrome.enabled" = true; "devtools.debugger.remote-enabled" = true; }; - userChrome = lib.mkIf (desktop == "sway") '' - #titlebar { display: none !important; } - #sidebar-header { display: none !important; } - ''; + userChrome = + if desktop == "sway" then + '' + #titlebar { display: none !important; } + #sidebar-header { display: none !important; } + '' + else + '' + /* Element | chrome://browser/content/browser.xhtml */ + + #navigator-toolbox { + display: grid; + grid-template-columns: 1fr 50px; + overflow: hidden; + } + + /* Element | chrome://browser/content/browser.xhtml */ + + #nav-bar { + flex: 1; + width: 100%; + grid-column: 1 / 3; + grid-row: 1; + z-index: 0; + padding-right: 29px !important; + } + + /* Element | chrome://browser/content/browser.xhtml */ + + .toolbar-items { + display: none; + } + + /* Element | chrome://browser/content/browser.xhtml */ + + #TabsToolbar { + max-width: 50px; + } + + /* Element | chrome://browser/content/browser.xhtml */ + + #titlebar { + max-width: 50px; + grid-area: 1 / 2; + z-index: 10; + } + ''; }; }; };