diff --git a/README.md b/README.md index ed400b6..093e586 100755 --- a/README.md +++ b/README.md @@ -15,11 +15,11 @@ each host should have these files: - `hardware.nix`, hardware configuration. ## todo - - move common config such as bootloader and networking settings to [`default.nix`](./default.nix) or some other common spot - multi architecture configuration ([nix-systems](https://github.com/nix-systems/nix-systems)?) - bitwarden - divide steam and gamemode? - cursor size theme option - sddm x11 support, too. or maybe just remove x11 - - gnome keyring / gcr for saving passwords \ No newline at end of file + - gnome-keyring basic libsecret support works, add ssh too plz :heart: + - git gpg signing diff --git a/hosts/goopnet-interface/default.nix b/hosts/goopnet-interface/default.nix index 0a7e861..04edbf5 100755 --- a/hosts/goopnet-interface/default.nix +++ b/hosts/goopnet-interface/default.nix @@ -48,6 +48,7 @@ hypridle.enable = true; hyprpaper.enable = true; + gnome-keyring.enable = true; polkit-gnome.enable = true; dunst.enable = true; rofi.enable = true; @@ -75,6 +76,7 @@ distractions.steam.enable = true; # tools tools.mpv.enable = true; + tools.gpg.enable = true; }; }; diff --git a/modules/desktop/gnome-keyring.nix b/modules/desktop/gnome-keyring.nix new file mode 100644 index 0000000..7ae4ab6 --- /dev/null +++ b/modules/desktop/gnome-keyring.nix @@ -0,0 +1,14 @@ +{ lib, config, pkgs, ... }: + +with lib; +let + cfg = config.modules.desktop.gnome-keyring; +in { + options.modules.desktop.gnome-keyring = { + enable = mkEnableOption "Enable gnome-keyring, a password store"; + }; + + config = mkIf cfg.enable { + services.gnome.gnome-keyring.enable = true; + }; +} diff --git a/modules/desktop/hyprland.nix b/modules/desktop/hyprland.nix index 64642fc..75436ff 100644 --- a/modules/desktop/hyprland.nix +++ b/modules/desktop/hyprland.nix @@ -157,13 +157,15 @@ in { "float, initialTitle:^Select a file to open$" "center, initialTitle:^Select a file to open$" "size 1100 650, initialTitle:^Select a file to open$" - # unsure why this is required, scaling? + # https://github.com/hyprwm/Hyprland/issues/6154 + "center, class:^gcr-prompter" "center, class:^pinentry-" "center, class:^polkit-" "float, class:\.exe$" # fix focus + "stayfocused, class:^gcr-prompter" "stayfocused, class:^pinentry-" "stayfocused, class:^polkit-" "stayfocused, class:^rofi-" diff --git a/modules/software/tools/gpg.nix b/modules/software/tools/gpg.nix new file mode 100644 index 0000000..2761cba --- /dev/null +++ b/modules/software/tools/gpg.nix @@ -0,0 +1,19 @@ +{ config, lib, pkgs, ... }: + +with lib; +let + cfg = config.modules.software.tools.gpg; +in { + options.modules.software.tools.gpg = { + enable = mkEnableOption "Enable gnupg, an open pgp software"; + }; + + config = mkIf cfg.enable { + hm.programs.gpg.enable = true; + hm.services.gpg-agent = { + enable = true; + + pinentryPackage = pkgs.pinentry-gnome3; + }; + }; +} \ No newline at end of file