aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--home.nix3
-rw-r--r--home/gpg.nix26
-rw-r--r--home/mime-apps.nix89
-rw-r--r--home/xdg-user-dirs.nix25
4 files changed, 143 insertions, 0 deletions
diff --git a/home.nix b/home.nix
index 5ef3b7d..28d8c70 100644
--- a/home.nix
+++ b/home.nix
@@ -8,9 +8,12 @@
./home/eza.nix
./home/fzf.nix
./home/zsh.nix
+ ./home/gpg.nix
./home/tmux.nix
./home/starship.nix
./home/ghostty.nix
+ ./home/mime-apps.nix
+ ./home/xdg-user-dirs.nix
];
home = {
diff --git a/home/gpg.nix b/home/gpg.nix
new file mode 100644
index 0000000..f09bab7
--- /dev/null
+++ b/home/gpg.nix
@@ -0,0 +1,26 @@
+{ pkgs, ... }:
+
+{
+ programs.gpg = {
+ enable = true;
+
+ settings = {
+ personal-digest-preferences = "SHA512";
+ cert-digest-algo = "SHA512";
+ cipher-algo = "AES256";
+ default-preference-list = "SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed";
+ personal-cipher-preferences = "TWOFISH CAMELLIA256 AES 3DES";
+ throw-keyids = true;
+ keyid-format = "0xlong";
+ with-fingerprint = true;
+ };
+ };
+
+ services.gpg-agent = {
+ enable = true;
+ defaultCacheTtl = 43200;
+ maxCacheTtl = 43200;
+
+ pinentry.package = pkgs.pinentry-curses;
+ };
+}
diff --git a/home/mime-apps.nix b/home/mime-apps.nix
new file mode 100644
index 0000000..0777af8
--- /dev/null
+++ b/home/mime-apps.nix
@@ -0,0 +1,89 @@
+{ ... }:
+
+{
+ xdg.mimeApps = {
+ enable = true;
+
+ defaultApplications = {
+ # General
+ "application/octet-stream" = "mpv.desktop";
+ "application/pdf" = "helium.desktop";
+ "application/x-ms-dos-executable" = "wine.desktop";
+ "application/x-terminal-emulator" = "org.wezfurlong.wezterm.desktop";
+
+ # Images
+ "image/avif" = "nsxiv.desktop";
+ "image/gif" = "mpv.desktop";
+ "image/heic" = "nsxiv.desktop";
+ "image/jp2" = "nsxiv.desktop";
+ "image/jpeg" = "nsxiv.desktop";
+ "image/jxl" = "nsxiv.desktop";
+ "image/png" = "nsxiv.desktop";
+ "image/psd" = "gimp.desktop";
+ "image/svg" = "nsxiv.desktop";
+ "image/tiff" = "nsxiv.desktop";
+ "image/webp" = "nsxiv.desktop";
+ "image/xcf" = "gimp.desktop";
+
+ # Directory
+ "inode/directory" = "com.system76.CosmicFiles.desktop";
+
+ # 3D
+ "model/obj" = "blender.desktop";
+
+ # Text
+ "text/*" = "nvim.desktop";
+ "text/html" = "helium.desktop";
+ "text/php" = "helium.desktop";
+ "text/plain" = "nvim.desktop";
+
+ # Videos - all mpv
+ "video/3gpp" = "mpv.desktop";
+ "video/3gpp2" = "mpv.desktop";
+ "video/annodex" = "mpv.desktop";
+ "video/dv" = "mpv.desktop";
+ "video/isivideo" = "mpv.desktop";
+ "video/mj2" = "mpv.desktop";
+ "video/mlt-playlist" = "mpv.desktop";
+ "video/mp2t" = "mpv.desktop";
+ "video/mp4" = "mpv.desktop";
+ "video/mpeg" = "mpv.desktop";
+ "video/ogg" = "mpv.desktop";
+ "video/quicktime" = "mpv.desktop";
+ "video/vnd.avi" = "mpv.desktop";
+ "video/vnd.mpegurl" = "mpv.desktop";
+ "video/vnd.radgamettools.bink" = "mpv.desktop";
+ "video/vnd.radgamettools.smacker" = "mpv.desktop";
+ "video/vnd.rn-realvideo" = "mpv.desktop";
+ "video/vnd.vivo" = "mpv.desktop";
+ "video/vnd.youtube.yt" = "mpv.desktop";
+ "video/wavelet" = "mpv.desktop";
+ "video/webm" = "mpv.desktop";
+ "video/x-anim" = "mpv.desktop";
+ "video/x-flic" = "mpv.desktop";
+ "video/x-flv" = "mpv.desktop";
+ "video/x-javafx" = "mpv.desktop";
+ "video/x-matroska" = "mpv.desktop";
+ "video/x-matroska-3d" = "mpv.desktop";
+ "video/x-mjpeg" = "mpv.desktop";
+ "video/x-mng" = "mpv.desktop";
+ "video/x-ms-wmp" = "mpv.desktop";
+ "video/x-ms-wmv" = "mpv.desktop";
+ "video/x-nsv" = "mpv.desktop";
+ "video/x-ogm+ogg" = "mpv.desktop";
+ "video/x-sgi-movie" = "mpv.desktop";
+ "video/x-theora+ogg" = "mpv.desktop";
+
+ # Scheme handlers
+ "x-scheme-handler/about" = "helium.desktop";
+ "x-scheme-handler/arattai" = "arattai.desktop";
+ "x-scheme-handler/discord" = "vesktop.desktop";
+ "x-scheme-handler/http" = "helium.desktop";
+ "x-scheme-handler/https" = "helium.desktop";
+ "x-scheme-handler/steam" = "steam.desktop";
+ "x-scheme-handler/steamlink" = "steam.desktop";
+ "x-scheme-handler/terminal" = "org.wezfurlong.wezterm.desktop";
+ "x-scheme-handler/webcal" = "helium-browser.desktop";
+ };
+ };
+}
diff --git a/home/xdg-user-dirs.nix b/home/xdg-user-dirs.nix
new file mode 100644
index 0000000..cfac907
--- /dev/null
+++ b/home/xdg-user-dirs.nix
@@ -0,0 +1,25 @@
+{ config, ... }:
+
+let
+ inherit (config.home) homeDirectory;
+in
+{
+ xdg = {
+ userDirs = {
+ enable = true;
+ createDirectories = true;
+
+ templates = null;
+ publicShare = null;
+
+ desktop = homeDirectory;
+ download = "${homeDirectory}/dl";
+ documents = "${homeDirectory}/dox";
+ music = "${homeDirectory}/music";
+ pictures = "${homeDirectory}/pix";
+ videos = "${homeDirectory}/vids";
+ };
+
+ configFile."user-dirs.locale".text = "en_IN";
+ };
+}